Object-oriented Scientific Computing Library: Version 0.908
Public Member Functions | Protected Attributes
odestep< func_t, vec_t > Class Template Reference

ODE stepper base [abstract base].

#include <odestep.h>

Inheritance diagram for odestep< func_t, vec_t >:
gsl_rk8pd< func_t, vec_t, alloc_vec_t, alloc_t > gsl_rk8pd_fast< N, func_t, vec_t, alloc_vec_t, alloc_t > gsl_rkck< func_t, vec_t, alloc_vec_t, alloc_t > gsl_rkck_fast< N, func_t, vec_t, alloc_vec_t, alloc_t > gsl_rkf45< func_t, vec_t, alloc_vec_t, alloc_t > gsl_rkf45_fast< N, func_t, vec_t, alloc_vec_t, alloc_t >

Detailed Description

template<class func_t = funct, class vec_t = ovector_base>
class odestep< func_t, vec_t >

Definition at line 36 of file odestep.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.

Member Function Documentation

template<class func_t = funct, class vec_t = ovector_base>
virtual int odestep< func_t, vec_t >::get_order ( ) [inline, virtual]

This is used, for example, by gsl_astep to adaptively adjust the stepsize.

Definition at line 61 of file odestep.h.

template<class func_t = funct, class vec_t = ovector_base>
virtual int odestep< 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 $ x+h $ in yerr, and the new derivative at $ x+h $ 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 >.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information). Project hosting by Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads .