integrator-interface for dynamic systems More...
#include <integrator.h>
Public Member Functions | |
Integrator () | |
constructor | |
virtual | ~Integrator () |
destructor | |
void | setStartTime (double tStart_) |
void | setEndTime (double tEnd_) |
void | setPlotStepSize (double dtPlot_) |
void | setInitialState (const fmatvec::Vec &z0_) |
void | setWarnLevel (int level) |
void | setOutput (bool flag) |
double | getStartTime () const |
double | getEndTime () const |
double | getPlotStepSize () const |
const fmatvec::Vec & | getInitialState () const |
int | getWarnLevel () const |
bool | getOutput () const |
void | execute (MBSim::DynamicSystemSolver &system) |
start solving the dynamic system More... | |
virtual void | integrate (MBSim::DynamicSystemSolver &system)=0 |
start the integration More... | |
void | debugInit () |
virtual void | preIntegrate (MBSim::DynamicSystemSolver &system) |
virtual void | subIntegrate (MBSim::DynamicSystemSolver &system, double tStop) |
virtual void | postIntegrate (MBSim::DynamicSystemSolver &system) |
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
initialize integrator More... | |
virtual std::string | getType () const |
![]() | |
Solver () | |
constructor | |
virtual | ~Solver () |
destructor | |
![]() | |
Atom & | operator= (const Atom &) |
void | setMessageStreamActive (MsgType type, bool active) |
void | getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s) |
void | adoptMessageStreams (const Atom *src=NULL) |
std::ostream & | msg (MsgType type) |
bool | msgAct (MsgType type) |
Static Public Member Functions | |
static Integrator * | readXMLFile (const std::string &filename) |
![]() | |
static void | setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf())) |
static std::ostream & | msgStatic (MsgType type) |
static bool | msgActStatic (MsgType type) |
Protected Attributes | |
double | tStart |
start, end, plot time | |
double | tEnd |
double | dtPlot |
fmatvec::Vec | z0 |
initial state | |
int | warnLevel |
warn level | |
bool | output |
flag for ouput printing | |
std::string | name |
name of integrator | |
Additional Inherited Members | |
![]() | |
enum | MsgType |
![]() | |
Atom (const Atom &src) | |
![]() | |
static DynamicSystemSolver * | system = 0 |
dynamic system | |
integrator-interface for dynamic systems
void MBSimIntegrator::Integrator::debugInit | ( | ) |
Each class implemeting 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.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in MBSimIntegrator::LSODARIntegrator, MBSimIntegrator::DOPRI5Integrator, and MBSimIntegrator::LSODEIntegrator.
|
virtual |
initialize integrator
XML | description |
Implements MBSim::Solver.
Reimplemented in MBSimIntegrator::AutoTimeSteppingSSCIntegrator, MBSimIntegrator::TimeSteppingSSCIntegrator, MBSimIntegrator::QuasiStaticIntegrator, MBSimIntegrator::LSODARIntegrator, MBSimIntegrator::DOPRI5Integrator, MBSimIntegrator::HETS2Integrator, MBSimIntegrator::RADAU5Integrator, MBSimIntegrator::LSODEIntegrator, MBSimIntegrator::RKSuiteIntegrator, MBSimIntegrator::ThetaTimeSteppingIntegrator, MBSimIntegrator::TimeSteppingIntegrator, MBSimIntegrator::EulerExplicitIntegrator, and MBSimIntegrator::ThetaTimeSteppingSSCIntegrator.
|
pure virtual |
start the integration
dynamic | system to be integrated Each class implemeting this function should call debugInit first. |
Implemented in MBSimIntegrator::AutoTimeSteppingSSCIntegrator, MBSimIntegrator::TimeSteppingSSCIntegrator, MBSimIntegrator::QuasiStaticIntegrator, MBSimIntegrator::LSODARIntegrator, MBSimIntegrator::DOPRI5Integrator, MBSimIntegrator::HETS2Integrator, MBSimIntegrator::RADAU5Integrator, MBSimIntegrator::LSODEIntegrator, MBSimIntegrator::ODEXIntegrator, MBSimIntegrator::LSODERIntegrator, MBSimIntegrator::DOP853Integrator, MBSimIntegrator::RKSuiteIntegrator, MBSimIntegrator::ThetaTimeSteppingIntegrator, MBSimIntegrator::TimeSteppingIntegrator, and MBSimIntegrator::EulerExplicitIntegrator.