adevs
|
#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::rk_45 | ( | ode_system< X > * | sys, |
double | err_tol, | ||
double | h_max | ||
) |
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::numVars().
void adevs::rk_45::advance | ( | double * | q, |
double | h | ||
) | [virtual] |
Advance the system through exactly h units of time.
Implements adevs::ode_solver< X >.
double adevs::rk_45::integrate | ( | double * | q, |
double | h_lim | ||
) | [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 >.