23 #ifndef _DOPRI5_INTEGRATOR_H_
24 #define _DOPRI5_INTEGRATOR_H_
26 #include "integrator.h"
28 namespace MBSimIntegrator {
37 static void fzdot(
int* n,
double* t,
double* z,
double* zd,
double* rpar,
int* ipar);
38 static void plot(
int* nr,
double* told,
double* t,
double* z,
int* n,
double* con,
int* icomp,
int* nd,
double* rpar,
int* ipar,
int* irtrn);
43 static std::ofstream integPlot;
65 void setAbsoluteTolerance(
double aTol_) {
aTol =
fmatvec::Vec(1,fmatvec::INIT,aTol_);}
67 void setRelativeTolerance(
double rTol_) {
rTol =
fmatvec::Vec(1,fmatvec::INIT,rTol_);}
68 void setInitialStepSize(
double dt0_) {
dt0 = dt0_;}
69 void setMaxStepNumber(
int maxSteps_) {
maxSteps = maxSteps_;}
70 void setMaximalStepSize(
double dtMax_) {
dtMax = dtMax_;}
73 double getInitialStepSize()
const {
return dt0; }
74 int getMaxStepNumber()
const {
return maxSteps; }
75 double getMaximalStepSize()
const {
return dtMax; }
81 virtual std::string
getType()
const {
return "DOPRI5Integrator"; }
virtual std::string getType() const
Definition: dopri5_integrator.h:81
ODE-Integrator DOPRI5.
Definition: dopri5_integrator.h:33
Vector< Ref, double > Vec
solver interface for modelling and simulation of dynamic systems
Definition: dynamic_system_solver.h:48
double dtMax
Definition: dopri5_integrator.h:57
fmatvec::Vec aTol
Definition: dopri5_integrator.h:49
double dt0
Definition: dopri5_integrator.h:53
virtual void initializeUsingXML(xercesc::DOMElement *element)
initialize integrator
Definition: dopri5_integrator.cc:169
fmatvec::Vec rTol
Definition: dopri5_integrator.h:51
int maxSteps
Definition: dopri5_integrator.h:55
integrator-interface for dynamic systems
Definition: integrator.h:40
void integrate(MBSim::DynamicSystemSolver &system)
start the integration
Definition: dopri5_integrator.cc:83
static DynamicSystemSolver * system
dynamic system
Definition: solver.h:65