All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
SurgSim::Math::OdeSolverLinearEulerExplicitModified Class Reference

Linear Version of the Modified Euler Explicit ode solver This solver assumes that the system is linear, ie that Mass, Damping, and Stiffness matrices do not change. More...

#include <SurgSim/Math/OdeSolverLinearEulerExplicitModified.h>

Inheritance diagram for SurgSim::Math::OdeSolverLinearEulerExplicitModified:
Inheritance graph
[legend]
Collaboration diagram for SurgSim::Math::OdeSolverLinearEulerExplicitModified:
Collaboration graph
[legend]

Public Member Functions

 OdeSolverLinearEulerExplicitModified (OdeEquation *equation)
 Constructor. More...
 
virtual void solve (double dt, const OdeState &currentState, OdeState *newState) override
 Solves the equation. More...
 
- Public Member Functions inherited from SurgSim::Math::OdeSolverEulerExplicitModified
 OdeSolverEulerExplicitModified (OdeEquation *equation)
 Constructor. More...
 
- Public Member Functions inherited from SurgSim::Math::OdeSolver
 OdeSolver (OdeEquation *equation)
 Constructor. More...
 
virtual ~OdeSolver ()
 Virtual destructor. More...
 
const std::string getName () const
 Gets the solver's name. More...
 
void setLinearSolver (std::shared_ptr< LinearSolveAndInverse > linearSolver)
 Sets the specialized linear solver to use with this Ode solver. More...
 
std::shared_ptr
< LinearSolveAndInverse
getLinearSolver () const
 Gets the specialized linear solver used with this Ode solver. More...
 
const MatrixgetSystemMatrix () const
 Queries the current system matrix. More...
 
const MatrixgetCompliance () const
 Queries the current compliance matrix. More...
 

Private Attributes

bool m_initialized
 Has the solver been initialized. More...
 

Additional Inherited Members

- Protected Member Functions inherited from SurgSim::Math::OdeSolver
void allocate (size_t size)
 Allocates the system and compliance matrices. More...
 
- Protected Attributes inherited from SurgSim::Math::OdeSolver
std::string m_name
 Name for this solver. More...
 
OdeEquationm_equation
 The ode equation (API providing the necessary evaluation methods and the initial state) More...
 
std::shared_ptr
< LinearSolveAndInverse
m_linearSolver
 The specialized linear solver to use when solving the ode equation. More...
 
Matrix m_systemMatrix
 System matrix (can be M, K, combination of MDK depending on the solver) A static solver will have K for system matrix A dynamic explicit solver will have M for system matrix A dynamic implicit solver will have a combination of M, D and K for system matrix. More...
 
Matrix m_compliance
 Compliance matrix which is the inverse of the system matrix. More...
 

Detailed Description

Linear Version of the Modified Euler Explicit ode solver This solver assumes that the system is linear, ie that Mass, Damping, and Stiffness matrices do not change.

Constructor & Destructor Documentation

SurgSim::Math::OdeSolverLinearEulerExplicitModified::OdeSolverLinearEulerExplicitModified ( OdeEquation equation)
explicit

Constructor.

Parameters
equationThe ode equation to be solved

Member Function Documentation

void SurgSim::Math::OdeSolverLinearEulerExplicitModified::solve ( double  dt,
const OdeState currentState,
OdeState newState 
)
overridevirtual

Solves the equation.

Parameters
dtThe time step
currentStateState at time t
[out]newStateState at time t+dt

Reimplemented from SurgSim::Math::OdeSolverEulerExplicitModified.

Member Data Documentation

bool SurgSim::Math::OdeSolverLinearEulerExplicitModified::m_initialized
private

Has the solver been initialized.


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