LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Private Types | List of all members
rk45_tmpl< T > Class Template Reference

Dormand-Prince integrator. More...

#include <rk45_tmpl.hpp>

Inheritance diagram for rk45_tmpl< T >:
Inheritance graph
[legend]
Collaboration diagram for rk45_tmpl< T >:
Collaboration graph
[legend]

Public Member Functions

virtual const std::type_info & vtype () const
void postprocess (input &dat)
std::string type () const
int integrate (ptr_passer u, double t0, double tf)
 ~rk45_tmpl ()
- Public Member Functions inherited from rk45
std::vector< std::stringdependencies () const
 ~rk45 ()
- Public Member Functions inherited from integrator
virtual void initial_condition (ptr_passer in, size_t len)
void initial_condition (ptr_passer in)
virtual ~integrator ()
 Blank destructor for integrator.
- Public Member Functions inherited from item_dim
size_t get_dimension () const
- Public Member Functions inherited from item
 item ()
virtual ~item ()
virtual void print () const
 Standard print function.
virtual void update ()
void setname (const std::string n)
void set_write_name (std::string wname)
const std::stringname () const
const std::stringwrite_name () const
- Public Member Functions inherited from vartype
bool compare (const vartype *in) const
bool compare (const vartype &in) const
bool compare (const std::type_info &tinf)
template<typename T >
bool compare () const
template<typename T >
bool compare (const T &in) const
std::string vname () const
virtual const std::type_info & vtype_internal () const
bool compare_internal (const vartype *in) const
bool compare_internal (const vartype &in) const
bool compare_internal (const std::type_info &tinf)
template<typename T >
bool compare_internal () const
template<typename T >
bool compare_internal (const T &in) const
std::string vname_internal () const
virtual ~vartype ()

Protected Attributes

double dt_init
double dt_min
double dt_max
double relerr
double abserr
T *restr f0
T *restr *restr f1
T *restr *restr *restr f2
T *restr *restr *restr *restr f3
T *restr f4
T *restr *restr f5
T *restr *restr *restr f6
T *restr u_calc
real_type *restr u_calc2
- Protected Attributes inherited from rk45
std::shared_ptr< rk45actual
- Protected Attributes inherited from integrator
rhsrh_val
- Protected Attributes inherited from item_dim
mempool memp
std::set< item_dim * > children
item_dimparent
size_t dimension
- Protected Attributes inherited from item
std::string _name
std::string _write_name
char has_write_name

Private Types

typedef float_traits< T >::type real_type

Additional Inherited Members

- Static Public Member Functions inherited from item
static std::shared_ptr< itemcreate (std::string name, engineimp *rval)
- Public Attributes inherited from item
engineimpholder
- Protected Member Functions inherited from item_dim
void print_upstream ()
virtual void _do_mem_update (size_t dim_old)
void add_as_parent (item_dim *p)
void add_as_parent (std::shared_ptr< item_dim > p)
void update_dim (size_t dim_new)

Detailed Description

template<class T>
class rk45_tmpl< T >

Dormand-Prince integrator.

This class defines a Dormand-Prince integrator, the same type used by the Matlab function ODE45. This is the actual template implementation, which allows for definitions using multiple variables

Definition at line 30 of file rk45_tmpl.hpp.

Member Typedef Documentation

template<class T >
typedef float_traits<T>::type rk45_tmpl< T >::real_type
private

Definition at line 31 of file rk45_tmpl.hpp.

Constructor & Destructor Documentation

template<class T >
rk45_tmpl< T >::~rk45_tmpl ( )

Definition at line 251 of file rk45_tmpl.hpp.

Member Function Documentation

template<class T >
int rk45_tmpl< T >::integrate ( ptr_passer  u,
double  t0,
double  tf 
)
virtual

Reimplemented from rk45.

Definition at line 53 of file rk45_tmpl.hpp.

Here is the call graph for this function:

template<class T >
void rk45_tmpl< T >::postprocess ( input dat)
virtual

Reimplemented from rk45.

Definition at line 260 of file rk45_tmpl.hpp.

Here is the call graph for this function:

template<class T >
std::string rk45_tmpl< T >::type ( ) const
virtual

Reimplemented from rk45.

Definition at line 256 of file rk45_tmpl.hpp.

template<class T >
const std::type_info & rk45_tmpl< T >::vtype ( ) const
virtual

Reimplemented from rk45.

Definition at line 49 of file rk45_tmpl.hpp.

Member Data Documentation

template<class T >
double rk45_tmpl< T >::abserr
protected

Definition at line 36 of file rk45_tmpl.hpp.

template<class T >
double rk45_tmpl< T >::dt_init
protected

Definition at line 35 of file rk45_tmpl.hpp.

template<class T >
double rk45_tmpl< T >::dt_max
protected

Definition at line 35 of file rk45_tmpl.hpp.

template<class T >
double rk45_tmpl< T >::dt_min
protected

Definition at line 35 of file rk45_tmpl.hpp.

template<class T >
T* restr rk45_tmpl< T >::f0
protected

Definition at line 37 of file rk45_tmpl.hpp.

template<class T >
T* restr * restr rk45_tmpl< T >::f1
protected

Definition at line 37 of file rk45_tmpl.hpp.

template<class T >
T* restr * restr * restr rk45_tmpl< T >::f2
protected

Definition at line 37 of file rk45_tmpl.hpp.

template<class T >
T* restr * restr * restr * restr rk45_tmpl< T >::f3
protected

Definition at line 37 of file rk45_tmpl.hpp.

template<class T >
T* restr rk45_tmpl< T >::f4
protected

Definition at line 38 of file rk45_tmpl.hpp.

template<class T >
T* restr * restr rk45_tmpl< T >::f5
protected

Definition at line 38 of file rk45_tmpl.hpp.

template<class T >
T* restr * restr * restr rk45_tmpl< T >::f6
protected

Definition at line 38 of file rk45_tmpl.hpp.

template<class T >
double rk45_tmpl< T >::relerr
protected

Definition at line 36 of file rk45_tmpl.hpp.

template<class T >
T* restr rk45_tmpl< T >::u_calc
protected

Definition at line 39 of file rk45_tmpl.hpp.

template<class T >
real_type* restr rk45_tmpl< T >::u_calc2
protected

Definition at line 40 of file rk45_tmpl.hpp.


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