Struct PhysicalModalBody::ATBIMatrices#

Nested Relationships#

This struct is a nested type of Class PhysicalModalBody.

Inheritance Relationships#

Base Type#

Struct Documentation#

struct ATBIMatrices : public Karana::Dynamics::CoordBase::ATBIMatrices#

Overall struct for ATBI dynamics matrix quantities for a deformable body.

HP (6, nU) - the lhs is in the pnode deformed translational frame G (6, nU) - the lhs is in the pnode deformed translational frame tauper (6, nU+6) - lhs is in the pnode deformed translational frame, while the bottom part of the right is in the body frame

psi (6, nU+6) - lhs is in the pnode frame, while the bottom part of the right is in the body frame

Public Functions

inline void resize(size_t modal_n_u, size_t body_n_u)#

Resize the ATBI matrices.

Parameters:
  • modal_n_u – the modal dofs

  • body_n_u – the rigid body dofs (6)

Public Members

km::Mat P#

the (nodes+6) size square P matrix before crossing the deformation dofs, at the pnode translation deformation frame

km::Mat66 Pplus_rr#

the 6x6 rigid/rigid sub-block of the Pplus matrix after crossing the deformation dofs, at the pnode translation deformation frame

km::Mat66 Pplus_rr_pnode#

the 6x6 rigid/rigid sub-block of the Pplus matrix after crossing the deformation dofs, transformed to the pnode

km::Mat HP#

HP = H*P (nU x body_nU)

the rigid sub-block of the full HP, same as mu^*. the lhs & rhs are both in the pnode deformed translational frame.

km::Mat D#

D = H*P*HT (nU x nU)

km::Mat Dinv#

Dinv = inverse(D) (nU x nU)

km::Mat G#

G = P*H*Dinv (body_nU x nU)

the rigid sub-rows of the full G. The lhs is in the pnode deformed translational frame.

km::Mat tauper#

tauper = I - GH body_nU x (body_nU+nU)

The rigid sub-rows of the full tauper. the lhs and rhs are in the pnode deformed translational frame.

km::Mat psi#

psi = phi * tauper (body_nU x body_nU)

The rigid sub-rows of the full psi, the left is in the pnode frame and the right in the pnode deformation frame.