O P A R - Open Architecture Particle in Cell Simulation - Version 3.0
Plasma simulations with dust particles
|
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>
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. | |
Task * | GetTask (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. | |
Task * | pParent |
The parent Task to which this Task belongs. | |
Process * | pProcess |
The Process to which this Task belongs. | |
std::string | strNorm |
The name of the referenced Normalization object. | |
Normalization * | Norm |
The pointer to the referenced Normalization object. | |
TASKLIST | plTasks |
A list of sub-Tasks. | |
int | nStart |
int | nEnd |
int | nStep |
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.
file | Create a FileDiag Task |
ElStaticNorm | Create a ElStaticNorm Task |
ElDynamicNorm | Create a ElDynamicNorm Task |
boltz_potential | Create a PotentialBoltz Task |
density | Create a Density Task |
current_density | Create a CurDensity Task |
e-field | Create a ES_EField Task |
E-field_em | Create a EM_EField Task |
B-field_em | Create a EM_BField Task |
species | Create a Species Task |
wall | Create a Wall Task |
periodic | Create a PeriodicWall Task |
closed_geometry | Create a ClosedGeometry Task |
open_ed_geometry | Create a OpenEDGeometry Task |
init_ligh_wave | Create a Initialize_EMWave Task |
read_em_fields | Create a Initialize_EMFile Task |