All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
MBSimIntegrator::LSODARIntegrator Class Reference

ODE-Integrator LSODAR Integrator with root finding for ODEs. This integrator uses LSODAR from http://www.netlib.org . More...

#include <lsodar_integrator.h>

Inheritance diagram for MBSimIntegrator::LSODARIntegrator:
MBSimIntegrator::Integrator MBSim::Solver fmatvec::Atom

Public Member Functions

void setMaximalStepSize (double dtMax_)
 
void setMinimalStepSize (double dtMin_)
 
void setAbsoluteTolerance (const fmatvec::Vec &aTol_)
 
void setAbsoluteTolerance (double aTol_)
 
void setRelativeTolerance (double rTol_)
 
void setInitialStepSize (double dt0_)
 
void setPlotOnRoot (bool b)
 
void setToleranceForPositionConstraints (double gMax_)
 
void setToleranceForVelocityConstraints (double gdMax_)
 
void integrate (MBSim::DynamicSystemSolver &system)
 start the integration More...
 
void preIntegrate (MBSim::DynamicSystemSolver &system)
 
void subIntegrate (MBSim::DynamicSystemSolver &system, double tStop)
 
void postIntegrate (MBSim::DynamicSystemSolver &system)
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 initialize integrator More...
 
virtual std::string getType () const
 
- Public Member Functions inherited from MBSimIntegrator::Integrator
 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::VecgetInitialState () const
 
int getWarnLevel () const
 
bool getOutput () const
 
void execute (MBSim::DynamicSystemSolver &system)
 start solving the dynamic system More...
 
void debugInit ()
 
- Public Member Functions inherited from MBSim::Solver
 Solver ()
 constructor
 
virtual ~Solver ()
 destructor
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (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_)
 
static void fsv (int *zSize, double *t, double *z_, int *nsv, double *sv_)
 

Private Attributes

double dtMax
 
double dtMin
 
fmatvec::Vec aTol
 
double rTol
 
double dt0
 
bool plotOnRoot
 
double gMax
 
double gdMax
 
int zSize
 
int iTol
 
int istate
 
int nsv
 
int lrWork
 
int liWork
 
int integrationSteps
 
double t
 
double tPlot
 
double s0
 
double time
 
fmatvec::Vec rWork
 
fmatvec::VecInt iWork
 
std::ofstream integPlot
 

Additional Inherited Members

- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from MBSimIntegrator::Integrator
static IntegratorreadXMLFile (const std::string &filename)
 
- Static Public Member Functions inherited from fmatvec::Atom
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 Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 
- Protected Attributes inherited from MBSimIntegrator::Integrator
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 Protected Attributes inherited from MBSim::Solver
static DynamicSystemSolversystem = 0
 dynamic system
 

Detailed Description

ODE-Integrator LSODAR Integrator with root finding for ODEs. This integrator uses LSODAR from http://www.netlib.org .

Member Function Documentation

virtual std::string MBSimIntegrator::LSODARIntegrator::getType ( ) const
inlinevirtual
Returns
std::string representation

Reimplemented from MBSimIntegrator::Integrator.

void MBSimIntegrator::LSODARIntegrator::initializeUsingXML ( xercesc::DOMElement *  element)
virtual

initialize integrator

Parameters
XMLdescription

Reimplemented from MBSimIntegrator::Integrator.

void MBSimIntegrator::LSODARIntegrator::integrate ( MBSim::DynamicSystemSolver system)
virtual

start the integration

Parameters
dynamicsystem to be integrated Each class implemeting this function should call debugInit first.

Implements MBSimIntegrator::Integrator.

Member Data Documentation

fmatvec::Vec MBSimIntegrator::LSODARIntegrator::aTol
private

absolute tolerance

double MBSimIntegrator::LSODARIntegrator::dt0
private

step size for the first step

double MBSimIntegrator::LSODARIntegrator::dtMax
private

maximal step size

double MBSimIntegrator::LSODARIntegrator::dtMin
private

minimal step size

double MBSimIntegrator::LSODARIntegrator::gdMax
private

tolerance for velocity constraints

double MBSimIntegrator::LSODARIntegrator::gMax
private

tolerance for position constraints

double MBSimIntegrator::LSODARIntegrator::rTol
private

relative tolerance


The documentation for this class was generated from the following files:

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML