# aero2struct_force_mapping

Maps the aerodynamic forces at the lattice to the structural nodes

The aerodynamic forces from the UVLM are always in the inertial `G`

frame of reference and have to be transformed
to the body or local `B`

frame of reference in which the structural forces are defined.

Since the structural nodes and aerodynamic panels are coincident in a spanwise direction, the aerodynamic forces
that correspond to a structural node are the summation of the `M+1`

forces defined at the lattice at that
spanwise location.

where \(\tilde{\boldsymbol{\zeta}}^G\) is the skew-symmetric matrix of the vector between the lattice grid vertex and the structural node.

- param aero_forces:
Aerodynamic forces from the UVLM in inertial frame of reference

- type aero_forces:
list

- param struct2aero_mapping:
Structural to aerodynamic node mapping

- type struct2aero_mapping:
dict

- param zeta:
Aerodynamic grid coordinates

- type zeta:
list

- param pos_def:
Vector of structural node displacements

- type pos_def:
np.ndarray

- param psi_def:
Vector of structural node rotations (CRVs)

- type psi_def:
np.ndarray

- param master:
Unused

- param conn:
Connectivities matrix

- type conn:
np.ndarray

- param cag:
Transformation matrix between inertial and body-attached reference

`A`

- type cag:
np.ndarray

- param data_dict:
Dictionary containing the grid’s information.

- type data_dict:
dict

- param skip_moments_generated_by_forces:
Flag to skip local moment calculation.

- type skip_moments_generated_by_forces:
bool

- returns:
structural forces in an

`n_node x 6`

vector- rtype:
np.ndarray