LILAC
|
A class representing an ODE system that is integrated towards stability. More...
#include <stable.h>
Public Member Functions | |
const std::type_info & | vtype () const |
double | score () |
virtual std::vector< std::string > | dependencies () const |
virtual void | postprocess (input &invals) |
virtual std::string | type () const |
virtual | ~stable_ode () |
![]() | |
double | simulate () |
virtual | ~stable () |
![]() | |
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 () |
virtual void | post_integration_operations () |
This applies operations ofter the integration occurs. | |
virtual void | iterate_system () |
virtual double | get_change () |
Protected Attributes | |
std::shared_ptr< stable_ode > | actual |
integrator * | inter |
This defines the integrator being used. | |
![]() | |
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< writer > | cur_writer |
![]() | |
controller * | cont |
The controller. | |
objective * | obj |
The objective function. | |
writer * | cur_writer |
![]() | |
mempool | memp |
std::set< item_dim * > | children |
item_dim * | parent |
size_t | dimension |
![]() | |
std::string | _name |
std::string | _write_name |
char | has_write_name |
Additional Inherited Members | |
![]() | |
static std::shared_ptr< item > | create (std::string name, engineimp *rval) |
![]() | |
std::string | out_f_name |
A class representing an ODE system that is integrated towards stability.
This class represents an ODE system that undergoes integration, possibly towards a stable equilibrium. Upon reaching this equilibrium, the integration will cease.
The class tests this by doing multiple sub-integrations, and checking the difference between consecutive solutions. In addition, operators can be applied before and after each integration round.
Note that this class is really a wrapper to a statically typed template class. This allows the system to choose the type at runtime, and generally be ignorant of the variable type of the defined problem.
|
virtual |
Definition at line 44 of file stable_ode.cpp.
|
virtual |
Returns the dependencies of the stable_ode class the stable_ode class depends on:
And has optional parameters:
Implements stable.
Reimplemented in jones_optical, stable_spectral_pde_1d_tmpl< T >, and stable_spectral_pde_1d_tmpl< comp >.
Definition at line 72 of file stable_ode.cpp.
|
protectedvirtual |
Implements stable.
Reimplemented in jones_optical, stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 82 of file stable_ode.cpp.
|
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.
Implements stable.
Reimplemented in stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 31 of file stable_ode.cpp.
|
protectedvirtual |
This applies operations ofter the integration occurs.
Performs operations after the integration
Reimplemented in stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 55 of file stable_ode.cpp.
|
virtual |
Implements stable.
Reimplemented in jones_optical, stable_spectral_pde_1d_tmpl< T >, stable_spectral_pde_1d_tmpl< comp >, stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 35 of file stable_ode.cpp.
|
protectedvirtual |
Performs operations that occur before the integration
Reimplemented in stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 49 of file stable_ode.cpp.
|
virtual |
Reimplemented from simulation.
Reimplemented in jones_optical, stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 76 of file stable_ode.cpp.
|
virtual |
Implements item.
Reimplemented in jones_optical, stable_spectral_pde_1d_tmpl< T >, stable_spectral_pde_1d_tmpl< comp >, stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 59 of file stable_ode.cpp.
|
virtual |
Implements vartype.
Reimplemented in stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.
Definition at line 79 of file stable_ode.cpp.
|
protected |
|
protected |