proteus  1.8.1
C/C++/Fortran libraries
Public Member Functions | Protected Attributes | List of all members
chrono::ChBodyAddedMass Class Reference

#include </Users/cekees/proteus/proteus/mbd/ChBodyAddedMass.h>

Inheritance diagram for chrono::ChBodyAddedMass:
[legend]
Collaboration diagram for chrono::ChBodyAddedMass:
[legend]

Public Member Functions

 ChBodyAddedMass ()
 
virtual ~ChBodyAddedMass ()
 
void SetMass (double newmass)
 
void SetInertia (const ChMatrix33<> &iner)
 
void SetInertiaXX (const ChVector<> &iner)
 
void SetInertiaXY (const ChVector<> &iner)
 
void SetMfullmass (ChMatrixDynamic<> Mfullmass_in)
 
void SetInvMfullmass (ChMatrixDynamic<> inv_Mfullmass_in)
 
ChVariables & Variables () override
 
ChVariablesBodyOwnMass & VariablesBody ()
 
ChVariablesBodyAddedMassVariablesBodyAddedMass ()
 
virtual void IntToDescriptor (const unsigned int off_v, const ChStateDelta &v, const ChVectorDynamic<> &R, const unsigned int off_L, const ChVectorDynamic<> &L, const ChVectorDynamic<> &Qc) override
 
virtual void IntFromDescriptor (const unsigned int off_v, ChStateDelta &v, const unsigned int off_L, ChVectorDynamic<> &L) override
 
virtual void IntLoadResidual_F (const unsigned int off, ChVectorDynamic<> &R, const double c) override
 
virtual void IntLoadResidual_Mv (const unsigned int off, ChVectorDynamic<> &R, const ChVectorDynamic<> &w, const double c) override
 
virtual void VariablesFbReset () override
 Sets the 'fb' part of the encapsulated ChVariablesBodyOwnMass to zero. More...
 
virtual void VariablesFbLoadForces (double factor=1) override
 
virtual void VariablesQbLoadSpeed () override
 
virtual void VariablesFbIncrementMq () override
 
virtual void VariablesQbSetSpeed (double step=0) override
 
virtual void VariablesQbIncrementPosition (double step) override
 
virtual void InjectVariables (ChSystemDescriptor &mdescriptor) override
 

Protected Attributes

ChVariablesBodyAddedMass variables
 

Detailed Description

Definition at line 8 of file ChBodyAddedMass.h.

Constructor & Destructor Documentation

◆ ChBodyAddedMass()

chrono::ChBodyAddedMass::ChBodyAddedMass ( )

Definition at line 9 of file ChBodyAddedMass.cpp.

◆ ~ChBodyAddedMass()

virtual chrono::ChBodyAddedMass::~ChBodyAddedMass ( )
inlinevirtual

Definition at line 13 of file ChBodyAddedMass.h.

Member Function Documentation

◆ InjectVariables()

void chrono::ChBodyAddedMass::InjectVariables ( ChSystemDescriptor &  mdescriptor)
overridevirtual

Tell to a system descriptor that there are variables of type ChVariables in this object (for further passing it to a solver)

Definition at line 97 of file ChBodyAddedMass.cpp.

◆ IntFromDescriptor()

void chrono::ChBodyAddedMass::IntFromDescriptor ( const unsigned int  off_v,
ChStateDelta &  v,
const unsigned int  off_L,
ChVectorDynamic<> &  L 
)
overridevirtual

Definition at line 88 of file ChBodyAddedMass.cpp.

◆ IntLoadResidual_F()

void chrono::ChBodyAddedMass::IntLoadResidual_F ( const unsigned int  off,
ChVectorDynamic<> &  R,
const double  c 
)
overridevirtual

Definition at line 171 of file ChBodyAddedMass.cpp.

◆ IntLoadResidual_Mv()

void chrono::ChBodyAddedMass::IntLoadResidual_Mv ( const unsigned int  off,
ChVectorDynamic<> &  R,
const ChVectorDynamic<> &  w,
const double  c 
)
overridevirtual

Definition at line 186 of file ChBodyAddedMass.cpp.

◆ IntToDescriptor()

void chrono::ChBodyAddedMass::IntToDescriptor ( const unsigned int  off_v,
const ChStateDelta &  v,
const ChVectorDynamic<> &  R,
const unsigned int  off_L,
const ChVectorDynamic<> &  L,
const ChVectorDynamic<> &  Qc 
)
overridevirtual

