mbsim 4.0.0 MBSim Kernel

Public Member Functions | Private Member Functions | Private Attributes | List of all members
MBSim::HETS2Integrator Class Reference

time integration scheme on velocity level for nonsmooth dynamical systems using half-explicit trapezoidal rule More...

`#include <hets2_integrator.h>`

Inheritance diagram for MBSim::HETS2Integrator:
[legend]

## Public Member Functions

| ~HETS2Integrator () override=default
| destructor
void | preIntegrate () override
| initializes the integration More...
void | subIntegrate (double tStop) override
| does the integration More...
void | postIntegrate () override
| closes the integration More...
void | integrate () override
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.
void | initializeUsingXML (xercesc::DOMElement *element) override
void | setStepSize (double dt_)
void | updatebc ()
void | updatezd ()
virtual void | integrate ()=0
| start the integration of the system set by setSystem. Each class implemeting this function should call debugInit first.
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.
void | integrate (MBSim::DynamicSystemSolver &sys)
| Convinent function: call setSystem(&sys) and integrate()
void | debugInit ()
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 | postprocessing ()
void | setSystem (DynamicSystemSolver *s)
MBSim::DynamicSystemSolver * | getSystem ()
const MBXMLUtils::DOMEvalException & | getDOMEvalError () const

## Private Member Functions

bool | evaluateStage ()
| evaluates the dynamical system given the state of the stage until the Jacobian matrices More...

## Private Attributes

double | dt {1e-3}
| step size for non-impulsive periods, and impulsive periods, and last used
double | dtImpulsive {1e-4}
double | dtInfo {1e-3}
double | tPlot {0.}
| time and plot time
int | integrationSteps {0}
| iteration counter for constraints, integration, non-impulsive integration, impulsive integration, maximum constraints, cummulation constraint
int | integrationStepsConstraint {0}
int | integrationStepsImpact {0}
int | maxIter {0}
int | sumIter {0}
double | s0 {0.}
| computing time counter
double | time {0.}
fmatvec::Vec | bc

## 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::DynamicSystemSolver * | system
| dynamic system
MBXMLUtils::DOMEvalException | domEvalError
| Special XML helper variable.

## Detailed Description

time integration scheme on velocity level for nonsmooth dynamical systems using half-explicit trapezoidal rule

Author
  Thorsten Schindler

Date
  2014-09-12 initial commit (Thorsten Schindler)
  2014-09-17 notation of Brasey1994a (Thorsten Schindler)
  2014-09-18 first final status with contact and impact with the slider-crank mechanism (Thorsten Schindler)
  2014-09-22 naive step-size adaptation according experience with the error constants, not square root relationship (Thorsten Schindler)

time discontinuous Galerkin method on velocity level using half-explicit trapezoidal rule

T. Schindler, S. Rezaei, J. Kursawe, V. Acary : Half-explicit timestepping schemes on velocity level based on time-discontinuous Galerkin methods

T. Schindler, V. Acary : Timestepping Schemes for Nonsmooth Dynamics Based on Discontinuous Galerkin Methods: Definition and Outlook

## Member Function Documentation

## ◆ evaluateStage()

bool MBSim::HETS2Integrator::evaluateStage | ( |  | ) |

private

evaluates the dynamical system given the state of the stage until the Jacobian matrices

Parameters

  dynamical | system to be integrated return flag for occuring impact

## ◆ postIntegrate()

void MBSim::HETS2Integrator::postIntegrate | ( |  | ) |

override virtual

closes the integration

Parameters

  dynamical | system to be integrated

Reimplemented from MBSim::Integrator.

## ◆ preIntegrate()

void MBSim::HETS2Integrator::preIntegrate | ( |  | ) |

override virtual

initializes the integration

Parameters

  dynamical | system to be integrated

Reimplemented from MBSim::Integrator.

## ◆ subIntegrate()

void MBSim::HETS2Integrator::subIntegrate | ( | double | tStop | ) |

override virtual

does the integration

Parameters

  dynamical | system to be integrated

Reimplemented from MBSim::Integrator.

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

- /mbsim-env/mbsim/kernel/mbsim/integrators/hets2_integrator.h
- /mbsim-env/mbsim/kernel/mbsim/integrators/hets2_integrator.cc