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

#include <stable_ode_tmpl.hpp>

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

Public Member Functions

double score ()
const std::type_info & vtype () const
virtual void postprocess (input &invals)
virtual std::string type () const
virtual ~stable_ode_tmpl ()
- Public Member Functions inherited from stable_ode
virtual std::vector< std::stringdependencies () const
virtual ~stable_ode ()
- Public Member Functions inherited from stable
double simulate ()
virtual ~stable ()
- 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 Member Functions

virtual void pre_integration_operations ()
 This applies operations before the integration occurs.
virtual void post_integration_operations ()
 This applies operations ofter the integration occurs.
virtual void iterate_system ()
virtual double get_change ()

Protected Attributes

double tcur
T *restr ucur
T *restr *restr ulast
double int_len
 This is the length of integration for each step.
double t0
 This is the starting time.
integratorinter
 This defines the integrator being used.
- Protected Attributes inherited from stable_ode
std::shared_ptr< stable_odeactual
integratorinter
 This defines the integrator being used.
- Protected Attributes inherited from stable
int max_iterations
 Maximum number of times the system is iterated before assuming an unstable state.
double change_threshold
 The threshold of change between two iterations for which the system will be considered stable.
int num_gone
int round
int bad_res
std::shared_ptr< writercur_writer
- Protected Attributes inherited from simulation
controllercont
 The controller.
objectiveobj
 The objective function.
writercur_writer
- 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

Friends

class stable

Additional Inherited Members

- Static Public Member Functions inherited from item
static std::shared_ptr< itemcreate (std::string name, engineimp *rval)
- Public Attributes inherited from simulation
std::string out_f_name

Detailed Description

template<class T>
class stable_ode_tmpl< T >

Definition at line 22 of file stable_ode_tmpl.hpp.

Constructor & Destructor Documentation

template<class T >
stable_ode_tmpl< T >::~stable_ode_tmpl ( )
virtual

Definition at line 91 of file stable_ode_tmpl.hpp.

Member Function Documentation

template<class T >
double stable_ode_tmpl< T >::get_change ( )
protectedvirtual

Reimplemented from stable_ode.

Reimplemented in jones_optical.

Definition at line 114 of file stable_ode_tmpl.hpp.

Here is the call graph for this function:

template<class T >
void stable_ode_tmpl< T >::iterate_system ( )
protectedvirtual

This is the function that iterates the ODE system forwards. It applies the operator pre_integration_operations, then integrates from tcur to tcur+tlen, and then applies the operator post_integration_operations.

See Also
stable::simulate

Reimplemented from stable_ode.

Definition at line 57 of file stable_ode_tmpl.hpp.

template<class T >
void stable_ode_tmpl< T >::post_integration_operations ( )
protectedvirtual

This applies operations ofter the integration occurs.

Reimplemented from stable_ode.

Definition at line 96 of file stable_ode_tmpl.hpp.

template<class T >
void stable_ode_tmpl< T >::postprocess ( input invals)
virtual

Reimplemented from stable_ode.

Reimplemented in jones_optical, stable_spectral_pde_1d_tmpl< T >, and stable_spectral_pde_1d_tmpl< comp >.

Definition at line 71 of file stable_ode_tmpl.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

template<class T >
void stable_ode_tmpl< T >::pre_integration_operations ( )
protectedvirtual

This applies operations before the integration occurs.

Reimplemented from stable_ode.

Definition at line 93 of file stable_ode_tmpl.hpp.

template<class T >
double stable_ode_tmpl< T >::score ( )
virtual

Reimplemented from stable_ode.

Reimplemented in jones_optical.

Definition at line 105 of file stable_ode_tmpl.hpp.

Here is the call graph for this function:

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

Reimplemented from stable_ode.

Reimplemented in jones_optical, stable_spectral_pde_1d_tmpl< T >, and stable_spectral_pde_1d_tmpl< comp >.

Definition at line 99 of file stable_ode_tmpl.hpp.

Here is the call graph for this function:

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

Reimplemented from stable_ode.

Definition at line 110 of file stable_ode_tmpl.hpp.

Friends And Related Function Documentation

template<class T>
friend class stable
friend

Definition at line 44 of file stable_ode_tmpl.hpp.

Member Data Documentation

template<class T>
double stable_ode_tmpl< T >::int_len
protected

This is the length of integration for each step.

Definition at line 27 of file stable_ode_tmpl.hpp.

template<class T>
integrator* stable_ode_tmpl< T >::inter
protected

This defines the integrator being used.

Definition at line 31 of file stable_ode_tmpl.hpp.

template<class T>
double stable_ode_tmpl< T >::t0
protected

This is the starting time.

Definition at line 29 of file stable_ode_tmpl.hpp.

template<class T>
double stable_ode_tmpl< T >::tcur
protected

Definition at line 24 of file stable_ode_tmpl.hpp.

template<class T>
T* restr stable_ode_tmpl< T >::ucur
protected

Definition at line 25 of file stable_ode_tmpl.hpp.

template<class T>
T* restr * restr stable_ode_tmpl< T >::ulast
protected

Definition at line 25 of file stable_ode_tmpl.hpp.


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