#include <adevs_rk_45.h>
Public Member Functions | |
rk_45 (ode_system< X > *sys, double err_tol, double h_max) | |
~rk_45 () | |
Destructor. | |
double | integrate (double *q, double h_lim) |
void | advance (double *q, double h) |
This ode_solver implements a 4th/5th order integrator that adjust its step size to control error.
adevs::rk_45< X >::rk_45 | ( | ode_system< X > * | sys, | |
double | err_tol, | |||
double | h_max | |||
) | [inline] |
The integrator will adjust its step size to maintain a per step error less than err_tol, and will use a step size strictly less than h_max.
References adevs::ode_system< X >::numVars().
void adevs::rk_45< X >::advance | ( | double * | q, | |
double | h | |||
) | [inline, virtual] |
Advance the system through exactly h units of time.
Implements adevs::ode_solver< X >.
References adevs::rk_45< X >::integrate().
double adevs::rk_45< X >::integrate | ( | double * | q, | |
double | h_lim | |||
) | [inline, 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.
Implements adevs::ode_solver< X >.
Referenced by adevs::rk_45< X >::advance().