|
void | setMaximumStepSize (double dtMax_) |
|
void | setMinimumStepSize (double dtMin_) |
|
void | setAbsoluteTolerance (const fmatvec::Vec &aTol_) |
|
void | setAbsoluteTolerance (double aTol_) |
|
void | setRelativeTolerance (const fmatvec::Vec &rTol_) |
|
void | setRelativeTolerance (double rTol_) |
|
void | setInitialStepSize (double dt0_) |
|
void | setStepLimit (int maxSteps_) |
|
void | integrate () |
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first. More...
|
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
| initialize integrator More...
|
|
virtual void | integrate ()=0 |
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first. More...
|
|
void | integrate (MBSim::DynamicSystemSolver &sys) |
| Convinent function: call setSystem(&sys) and integrate()
|
|
void | setReducedForm (bool reduced_) |
|
void | setPartiallyAnalyticalJacobian (bool partiallyAnalyticalJacobian_) |
|
void | setRootFindingAccuracy (double dtRoot_) |
| Define the root-finding accuracy.
|
|
void | setPlotOnRoot (bool b) |
| Define wether to trigger a plot before and after each found root.
|
|
void | setToleranceForPositionConstraints (double gMax_) |
| Set the maximum allowed position drift.
|
|
void | setToleranceForVelocityConstraints (double gdMax_) |
| Set the maximum allowed velocity drift.
|
|
double | getToleranceForPositionConstraints () |
| Get the maximum allowed position drift.
|
|
double | getToleranceForVelocityConstraints () |
| Get the maximum allowed velocity drift.
|
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
| initialize integrator More...
|
|
| Integrator () |
| constructor
|
|
| ~Integrator () override=default |
| destructor
|
|
void | setStartTime (double tStart_) |
|
void | setEndTime (double tEnd_) |
|
void | setPlotStepSize (double dtPlot_) |
|
void | setInitialState (const fmatvec::Vec &z0_) |
|
double | getStartTime () const |
|
double | getEndTime () const |
|
double | getPlotStepSize () const |
|
const fmatvec::Vec & | getInitialState () const override |
|
void | execute () override |
| start solving the dynamic system set by setSystem. More...
|
|
virtual void | integrate ()=0 |
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first. More...
|
|
void | integrate (MBSim::DynamicSystemSolver &sys) |
| Convinent function: call setSystem(&sys) and integrate()
|
|
void | debugInit () |
|
virtual void | preIntegrate () |
|
virtual void | subIntegrate (double tStop) |
|
virtual void | postIntegrate () |
|
void | initializeUsingXML (xercesc::DOMElement *element) override |
| initialize integrator More...
|
|
| Solver () |
| constructor
|
|
| ~Solver () override=default |
| destructor
|
|
void | throwError (const std::string &msg) const |
|
virtual void | execute ()=0 |
| start solving the dynamic system set by setSystem. More...
|
|
virtual void | postprocessing () |
|
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
|
virtual const fmatvec::Vec & | getInitialState () const =0 |
|
void | setSystem (DynamicSystemSolver *s) |
|
MBSim::DynamicSystemSolver * | getSystem () |
|
const MBXMLUtils::DOMEvalException & | getDOMEvalError () const |
|
|
virtual double | delta (int i, double z) const |
|
void | par_ud_xd_par_q (fmatvec::Mat &J) |
|
void | par_zd_par_q (fmatvec::Mat &J) |
|
void | par_ud_xd_par_u_x (fmatvec::Mat &J, bool updla) |
|
void | par_zd_par_z (fmatvec::Mat &J, bool updla) |
|
virtual void | calcSize () |
|
virtual void | init () |
|
bool | signChangedWRTsvLast (const fmatvec::Vec &svStepEnd) const |
|
bool | reduced {false} |
|
bool | partiallyAnalyticalJacobian {false} |
|
int | neq |
|
int | qMove |
|
fmatvec::Vec | zd0 |
|
fmatvec::RangeV | Rq |
|
fmatvec::RangeV | Ru |
|
fmatvec::RangeV | Rx |
|
fmatvec::RangeV | Rz |
|
fmatvec::RangeV | RuMove |
|
fmatvec::RangeV | RxMove |
|
double | dtRoot {1e-10} |
|
bool | plotOnRoot {false} |
|
double | gMax {-1} |
|
double | gdMax {-1} |
|
fmatvec::Vec | svLast |
|
bool | shift {false} |
|
double | tStart {0.} |
| start, end, plot time
|
|
double | tEnd {1.} |
|
double | dtPlot {1e-4} |
|
fmatvec::Vec | z0 |
| initial state
|
|
std::string | name |
| name of integrator
|
|
MBSim::DynamicSystemSolver * | system |
| dynamic system
|
|
MBXMLUtils::DOMEvalException | domEvalError |
| Special XML helper variable.
|
|
Hindmarsh’s ODE solver LSODA.
Livermore Solver for Ordinary Differential Equations, with Automatic method switching for stiff and nonstiff problems. LSODA solves the initial-value problem for stiff or nonstiff systems of first-order ODE's. This integrator uses ODEPACK (http://www.netlib.org/odepack).