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

#include <simulation.h>

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

Public Member Functions

virtual double simulate ()=0
 This function simulates the system and returns the resulting score.
virtual double score ()
 This function returns the score of the system in its current state.
virtual void postprocess (input &inval)=0
virtual std::vector< std::stringdependencies () const =0
- 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 ()
virtual std::string type () const =0
void setname (const std::string n)
void set_write_name (std::string wname)
const std::stringname () const
const std::stringwrite_name () const

Public Attributes

std::string out_f_name

Protected Attributes

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

Additional Inherited Members

- Static Public Member Functions inherited from item
static std::shared_ptr< itemcreate (std::string name, engineimp *rval)
- 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 system being simulated. It simulates a run of the system and returns a score for the current simulation run.

Every run of LILAC will have a simulation class that determines what is computed

For example, the jones_optical simulation class is used for the mode-locked laser simulations. This class holds an integrator object, which then in turns holds a certain rhs function. This function normally is of the type rhs_CNLS.

Definition at line 32 of file simulation.h.

Member Function Documentation

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

This returns the dependencies for the simulation class. The simulation class has the same dependencies as item_dim, as well as:

 - controller controller: This object is the controller that controls the variables in the current simulation class
 - objective objective: This object is the objective function for the 
See Also
item_dim::dependencies
Returns
Dependencies for system

Implements item_dim.

Implemented in stable_ode, jones_optical, stable_spectral_pde_1d_tmpl< T >, stable_spectral_pde_1d_tmpl< comp >, stable, and ode.

Definition at line 35 of file simulation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void simulation::postprocess ( input inval)
pure virtual

Reimplemented from item_dim.

Implemented in stable_ode, jones_optical, stable_spectral_pde_1d_tmpl< T >, stable_spectral_pde_1d_tmpl< comp >, ode_tmpl< T >, stable_ode_tmpl< T >, stable_ode_tmpl< comp >, stable, and ode.

Definition at line 19 of file simulation.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

double simulation::score ( )
virtual

This function returns the score of the system in its current state.

Reimplemented in stable_ode, jones_optical, stable_ode_tmpl< T >, and stable_ode_tmpl< comp >.

Definition at line 40 of file simulation.cpp.

Here is the caller graph for this function:

virtual double simulation::simulate ( )
pure virtual

This function simulates the system and returns the resulting score.

Implemented in ode_tmpl< T >, stable, and ode.

Member Data Documentation

controller* simulation::cont
protected

The controller.

Definition at line 35 of file simulation.h.

writer* simulation::cur_writer
protected

Definition at line 38 of file simulation.h.

objective* simulation::obj
protected

The objective function.

Definition at line 37 of file simulation.h.

std::string simulation::out_f_name

Definition at line 40 of file simulation.h.


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