opensurgsim
Public Member Functions | Protected Member Functions | List of all members
SurgSim::Math::MassPointsForStatic Class Reference
Inheritance diagram for SurgSim::Math::MassPointsForStatic:
SurgSim::Math::OdeEquation

Public Member Functions

 MassPointsForStatic ()
 Constructor.
 
const VectorgetExternalForces () const
 
Matrix applyCompliance (const OdeState &state, const Matrix &b) override
 Calculate the product \(C.b\) where \(C\) is the compliance matrix with boundary conditions applied. More...
 
void setOdeSolver (std::shared_ptr< SurgSim::Math::OdeSolver > solver)
 
- Public Member Functions inherited from SurgSim::Math::OdeEquation
virtual ~OdeEquation ()
 Virtual destructor.
 
const std::shared_ptr< OdeStategetInitialState () const
 Retrieves the ode initial conditions \((x0, v0)\) (i.e the initial state) More...
 
virtual void updateFMDK (const OdeState &state, int options)
 Update the OdeEquation (and support data) based on the given state. More...
 
const VectorgetF () const
 
const SparseMatrixgetM () const
 
const SparseMatrixgetD () const
 
const SparseMatrixgetK () const
 
bool hasF () const
 
bool hasM () const
 
bool hasK () const
 
bool hasD () const
 

Protected Member Functions

void computeF (const OdeState &state) override
 Evaluation of the RHS function \(f(x, v)\) for a given state. More...
 
void computeM (const OdeState &state) override
 Evaluation of the LHS matrix \(M(x,v)\) for a given state. More...
 
void computeD (const OdeState &state) override
 Evaluation of \(D = -\frac{\partial f}{\partial v}(x,v)\) for a given state. More...
 
void computeK (const OdeState &state) override
 Evaluation of \(K = -\frac{\partial f}{\partial x}(x,v)\) for a given state. More...
 
void computeFMDK (const OdeState &state) override
 Evaluation of \(f(x,v)\), \(M(x,v)\), \(D = -\frac{\partial f}{\partial v}(x,v)\) and \(K = -\frac{\partial f}{\partial x}(x,v)\). More...
 

Additional Inherited Members

- Protected Attributes inherited from SurgSim::Math::OdeEquation
std::shared_ptr< OdeStatem_initialState
 The initial state (which defines the ODE initial conditions \((x0, v0)\)) More...
 
unsigned int m_initState
 
Vector m_f
 The vector containing \(f(x, v)\).
 
SparseMatrix m_M
 The matrix \(M(x,v)\).
 
SparseMatrix m_D
 The The matrix \(D = -\frac{\partial f}{\partial v}(x,v)\).
 
SparseMatrix m_K
 The The matrix \(K = -\frac{\partial f}{\partial x}(x,v)\).
 

Member Function Documentation

§ applyCompliance()

Matrix SurgSim::Math::MassPointsForStatic::applyCompliance ( const OdeState state,
const Matrix b 
)
inlineoverridevirtual

Calculate the product \(C.b\) where \(C\) is the compliance matrix with boundary conditions applied.

Note that this can be rewritten as \((B^T)(M^{-1})(B.b) = (B^T)((M^{-1})(B.b)) = x\), where \((M^{-1})(B.b) = y\) is simply the solution to \(M.y = B.b\) and \(B^T.y = x\).

Parameters
state\((x, v)\) the current position and velocity to evaluate the various terms with
bThe input matrix
Returns
The matrix \(C.b\)

Implements SurgSim::Math::OdeEquation.

§ computeD()

void SurgSim::Math::MassPointsForStatic::computeD ( const OdeState state)
inlineoverrideprotectedvirtual

Evaluation of \(D = -\frac{\partial f}{\partial v}(x,v)\) for a given state.

Parameters
state\((x, v)\) the current position and velocity to evaluate the Jacobian matrix with

Implements SurgSim::Math::OdeEquation.

§ computeF()

void SurgSim::Math::MassPointsForStatic::computeF ( const OdeState state)
inlineoverrideprotectedvirtual

Evaluation of the RHS function \(f(x, v)\) for a given state.

Parameters
state\((x, v)\) the current position and velocity to evaluate the function \(f(x,v)\) with

Implements SurgSim::Math::OdeEquation.

§ computeFMDK()

void SurgSim::Math::MassPointsForStatic::computeFMDK ( const OdeState state)
inlineoverrideprotectedvirtual

Evaluation of \(f(x,v)\), \(M(x,v)\), \(D = -\frac{\partial f}{\partial v}(x,v)\) and \(K = -\frac{\partial f}{\partial x}(x,v)\).

When all the terms are needed, this method can perform optimization in evaluating everything together

Parameters
state\((x, v)\) the current position and velocity to evaluate the various terms with
Note
computeF(), computeM(), computeD(), computeK()

Implements SurgSim::Math::OdeEquation.

§ computeK()

void SurgSim::Math::MassPointsForStatic::computeK ( const OdeState state)
inlineoverrideprotectedvirtual

Evaluation of \(K = -\frac{\partial f}{\partial x}(x,v)\) for a given state.

Parameters
state\((x, v)\) the current position and velocity to evaluate the Jacobian matrix with

Implements SurgSim::Math::OdeEquation.

§ computeM()

void SurgSim::Math::MassPointsForStatic::computeM ( const OdeState state)
inlineoverrideprotectedvirtual

Evaluation of the LHS matrix \(M(x,v)\) for a given state.

Parameters
state\((x, v)\) the current position and velocity to evaluate the matrix \(M(x,v)\) with

Implements SurgSim::Math::OdeEquation.


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