20#ifndef _RKSUITE_INTEGRATOR_H_
21#define _RKSUITE_INTEGRATOR_H_
23#include "root_finding_integrator.h"
45 void preIntegrate()
override;
46 void subIntegrate(
double tStop)
override;
47 void postIntegrate()
override;
50 void setMethod(Method method_) {
method = method_; }
51 void setRelativeTolerance(
double rTol_) {
rTol = rTol_; }
52 void setThreshold(
const fmatvec::Vec &thres_) {
thres <<= thres_; }
53 void setThreshold(
double thres_) {
thres.resize(1,fmatvec::INIT,thres_); }
54 void setInitialStepSize(
double dt0_) {
dt0 = dt0_; }
65 static void fzdot(
double* t,
double* z_,
double* zd_);
79 int lenwrk, messages{0}, integrationSteps{0}, lenint;
80 double t{0}, tPlot{0}, s0{0}, time{0};
81 double *work{
nullptr};
82 double *workint{
nullptr};
83 fmatvec::Vec z, zd, zMax, zWant, zdWant;
85 std::exception_ptr exception;
virtual void integrate()=0
start the integration of the system set by setSystem. Each class implemeting this function should cal...
ODE-Integrator RKSuite.
Definition: rksuite_integrator.h:31
virtual ~RKSuiteIntegrator() override
destructor
Definition: rksuite_integrator.cc:40
fmatvec::Vec thres
Definition: rksuite_integrator.h:73
double dt0
Definition: rksuite_integrator.h:77
virtual void initializeUsingXML(xercesc::DOMElement *element) override
initialize integrator
Definition: rksuite_integrator.cc:276
double rTol
Definition: rksuite_integrator.h:75
Method method
Definition: rksuite_integrator.h:71
void integrate() override
start the integration of the system set by setSystem. Each class implemeting this function should cal...
Definition: rksuite_integrator.cc:270
Integrator with root-finding.
Definition: root_finding_integrator.h:32
namespace MBSim
Definition: bilateral_constraint.cc:30