Loading...
Searching...
No Matches
rigidBodyModel Class Reference

Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints. More...

#include <rigidBodyModel.H>

Inheritance diagram for rigidBodyModel:
Collaboration diagram for rigidBodyModel:

Public Member Functions

 TypeName ("rigidBodyModel")
 Runtime type information.
 rigidBodyModel (const Time &time)
 Null-constructor which adds the single root-body at the origin.
 rigidBodyModel (const Time &time, const dictionary &dict)
 Construct from dictionary.
virtual ~rigidBodyModel ()
 Destructor.
const Timetime () const
 Return the time.
label nBodies () const
 Return the number of bodies in the model (bodies().size()).
PtrList< rigidBodybodies () const
 Return the list of the bodies in the model.
const DynamicList< label > & lambda () const
 List of indices of the parent of each body.
const PtrList< joint > & joints () const
 Return the list of joints in the model.
label nDoF () const
 Return the number of degrees of freedom of the model.
bool unitQuaternions () const
 Return true if any of the joints using quaternions.
const vectorg () const
 Return the acceleration due to gravity.
vectorg ()
 Allow the acceleration due to gravity to be set.
const wordname (const label bodyID) const
 Return the name of body with the given ID.
const rigidBodyInertiaI (const label i) const
 Return the inertia of body i.
const spatialVectorv (const label i) const
 Return the spatial velocity of the bodies.
const spatialVectora (const label i) const
 Return the spatial acceleration of the bodies.
virtual label join (const label parentID, const spatialTransform &XT, autoPtr< joint > jointPtr, autoPtr< rigidBody > bodyPtr)
 Join the given body to the parent with ID parentID via the given.
label join (const label parentID, const spatialTransform &XT, autoPtr< joints::composite > cJoint, autoPtr< rigidBody > bodyPtr)
 Join the given body to the parent with ID parentID via the given.
label merge (const label parentID, const spatialTransform &X, autoPtr< rigidBody > bodyPtr)
 Merge the given body with transform X into the parent with ID.
bool merged (label bodyID) const
 Return true if the body with given ID has been merged with a parent.
label master (label bodyID) const
 Return the ID of the master body for a sub-body otherwise.
label mergedBodyIndex (const label mergedBodyID) const
 Return the index of the merged body in the mergedBody list.
label mergedBodyID (const label mergedBodyIndex) const
 Return the merged body ID for the given merged body index.
const subBodymergedBody (label mergedBodyID) const
 Return the merged body for the given body ID.
label bodyID (const word &name) const
 Return the ID of the body with the given name.
spatialTransform X0 (const label bodyId) const
 Return the current transform to the global frame for the given body.
vector masterPoint (const label bodyID, const vector &p) const
spatialVector v (const label bodyID, const vector &p) const
 Return the velocity of the given point on the given body.
void applyRestraints (scalarField &tau, Field< spatialVector > &fx, const rigidBodyModelState &state) const
 Apply the restraints and accumulate the internal joint forces.
void forwardDynamics (rigidBodyModelState &state, const scalarField &tau, const Field< spatialVector > &fx) const
 Calculate the joint acceleration qDdot from the joint state q,.
void forwardDynamicsCorrection (const rigidBodyModelState &state) const
 Correct the velocity and acceleration of the bodies in the model.
virtual void write (Ostream &) const
 Write.
bool read (const dictionary &dict)
 Read coefficients dictionary and update system parameters,.

Protected Member Functions

virtual label join_ (const label parentID, const spatialTransform &XT, autoPtr< joint > jointPtr, autoPtr< rigidBody > bodyPtr)
 Join the given body to the parent with ID parentID via the given.

Protected Attributes

const Timetime_
 Reference to time database.
PtrList< rigidBodybodies_
 List of the bodies.
PtrList< subBodymergedBodies_
 Bodies may be merged into existing bodies, the inertia of which is.
HashTable< label > bodyIDs_
 Lookup-table of the IDs of the bodies.
DynamicList< label > lambda_
 List of indices of the parent of each body.
PtrList< jointjoints_
 Each body it attached with a joint which are held on this list.
