#include <BaseMass.h>


Public Member Functions | |
| virtual | ~BaseMass () |
Vector operations | |
| virtual void | addMDx (double factor=1.0)=0 |
| f += factor M dx | |
| virtual void | accFromF ()=0 |
| dx = M^-1 f | |
| virtual double | getKineticEnergy ()=0 |
| vMv/2 | |
| virtual void | addMToMatrix (defaulttype::BaseMatrix *matrix, double mFact, unsigned int &offset)=0 |
| Add Mass contribution to global Matrix assembling. | |
| virtual void | initGnuplot (const std::string path)=0 |
| initialization to export kinetic and potential energy to gnuplot files format | |
| virtual void | exportGnuplot (double time)=0 |
| export kinetic and potential energy state at "time" to a gnuplot file | |
| virtual void | addGravityToV (double dt)=0 |
| perform v += dt*g operation. Used if mass wants to added G separately from the other forces to v. | |
| virtual double | getElementMass (unsigned int index)=0 |
| return the mass relative to the DOF index | |
Data Fields | |
| Data< bool > | m_separateGravity |
| Member specifying if the gravity is added separately to the DOFs velocities (in solve method), or if is added with the other forces(addForceMethod). | |
Mass can be defined either as a scalar, vector, or a full mass-matrix. It is responsible for converting forces to accelerations (for explicit integrators), or displacements to forces (for implicit integrators).
It is often also a ForceField, computing gravity-related forces.
Definition at line 55 of file BaseMass.h.
| virtual sofa::core::componentmodel::behavior::BaseMass::~BaseMass | ( | ) | [inline, virtual] |
Definition at line 58 of file BaseMass.h.
| virtual void sofa::core::componentmodel::behavior::BaseMass::accFromF | ( | ) | [pure virtual] |
dx = M^-1 f
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >.
Referenced by sofa::simulation::MechanicalAccFromFVisitor::fwdMass().
| virtual void sofa::core::componentmodel::behavior::BaseMass::addGravityToV | ( | double | dt | ) | [pure virtual] |
perform v += dt*g operation. Used if mass wants to added G separately from the other forces to v.
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >, sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::MatrixMass< DataTypes, MassType >, and sofa::component::mass::UniformMass< DataTypes, MassType >.
Referenced by sofa::simulation::MechanicalAddSeparateGravityVisitor::fwdMass().
| virtual void sofa::core::componentmodel::behavior::BaseMass::addMDx | ( | double | factor = 1.0 |
) | [pure virtual] |
f += factor M dx
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >.
Referenced by sofa::simulation::MechanicalAddMDxVisitor::fwdMass().
| virtual void sofa::core::componentmodel::behavior::BaseMass::addMToMatrix | ( | defaulttype::BaseMatrix * | matrix, | |
| double | mFact, | |||
| unsigned int & | offset | |||
| ) | [pure virtual] |
Add Mass contribution to global Matrix assembling.
This method must be implemented by the component.
| matrix | matrix to add the result to | |
| mFact | coefficient for mass contributions (i.e. second-order derivatives term in the ODE) | |
| offset | current row/column offset |
Implemented in sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::MatrixMass< DataTypes, MassType >, and sofa::component::mass::UniformMass< DataTypes, MassType >.
Referenced by sofa::core::componentmodel::behavior::Mass< DataTypes >::addMBKToMatrix().
| virtual void sofa::core::componentmodel::behavior::BaseMass::exportGnuplot | ( | double | time | ) | [pure virtual] |
export kinetic and potential energy state at "time" to a gnuplot file
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >.
| virtual double sofa::core::componentmodel::behavior::BaseMass::getElementMass | ( | unsigned int | index | ) | [pure virtual] |
return the mass relative to the DOF index
Implemented in sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::MatrixMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::DiagonalMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, sofa::component::mass::UniformMass< DataTypes, MassType >, and sofa::component::mass::UniformMass< DataTypes, MassType >.
Referenced by sofa::component::mapping::CenterOfMassMapping< BasicMapping >::apply(), sofa::component::mapping::CenterOfMassMapping< BasicMapping >::applyJ(), sofa::component::mapping::CenterOfMassMapping< BasicMapping >::applyJT(), and sofa::component::mapping::CenterOfMassMapping< BasicMapping >::init().
| virtual double sofa::core::componentmodel::behavior::BaseMass::getKineticEnergy | ( | ) | [pure virtual] |
vMv/2
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >.
Referenced by sofa::simulation::MechanicalComputeEnergyVisitor::fwdMass().
| virtual void sofa::core::componentmodel::behavior::BaseMass::initGnuplot | ( | const std::string | path | ) | [pure virtual] |
initialization to export kinetic and potential energy to gnuplot files format
Implemented in sofa::core::componentmodel::behavior::Mass< DataTypes >.
Member specifying if the gravity is added separately to the DOFs velocities (in solve method), or if is added with the other forces(addForceMethod).
Definition at line 97 of file BaseMass.h.
Referenced by sofa::component::mass::MatrixMass< DataTypes, MassType >::addForce(), sofa::component::mass::DiagonalMass< DataTypes, MassType >::addForce(), sofa::simulation::MechanicalAddSeparateGravityVisitor::fwdMass(), and sofa::core::componentmodel::behavior::Mass< DataTypes >::Mass().
1.5.7.1