All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MBSimIntegrator::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 MBSimIntegrator::HETS2Integrator:
MBSimIntegrator::Integrator MBSim::Solver fmatvec::Atom

Public Member Functions

 HETS2Integrator ()
 constructor
 
virtual ~HETS2Integrator ()
 destructor
 
void preIntegrate (MBSim::DynamicSystemSolver &system)
 initializes the integration More...
 
void subIntegrate (MBSim::DynamicSystemSolver &system, double tStop)
 does the integration More...
 
void postIntegrate (MBSim::DynamicSystemSolver &system)
 closes the integration More...
 
virtual void integrate (MBSim::DynamicSystemSolver &system)
 start the integration More...
 
virtual void initializeUsingXML (xercesc::DOMElement *element)
 initialize integrator More...
 
void setStepSize (double dt_)
 
void updatebc ()
 
void updatezd ()
 
- 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 ()
 
virtual std::string getType () const
 
- 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)
 

Private Member Functions

bool evaluateStage (MBSim::DynamicSystemSolver &system)
 evaluates the dynamical system given the state of the stage until the Jacobian matrices More...
 

Private Attributes

double dt
 step size for non-impulsive periods, and impulsive periods, and last used
 
double dtImpulsive
 
double dtInfo
 
double tPlot
 time and plot time
 
int integrationSteps
 iteration counter for constraints, integration, non-impulsive integration, impulsive integration, maximum constraints, cummulation constraint
 
int integrationStepsConstraint
 
int integrationStepsImpact
 
int maxIter
 
int sumIter
 
double s0
 computing time counter
 
double time
 
std::ofstream integPlot
 file stream for integration information
 
fmatvec::Vec bc
 

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

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

bool MBSimIntegrator::HETS2Integrator::evaluateStage ( MBSim::DynamicSystemSolver system)
private

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

Parameters
dynamicalsystem to be integrated return flag for occuring impact
void MBSimIntegrator::HETS2Integrator::initializeUsingXML ( xercesc::DOMElement *  element)
virtual

initialize integrator

Parameters
XMLdescription

Reimplemented from MBSimIntegrator::Integrator.

void MBSimIntegrator::HETS2Integrator::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.

void MBSimIntegrator::HETS2Integrator::postIntegrate ( MBSim::DynamicSystemSolver system)
virtual

closes the integration

Parameters
dynamicalsystem to be integrated

Reimplemented from MBSimIntegrator::Integrator.

void MBSimIntegrator::HETS2Integrator::preIntegrate ( MBSim::DynamicSystemSolver system)
virtual

initializes the integration

Parameters
dynamicalsystem to be integrated

Reimplemented from MBSimIntegrator::Integrator.

void MBSimIntegrator::HETS2Integrator::subIntegrate ( MBSim::DynamicSystemSolver system,
double  tStop 
)
virtual

does the integration

Parameters
dynamicalsystem to be integrated

Reimplemented from MBSimIntegrator::Integrator.


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML