proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
chrono::ChBodyAddedMass Class Reference

#include </work/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 ChVector3d &iner)
void SetInertiaXY (const ChVector3d &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.
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 ChVector3d & iner)

Definition at line 23 of file ChBodyAddedMass.cpp.

◆ SetInertiaXY()

void chrono::ChBodyAddedMass::SetInertiaXY ( const ChVector3d & 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: