chrono::ChTimestepperEulerSemiImplicit Class Reference

Description

Euler semi-implicit timestepper.

This performs the typical v_new = v + a * dt x_new = x + v_new * dt integration with Euler semi-implicit formula.

#include <ChTimestepperExplicit.h>

Inheritance diagram for chrono::ChTimestepperEulerSemiImplicit:
Collaboration diagram for chrono::ChTimestepperEulerSemiImplicit:

Public Member Functions

 ChTimestepperEulerSemiImplicit (ChIntegrableIIorder *intgr=nullptr)
 
virtual Type GetType () const override
 Return type of the integration method. More...
 
virtual ChIntegrableGetIntegrable () const override
 Return the associated integrable object.
 
virtual void Advance (double dt) override
 Performs an integration timestep.
 
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::ChTimestepperIIorder
virtual ChStateGetStatePos ()
 Access the state, position part, at current time.
 
virtual ChStateDeltaGetStateVel ()
 Access the state, speed part, at current time.
 
virtual ChStateDeltaGetStateAcc ()
 Access the acceleration, at current time.
 
virtual void SetIntegrable (ChIntegrableIIorder *intgr)
 Set the integrable object.
 
ChIntegrableIIorderGetIntegrableIIorder () const
 Get the integrable object.
 
- Public Member Functions inherited from chrono::ChTimestepperExplicit
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.
 
- Public Member Functions inherited from chrono::ChTimestepper
virtual ChVectorDynamicGetLagrangeMultipliers ()
 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.
 

Additional Inherited Members

- Public Types inherited from chrono::ChTimestepper
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.
 
- Static Public Member Functions inherited from chrono::ChTimestepper
static std::string GetTypeAsString (Type type)
 Return the integrator type as a string.
 
- Protected Member Functions inherited from chrono::ChTimestepperIIorder
 ChTimestepperIIorder (ChIntegrableIIorder *intgr=nullptr)
 
- Protected Member Functions inherited from chrono::ChTimestepper
 ChTimestepper (ChIntegrable *intgr=nullptr)
 
- Protected Attributes inherited from chrono::ChTimestepperIIorder
ChIntegrableIIorderintegrable
 
ChState X
 
ChStateDelta V
 
ChStateDelta A
 
- Protected Attributes inherited from chrono::ChTimestepperExplicit
ChLumpingParmslumping_parameters
 
- Protected Attributes inherited from chrono::ChTimestepper
bool verbose
 
double T
 
ChVectorDynamic L
 
bool Qc_do_clamp
 
double Qc_clamping
 

Member Function Documentation

◆ GetType()

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

Return type of the integration method.

Default is CUSTOM. Derived classes should override this function.

Implements chrono::ChTimestepper.


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