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>


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()
|
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()
|
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()
|
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()
|
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()
|
inlinevirtual |
Set the integrable object.
Reimplemented in chrono::ChTimestepperIorder.
The documentation for this class was generated from the following files:
- C:/M/B/src/chrono-9.0.1/src/chrono/timestepper/ChTimestepper.h
- C:/M/B/src/chrono-9.0.1/src/chrono/timestepper/ChTimestepper.cpp