DynamicList< spatialTransformXT_
 Transform from the parent body frame to the joint frame.
label nDoF_
 The number of degrees of freedom of the model.
bool unitQuaternions_
 True if any of the joints using quaternions.
PtrList< restraintrestraints_
 Motion restraints.
vector g_
 Acceleration due to gravity.
DynamicList< spatialTransformXlambda_
 Transform from the parent body to the current body.
DynamicList< spatialTransformX0_
 Transform for external forces to the bodies reference frame.
DynamicList< spatialVectorv_
 The spatial velocity of the bodies.
DynamicList< spatialVectora_
 The spatial acceleration of the bodies.
DynamicList< spatialVectorc_
 The velocity dependent spatial acceleration of the joints.
DynamicList< spatialTensorIA_
 Velocity-product acceleration.
DynamicList< spatialVectorpA_
 Articulated body bias force.
DynamicList< compactSpatialTensorS_
 Motion subspace for joints with 3 degrees of freedom.
DynamicList< spatialVectorS1_
 Motion subspace for joints with 1 degrees of freedom.
DynamicList< compactSpatialTensorU_
 Sub-expression IA.S in the forward-dynamics algorithm.
DynamicList< spatialVectorU1_
 Sub-expression IA.S1 in the forward-dynamics algorithm.
DynamicList< tensorDinv_
 Sub-expression (S^T.U)^-1 in the forward-dynamics algorithm.
DynamicList< vectoru_
 Sub-expression tau - S^T.pA in the forward-dynamics algorithm.

Friends

Ostreamoperator<< (Ostream &, const rigidBodyModel &)

Detailed Description

Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints.

This class holds various body and joint state fields needed by the kinematics and forward-dynamics algorithms presented in

reference:

    Featherstone, R. (2008).
    Rigid body dynamics algorithms.
    Springer.
    Chapter 4.
Source files

Definition at line 79 of file rigidBodyModel.H.

Constructor & Destructor Documentation

◆ rigidBodyModel() [1/2]

rigidBodyModel ( const Time & time)

Null-constructor which adds the single root-body at the origin.

Definition at line 162 of file rigidBodyModel.C.

References g_, time(), time_, and Foam::Zero.

Referenced by operator<<, rigidBodyMotion::rigidBodyMotion(), rigidBodyMotion::rigidBodyMotion(), and rigidBodyMotion::rigidBodyMotion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rigidBodyModel() [2/2]

rigidBodyModel ( const Time & time,
const dictionary & dict )

Construct from dictionary.

Definition at line 171 of file rigidBodyModel.C.

References bodyID(), dict, dictionary::found(), g_, dictionary::get(), join(), merge(), joint::New(), rigidBody::New(), read(), dictionary::subDict(), time(), time_, and Foam::Zero.

Here is the call graph for this function:

◆ ~rigidBodyModel()

~rigidBodyModel ( )
virtual

Destructor.

Definition at line 217 of file rigidBodyModel.C.

Member Function Documentation

◆ join_()

Foam::label join_ ( const label parentID,
const spatialTransform & XT,
autoPtr< joint > jointPtr,
autoPtr< rigidBody > bodyPtr )
protectedvirtual

Join the given body to the parent with ID parentID via the given.

joint with transform from the parent frame to the joint frame XT.

Definition at line 115 of file rigidBodyModel.C.

References bodies_, bodyID(), bodyIDs_, joints_, lambda_, subBody::masterID(), subBody::masterXT(), merged(), mergedBody(), rigidBody::name(), nBodies(), joint::nDoF(), nDoF_, joint::unitQuaternion(), unitQuaternions_, and XT_.

Referenced by join(), and join().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "rigidBodyModel" )

Runtime type information.

References bodyID(), dict, mergedBodyID(), mergedBodyIndex(), name(), p, and time().

Here is the call graph for this function:

◆ time()

const Foam::Time & time ( ) const
inline

◆ nBodies()

Foam::label nBodies ( ) const
inline

Return the number of bodies in the model (bodies().size()).

Definition at line 30 of file rigidBodyModelI.H.

References bodies_.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), join_(), and write().

Here is the caller graph for this function:

