adevs
Public Member Functions | List of all members
adevs::rk_45< X > Class Template Reference

#include <adevs_rk_45.h>

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

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)
 
- Public Member Functions inherited from adevs::ode_solver< X >
 ode_solver (ode_system< X > *sys)
 
virtual ~ode_solver ()
 Destructor.
 

Additional Inherited Members

- Protected Attributes inherited from adevs::ode_solver< X >
ode_system< X > * sys
 

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 
)

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 
)
virtual

Advance the system through exactly h units of time.

Implements adevs::ode_solver< X >.

template<typename X >
double adevs::rk_45< X >::integrate ( double *  q,
double  h_lim 
)
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 >.


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