O P A R - Open Architecture Particle in Cell Simulation - Version 3.0
Plasma simulations with dust particles
 All Classes Files Functions Variables Friends Macros Groups Pages
Public Member Functions | Protected Member Functions
Simulation Class Reference

Simulation specializes Process and is supposed to implement the the master process. The Simulation class takes care of registering all the Tasks that can be read from the input file at top level. It also provides some routines for Drawing and Interactivity. More...

#include <simulation.h>

Inheritance diagram for Simulation:
Process Task

List of all members.

Public Member Functions

 Simulation ()
 Default constructor.
virtual ~Simulation ()
 Destructor.
virtual std::string GetClassName () const
 Returns the name of the class, here "simulation".
virtual bool IsInteractive () const
 Returns true if any of the sub-Tasks is interactive.
virtual void Init ()
 Initializes the nCycle variable.
void IncCycle ()
 Increase the cycle (current time step) by one.
virtual void Draw () const
 Is supposed to Draw the tasks, but doesn't really do anything.
- Public Member Functions inherited from Process
 Process ()
 Default constructor sets the global pProcess variable.
virtual ~Process ()
 Destructor deletes all Tasks that belong to this Process.
TaskGetTask (std::string strName, std::string strClass) const
 Search in the collection of Tasks for a Task with the name strName and with a class name srtClass. If not found, a NULL pointer is returned.
int GetCycle () const
 Returns the current time step.
virtual std::string Rebuild (std::istream &in)
 Rebuild the Process from a stream. Return "" if successful.
virtual bool Run ()
 Contains the main simulation loop, calling the sub-Tasks over and over again.
- Public Member Functions inherited from Task
 Task ()
 Default constructor sets the running number nNr of the Task.
virtual ~Task ()
 When destructing a Task is has to be detatched from the parents Task list.
int GetStep () const
 Return the interval between execution in timesteps.
int GetEnd () const
 Return the timestep when the Task ends execution.
bool DoNow ()
 Returns true if the Task is to be executed now.
std::string GetName () const
 Returns the name given to the Task object.
void AttachTask (Task *pTask)
 Insert Task into Task list and registers it with the Process.
void DetachTask (Task *pTask)
 DetachTask from Task list.
virtual bool Execute ()
 Executes the Task. This is the place where the algorithm for executing a Task it placed. The return value specifies, if the task is finished and can be removed. The basic Execute method executes all its sub-Tasks. The derived classes should call this member function, whenever there are subtasks to be executed.
virtual void DumpTaskList (std::ostream &o, int nDepth=0)
 Recursively dumps the complete Task list into a stream.

Protected Member Functions

virtual PARAMETERMAP * MakeParamMap (PARAMETERMAP *pm)
 Register the parameters needed for the Task. A derived class should overwrite this whenever it needs additional parameters from the setup file. It should then ALWAYS call the MakeParamMap of its superclass.

Additional Inherited Members

- Public Attributes inherited from Process
TASKVECTOR vecTasks
 All the Tasks in this process.
- Protected Attributes inherited from Process
int nCycle
 The time step.
- Protected Attributes inherited from Task
int nNr
 The running number of this Task.
std::string strName
 The name of this Task.
TaskpParent
 The parent Task to which this Task belongs.
ProcesspProcess
 The Process to which this Task belongs.
std::string strNorm
 The name of the referenced Normalization object.
NormalizationNorm
 The pointer to the referenced Normalization object.
TASKLIST plTasks
 A list of sub-Tasks.
int nStart
int nEnd
int nStep

Detailed Description

Simulation specializes Process and is supposed to implement the the master process. The Simulation class takes care of registering all the Tasks that can be read from the input file at top level. It also provides some routines for Drawing and Interactivity.

Parameters:
fileCreate a FileDiag Task
ElStaticNormCreate a ElStaticNorm Task
ElDynamicNormCreate a ElDynamicNorm Task
boltz_potentialCreate a PotentialBoltz Task
densityCreate a Density Task
current_densityCreate a CurDensity Task
e-fieldCreate a ES_EField Task
E-field_emCreate a EM_EField Task
B-field_emCreate a EM_BField Task
speciesCreate a Species Task
wallCreate a Wall Task
periodicCreate a PeriodicWall Task
closed_geometryCreate a ClosedGeometry Task
open_ed_geometryCreate a OpenEDGeometry Task
init_ligh_waveCreate a Initialize_EMWave Task
read_em_fieldsCreate a Initialize_EMFile Task

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