LILAC
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
integrator Class Reference

This class defines the integration base class. More...

#include <integrator.h>

Inheritance diagram for integrator:
Inheritance graph
[legend]
Collaboration diagram for integrator:
Collaboration graph
[legend]

Public Member Functions

virtual void initial_condition (ptr_passer in, size_t len)
void initial_condition (ptr_passer in)
virtual void postprocess (input &inval)
 Initiates the integrator from input values.
virtual std::vector< std::stringdependencies () const =0
virtual std::string type () const =0
 Returns the name of the integrator.
virtual int integrate (ptr_passer u, double t0, double tf)=0
 Integrates the function rh.
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
virtual const std::type_info & vtype () const =0
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

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

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

This class defines the integration base class.

This class defines the base integration class, the interface that is used by the engine to integrate differential equations

Definition at line 29 of file integrator.h.

Constructor & Destructor Documentation

virtual integrator::~integrator ( )
inlinevirtual

Blank destructor for integrator.

Definition at line 51 of file integrator.h.

Member Function Documentation

std::vector< std::string > integrator::dependencies ( ) const
pure virtual

This function returns the dependencies of the integrator class

Note
Integrator has no explicit dependencies, returns item_dim::dependencies
Returns
A vector containing the dependencies for integrator
See Also
item_dim::dependencies

Implements item_dim.

Implemented in example_integrator, rk45, euler_sde, and rk4.

Definition at line 28 of file integrator.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void integrator::initial_condition ( ptr_passer  in,
size_t  len 
)
virtual

Definition at line 45 of file integrator.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void integrator::initial_condition ( ptr_passer  in)
inline

Definition at line 34 of file integrator.h.

Here is the call graph for this function:

virtual int integrator::integrate ( ptr_passer  u,
double  t0,
double  tf 
)
pure virtual

Integrates the function rh.

This function integrates the equation du/dt=rh->dxdt(u) from t0 to tf

Parameters
rhThe function being integrated
uA pointer to the initial condition, also stores the final condition
t0The initial time
tfThe ending time

Implemented in example_integrator_tmpl< T >, rk45_tmpl< T >, euler_sde_tmpl< T >, rk45, euler_sde, rk4, rk4_tmpl< T >, and example_integrator.

Here is the caller graph for this function:

void integrator::postprocess ( input dat)
virtual

Initiates the integrator from input values.

This function initializes the internal memory and variables in the initiator class When called, all parameters returned by dependencies are promised to have been processed at the appropriate level of detail

See Also
item_dim::postprocess

Reimplemented from item_dim.

Reimplemented in example_integrator_tmpl< T >, example_integrator, rk45_tmpl< T >, euler_sde_tmpl< T >, rk45, rk4_tmpl< T >, euler_sde, and rk4.

Definition at line 40 of file integrator.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual std::string integrator::type ( ) const
pure virtual

Returns the name of the integrator.

Implements item.

Implemented in example_integrator_tmpl< T >, rk45_tmpl< T >, euler_sde_tmpl< T >, example_integrator, rk45, euler_sde, rk4, and rk4_tmpl< T >.

Member Data Documentation

rhs* integrator::rh_val
protected

Definition at line 31 of file integrator.h.


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