#include <adevs_corrected_euler.h>
Public Member Functions | |
corrected_euler (ode_system< X > *sys, double err_tol, double h_max) | |
~corrected_euler () | |
Destructor. | |
double | integrate (double *q, double h_lim) |
void | advance (double *q, double h) |
This is the second order accurate RK2 method with adaptive step sizing for error control.
adevs::corrected_euler< X >::corrected_euler | ( | ode_system< X > * | sys, | |
double | err_tol, | |||
double | h_max | |||
) | [inline] |
Create an integrator that will use the specified per step error tolerance and maximum step size.
References adevs::ode_system< X >::numVars().
void adevs::corrected_euler< X >::advance | ( | double * | q, | |
double | h | |||
) | [inline, virtual] |
Advance the system through exactly h units of time.
Implements adevs::ode_solver< X >.
References adevs::corrected_euler< X >::integrate().
double adevs::corrected_euler< 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::corrected_euler< X >::advance().