Description

Base class for 2nd order timesteppers, i.e., a time integrator for a ChIntegrableIIorder.

A ChIntegrableIIorder is a special subclass of integrable objects that have a state comprised of position and velocity y={x,v}, and state derivative dy/dt={v,a}, where a=acceleration.

#include <ChTimestepper.h>

Inheritance diagram for chrono::ChTimestepperIIorder:
Collaboration diagram for chrono::ChTimestepperIIorder:

Public Member Functions

 ChTimestepperIIorder (ChIntegrableIIorder *intgr=nullptr)
 Constructor.
 
virtual ~ChTimestepperIIorder ()
 Destructor.
 
virtual ChState & GetStatePos ()
 Access the state, position part, at current time.
 
virtual ChStateDelta & GetStateVel ()
 Access the state, speed part, at current time.
 
virtual ChStateDelta & GetStateAcc ()
 Access the acceleration, at current time.
 
virtual void SetIntegrable (ChIntegrableIIorder *intgr)
 Set the integrable object.
 
- Public Member Functions inherited from chrono::ChTimestepper
 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 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

ChState X
 
ChStateDelta V
 
ChStateDelta A
 
- Protected Attributes inherited from chrono::ChTimestepper
ChIntegrable * integrable
 
double T
 
ChVectorDynamic L
 
bool verbose
 
bool Qc_do_clamp
 
double Qc_clamping
 

Additional Inherited Members

- Public Types inherited from chrono::ChTimestepper
enum  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).
 

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