![]() |
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))