◆ bodies()

Foam::PtrList< Foam::RBD::rigidBody > bodies ( ) const
inline

Return the list of the bodies in the model.

Definition at line 37 of file rigidBodyModelI.H.

References bodies_.

◆ lambda()

const Foam::DynamicList< Foam::label > & lambda ( ) const
inline

List of indices of the parent of each body.

Definition at line 44 of file rigidBodyModelI.H.

References lambda_.

Referenced by rigidBodyMotion::transformPoints().

Here is the caller graph for this function:

◆ joints()

const Foam::PtrList< Foam::RBD::joint > & joints ( ) const
inline

Return the list of joints in the model.

Definition at line 51 of file rigidBodyModelI.H.

References joints_.

Referenced by forwardDynamics(), and forwardDynamicsCorrection().

Here is the caller graph for this function:

◆ nDoF()

Foam::label nDoF ( ) const
inline

Return the number of degrees of freedom of the model.

used to set the size of the of joint state fields q, qDot and qDdot.

Definition at line 57 of file rigidBodyModelI.H.

References nDoF_.

Referenced by rigidBodyModelState::rigidBodyModelState().

Here is the caller graph for this function:

◆ unitQuaternions()

bool unitQuaternions ( ) const
inline

Return true if any of the joints using quaternions.

Definition at line 63 of file rigidBodyModelI.H.

References unitQuaternions_.

◆ g() [1/2]

const Foam::vector & g ( ) const
inline

Return the acceleration due to gravity.

Definition at line 69 of file rigidBodyModelI.H.

References g_.

◆ g() [2/2]

Foam::vector & g ( )
inline

Allow the acceleration due to gravity to be set.

after model construction

Definition at line 75 of file rigidBodyModelI.H.

References g_.

◆ name()

const Foam::word & name ( const label bodyID) const
inline

Return the name of body with the given ID.

Definition at line 81 of file rigidBodyModelI.H.

References bodies_, bodyID(), merged(), and mergedBody().

