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

Embedded Runge-Kutta Prince-Dormand ODE stepper (GSL) More...

#include <gsl_rk8pd.h>

Inheritance diagram for gsl_rk8pd< func_t, vec_t, alloc_vec_t, alloc_t >:
ode_step< func_t, vec_t >

Detailed Description

template<class func_t = ode_funct<>, class vec_t = ovector_base, class alloc_vec_t = ovector, class alloc_t = ovector_alloc>
class gsl_rk8pd< func_t, vec_t, alloc_vec_t, alloc_t >

Based on Prince81 .

There is an example for the usage of this class in examples/ex_ode.cpp documented in the Ordinary differential equations section.

Definition at line 62 of file gsl_rk8pd.h.

Public Member Functions

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)
 Perform an integration step.

Protected Attributes

size_t ndim
 Size of allocated vectors.
alloc_t ao
 Memory allocator for objects of type alloc_vec_t.
Storage for the intermediate steps
alloc_vec_t k2
alloc_vec_t k3
alloc_vec_t k4
alloc_vec_t k5
alloc_vec_t k6
alloc_vec_t k7
alloc_vec_t ytmp
alloc_vec_t k8
alloc_vec_t k9
alloc_vec_t k10
alloc_vec_t k11
alloc_vec_t k12
alloc_vec_t k13
Storage for the coefficients
double Abar [13]
double A [12]
double ah [10]
double b21
double b3 [2]
double b4 [3]
double b5 [4]
double b6 [5]
double b7 [6]
double b8 [7]
double b9 [8]
double b10 [9]
double b11 [10]
double b12 [11]
double b13 [12]

Member Function Documentation

template<class func_t = ode_funct<>, class vec_t = ovector_base, class alloc_vec_t = ovector, class alloc_t = ovector_alloc>
virtual int gsl_rk8pd< func_t, vec_t, alloc_vec_t, alloc_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 
) [inline, virtual]

Given initial value of the n-dimensional function in y and the derivative in dydx (which must be computed beforehand) at the point x, take a step of size h giving the result in yout, the uncertainty in yerr, and the new derivative in dydx_out using function derivs to calculate derivatives. The parameters yout and y and the parameters dydx_out and dydx may refer to the same object.

If derivs always returns zero, then this function will also return zero. If not, step() will return the first non-zero value which was obtained in a call to derivs . The error handler is never called.

Implements ode_step< func_t, vec_t >.

Definition at line 256 of file gsl_rk8pd.h.


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.