Description

Performs a step of a Heun explicit integrator. It is like a 2nd Runge Kutta.

#include <ChTimestepper.h>

Inheritance diagram for chrono::ChTimestepperHeun:
Collaboration diagram for chrono::ChTimestepperHeun:

Public Member Functions

 ChTimestepperHeun (ChIntegrable *intgr=nullptr)
 Constructors (default empty)
 
virtual Type GetType () const override
 Return type of the integration method. More...
 
virtual void Advance (const double dt) override
 Performs an integration timestep. More...
 
- Public Member Functions inherited from chrono::ChTimestepperIorder
 ChTimestepperIorder (ChIntegrable *intgr=nullptr)
 Constructor.
 
virtual ~ChTimestepperIorder ()
 Destructor.
 
virtual ChState & get_Y ()
 Access the state at current time.
 
virtual ChStateDelta & get_dYdt ()
 Access the derivative of state at current time.
 
virtual void SetIntegrable (ChIntegrable *intgr)
 Set the integrable object.
 
- Public Member Functions inherited from chrono::ChTimestepper
 ChTimestepper (ChIntegrable *intgr=nullptr)
 Constructor.
 
virtual ~ChTimestepper ()
 Destructor.
 
virtual ChVectorDynamic & get_L ()
 Access the lagrangian multipliers, if any.
 
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.
 
void SetQcDoClamp (bool dc)
 Turn on/off clamping on the Qcterm.
 
void SetQcClamping (double cl)
 Turn on/off clamping on the Qcterm.
 
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 y_new
 
ChStateDelta Dydt1
 
ChStateDelta Dydt2
 
- Protected Attributes inherited from chrono::ChTimestepperIorder
ChState Y
 
ChStateDelta dYdt
 
- 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).
 

Member Function Documentation

◆ Advance()

void chrono::ChTimestepperHeun::Advance ( const double  dt)
overridevirtual

Performs an integration timestep.

Parameters
dttimestep to advance

Implements chrono::ChTimestepper.

◆ GetType()

virtual Type chrono::ChTimestepperHeun::GetType ( ) const
inlineoverridevirtual

Return type of the integration method.

Default is CUSTOM. Derived classes should override this function.

Reimplemented from chrono::ChTimestepper.


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