adevs::rk_45< X > Class Template Reference

#include <adevs_rk_45.h>

Inheritance diagram for adevs::rk_45< X >:
adevs::ode_solver< X >

List of all members.

Public Member Functions

 rk_45 (ode_system< X > *sys, double err_tol, double h_max)
 ~rk_45 ()
 Destructor.
double integrate (double *q, double h_lim)
void advance (double *q, double h)

Detailed Description

template<typename X>
class adevs::rk_45< X >

This ode_solver implements a 4th/5th order integrator that adjust its step size to control error.


Constructor & Destructor Documentation

template<typename X >
adevs::rk_45< X >::rk_45 ( ode_system< X > *  sys,
double  err_tol,
double  h_max 
) [inline]

The integrator will adjust its step size to maintain a per step error less than err_tol, and will use a step size strictly less than h_max.

References adevs::ode_system< X >::numVars().


Member Function Documentation

template<typename X >
void adevs::rk_45< X >::advance ( double *  q,
double  h 
) [inline, virtual]

Advance the system through exactly h units of time.

Implements adevs::ode_solver< X >.

References adevs::rk_45< X >::integrate().

template<typename X >
double adevs::rk_45< X >::integrate ( double *  q,
double  h_lim 
) [inline, virtual]

Take an integration step from state q of at most size h_lim and return the step size that was actually used. Copy the result of the integration step to q.

Implements adevs::ode_solver< X >.

Referenced by adevs::rk_45< X >::advance().


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

Generated on 3 Jul 2013 for adevs by  doxygen 1.6.1