SMILE  v2.5
Schwarzschild Modelling Interactive expLoratory Environment
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
smile::COdeIntegratorHermite Class Reference

Hermite integrator that uses information about force derivatives (jerk) in a 4th-order predictor-corrector scheme with only two force evaluations per timestep. More...

#include <odeint.h>

Inheritance diagram for smile::COdeIntegratorHermite:
Inheritance graph
[legend]
Collaboration diagram for smile::COdeIntegratorHermite:
Collaboration graph
[legend]

Public Member Functions

 COdeIntegratorHermite (COdeSystem *_odeSystem, double _accur, bool _twoCorrectorSteps=false)
 
virtual void integrateToTime (double timeEnd)
 perform integration
 
virtual double getInterpolatedSolution (unsigned int c, double t) const
 return interpolated value of c-th variable at time t, where t must lie within current timestep interval; called from various runtime functions that need to obtain x(t) at arbitrary times
 
- Public Member Functions inherited from smile::CBasicOdeIntegrator
 CBasicOdeIntegrator (COdeSystem *_odeSystem)
 
double getTime () const
 return the time to which the integration has proceeded so far
 

Static Public Member Functions

static const char * myName ()
 

Private Member Functions

void hermite_step ()
 perform one predictor-corrector step and readjust the timestep
 

Private Attributes

double accur
 accuracy parameter for computing the timestep
 
double dt
 current timestep
 
bool twoCorrectorSteps
 use two corrector stages instead of one (for rotating potential)
 
OdeStateType statePrev
 
OdeStateType stateCurr
 position and velocity at the beginning and end of timestep
 
OdeStateType derivPrev
 
OdeStateType derivCurr
 jerk and acceleration at the beginning and end of timestep
 

Additional Inherited Members

- Public Types inherited from smile::CBasicOdeIntegrator
enum  STEPPERKIND {
  SK_DEFAULT, SK_LEAPFROG_NB, SK_DOP853, SK_IAS15,
  SK_HERMITE, SK_ODEINT_CK5, SK_ODEINT_DP5, SK_ODEINT_BS3,
  SK_ODEINT_BS, SK_ODEINT_RK4, SK_ODEINT_SYMPL4
}
 list of various ODE stepper types
 
- Protected Attributes inherited from smile::CBasicOdeIntegrator
COdeSystemodeSystem
 
double timePrev
 
double timeCurr
 

Detailed Description

Hermite integrator that uses information about force derivatives (jerk) in a 4th-order predictor-corrector scheme with only two force evaluations per timestep.


The documentation for this class was generated from the following files: