Public Member Functions | Protected Attributes | List of all members
o2scl::ode_rkck_gsl< vec_y_t, vec_dydx_t, vec_yerr_t, func_t > Class Template Reference

Cash-Karp embedded Runge-Kutta ODE stepper (GSL) More...

#include <ode_rkck_gsl.h>

Inheritance diagram for o2scl::ode_rkck_gsl< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >:
o2scl::ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >

Public Member Functions

virtual int step (double x, 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)
 Perform an integration step. More...
 
- Public Member Functions inherited from o2scl::ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >
virtual int get_order ()
 Return the order of the ODE stepper. More...
 

Protected Attributes

size_t ndim
 Size of allocated vectors.
 
Storage for the intermediate steps
vec_y_t ytmp
 
vec_dydx_t k2
 
vec_dydx_t k3
 
vec_dydx_t k4
 
vec_dydx_t k5
 
vec_dydx_t k6
 
Storage for the coefficients
double ah [5]
 
double b3 [2]
 
double b4 [3]
 
double b5 [4]
 
double b6 [5]
 
double ec [7]
 
double b21
 
double c1
 
double c3
 
double c4
 
double c6
 
- Protected Attributes inherited from o2scl::ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >
int order
 The order of the ODE stepper.
 

Detailed Description

template<class vec_y_t = boost::numeric::ublas::vector<double>, class vec_dydx_t = vec_y_t, class vec_yerr_t = vec_y_t, class func_t = ode_funct11>
class o2scl::ode_rkck_gsl< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >

Based on Cash90 .

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

Definition at line 68 of file ode_rkck_gsl.h.

Member Function Documentation

◆ step()

template<class vec_y_t = boost::numeric::ublas::vector<double>, class vec_dydx_t = vec_y_t, class vec_yerr_t = vec_y_t, class func_t = ode_funct11>
virtual int o2scl::ode_rkck_gsl< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >::step ( double  x,
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 
)
inlinevirtual

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 o2scl::ode_step< vec_y_t, vec_dydx_t, vec_yerr_t, func_t >.

Definition at line 155 of file ode_rkck_gsl.h.


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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).