23#ifndef _DOPRI5_INTEGRATOR_H_
24#define _DOPRI5_INTEGRATOR_H_
26#include "root_finding_integrator.h"
36 static void fzdot(
int* n,
double* t,
double* z,
double* zd,
double* rpar,
int* ipar);
37 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);
57 std::exception_ptr exception;
61 ~DOPRI5Integrator()
override =
default;
63 const fmatvec::Vec& getAbsoluteTolerance()
const {
return aTol; }
64 const fmatvec::Vec& getRelativeTolerance()
const {
return rTol; }
65 double getInitialStepSize()
const {
return dt0; }
66 int getStepLimit()
const {
return maxSteps; }
67 double getMaximumStepSize()
const {
return dtMax; }
69 void setAbsoluteTolerance(
const fmatvec::Vec &aTol_) {
aTol <<= aTol_; }
70 void setAbsoluteTolerance(
double aTol_) {
aTol.resize(1,fmatvec::INIT,aTol_); }
71 void setRelativeTolerance(
const fmatvec::Vec &rTol_) {
rTol <<= rTol_; }
72 void setRelativeTolerance(
double rTol_) {
rTol.resize(1,fmatvec::INIT,rTol_); }
73 void setInitialStepSize(
double dt0_) {
dt0 = dt0_; }
74 void setStepLimit(
int maxSteps_) {
maxSteps = maxSteps_; }
75 void setMaximumStepSize(
double dtMax_) {
dtMax = dtMax_; }
ODE-Integrator DOPRI5.
Definition: dopri5_integrator.h:32
fmatvec::Vec aTol
Definition: dopri5_integrator.h:45
void integrate() override
start the integration of the system set by setSystem. Each class implemeting this function should cal...
Definition: dopri5_integrator.cc:181
void initializeUsingXML(xercesc::DOMElement *element) override
initialize integrator
Definition: dopri5_integrator.cc:278
fmatvec::Vec rTol
Definition: dopri5_integrator.h:47
int maxSteps
Definition: dopri5_integrator.h:51
double dt0
Definition: dopri5_integrator.h:49
double dtMax
Definition: dopri5_integrator.h:53
virtual void integrate()=0
start the integration of the system set by setSystem. Each class implemeting this function should cal...
Integrator with root-finding.
Definition: root_finding_integrator.h:32
namespace MBSim
Definition: bilateral_constraint.cc:30