Loading [MathJax]/jax/output/HTML-CSS/config.js
mbsim  4.0.0
MBSim Kernel
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
MBSim::ThetaTimeSteppingIntegrator Class Reference

#include <theta_time_stepping_integrator.h>

Inheritance diagram for MBSim::ThetaTimeSteppingIntegrator:
[legend]

Public Member Functions

 ~ThetaTimeSteppingIntegrator () override=default
 destructor
 
void preIntegrate () override
 
void subIntegrate (double tStop) override
 
void postIntegrate () override
 
void integrate () override
 start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first. More...
 
void initializeUsingXML (xercesc::DOMElement *element) override
 initialize integrator More...
 
void setStepSize (double dt_)
 
void setTheta (double theta_)
 
void setToleranceForPositionConstraints (double gMax_)
 
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_)
 
double getStartTime () const
 
double getEndTime () const
 
double getPlotStepSize () const
 
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)
 
void setInitialState (const fmatvec::Vec &z0_)
 
const fmatvec::Vec & getInitialState () const
 
void setSystem (DynamicSystemSolver *s)
 
MBSim::DynamicSystemSolvergetSystem ()
 
const MBXMLUtils::DOMEvalExceptiongetDOMEvalError () const
 

Private Member Functions

void resize ()
 

Private Attributes

double dt {1e-3}
 step size
 
double theta {0.5}
 convex combination parameter between explicit (0) and implicit (1) Euler scheme
 
double t {0}
 time and plot time
 
double tPlot {0}
 
int iter {0}
 iteration counter for constraints, plots, integration, maximum constraints, cummulation constraint
 
int step {0}
 
int integrationSteps {0}
 
int maxIter {0}
 
int sumIter {0}
 
double s0 {0}
 computing time counter
 
double time {0}
 
int stepPlot {0}
 plot step difference
 
double gMax {-1}
 

Additional Inherited Members

- Protected Attributes inherited from MBSim::Integrator
double tStart {0.}
 start, end, plot time
 
double tEnd {1.}
 
double dtPlot {1e-4}
 
std::string name
 name of integrator
 
- Protected Attributes inherited from MBSim::Solver
fmatvec::Vec z0
 initial state
 
MBSim::DynamicSystemSolversystem
 dynamic system
 
MBXMLUtils::DOMEvalException domEvalError
 Special XML helper variable.
 

Detailed Description

brief theta-time-stepping integrator of first order

Author
Roland Zander
Thorsten Schindler
Date
2009-07-18 new kernel_dev (Thorsten Schindler)
2009-07-19 Delassus matrix / split of update (Thorsten Schindler)
2009-07-27 some fixes (Thorsten Schindler)
2010-04-23 integrate splitted (Thorsten Schindler)

Member Function Documentation

◆ initializeUsingXML()

void MBSim::ThetaTimeSteppingIntegrator::initializeUsingXML ( xercesc::DOMElement *  element)
overridevirtual

initialize integrator

Parameters
XMLdescription

Reimplemented from MBSim::Integrator.

◆ integrate() [1/2]

void MBSim::ThetaTimeSteppingIntegrator::integrate ( )
overridevirtual

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::ThetaTimeSteppingIntegrator::postIntegrate ( )
overridevirtual

Reimplemented from MBSim::Integrator.

◆ preIntegrate()

void MBSim::ThetaTimeSteppingIntegrator::preIntegrate ( )
overridevirtual

Reimplemented from MBSim::Integrator.

◆ subIntegrate()

void MBSim::ThetaTimeSteppingIntegrator::subIntegrate ( double  tStop)
overridevirtual

Reimplemented from MBSim::Integrator.

Member Data Documentation

◆ gMax

double MBSim::ThetaTimeSteppingIntegrator::gMax {-1}
private

tolerance for position constraints


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