mbsim  4.0.0
MBSim Kernel
MBSim::ThetaTimeSteppingSSCIntegrator Class Reference

#include <theta_time_stepping_ssc_integrator.h>

Inheritance diagram for MBSim::ThetaTimeSteppingSSCIntegrator:
[legend]

Public Member Functions

 ThetaTimeSteppingSSCIntegrator ()
 constructor
 
virtual ~ThetaTimeSteppingSSCIntegrator ()
 destructor
 
void integrate ()
 start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first. More...
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 initialize integrator More...
 
void setStepSize (double dt_)
 
void setTheta (double theta_)
 
void setDriftCompensation (bool dc)
 
void update (const fmatvec::Vec &z, double t)
 update of dynamic system necessary values concerning theta time stepping integrator More...
 
void preIntegrate ()
 preintegration steps More...
 
void subIntegrate (double tStop)
 integration steps More...
 
void postIntegrate ()
 postintegration steps 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()
 
- Public Member Functions inherited from MBSim::Integrator
 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...
 
- Public Member Functions inherited from MBSim::Solver
 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::DynamicSystemSolvergetSystem ()
 
const MBXMLUtils::DOMEvalExceptiongetDOMEvalError () const
 

Private Attributes

double dt
 step size
 
double theta
 convex combination parameter between explicit (0) and implicit (1) Euler scheme
 
double t
 time and plot time
 
double tPlot
 
int iter
 iteration counter for constraints, plots, integration, maximum constraints, cummulation constraint
 
int step
 
int integrationSteps
 
int maxIter
 
int sumIter
 
double s0
 computing time counter
 
double time
 
int stepPlot
 plot step difference
 
fmatvec::Vec z
 state, position, velocity, order coordinate of dynamical system
 
fmatvec::Vec q
 
fmatvec::Vec u
 
fmatvec::Vec x
 
std::ofstream integPlot
 file stream for integration information
 
bool driftCompensation
 flag for drift compensation
 

Additional Inherited Members

- Protected Attributes inherited from MBSim::Integrator
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
 
- Protected Attributes inherited from MBSim::Solver
MBSim::DynamicSystemSolversystem
 dynamic system
 
MBXMLUtils::DOMEvalException domEvalError
 Special XML helper variable.
 

Detailed Description

brief theta-time-stepping integrator with step size adjustment

Author
Jan Clauberg

Member Function Documentation

◆ initializeUsingXML()

void MBSim::ThetaTimeSteppingSSCIntegrator::initializeUsingXML ( xercesc::DOMElement *  element)
virtual

initialize integrator

Parameters
XMLdescription

Reimplemented from MBSim::Integrator.

◆ integrate() [1/2]

void MBSim::ThetaTimeSteppingSSCIntegrator::integrate ( )
virtual

start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.

Implements MBSim::Integrator.

◆ integrate() [2/2]

virtual void MBSim::Integrator::integrate ( )
virtual

start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.

Implements MBSim::Integrator.

◆ postIntegrate()

void MBSim::ThetaTimeSteppingSSCIntegrator::postIntegrate ( )
virtual

postintegration steps

Parameters
dynamicsystem

Reimplemented from MBSim::Integrator.

◆ preIntegrate()

void MBSim::ThetaTimeSteppingSSCIntegrator::preIntegrate ( )
virtual

preintegration steps

Parameters
dynamicsystem

Reimplemented from MBSim::Integrator.

◆ subIntegrate()

void MBSim::ThetaTimeSteppingSSCIntegrator::subIntegrate ( double  tStop)
virtual

integration steps

Parameters
dynamicsystem
endtime of integration

Reimplemented from MBSim::Integrator.

◆ update()

void MBSim::ThetaTimeSteppingSSCIntegrator::update ( const fmatvec::Vec &  z,
double  t 
)

update of dynamic system necessary values concerning theta time stepping integrator

Parameters
dynamicsystem
statevector
time

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