Description

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

#include <ChTimestepper.h>

Inheritance diagram for chrono::ChTimestepper:

Public Types

enum  Type {
  EULER_EXPLICIT_I, EULER_EXPLICIT_II, EULER_SEMI_IMPLICIT, RUNGE_KUTTA,
  HEUN, LEAPFROG, EULER_IMPLICIT, EULER_IMPLICIT_LINEARIZED,
  EULER_IMPLICIT_PROJECTED, TRAPEZOIDAL, TRAPEZOIDAL_LINEARIZED, NEWMARK,
  HHT, CUSTOM
}
 Methods for time integration.
 

Public Member Functions

virtual Type GetType () const =0
 Return type of the integration method.
 
virtual ChIntegrable * GetIntegrable () const =0
 Return the associated integrable object.
 
virtual void Advance (double dt)=0
 Performs an integration timestep.
 
virtual ChVectorDynamic & GetLagrangeMultipliers ()
 Access the Lagrange multipliers, if any.
 
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 SaveInternalState (ChCheckpointWriter &writer) const
 Save the internal state of this timestepper, for checkpointing. More...
 
virtual void LoadInternalState (ChCheckpointReader &reader)
 Load the internal state of this timestepper, as saved by SaveInternalState.
 
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.
 
std::string GetTypeAsString () const
 Return this integrator's type as a string.
 

Static Public Member Functions

static std::string GetTypeAsString (Type type)
 Return the provided integrator type as a string.
 

Protected Member Functions

 ChTimestepper (ChIntegrable *intgr=nullptr)
 

Protected Attributes

bool verbose
 
double T
 
ChVectorDynamic L
 
bool Qc_do_clamp
 
double Qc_clamping
 

Friends

class ChSystem
 

Member Function Documentation

◆ SaveInternalState()

virtual void chrono::ChTimestepper::SaveInternalState ( ChCheckpointWriter &  writer) const
inlinevirtual

Save the internal state of this timestepper, for checkpointing.

The internal state is any data carried from step to step that is not stored in the integrable object (the state, accelerations, and Lagrange multipliers are). See the developer manual on the physics item lifecycle.

Reimplemented in chrono::ChTimestepperImplicit.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/timestepper/ChTimestepper.h
  • /builds/uwsbel/chrono/src/chrono/timestepper/ChTimestepper.cpp