adapt_step Class Template Reference

#include <adapt_step.h>

Inheritance diagram for adapt_step:

gsl_astep nonadapt_step

Detailed Description

template<class param_t, class func_t = ode_funct<param_t>, class vec_t = ovector_view, class alloc_vec_t = ovector, class alloc_t = ovector_alloc>
class adapt_step< param_t, func_t, vec_t, alloc_vec_t, alloc_t >

Adaptive stepper base.

The adaptive stepper routines are based on several applications of ordinary ODE steppers (implemented in odestep). Each adaptive stepper (gsl_astep or nonadapt_step) can be used with any of the ODE stepper classes (e.g. gsl_rkck). By default, gsl_rkck is used. To modify the ODE stepper which is used, use the member function set_step() documented below.

Note:
If you use gsl_rkck_fast or gsl_rk8pd_fast, you'll need to make sure that the argument n to astep() or astep_derivs() below matches the template size parameter given in the ODE stepper.

Definition at line 52 of file adapt_step.h.


Public Member Functions

 adapt_step ()
virtual ~adapt_step ()
virtual int astep (double &x, double &h, double xmax, size_t n, vec_t &y, param_t &pa, func_t &derivs)
 Make an adaptive integration step of the system derivs.
virtual int astep_derivs (double &x, double &h, double xmax, size_t n, vec_t &y, vec_t &dydx, param_t &pa, func_t &derivs)
 Make an adaptive integration step of the system derivs with derivatives.
int set_step (odestep< param_t, func_t, vec_t > &step)
 Set stepper.

Data Fields

int verbose
 Set output level.
gsl_rkck< param_t,
func_t, vec_t,
alloc_vec_t,
alloc_t > 
def_step
 The default stepper.

Protected Attributes

odestep< param_t,
func_t, vec_t > * 
stepp
 Pointer to the stepper being used.

Member Function Documentation

virtual int astep ( double &  x,
double &  h,
double  xmax,
size_t  n,
vec_t &  y,
param_t &  pa,
func_t &  derivs 
) [inline, virtual]

Make an adaptive integration step of the system derivs.

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.

Reimplemented in gsl_astep, and nonadapt_step.

Definition at line 72 of file adapt_step.h.

virtual int astep_derivs ( double &  x,
double &  h,
double  xmax,
size_t  n,
vec_t &  y,
vec_t &  dydx,
param_t &  pa,
func_t &  derivs 
) [inline, virtual]

Make an adaptive integration step of the system derivs with derivatives.

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.

Reimplemented in gsl_astep, and nonadapt_step.

Definition at line 90 of file adapt_step.h.

int set_step ( odestep< param_t, func_t, vec_t > &  step  )  [inline]

Set stepper.

This sets the stepper for use in the adaptive step routine. If no stepper is specified, then the default (gsl_rkck) is used.

Definition at line 109 of file adapt_step.h.


The documentation for this class was generated from the following file:

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page