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

ODE stepper base [abstract base].

#include <ode_step.h>

Inheritance diagram for ode_step< 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 = ode_funct<>, class vec_t = ovector_base>
class ode_step< func_t, vec_t >

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.

Member Function Documentation

template<class func_t = ode_funct<>, class vec_t = ovector_base>
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.

template<class func_t = ode_funct<>, class vec_t = ovector_base>
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 $ 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).

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.