adevs
|
#include <adevs_hybrid.h>
Public Member Functions | |
ode_solver (ode_system< X > *sys) | |
virtual double | integrate (double *q, double h_lim)=0 |
virtual void | advance (double *q, double h)=0 |
virtual | ~ode_solver () |
Destructor. | |
Protected Attributes | |
ode_system< X > * | sys |
This is the interface for numerical integrators that are to be used with the Hybrid class.
adevs::ode_solver::ode_solver | ( | ode_system< X > * | sys | ) | [inline] |
Create and ode_solver that will integrate the der_func method of the supplied ode_system.
virtual void adevs::ode_solver::advance | ( | double * | q, |
double | h | ||
) | [pure virtual] |
Advance the system through exactly h units of time.
Implemented in adevs::rk_45, and adevs::corrected_euler.
Referenced by adevs::bisection_event_locator::find_events(), adevs::Hybrid::delta_ext(), and adevs::linear_event_locator::find_events().
virtual double adevs::ode_solver::integrate | ( | double * | q, |
double | h_lim | ||
) | [pure virtual] |
Take an integration step from state q of at most size h_lim and return the step size that was actually used. Copy the result of the integration step to q.
Implemented in adevs::rk_45, and adevs::corrected_euler.