ODE-Integrator LSODE Integrator with root finding for ODEs. This integrator uses LSODE from http://www.netlib.org . More...
#include <lsode_integrator.h>
Public Member Functions | |
void | setMaximalStepSize (double dtMax_) |
void | setMinimalStepSize (double dtMin_) |
void | setRelativeTolerance (double rTol_) |
void | setAbsoluteTolerance (const fmatvec::Vec &aTol_) |
void | setAbsoluteTolerance (double aTol_) |
void | setInitialStepSize (double dt0_) |
void | setmaxSteps (int maxSteps_) |
void | setStiff (bool flag) |
void | integrate (MBSim::DynamicSystemSolver &system) |
start the integration More... | |
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
initialize integrator More... | |
virtual std::string | getType () const |
![]() | |
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 void | preIntegrate (MBSim::DynamicSystemSolver &system) |
virtual void | subIntegrate (MBSim::DynamicSystemSolver &system, double tStop) |
virtual void | postIntegrate (MBSim::DynamicSystemSolver &system) |
![]() | |
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 (int *zSize, double *t, double *z_, double *zd_) |
Private Attributes | |
double | dtMax |
double | dtMin |
fmatvec::Vec | aTol |
double | rTol |
double | dt0 |
int | maxSteps |
bool | stiff |
Additional Inherited Members | |
![]() | |
enum | MsgType |
![]() | |
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 LSODE Integrator with root finding for ODEs. This integrator uses LSODE from http://www.netlib.org .
|
inlinevirtual |
Reimplemented from MBSimIntegrator::Integrator.
|
virtual |
|
virtual |
start the integration
dynamic | system to be integrated Each class implemeting this function should call debugInit first. |
Implements MBSimIntegrator::Integrator.
|
private |
Absolute Toleranz
|
private |
step size for the first step
|
private |
maximal step size
|
private |
minimal step size
|
private |
maximum number of steps allowed during one call to the solver. (default 10000)
|
private |
Relative Toleranz
|
private |
use stiff (BDF) method