ODE-Integrator RKSuite. Integrator for ODEs. This integrator uses rksuite from http://www.netlib.org . More...
#include <rksuite_integrator.h>
Public Types | |
enum | Method { RK23 =1, RK45, RK78 } |
![]() | |
enum | MsgType |
Public Member Functions | |
RKSuiteIntegrator () | |
constructor | |
virtual | ~RKSuiteIntegrator () |
destructor | |
void | preIntegrate (MBSim::DynamicSystemSolver &system) |
void | subIntegrate (MBSim::DynamicSystemSolver &system, double tStop) |
void | postIntegrate (MBSim::DynamicSystemSolver &system) |
void | setMethod (Method method_) |
void | setrTol (double rTol_) |
void | setThreshold (const fmatvec::Vec &thres_) |
void | setThreshold (double thres_) |
void | setInitialStepSize (double dt0_) |
virtual void | integrate (MBSim::DynamicSystemSolver &system) |
start the integration More... | |
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
initialize integrator More... | |
![]() | |
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... | |
void | debugInit () |
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 Private Member Functions | |
static void | fzdot (double *t, double *z_, double *zd_) |
Private Attributes | |
Method | method |
fmatvec::Vec | thres |
double | rTol |
double | dt0 |
int | ndworkarray |
int | messages |
int | integrationSteps |
double | t |
double | tPlot |
double | s0 |
double | time |
double * | dworkarray |
fmatvec::Vec | z |
fmatvec::Vec | zdGot |
fmatvec::Vec | zMax |
std::ofstream | integPlot |
Static Private Attributes | |
static int | zSize = 0 |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
Atom (const Atom &src) | |
![]() | |
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 | |
![]() | |
static DynamicSystemSolver * | system = 0 |
dynamic system | |
ODE-Integrator RKSuite. Integrator for ODEs. This integrator uses rksuite from http://www.netlib.org .
|
virtual |
|
virtual |
start the integration
dynamic | system to be integrated Each class implemeting this function should call debugInit first. |
Implements MBSimIntegrator::Integrator.
|
private |
step size for the first step
|
private |
Relative Toleranz
|
private |
Absolute Toleranz