23#ifndef _DAE_INTEGRATOR_H_
24#define _DAE_INTEGRATOR_H_
26#include "implicit_integrator.h"
47 void par_ud_xd_gdd_par_q_u(fmatvec::Mat &J,
const fmatvec::Vec &ud_=fmatvec::Vec());
48 void par_zd_gdd_par_q_u(fmatvec::Mat &J,
const fmatvec::Vec &ud_=fmatvec::Vec());
49 void par_ud_xd_par_x(fmatvec::Mat &J);
51 void par_ud_xd_gd_par_q(fmatvec::Mat &J);
52 void par_zd_gd_par_q(fmatvec::Mat &J);
54 void par_ud_xd_g_par_q(fmatvec::Mat &J);
55 void par_zd_g_par_q(fmatvec::Mat &J);
57 void par_ud_xd_gd_g_par_q(fmatvec::Mat &J);
58 void par_zd_gd_g_par_q(fmatvec::Mat &J);
60 void calcSize()
override;
62 virtual void reinit();
69 std::optional<double> aTolScalar;
72 std::optional<double> rTolScalar;
74 std::optional<double> aTolPos, aTolVel, aTol1st, aTolForce, rTolPos, rTolVel, rTol1st, rTolForce;
78 fmatvec::RangeV Rla, Rl;
79 fmatvec::RangeV RlaMove, RlMove;
86 void setFormalism(Formalism formalism_) {
formalism = formalism_; }
88 void setAbsoluteTolerance(
const fmatvec::Vec &aTol_) {
aTol <<= aTol_; }
89 void setAbsoluteTolerance(
double aTol_) { aTolScalar = aTol_; }
90 void setRelativeTolerance(
const fmatvec::Vec &rTol_) {
rTol <<= rTol_; }
91 void setRelativeTolerance(
double rTol_) { rTolScalar = rTol_; }
93 void setAbsolutePositionTolerance(
double aTolPos_) { aTolPos = aTolPos_; }
94 void setAbsoluteVelocityTolerance(
double aTolVel_) { aTolVel = aTolVel_; }
95 void setAbsoluteFirstOrderTolerance(
double aTol1st_) { aTol1st = aTol1st_; }
96 void setAbsoluteForceTolerance(
double aTolForce_) { aTolForce = aTolForce_; }
97 void setRelativePositionTolerance(
double rTolPos_) { rTolPos = rTolPos_; }
98 void setRelativeVelocityTolerance(
double rTolVel_) { rTolVel = rTolVel_; }
99 void setRelativeFirstOrderTolerance(
double rTol1st_) { rTol1st = rTol1st_; }
100 void setRelativeForceTolerance(
double rTolForce_) { rTolForce = rTolForce_; }
Base class for all DAE integrators.
Definition: dae_integrator.h:33
fmatvec::Vec rTol
Definition: dae_integrator.h:71
fmatvec::Vec aTol
Definition: dae_integrator.h:68
void initializeUsingXML(xercesc::DOMElement *element) override
initialize integrator
Definition: dae_integrator.cc:301
Formalism formalism
Definition: dae_integrator.h:65
Base class for all implicit integrators.
Definition: implicit_integrator.h:34
namespace MBSim
Definition: bilateral_constraint.cc:30