Referenced by bodyID(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ I()

const Foam::RBD::rigidBodyInertia & I ( const label i) const
inline

Return the inertia of body i.

Definition at line 98 of file rigidBodyModelI.H.

References bodies_.

◆ v() [1/2]

const Foam::spatialVector & v ( const label i) const
inline

Return the spatial velocity of the bodies.

Definition at line 105 of file rigidBodyModelI.H.

References v_.

Referenced by rigidBodyMotion::status(), and rigidBodyMotion::vCofR().

Here is the caller graph for this function:

◆ a()

const Foam::spatialVector & a ( const label i) const
inline

Return the spatial acceleration of the bodies.

Definition at line 111 of file rigidBodyModelI.H.

References a_.

◆ join() [1/2]

Foam::label join ( const label parentID,
const spatialTransform & XT,
autoPtr< joint > jointPtr,
autoPtr< rigidBody > bodyPtr )
virtual

Join the given body to the parent with ID parentID via the given.

joint with transform from the parent frame to the joint frame XT.

Definition at line 223 of file rigidBodyModel.C.

References Foam::isA(), join(), join_(), and autoPtr< T >::ptr().

Referenced by join(), and rigidBodyModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ join() [2/2]

Foam::label join ( const label parentID,
const spatialTransform & XT,
autoPtr< joints::composite > cJoint,
autoPtr< rigidBody > bodyPtr )

Join the given body to the parent with ID parentID via the given.

composite joint (specified as a list of co-located joints) with transform from the parent frame to the joint frame XT. Composite joins are useful to represent complex joints with degrees of freedom other than 1 or 3 which are directly supported.

Definition at line 257 of file rigidBodyModel.C.

References join_(), autoPtr< T >::ptr(), and UPtrList< T >::size().

Here is the call graph for this function:

◆ merge()

Foam::label merge ( const label parentID,
const spatialTransform & X,
autoPtr< rigidBody > bodyPtr )

Merge the given body with transform X into the parent with ID.

parentID. The parent body assumes the properties of the combined body (inertia etc.) and the merged body is held on a separate list for reference.

Definition at line 315 of file rigidBodyModel.C.

References bodies_, bodyIDs_, subBody::masterID(), subBody::masterXT(), merged(), mergedBodies_, mergedBody(), mergedBodyID(), subBody::name(), name, and autoPtr< T >::reset().

Referenced by rigidBodyModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ merged()

bool merged ( label bodyID) const
inline

Return true if the body with given ID has been merged with a parent.

Definition at line 116 of file rigidBodyModelI.H.

References bodyID().

Referenced by join_(), masterPoint(), merge(), mergedBody(), name(), X0(), and rigidBodyMotion::X00().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ master()

Foam::label master ( label bodyID) const
inline

Return the ID of the master body for a sub-body otherwise.

return the given body ID

Definition at line 122 of file rigidBodyModelI.H.

References bodyID(), and mergedBody().

Referenced by v().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergedBodyIndex()

Foam::label mergedBodyIndex ( const label mergedBodyID) const
inline

Return the index of the merged body in the mergedBody list.

from the given body ID

Definition at line 143 of file rigidBodyModelI.H.

References mergedBodyID().

Referenced by mergedBody(), mergedBodyID(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergedBodyID()

Foam::label mergedBodyID ( const label mergedBodyIndex) const
inline

Return the merged body ID for the given merged body index.

in the mergedBody list

Definition at line 136 of file rigidBodyModelI.H.

References mergedBodyIndex().

Referenced by merge(), mergedBody(), mergedBodyIndex(), and TypeName().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergedBody()

const Foam::RBD::subBody & mergedBody ( label mergedBodyID) const
inline

Return the merged body for the given body ID.

Definition at line 150 of file rigidBodyModelI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, merged(), mergedBodies_, mergedBodyID(), and mergedBodyIndex().

Referenced by join_(), master(), masterPoint(), merge(), name(), X0(), and rigidBodyMotion::X00().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bodyID()

Foam::label bodyID ( const word & name) const
inline

Return the ID of the body with the given name.

Definition at line 163 of file rigidBodyModelI.H.

References bodyIDs_, and name().

Referenced by rigidBodyMotion::cCofR(), join_(), master(), masterPoint(), merged(), name(), rigidBodyModel(), rigidBodyMotion::rigidBodySolver, rigidBodyMotion::status(), rigidBodyMotion::transformPoints(), rigidBodyMotion::transformPoints(), rigidBodyMotion::transformPoints(), TypeName(), v(), and rigidBodyMotion::vCofR().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ X0()

Foam::spatialTransform X0 ( const label bodyId) const

Return the current transform to the global frame for the given body.

Definition at line 373 of file rigidBodyModel.C.

References subBody::masterID(), subBody::masterXT(), merged(), mergedBody(), and X0_.

Here is the call graph for this function:

◆ masterPoint()

Foam::vector masterPoint ( const label bodyID,
const vector & p ) const
inline

Definition at line 169 of file rigidBodyModelI.H.

References bodyID(), Foam::inv(), merged(), mergedBody(), p, and Foam::Zero.

Referenced by v().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ v() [2/2]

Foam::spatialVector v ( const label bodyID,
const vector & p ) const
inline

Return the velocity of the given point on the given body.

Definition at line 190 of file rigidBodyModelI.H.

References bodyID(), master(), masterPoint(), p, T, v_, and X0_.

Here is the call graph for this function:

◆ applyRestraints()

void applyRestraints ( scalarField & tau,
Field< spatialVector > & fx,
const rigidBodyModelState & state ) const

Apply the restraints and accumulate the internal joint forces.

into the tau field and external forces into the fx field

Definition at line 27 of file forwardDynamics.C.

References DebugInfo, forAll, and restraints_.

◆ forwardDynamics()

void forwardDynamics ( rigidBodyModelState & state,
const scalarField & tau,
const Field< spatialVector > & fx ) const

Calculate the joint acceleration qDdot from the joint state q,.

velocity qDot, internal force tau (in the joint frame) and external force fx (in the global frame) using the articulated body algorithm (Section 7.3 and Table 7.1)

Definition at line 49 of file forwardDynamics.C.

References a_, Field< Type >::block(), joint::XSvc::c, c_, DebugInfo, DebugInFunction, Dinv_, Foam::endl(), g_, Foam::I, IA_, joint::jcalc(), joints(), lambda_, nBodies(), joint::nDoF(), Foam::nl, pA_, rigidBodyModelState::q(), rigidBodyModelState::qDdot(), rigidBodyModelState::qDot(), joint::XSvc::S, joint::XSvc::S1, S1_, S_, UList< T >::size(), T, U1_, U_, u_, joint::XSvc::v, v_, joint::XSvc::X, Vector< Cmpt >::x(), x, X0_, Xlambda_, XT_, Vector< Cmpt >::y(), Vector< Cmpt >::z(), and Foam::Zero.

Referenced by rigidBodyMotion::forwardDynamics().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ forwardDynamicsCorrection()

void forwardDynamicsCorrection ( const rigidBodyModelState & state) const

Correct the velocity and acceleration of the bodies in the model.

from the given joint state fields following an integration step of the forwardDynamics

Definition at line 202 of file forwardDynamics.C.

References a_, Field< Type >::block(), joint::XSvc::c, c_, DebugInfo, DebugInFunction, Foam::endl(), g_, joint::jcalc(), joints(), lambda_, nBodies(), joint::nDoF(), rigidBodyModelState::q(), rigidBodyModelState::qDdot(), rigidBodyModelState::qDot(), joint::XSvc::S, joint::XSvc::S1, S1_, S_, joint::XSvc::v, v_, joint::XSvc::X, X0_, Xlambda_, XT_, and Foam::Zero.

Referenced by rigidBodyMotion::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

void write ( Ostream & os) const
virtual

Write.

Reimplemented in rigidBodyMotion.

Definition at line 388 of file rigidBodyModel.C.

References bodies_, Foam::endl(), forAll, Foam::indent(), Foam::isType(), joints_, lambda_, mergedBodies_, name, nBodies(), Foam::nl, os(), restraints_, and XT_.

Referenced by Foam::RBD::operator<<(), and rigidBodyMotion::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read()

bool read ( const dictionary & dict)

Read coefficients dictionary and update system parameters,.

restraints but not the current state

Definition at line 449 of file rigidBodyModel.C.

References dict, and restraints_.

Referenced by rigidBodyMotion::read(), and rigidBodyModel().

Here is the caller graph for this function:

◆ operator<<

Ostream & operator<< ( Ostream & ,
const rigidBodyModel &  )
friend

References rigidBodyModel().

Member Data Documentation

◆ time_

const Time& time_
protected

Reference to time database.

Definition at line 110 of file rigidBodyModel.H.

Referenced by rigidBodyModel(), rigidBodyModel(), and time().

◆ bodies_

PtrList<rigidBody> bodies_
protected

List of the bodies.

The 0'th body represents the fixed origin and is constructed automatically. The subsequent (moving) bodies are appended by the join member function.

Definition at line 121 of file rigidBodyModel.H.

Referenced by bodies(), I(), join_(), merge(), name(), nBodies(), and write().

◆ mergedBodies_

PtrList<subBody> mergedBodies_
protected

Bodies may be merged into existing bodies, the inertia of which is.

updated to represent the combined body which is more efficient than attaching them with fixed joints. These 'merged' bodies are held on this list.

Definition at line 130 of file rigidBodyModel.H.

Referenced by merge(), mergedBody(), and write().

◆ bodyIDs_

HashTable<label> bodyIDs_
protected

Lookup-table of the IDs of the bodies.

Definition at line 135 of file rigidBodyModel.H.

Referenced by bodyID(), join_(), and merge().

◆ lambda_

DynamicList<label> lambda_
protected

List of indices of the parent of each body.

Definition at line 140 of file rigidBodyModel.H.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), join_(), lambda(), and write().

◆ joints_

PtrList<joint> joints_
protected

Each body it attached with a joint which are held on this list.

Definition at line 145 of file rigidBodyModel.H.

Referenced by join_(), joints(), and write().

◆ XT_

DynamicList<spatialTransform> XT_
protected

Transform from the parent body frame to the joint frame.

Definition at line 150 of file rigidBodyModel.H.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), join_(), and write().

