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:
Collaboration diagram for chrono::ChTimestepper:

Public Types

enum  Type {
  EULER_IMPLICIT_LINEARIZED, EULER_IMPLICIT_PROJECTED, EULER_IMPLICIT, TRAPEZOIDAL,
  TRAPEZOIDAL_LINEARIZED, HHT, HEUN, RUNGEKUTTA45,
  EULER_EXPLICIT, LEAPFROG, NEWMARK, CUSTOM
}
 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. More...
 
virtual void Advance (const double dt)=0
 Performs an integration timestep. More...
 
virtual ChVectorDynamicGetLagrangeMultipliers ()
 Access the lagrangian multipliers, if any.
 
virtual void SetIntegrable (ChIntegrable *intgr)
 Set the integrable object.
 
ChIntegrableGetIntegrable ()
 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.
 

Static Public Member Functions

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

Protected Attributes

ChIntegrableintegrable
 
double T
 
ChVectorDynamic L
 
bool verbose
 
bool Qc_do_clamp
 
double Qc_clamping
 

Friends

class ChSystem
 

Member Function Documentation

◆ Advance()

◆ GetType()


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