chrono::ChTimestepperHeun Class Reference
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... | |
virtual void | ArchiveOut (ChArchiveOut &archive) override |
Method to allow serialization of transient data to archives. | |
virtual void | ArchiveIn (ChArchiveIn &archive) override |
Method to allow de-serialization of transient data from archives. | |
Public Member Functions inherited from chrono::ChTimestepperIorder | |
ChTimestepperIorder (ChIntegrable *intgr=nullptr) | |
Constructor. | |
virtual | ~ChTimestepperIorder () |
Destructor. | |
virtual ChState & | GetState () |
Access the state at current time. | |
virtual ChStateDelta & | GetStateDt () |
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 & | GetLagrangeMultipliers () |
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. | |
Public Member Functions inherited from chrono::ChExplicitTimestepper | |
void | SetDiagonalLumpingON (double Ck=1000, double Cr=0) |
Turn on the diagonal lumping. More... | |
void | SetDiagonalLumpingOFF () |
Turn off the diagonal lumping (default is off) | |
double | GetLumpingError () |
Gets the diagonal lumping error done last time the integrator has been called. | |
void | ResetLumpingError () |
Resets the diagonal lumping error. | |
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 |
Protected Attributes inherited from chrono::ChExplicitTimestepper | |
ChLumpingParms * | lumping_parameters |
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()
|
overridevirtual |
Performs an integration timestep.
- Parameters
-
dt timestep to advance
Implements chrono::ChTimestepper.
◆ GetType()
|
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