Ode equation of 2nd order of the form M(x,v).a = F(x, v) with (x0, v0) for initial conditions and a set of boundary conditions. More...
#include <SurgSim/Math/OdeEquation.h>
Public Member Functions  
virtual  ~OdeEquation () 
Virtual destructor. More...  
const std::shared_ptr< OdeState >  getInitialState () const 
Retrieves the ode initial conditions (x0, v0) (i.e. More...  
virtual Vector &  computeF (const OdeState &state)=0 
Evaluation of the RHS function f(x,v) for a given state. More...  
virtual const Matrix &  computeM (const OdeState &state)=0 
Evaluation of the LHS matrix M(x,v) for a given state. More...  
virtual const Matrix &  computeD (const OdeState &state)=0 
Evaluation of D = df/dv (x,v) for a given state. More...  
virtual const Matrix &  computeK (const OdeState &state)=0 
Evaluation of K = df/dx (x,v) for a given state. More...  
virtual void  computeFMDK (const OdeState &state, Vector **f, Matrix **M, Matrix **D, Matrix **K)=0 
Evaluation of f(x,v), M(x,v), D = df/dv(x,v), K = df/dx(x,v) When all the terms are needed, this method can perform optimization in evaluating everything together. More...  
Protected Attributes  
std::shared_ptr< OdeState >  m_initialState 
The initial state (which defines the ODE initial conditions (x0, v0)) More...  
Ode equation of 2nd order of the form M(x,v).a = F(x, v) with (x0, v0) for initial conditions and a set of boundary conditions.
The problem is called a Boundary Value Problem (BVP).

inlinevirtual 
Virtual destructor.
Evaluation of D = df/dv (x,v) for a given state.
state  (x, v) the current position and velocity to evaluate the Jacobian matrix with 
Implemented in SurgSim::Physics::MassSpringRepresentation, and SurgSim::Physics::FemRepresentation.
Evaluation of the RHS function f(x,v) for a given state.
state  (x, v) the current position and velocity to evaluate the function f(x,v) with 
Implemented in SurgSim::Physics::MassSpringRepresentation, and SurgSim::Physics::FemRepresentation.

pure virtual 
Evaluation of f(x,v), M(x,v), D = df/dv(x,v), K = df/dx(x,v) When all the terms are needed, this method can perform optimization in evaluating everything together.
state  (x, v) the current position and velocity to evaluate the various terms with  
[out]  f  The RHS f(x,v) 
[out]  M  The matrix M(x,v) 
[out]  D  The matrix D = df/dv(x,v) 
[out]  K  The matrix K = df/dx(x,v) 
Implemented in SurgSim::Physics::MassSpringRepresentation, and SurgSim::Physics::FemRepresentation.
Evaluation of K = df/dx (x,v) for a given state.
state  (x, v) the current position and velocity to evaluate the Jacobian matrix with 
Implemented in SurgSim::Physics::MassSpringRepresentation, and SurgSim::Physics::FemRepresentation.
Evaluation of the LHS matrix M(x,v) for a given state.
state  (x, v) the current position and velocity to evaluate the matrix M(x,v) with 
Implemented in SurgSim::Physics::MassSpringRepresentation, and SurgSim::Physics::FemRepresentation.
const std::shared_ptr< OdeState > SurgSim::Math::OdeEquation::getInitialState  (  )  const 
Retrieves the ode initial conditions (x0, v0) (i.e.
the initial state)

protected 
The initial state (which defines the ODE initial conditions (x0, v0))