◆ nDoF_

label nDoF_
protected

The number of degrees of freedom of the model.

used to set the size of the of joint state fields q, qDot and qDdot.

Definition at line 157 of file rigidBodyModel.H.

Referenced by join_(), and nDoF().

◆ unitQuaternions_

bool unitQuaternions_
protected

True if any of the joints using quaternions.

Definition at line 162 of file rigidBodyModel.H.

Referenced by join_(), and unitQuaternions().

◆ restraints_

PtrList<restraint> restraints_
protected

Motion restraints.

Definition at line 167 of file rigidBodyModel.H.

Referenced by applyRestraints(), read(), and write().

◆ g_

vector g_
protected

Acceleration due to gravity.

Definition at line 175 of file rigidBodyModel.H.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), g(), g(), rigidBodyModel(), and rigidBodyModel().

◆ Xlambda_

DynamicList<spatialTransform> Xlambda_
mutableprotected

Transform from the parent body to the current body.

Definition at line 183 of file rigidBodyModel.H.

Referenced by forwardDynamics(), and forwardDynamicsCorrection().

◆ X0_

DynamicList<spatialTransform> X0_
mutableprotected

Transform for external forces to the bodies reference frame.

Definition at line 188 of file rigidBodyModel.H.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), rigidBodyMotion::rigidBodyMotion(), rigidBodyMotion::rigidBodyMotion(), v(), and X0().

