Project Chrono: chrono::ChTimestepper Class Reference

Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
chrono::ChTimestepper Class Referenceabstract
Chrono::Engine » Time integrators

## Description

Base class for timesteppers, i.e., time integrators that can advance a system state.

It operates on systems inherited from ChIntegrable.

`#include <ChTimestepper.h>`

Inheritance diagram for chrono::ChTimestepper:
[legend]
Collaboration diagram for chrono::ChTimestepper:
[legend]

## Public Types
enum class | Type { EULER_IMPLICIT_LINEARIZED = 0 , EULER_IMPLICIT_PROJECTED = 1 , EULER_IMPLICIT = 2 , TRAPEZOIDAL = 3 , TRAPEZOIDAL_LINEARIZED = 4 , HHT = 5 , HEUN = 6 , RUNGEKUTTA45 = 7 , EULER_EXPLICIT = 8 , LEAPFROG = 9 , NEWMARK = 10 , CUSTOM = 20 }
| Available methods for time integration (time steppers).

## Public Member Functions
| ChTimestepper (ChIntegrable *intgr=nullptr)
| Constructor.
virtual | ~ChTimestepper ()
| Destructor.
virtual Type | GetType () const
| Return type of the integration method.
virtual void | Advance (const double dt)=0
| Performs an integration timestep.
virtual ChVectorDynamic & | GetLagrangeMultipliers ()
| Access the lagrangian multipliers, if any.
virtual void | SetIntegrable (ChIntegrable *intgr)
| Set the integrable object.
ChIntegrable * | GetIntegrable ()
| Get the integrable object.
virtual double | GetTime () const
| Get the current time.
virtual void | SetTime (double mt)
| Set the current time.
void | SetVerbose (bool verb)
| Turn on/off logging of messages.
virtual void | ArchiveOut (ChArchiveOut &archive)
| Method to allow serialization of transient data to archives.
virtual void | ArchiveIn (ChArchiveIn &archive)
| Method to allow de-serialization of transient data from archives.

## Protected Attributes
ChIntegrable * | integrable
double | T
ChVectorDynamic | L
bool | verbose
bool | Qc_do_clamp
double | Qc_clamping

## Friends
class | ChSystem

## Member Function Documentation

## ◆ Advance()

virtual void chrono::ChTimestepper::Advance | ( | const double | dt | ) |
| pure virtual

Performs an integration timestep.

Parameters

  dt | timestep to advance

Implemented in chrono::ChTimestepperEulerExpl, chrono::ChTimestepperEulerExplIIorder, chrono::ChTimestepperEulerImplicit, chrono::ChTimestepperEulerImplicitLinearized, chrono::ChTimestepperEulerImplicitProjected, chrono::ChTimestepperEulerSemiImplicit, chrono::ChTimestepperHeun, chrono::ChTimestepperHHT, chrono::ChTimestepperLeapfrog, chrono::ChTimestepperNewmark, chrono::ChTimestepperRungeKuttaExpl, chrono::ChTimestepperTrapezoidal, chrono::ChTimestepperTrapezoidalLinearized2, and chrono::ChTimestepperTrapezoidalLinearized.

## ◆ ArchiveIn()

void chrono::ChTimestepper::ArchiveIn | ( | ChArchiveIn & | archive | ) |
| virtual

Method to allow de-serialization of transient data from archives.

Reimplemented in chrono::ChTimestepperEulerExpl, chrono::ChTimestepperEulerExplIIorder, chrono::ChTimestepperEulerImplicit, chrono::ChTimestepperEulerImplicitLinearized, chrono::ChTimestepperEulerImplicitProjected, chrono::ChTimestepperEulerSemiImplicit, chrono::ChTimestepperHeun, chrono::ChTimestepperHHT, chrono::ChTimestepperLeapfrog, chrono::ChTimestepperNewmark, chrono::ChTimestepperRungeKuttaExpl, chrono::ChTimestepperTrapezoidal, chrono::ChTimestepperTrapezoidalLinearized2, and chrono::ChTimestepperTrapezoidalLinearized.

## ◆ ArchiveOut()

void chrono::ChTimestepper::ArchiveOut | ( | ChArchiveOut & | archive | ) |
| virtual

Method to allow serialization of transient data to archives.

Reimplemented in chrono::ChTimestepperEulerExpl, chrono::ChTimestepperEulerExplIIorder, chrono::ChTimestepperEulerImplicit, chrono::ChTimestepperEulerImplicitLinearized, chrono::ChTimestepperEulerImplicitProjected, chrono::ChTimestepperEulerSemiImplicit, chrono::ChTimestepperHeun, chrono::ChTimestepperHHT, chrono::ChTimestepperLeapfrog, chrono::ChTimestepperNewmark, chrono::ChTimestepperRungeKuttaExpl, chrono::ChTimestepperTrapezoidal, chrono::ChTimestepperTrapezoidalLinearized2, and chrono::ChTimestepperTrapezoidalLinearized.

## ◆ GetType()

virtual Type chrono::ChTimestepper::GetType | ( |  | ) | const
| inlinevirtual

Return type of the integration method.

Default is CUSTOM. Derived classes should override this function.

Reimplemented in chrono::ChTimestepperEulerExplIIorder, chrono::ChTimestepperEulerImplicit, chrono::ChTimestepperEulerImplicitLinearized, chrono::ChTimestepperEulerImplicitProjected, chrono::ChTimestepperHeun, chrono::ChTimestepperHHT, chrono::ChTimestepperLeapfrog, chrono::ChTimestepperNewmark, chrono::ChTimestepperRungeKuttaExpl, chrono::ChTimestepperTrapezoidal, and chrono::ChTimestepperTrapezoidalLinearized.

## ◆ SetIntegrable()

virtual void chrono::ChTimestepper::SetIntegrable | ( | ChIntegrable * | intgr | ) |
| inlinevirtual

Set the integrable object.

Reimplemented in chrono::ChTimestepperIorder.

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

- D:/W/B/src/chrono-9.0.1/src/chrono/timestepper/ChTimestepper.h
- D:/W/B/src/chrono-9.0.1/src/chrono/timestepper/ChTimestepper.cpp