23 #ifndef _LSODAR_INTEGRATOR_H_
24 #define _LSODAR_INTEGRATOR_H_
26 #include "integrator.h"
28 namespace MBSimIntegrator {
36 static void fzdot(
int* zSize,
double* t,
double* z_,
double* zd_);
37 static void fsv(
int* zSize,
double* t,
double* z_,
int* nsv,
double* sv_);
57 int zSize, iTol, istate, nsv, lrWork, liWork, integrationSteps;
58 double t, tPlot, s0, time;
60 fmatvec::VecInt iWork;
61 std::ofstream integPlot;
67 void setMaximalStepSize(
double dtMax_) {
dtMax = dtMax_;}
68 void setMinimalStepSize(
double dtMin_) {
dtMin = dtMin_;}
70 void setAbsoluteTolerance(
double aTol_) {
aTol =
fmatvec::Vec(1,fmatvec::INIT,aTol_);}
71 void setRelativeTolerance(
double rTol_) {
rTol = rTol_;}
72 void setInitialStepSize(
double dt0_) {
dt0 = dt0_;}
74 void setPlotOnRoot(
bool b) {plotOnRoot = b;}
76 void setToleranceForPositionConstraints(
double gMax_) {
gMax = gMax_;}
77 void setToleranceForVelocityConstraints(
double gdMax_) {
gdMax = gdMax_;}
86 virtual std::string
getType()
const {
return "LSODARIntegrator"; }
double dtMin
Definition: lsodar_integrator.h:42
double gMax
Definition: lsodar_integrator.h:53
Vector< Ref, double > Vec
solver interface for modelling and simulation of dynamic systems
Definition: dynamic_system_solver.h:48
double dtMax
Definition: lsodar_integrator.h:40
double dt0
Definition: lsodar_integrator.h:48
void integrate(MBSim::DynamicSystemSolver &system)
start the integration
Definition: lsodar_integrator.cc:84
double gdMax
Definition: lsodar_integrator.h:55
virtual void initializeUsingXML(xercesc::DOMElement *element)
initialize integrator
Definition: lsodar_integrator.cc:61
ODE-Integrator LSODAR Integrator with root finding for ODEs. This integrator uses LSODAR from http://...
Definition: lsodar_integrator.h:33
fmatvec::Vec aTol
Definition: lsodar_integrator.h:44
virtual std::string getType() const
Definition: lsodar_integrator.h:86
integrator-interface for dynamic systems
Definition: integrator.h:40
static DynamicSystemSolver * system
dynamic system
Definition: solver.h:65
double rTol
Definition: lsodar_integrator.h:46