mbsim
4.0.0
MBSim Kernel
|
integrator-interface for dynamic systems More...
#include <integrator.h>
Public Member Functions | |
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 |
Protected Attributes | |
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. | |
integrator-interface for dynamic systems
void MBSim::Integrator::debugInit | ( | ) |
Each class implementing the Integrator::integrate function should call this function first. This function does currently only some minor modification of the integrator data (like end time) dependent on environment variables. This is used mainly for debugging purposes like automatic valgrind runs with a very small tEnd time.
|
inlineoverridevirtual |
start solving the dynamic system set by setSystem.
Implements MBSim::Solver.
|
inlineoverridevirtual |
Implements MBSim::Solver.
|
overridevirtual |
initialize integrator
XML | description |
Reimplemented from MBSim::Solver.
Reimplemented in MBSim::LSODAIntegrator, MBSim::LSODEIntegrator, MBSim::LSODIIntegrator, MBSim::RootFindingIntegrator, MBSim::ThetaTimeSteppingSSCIntegrator, MBSim::ODEXIntegrator, MBSim::PHEM56Integrator, MBSim::QuasiStaticIntegrator, MBSim::RADAU5Integrator, MBSim::RADAUIntegrator, MBSim::RKSuiteIntegrator, MBSim::RODASIntegrator, MBSim::SEULEXIntegrator, MBSim::ThetaTimeSteppingIntegrator, MBSim::TimeSteppingIntegrator, and MBSim::TimeSteppingSSCIntegrator.
|
pure virtual |
start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.
Implemented in MBSim::DASPKIntegrator, MBSim::LSODAIntegrator, MBSim::LSODEIntegrator, MBSim::LSODIIntegrator, MBSim::ThetaTimeSteppingSSCIntegrator, MBSim::BoostOdeintDOS< DOS >, MBSim::DOP853Integrator, MBSim::DOPRI5Integrator, MBSim::ExplicitEulerIntegrator, MBSim::HETS2Integrator, MBSim::ImplicitEulerIntegrator, MBSim::ODEXIntegrator, MBSim::PHEM56Integrator, MBSim::QuasiStaticIntegrator, MBSim::RADAU5Integrator, MBSim::RADAUIntegrator, MBSim::RKSuiteIntegrator, MBSim::RODASIntegrator, MBSim::SEULEXIntegrator, MBSim::ThetaTimeSteppingIntegrator, MBSim::TimeSteppingIntegrator, MBSim::TimeSteppingSSCIntegrator, MBSim::DASPKIntegrator, MBSim::DOP853Integrator, MBSim::DOPRI5Integrator, MBSim::ExplicitEulerIntegrator, MBSim::HETS2Integrator, MBSim::ImplicitEulerIntegrator, MBSim::LSODAIntegrator, MBSim::LSODEIntegrator, MBSim::LSODIIntegrator, MBSim::ODEXIntegrator, MBSim::PHEM56Integrator, MBSim::QuasiStaticIntegrator, MBSim::RADAU5Integrator, MBSim::RADAUIntegrator, MBSim::RKSuiteIntegrator, MBSim::RODASIntegrator, MBSim::SEULEXIntegrator, MBSim::ThetaTimeSteppingIntegrator, MBSim::ThetaTimeSteppingSSCIntegrator, MBSim::TimeSteppingIntegrator, and MBSim::TimeSteppingSSCIntegrator.
|
inlinevirtual |
Reimplemented in MBSim::ThetaTimeSteppingSSCIntegrator, and MBSim::HETS2Integrator.
|
inlinevirtual |
Reimplemented in MBSim::ThetaTimeSteppingSSCIntegrator, MBSim::HETS2Integrator, and MBSim::TimeSteppingSSCIntegrator.
|
inlinevirtual |
Reimplemented in MBSim::ThetaTimeSteppingSSCIntegrator, and MBSim::HETS2Integrator.