Definition at line 78 of file ChBodyAddedMass.cpp.

◆ SetInertia()

void chrono::ChBodyAddedMass::SetInertia ( const ChMatrix33<> &  iner)

Definition at line 18 of file ChBodyAddedMass.cpp.

◆ SetInertiaXX()

void chrono::ChBodyAddedMass::SetInertiaXX ( const ChVector<> &  iner)

Definition at line 23 of file ChBodyAddedMass.cpp.

◆ SetInertiaXY()

void chrono::ChBodyAddedMass::SetInertiaXY ( const ChVector<> &  iner)

Definition at line 31 of file ChBodyAddedMass.cpp.

◆ SetInvMfullmass()

void chrono::ChBodyAddedMass::SetInvMfullmass ( ChMatrixDynamic<>  inv_Mfullmass_in)

◆ SetMass()

void chrono::ChBodyAddedMass::SetMass ( double  newmass)

Definition at line 13 of file ChBodyAddedMass.cpp.

◆ SetMfullmass()

void chrono::ChBodyAddedMass::SetMfullmass ( ChMatrixDynamic<>  Mfullmass_in)

Definition at line 58 of file ChBodyAddedMass.cpp.

◆ Variables()

ChVariables& chrono::ChBodyAddedMass::Variables ( )
inlineoverride

Definition at line 24 of file ChBodyAddedMass.h.

◆ VariablesBody()

ChVariablesBodyOwnMass& chrono::ChBodyAddedMass::VariablesBody ( )
inline

Definition at line 25 of file ChBodyAddedMass.h.

◆ VariablesBodyAddedMass()

ChVariablesBodyAddedMass& chrono::ChBodyAddedMass::VariablesBodyAddedMass ( )
inline

Definition at line 26 of file ChBodyAddedMass.h.

◆ VariablesFbIncrementMq()

void chrono::ChBodyAddedMass::VariablesFbIncrementMq ( )
overridevirtual

Adds M*q (masses multiplied current 'qb') to Fb, ex. if qb is initialized with v_old using VariablesQbLoadSpeed, this method can be used in timestepping schemes that do: M*v_new = M*v_old + forces*dt

Definition at line 117 of file ChBodyAddedMass.cpp.

◆ VariablesFbLoadForces()

void chrono::ChBodyAddedMass::VariablesFbLoadForces ( double  factor = 1)
overridevirtual

Adds the current forces applied to body (including gyroscopic torque) in encapsulated ChVariablesBody, in the 'fb' part: qf+=forces*factor

Definition at line 106 of file ChBodyAddedMass.cpp.

◆ VariablesFbReset()

void chrono::ChBodyAddedMass::VariablesFbReset ( )
overridevirtual

Definition at line 102 of file ChBodyAddedMass.cpp.

◆ VariablesQbIncrementPosition()

void chrono::ChBodyAddedMass::VariablesQbIncrementPosition ( double  step)
overridevirtual

Increment body position by the 'qb' part of the ChVariablesBody, multiplied by a 'step' factor. pos+=qb*step If qb is a speed, this behaves like a single step of 1-st order numerical integration (Eulero integration). Does not automatically update markers & forces.

Definition at line 147 of file ChBodyAddedMass.cpp.

◆ VariablesQbLoadSpeed()

void chrono::ChBodyAddedMass::VariablesQbLoadSpeed ( )
overridevirtual

Initialize the 'qb' part of the ChVariablesBody with the current value of body speeds. Note: since 'qb' is the unknown, this function seems unnecessary, unless used before VariablesFbIncrementMq()

Definition at line 121 of file ChBodyAddedMass.cpp.

◆ VariablesQbSetSpeed()

void chrono::ChBodyAddedMass::VariablesQbSetSpeed ( double  step = 0)
overridevirtual

Fetches the body speed (both linear and angular) from the 'qb' part of the ChVariablesBody (does not updates the full body&markers state) and sets it as the current body speed. If 'step' is not 0, also computes the approximate acceleration of the body using backward differences, that is accel=(new_speed-old_speed)/step. Mostly used after the solver provided the solution in ChVariablesBody .

Definition at line 127 of file ChBodyAddedMass.cpp.

Member Data Documentation

◆ variables

ChVariablesBodyAddedMass chrono::ChBodyAddedMass::variables
protected

Definition at line 10 of file ChBodyAddedMass.h.


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