![]() |
Object-oriented Scientific Computing Library: Version 0.910
|
ODE stepper base [abstract base].
#include <ode_step.h>
Definition at line 37 of file ode_step.h.
Public Member Functions | |
virtual int | get_order () |
Return the order of the ODE stepper. | |
virtual int | step (double x, double h, size_t n, vec_t &y, vec_t &dydx, vec_t &yout, vec_t &yerr, vec_t &dydx_out, func_t &derivs)=0 |
Perform an integration step. | |
Protected Attributes | |
int | order |
The order of the ODE stepper. |
virtual int ode_step< func_t, vec_t >::get_order | ( | ) | [inline, virtual] |
This is used, for example, by gsl_astep to adaptively adjust the stepsize.
Definition at line 62 of file ode_step.h.
virtual int ode_step< func_t, vec_t >::step | ( | double | x, |
double | h, | ||
size_t | n, | ||
vec_t & | y, | ||
vec_t & | dydx, | ||
vec_t & | yout, | ||
vec_t & | yerr, | ||
vec_t & | dydx_out, | ||
func_t & | derivs | ||
) | [pure virtual] |
Given initial value of the n-dimensional function in y
and the derivative in dydx
(which must generally be computed beforehand) at the point x
, take a step of size h
giving the result in yout
, the uncertainty at in
yerr
, and the new derivative at in
dydx_out
using function derivs
to calculate derivatives. Implementations which do not calculate yerr
and/or dydx_out
do not reference these variables so that a blank vec_t
can be given. All of the current O2scl implementations allow yout=y
and dydx_out=dydx
if necessary
Implemented in gsl_rk8pd_fast< N, func_t, vec_t, alloc_vec_t, alloc_t >, gsl_rkf45_fast< N, func_t, vec_t, alloc_vec_t, alloc_t >, gsl_rkck_fast< N, func_t, vec_t, alloc_vec_t, alloc_t >, gsl_rk8pd< func_t, vec_t, alloc_vec_t, alloc_t >, gsl_rkck< func_t, vec_t, alloc_vec_t, alloc_t >, and gsl_rkf45< func_t, vec_t, alloc_vec_t, alloc_t >.
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).