![]() |
SMILE
v2.5
Schwarzschild Modelling Interactive expLoratory Environment
|
A template class for integrators based on the boost::numeric::odeint library. More...
#include <odeint.h>


Public Types | |
|
typedef boost::numeric::odeint::unwrap_reference < Stepper > ::type::stepper_category | stepper_category |
| category of the integrator (could be fixed-timestep, adaptive-timestep, adaptive with dense output, etc) | |
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 | |
Public Member Functions | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double _accRel) | |
| 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 | |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double _accRel) | |
| template<> | |
| const char * | myName () |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double _accRel) | |
| template<> | |
| const char * | myName () |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double _accRel) | |
| template<> | |
| const char * | myName () |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _timeStep, double) | |
| template<> | |
| const char * | myName () |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double _accRel) | |
| template<> | |
| const char * | myName () |
| template<> | |
| COdeIntegratorOdeint (COdeSystem *_odeSystem, double _accAbs, double) | |
| template<> | |
| const char * | myName () |
| template<> | |
| void | integrateToTime (double timeEnd) |
| perform integration | |
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 | integrateToTimeImpl (double timeEnd, boost::numeric::odeint::stepper_tag) |
| driver routine for generic (fixed-timestep) steppers | |
| void | integrateToTimeImpl (double timeEnd, boost::numeric::odeint::controlled_stepper_tag) |
| driver routine for adaptive-timestep steppers | |
| void | integrateToTimeImpl (double timeEnd, boost::numeric::odeint::dense_output_stepper_tag) |
| driver routine for adaptive-timestep steppers with dense output | |
| double | getInterpolatedSolutionImpl (unsigned int c, double t, boost::numeric::odeint::stepper_tag) const |
| interpolate trajectory for a generic stepper | |
| double | getInterpolatedSolutionImpl (unsigned int c, double t, boost::numeric::odeint::controlled_stepper_tag) const |
| interpolate trajectory for an adaptive-timestep stepper | |
| double | getInterpolatedSolutionImpl (unsigned int c, double t, boost::numeric::odeint::dense_output_stepper_tag) const |
| interpolate trajectory for a stepper that provides dense output | |
| double | getInterpolatedSolutionGeneric (unsigned int c, double t) const |
| simple first-order interpolation of trajectory for an arbitrary stepper and ODE system of unknown structure | |
| double | getInterpolatedSolutionStdHamiltonian (unsigned int c, double t) const |
| interpolation of trajectory for an ODE system that is a "standard Hamiltonian" – 3rd order in position, 2nd order in velocity | |
Private Attributes | |
| Stepper | stepper |
| the instance of stepper that does actual integration | |
| OdeStateType | stateCurr |
| OdeStateType | statePrev |
| ODE system state at the beginning and the end of timestep. | |
| OdeStateType | stateIntermediate |
| temporary cached storage for interpolated trajectory | |
| double | timeIntermediate |
| temporary cache for interpolation is for this particular value of time | |
| double | timeStep |
| current timestep length | |
| bool | isStdHamiltonian |
| whether the ODE system is a "standard Hamiltonian" (positions, then velocities) | |
Additional Inherited Members | |
Protected Attributes inherited from smile::CBasicOdeIntegrator | |
| COdeSystem * | odeSystem |
| double | timePrev |
| double | timeCurr |
A template class for integrators based on the boost::numeric::odeint library.
The argument of template class is the class name of the stepper algorithm from odeint.
1.8.8