Adaptive stepper [abstract base]. More...
#include <astep.h>
The adaptive stepper routines are based on one or many applications of ordinary ODE steppers (implemented in ode_step). Each adaptive stepper (astep_gsl or astep_nonadapt) can be used with any of the ODE stepper classes (e.g. ode_rkck_gsl). By default, ode_rkck_gsl is used. To modify the ODE stepper which is used, use the member function set_step() documented below.
Public Member Functions | |
| virtual int | astep (double &x, double xlimit, double &h, size_t n, vec_y_t &y, vec_dydx_t &dydx_out, vec_yerr_t &yerr, func_t &derivs)=0 |
Make an adaptive integration step of the system derivs. More... | |
| virtual int | astep_derivs (double &x, double xlimit, double &h, size_t n, vec_y_t &y, vec_dydx_t &dydx, vec_yerr_t &yerr, func_t &derivs)=0 |
Make an adaptive integration step of the system derivs with derivatives. More... | |
| virtual int | astep_full (double x, double xlimit, double &x_out, double &h, size_t n, vec_y_t &y, vec_dydx_t &dydx, vec_y_t &yout, vec_yerr_t &yerr, vec_dydx_t &dydx_out, func_t &derivs)=0 |
Make an adaptive integration step of the system derivs with derivatives. More... | |
| int | set_step (ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t > &step) |
| Set stepper. More... | |
Public Attributes | |
| int | verbose |
| Set output level. | |
| ode_rkck_gsl< vec_y_t, vec_dydx_t, vec_yerr_t, func_t > | def_step |
| The default stepper. | |
Protected Attributes | |
| ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t > * | stepp |
| Pointer to the stepper being used. | |
|
pure virtual |
This attempts to take a step of size h from the point x of an n-dimensional system derivs starting with y. On exit, x and y contain the new values at the end of the step, h contains the size of the step, dydx_out contains the derivative at the end of the step, and yerr contains the estimated error at the end of the step.
Implemented in o2scl::astep_gsl< ubvector, ubvector, ubvector, ode_funct<> >, o2scl::astep_gsl< solve_grid_mat_row, solve_grid_mat_row, solve_grid_mat_row, ode_funct_solve_grid >, o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct<> >, and o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct >.
|
pure virtual |
This attempts to take a step of size h from the point x of an n-dimensional system derivs starting with y and given the initial derivatives dydx. On exit, x, y and dydx contain the new values at the end of the step, h contains the size of the step, dydx contains the derivative at the end of the step, and yerr contains the estimated error at the end of the step.
Implemented in o2scl::astep_gsl< ubvector, ubvector, ubvector, ode_funct<> >, o2scl::astep_gsl< solve_grid_mat_row, solve_grid_mat_row, solve_grid_mat_row, ode_funct_solve_grid >, o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct<> >, and o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct >.
|
pure virtual |
This function performs an adaptive integration step with the n-dimensional system derivs and parameter pa. It Begins at x with initial stepsize h, ensuring that the step goes no farther than xlimit. At the end of the step, the size of the step taken is h and the new value of x is in x_out. Initially, the function values and derivatives should be specified in y and dydx. The function values, derivatives, and the error at the end of the step are given in yout, yerr, and dydx_out. Unlike in ode_step objects, the objects y, yout, dydx, and dydx_out must all be distinct.
Implemented in o2scl::astep_gsl< ubvector, ubvector, ubvector, ode_funct<> >, o2scl::astep_gsl< solve_grid_mat_row, solve_grid_mat_row, solve_grid_mat_row, ode_funct_solve_grid >, o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct<> >, and o2scl::astep_gsl< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< double >, ode_funct >.
|
inline |
This sets the stepper for use in the adaptive step routine. If no stepper is specified, then the default (def_step of type ode_rkck_gsl) is used.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).