time integration scheme on velocity level for nonsmooth dynamical systems using half-explicit trapezoidal rule More...
#include <hets2_integrator.h>
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 () |
![]() | |
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::Vec & | getInitialState () 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 |
![]() | |
Solver () | |
constructor | |
virtual | ~Solver () |
destructor | |
![]() | |
Atom & | operator= (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 | |
![]() | |
enum | MsgType |
![]() | |
static Integrator * | readXMLFile (const std::string &filename) |
![]() | |
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) |
![]() | |
Atom (const Atom &src) | |
![]() | |
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 DynamicSystemSolver * | system = 0 |
dynamic system | |
time integration scheme on velocity level for nonsmooth dynamical systems using half-explicit trapezoidal rule
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
|
private |
evaluates the dynamical system given the state of the stage until the Jacobian matrices
dynamical | system to be integrated return flag for occuring impact |
|
virtual |
|
virtual |
start the integration
dynamic | system to be integrated Each class implemeting this function should call debugInit first. |
Implements MBSimIntegrator::Integrator.
|
virtual |
closes the integration
dynamical | system to be integrated |
Reimplemented from MBSimIntegrator::Integrator.
|
virtual |
initializes the integration
dynamical | system to be integrated |
Reimplemented from MBSimIntegrator::Integrator.
|
virtual |
does the integration
dynamical | system to be integrated |
Reimplemented from MBSimIntegrator::Integrator.