mbsim 4.0.0 MBSim Kernel

Public Types | Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
MBSim::RKSuiteIntegrator Class Reference

ODE-Integrator RKSuite. More...

`#include <rksuite_integrator.h>`

Inheritance diagram for MBSim::RKSuiteIntegrator:
[legend]

## Public Types

enum | Method { RK23 =1, RK45, RK78, unknownMethod }

## Public Member Functions

virtual | ~RKSuiteIntegrator () override
| destructor
void | preIntegrate () override
void | subIntegrate (double tStop) override
void | postIntegrate () override
void | setMethod (Method method_)
void | setRelativeTolerance (double rTol_)
void | setThreshold (const fmatvec::Vec &thres_)
void | setThreshold (double thres_)
void | setInitialStepSize (double dt0_)
void | integrate () override
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.
virtual void | initializeUsingXML (xercesc::DOMElement *element) override
| initialize integrator More...
virtual void | integrate ()=0
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.
void | integrate (MBSim::DynamicSystemSolver &sys)
| Convinent function: call setSystem(&sys) and integrate()
Public Member Functions inherited from MBSim::RootFindingIntegrator
void | setRootFindingAccuracy (double dtRoot_)
| Define the root-finding accuracy.
void | setPlotOnRoot (bool b)
| Define wether to trigger a plot before and after each found root.
void | setToleranceForPositionConstraints (double gMax_)
| Set the maximum allowed position drift.
void | setToleranceForVelocityConstraints (double gdMax_)
| Set the maximum allowed velocity drift.
double | getToleranceForPositionConstraints ()
| Get the maximum allowed position drift.
double | getToleranceForVelocityConstraints ()
| Get the maximum allowed velocity drift.
Public Member Functions inherited from MBSim::Integrator
| Integrator ()
| constructor
| ~Integrator () override=default
| destructor
void | setStartTime (double tStart_)
void | setEndTime (double tEnd_)
void | setPlotStepSize (double dtPlot_)
void | setInitialState (const fmatvec::Vec &z0_)
double | getStartTime () const
double | getEndTime () const
double | getPlotStepSize () const
const fmatvec::Vec & | getInitialState () const override
void | execute () override
| start solving the dynamic system set by setSystem.
void | integrate (MBSim::DynamicSystemSolver &sys)
| Convinent function: call setSystem(&sys) and integrate()
void | debugInit ()
Public Member Functions inherited from MBSim::Solver
| Solver ()
| constructor
| ~Solver () override=default
| destructor
void | throwError (const std::string &msg) const
virtual void | postprocessing ()
void | setSystem (DynamicSystemSolver *s)
MBSim::DynamicSystemSolver * | getSystem ()
const MBXMLUtils::DOMEvalException & | getDOMEvalError () const

## Static Private Member Functions

static void | fzdot (double *t, double *z_, double *zd_)

## Private Attributes

int | zSize
Method | method {RK45}
fmatvec::Vec | thres
double | rTol {1e-6}
double | dt0 {0}
int | lenwrk
int | messages {0}
int | integrationSteps {0}
int | lenint
double | t {0}
double | tPlot {0}
double | s0 {0}
double | time {0}
double * | work {nullptr}
double * | workint {nullptr}
fmatvec::Vec | z
fmatvec::Vec | zd
fmatvec::Vec | zMax
fmatvec::Vec | zWant
fmatvec::Vec | zdWant

## Static Private Attributes

static RKSuiteIntegrator * | selfStatic = nullptr

## Additional Inherited Members

Protected Member Functions inherited from MBSim::RootFindingIntegrator
bool | signChangedWRTsvLast (const fmatvec::Vec &svStepEnd) const
Protected Attributes inherited from MBSim::RootFindingIntegrator
double | dtRoot {1e-10}
bool | plotOnRoot {false}
double | gMax {-1}
double | gdMax {-1}
fmatvec::Vec | svLast
bool | shift {false}
Protected Attributes inherited from MBSim::Integrator
double | tStart {0.}
| start, end, plot time
double | tEnd {1.}
double | dtPlot {1e-4}
fmatvec::Vec | z0
| initial state
std::string | name
| name of integrator
Protected Attributes inherited from MBSim::Solver
MBSim::DynamicSystemSolver * | system
| dynamic system
MBXMLUtils::DOMEvalException | domEvalError
| Special XML helper variable.

## Detailed Description

ODE-Integrator RKSuite.

This integrator uses RKSUITE (http://www.netlib.org/ode/rksuite).

## Member Function Documentation

## ◆ initializeUsingXML()

void MBSim::RKSuiteIntegrator::initializeUsingXML | ( | xercesc::DOMElement * | element | ) |

override virtual

initialize integrator

Parameters

  XML | description

Reimplemented from MBSim::RootFindingIntegrator.

## Member Data Documentation

## ◆ dt0

double MBSim::RKSuiteIntegrator::dt0 {0}

private

initial step size

## ◆ method

Method MBSim::RKSuiteIntegrator::method {RK45}

private

method

## ◆ rTol

double MBSim::RKSuiteIntegrator::rTol {1e-6}

private

relative tolerance

## ◆ thres

fmatvec::Vec MBSim::RKSuiteIntegrator::thres

private

threshold

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

- /mbsim-env/mbsim/kernel/mbsim/integrators/rksuite_integrator.h
- /mbsim-env/mbsim/kernel/mbsim/integrators/rksuite_integrator.cc