◆ v_

DynamicList<spatialVector> v_
mutableprotected

The spatial velocity of the bodies.

Definition at line 196 of file rigidBodyModel.H.

Referenced by forwardDynamics(), forwardDynamicsCorrection(), v(), and v().

◆ a_

DynamicList<spatialVector> a_
mutableprotected

The spatial acceleration of the bodies.

Definition at line 201 of file rigidBodyModel.H.

Referenced by a(), forwardDynamics(), and forwardDynamicsCorrection().

◆ c_

DynamicList<spatialVector> c_
mutableprotected

The velocity dependent spatial acceleration of the joints.

Definition at line 206 of file rigidBodyModel.H.

Referenced by forwardDynamics(), and forwardDynamicsCorrection().

◆ IA_

DynamicList<spatialTensor> IA_
mutableprotected

Velocity-product acceleration.

Articulated body inertia

Definition at line 218 of file rigidBodyModel.H.

Referenced by forwardDynamics().

◆ pA_

DynamicList<spatialVector> pA_
mutableprotected

Articulated body bias force.

Definition at line 223 of file rigidBodyModel.H.

Referenced by forwardDynamics().

◆ S_

DynamicList<compactSpatialTensor> S_
mutableprotected

Motion subspace for joints with 3 degrees of freedom.

Definition at line 231 of file rigidBodyModel.H.

Referenced by forwardDynamics(), and forwardDynamicsCorrection().

◆ S1_

DynamicList<spatialVector> S1_
mutableprotected

Motion subspace for joints with 1 degrees of freedom.

Definition at line 236 of file rigidBodyModel.H.

Referenced by forwardDynamics(), and forwardDynamicsCorrection().

◆ U_

DynamicList<compactSpatialTensor> U_
mutableprotected

Sub-expression IA.S in the forward-dynamics algorithm.

Definition at line 241 of file rigidBodyModel.H.

Referenced by forwardDynamics().

◆ U1_

DynamicList<spatialVector> U1_
mutableprotected

Sub-expression IA.S1 in the forward-dynamics algorithm.

Definition at line 246 of file rigidBodyModel.H.

Referenced by forwardDynamics().

◆ Dinv_

DynamicList<tensor> Dinv_
mutableprotected

Sub-expression (S^T.U)^-1 in the forward-dynamics algorithm.

Definition at line 251 of file rigidBodyModel.H.

Referenced by forwardDynamics().

◆ u_

DynamicList<vector> u_
mutableprotected

Sub-expression tau - S^T.pA in the forward-dynamics algorithm.

Definition at line 256 of file rigidBodyModel.H.

Referenced by forwardDynamics().


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