Marine systems simulation
CoRiBoDynamics::StandardRigidElement Class Reference

#include <RigidElement.h>

+ Inheritance diagram for CoRiBoDynamics::StandardRigidElement:
+ Collaboration diagram for CoRiBoDynamics::StandardRigidElement:

Public Member Functions

 StandardRigidElement (const vec6 &DiagonalInertialMatrix, int ix_P, int ix_Q, int ix_V, int ix_W)
 
virtual void Setup (double T, const double *const X)
 
virtual const mat6 & InertialMatrix ()
 
virtual const vec6 & Forces ()
 full 6x6 Inertia Matrix More...
 
- Public Member Functions inherited from CoRiBoDynamics::RigidElement
virtual void Setup (double T, const double *const X)
 
virtual const mat6 & InertialMatrix ()=0
 
virtual const vec6 & Forces ()=0
 full 6x6 Inertia Matrix More...
 
const vec3 & P ()
 Coriolis forces and other.
 
const Quat & Q ()
 Position.
 
const vec3 & V ()
 Velocity.
 
const vec3 & W ()
 Orientation.
 
const vec3 P (const double *const X)
 Angular velocity.
 
const Quat Q (const double *const X)
 Position.
 
const vec3 V (const double *const X)
 Velocity.
 
const vec3 W (const double *const X)
 Orientation.
 
int ix_P ()
 Angular velocity.
 
int ix_Q ()
 index of Position state
 
int ix_V ()
 index of Orientation state
 
int ix_W ()
 index of Velocity state
 
int ix_N ()
 index of Angular velocity state
 
const mat3 & RotationMatrix ()
 CoRiBoDynamics element index.
 

Protected Attributes

vec6 m_Inertia
 
mat6 m_FullInertiaMatrix
 
vec6 m_CoriolisForce
 
- Protected Attributes inherited from CoRiBoDynamics::RigidElement
int m_ix_N
 
int m_ix_P
 
int m_ix_Q
 
int m_ix_V
 
int m_ix_W
 
vec3 m_P
 
Quat m_Q
 
vec3 m_V
 
vec3 m_W
 
mat3 m_RotationMatrix
 

Additional Inherited Members

- Protected Member Functions inherited from CoRiBoDynamics::RigidElement
void set_element_index (int N)
 Orientation in 3x3 matrix form.
 

Detailed Description

Author
Jorgen Haavind Jensen

RigidElement implementation with time-constant diagonal inertia matrix, and corresponding coriolis forces

Member Function Documentation

◆ Forces()

virtual const vec6 & CoRiBoDynamics::StandardRigidElement::Forces ( )
virtual

◆ InertialMatrix()

virtual const mat6 & CoRiBoDynamics::StandardRigidElement::InertialMatrix ( )
virtual

◆ Setup()

virtual void CoRiBoDynamics::StandardRigidElement::Setup ( double  T,
const double *const  X 
)
virtual

Update internal states (position/velocity/inertia etc.)

The basic implementation updates basic state vectors (P,V,Q,W,R) and and kinematic relations (Q_dot)

Reimplemented from CoRiBoDynamics::RigidElement.


The documentation for this class was generated from the following file: