MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::ChLcpVariablesBodyOwnMass Class Reference

#include <CHlcpVariablesBodyOwnMass.h>

Inheritance diagram for chrono::ChLcpVariablesBodyOwnMass:

Inheritance graph
[legend]
Collaboration diagram for chrono::ChLcpVariablesBodyOwnMass:

Collaboration graph
[legend]

List of all members.

Public Member Functions

ChLcpVariablesBodyOwnMassoperator= (const ChLcpVariablesBodyOwnMass &other)
virtual double GetBodyMass ()
virtual ChMatrix33GetBodyInertia ()
ChMatrix33GetBodyInvInertia ()
void SetBodyInertia (const ChMatrix33<> *minertia)
void SetBodyMass (const double mmass)
virtual void Compute_invMb_v (ChMatrix< float > &result, const ChMatrix< float > &vect)
virtual void Compute_invMb_v (ChMatrix< double > &result, const ChMatrix< double > &vect)
virtual void Compute_inc_invMb_v (ChMatrix< float > &result, const ChMatrix< float > &vect)
virtual void Compute_inc_invMb_v (ChMatrix< double > &result, const ChMatrix< double > &vect)
virtual void Compute_Mb_v (ChMatrix< float > &result, const ChMatrix< float > &vect)
virtual void Compute_Mb_v (ChMatrix< double > &result, const ChMatrix< double > &vect)
virtual void Build_M (ChSparseMatrix &storage, int insrow, int inscol)


Detailed Description

Specialized class for representing a 6-DOF item for a LCP system, that is a 3D rigid body, with mass matrix and associate variables (a 6 element vector, ex.speed) Differently from the 'naive' implementation ChLcpVariablesGeneric, here a full 6x6 mass matrix is not built, since only the 3x3 inertia matrix and the mass value are enough.

Member Function Documentation

ChLcpVariablesBodyOwnMass & chrono::ChLcpVariablesBodyOwnMass::operator= ( const ChLcpVariablesBodyOwnMass other  ) 

Assignment operator: copy from other object.

virtual double chrono::ChLcpVariablesBodyOwnMass::GetBodyMass (  )  [virtual]

Get the mass associated with translation of body.

Implements chrono::ChLcpVariablesBody.

virtual ChMatrix33& chrono::ChLcpVariablesBodyOwnMass::GetBodyInertia (  )  [virtual]

Access the 3x3 inertia matrix.

Implements chrono::ChLcpVariablesBody.

ChMatrix33& chrono::ChLcpVariablesBodyOwnMass::GetBodyInvInertia (  )  [virtual]

Access the 3x3 inertia matrix inverted.

Implements chrono::ChLcpVariablesBody.

void chrono::ChLcpVariablesBodyOwnMass::SetBodyInertia ( const ChMatrix33<> *  minertia  ) 

Set the inertia matrix.

void chrono::ChLcpVariablesBodyOwnMass::SetBodyMass ( const double  mmass  ) 

Set the mass associated with translation of body.

virtual void chrono::ChLcpVariablesBodyOwnMass::Compute_invMb_v ( ChMatrix< float > &  result,
const ChMatrix< float > &  vect 
) [virtual]

Computes the product of the inverse mass matrix by a vector, and set in result: result = [invMb]*vect

Implements chrono::ChLcpVariables.

virtual void chrono::ChLcpVariablesBodyOwnMass::Compute_inc_invMb_v ( ChMatrix< float > &  result,
const ChMatrix< float > &  vect 
) [virtual]

Computes the product of the inverse mass matrix by a vector, and increment result: result += [invMb]*vect

Implements chrono::ChLcpVariables.

virtual void chrono::ChLcpVariablesBodyOwnMass::Compute_Mb_v ( ChMatrix< float > &  result,
const ChMatrix< float > &  vect 
) [virtual]

Computes the product of the mass matrix by a vector, and set in result: result = [Mb]*vect

Implements chrono::ChLcpVariables.

virtual void chrono::ChLcpVariablesBodyOwnMass::Build_M ( ChSparseMatrix storage,
int  insrow,
int  inscol 
) [virtual]

Build the mass matrix (for these variables) storing it in 'storage' sparse matrix, at given column/row offset. This function is used only by the ChLcpSimplex solver (iterative solvers don't need to know mass matrix explicitly). Optimised: doesn't fill unneeded elements except mass and 3x3 inertia.

Implements chrono::ChLcpVariables.


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on 17 Jul 2009 by Doxygen