Loading [MathJax]/extensions/tex2jax.js
chrono::ChVariablesBody Class Referenceabstract

Description

Specialized class for representing a 6-DOF 3D rigid body, with mass matrix and associated variables.

This is an abstract class, specialized for example in ChVariablesBodyOwnMass and ChVariablesBodySharedMass.

#include <ChVariablesBody.h>

Inheritance diagram for chrono::ChVariablesBody:
Collaboration diagram for chrono::ChVariablesBody:

Public Member Functions

ChVariablesBodyoperator= (const ChVariablesBody &other)
 Assignment operator: copy from other object.
 
virtual double GetBodyMass () const =0
 Get the mass associated with translation of body.
 
virtual ChMatrix33GetBodyInertia ()=0
 Access the 3x3 inertia matrix.
 
virtual const ChMatrix33GetBodyInertia () const =0
 
virtual ChMatrix33GetBodyInvInertia ()=0
 Access the 3x3 inertia matrix inverted.
 
virtual const ChMatrix33GetBodyInvInertia () const =0
 
void * GetUserData ()
 
void SetUserData (void *mdata)
 
- Public Member Functions inherited from chrono::ChVariables
 ChVariables (unsigned int dof)
 
ChVariablesoperator= (const ChVariables &other)
 Assignment operator: copy from other object.
 
void SetDisabled (bool mdis)
 Deactivates/freezes the variable (these variables won't be modified by the system solver).
 
bool IsDisabled () const
 Check if the variables have been deactivated (these variables won't be modified by the system solver).
 
bool IsActive () const
 Check if these variables are currently active. More...
 
unsigned int GetDOF () const
 The number of scalar variables in the vector qb (dof=degrees of freedom).
 
ChVectorRef State ()
 Get a reference to the differential states encapsulated by these variables. More...
 
ChVectorRef Force ()
 Get a reference to the generalized force corresponding to these variables. More...
 
virtual void ComputeMassInverseTimesVector (ChVectorRef result, ChVectorConstRef vect) const =0
 Compute the product of the inverse mass matrix by a given vector and store in result. More...
 
virtual void AddMassTimesVector (ChVectorRef result, ChVectorConstRef vect) const =0
 Compute the product of the mass matrix by a given vector and increment result. More...
 
virtual void AddMassTimesVectorInto (ChVectorRef result, ChVectorConstRef vect, const double ca) const =0
 Add the product of the mass submatrix by a given vector, scaled by ca, to result. More...
 
virtual void AddMassDiagonalInto (ChVectorRef result, const double ca) const =0
 Add the diagonal of the mass matrix, as a vector scaled by ca, to result. More...
 
virtual void PasteMassInto (ChSparseMatrix &mat, unsigned int start_row, unsigned int start_col, const double ca) const =0
 Write the mass submatrix for these variables into the specified global matrix at the offsets of each variable. More...
 
void SetOffset (unsigned int moff)
 Set offset in the global state vector. More...
 
unsigned int GetOffset () const
 Get offset in the global state vector.
 
virtual void ArchiveOut (ChArchiveOut &archive_out)
 
virtual void ArchiveIn (ChArchiveIn &archive_in)
 

Additional Inherited Members

- Protected Attributes inherited from chrono::ChVariables
unsigned int offset
 offset in global q state vector (needed by some solvers)
 
unsigned int ndof
 number of degrees of freedom (number of contained scalar variables)
 

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/solver/ChVariablesBody.h
  • /builds/uwsbel/chrono/src/chrono/solver/ChVariablesBody.cpp