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 | Public Attributes | Protected Member Functions
ClosedGeometry Class Reference

Implements a Geometry representing a closed simulation box. More...

#include <geometry.h>

Inheritance diagram for ClosedGeometry:
Geometry Task

List of all members.

Public Member Functions

 ClosedGeometry ()
 Default constructor.
virtual ~ClosedGeometry ()
 Destructor.
virtual void Init ()
 The Init method of a Task is called before the Task is executed. It should contain all the necessary initialization. The basic Init method calls the Init of all the sub-Tasks and sorts them according to their predecessor list. Also the Pointer to the Normalization object is retrieved from the Process. A derived class should always call the Task::Init in its own Init method.
virtual Position GetLocation (const GridPosition &) const
 Min and max position are 0 and the grid size.
virtual double Distance (const GridPosition &, const GridPosition &) const
 Should return the distance between two grid points in m.
virtual double GetDustRadius ()
 Returns the Radius of the dust particle.
virtual int GetNumberDust ()
 Returns the number of the dust particles in the simulation.
virtual GridPosition GetDustPosition (int)
 Returns the position of the dust particles.
virtual double GetBoxVolume () const
 Should return the physical volume of the simulation box.
virtual bool outside (const Position &) const
 Return true if the Position is outside the simulation box.
virtual bool outside_periodic (const Position &) const
virtual bool outside_right (const Position &) const
virtual bool outside_left (const Position &) const
virtual bool insidedust (const Position &, GridPosition) const
 Return true if the Position is inside a dust particle.
virtual void DivByVolume (grid< double > &G)
 Grid values sometimes have to be corrected according to the real volume of the cells. Boundary cells may hav only half of quarter the volume of a normal grid cell.
virtual void DivByVolume (grid< Position > &G)
virtual void DivByVolume (grid< Velocity > &G)
virtual Position MinPosition () const
virtual Position MaxPosition () const
 Abstract methods, that return the actual minimum and maximum physical positions in the simulation. This depends on the geometry since boundary cells may be introduced.
- Public Member Functions inherited from Geometry
 Geometry ()
 Default constructor.
virtual ~Geometry ()
 Destructor.
virtual std::string GetClassName () const
 Returns the name of the class, here "geometry".
virtual bool Execute ()
 The geometry doesn't actually do anything by itself.
GridPosition GetGridSize () const
 Return the size of the box.
Position GetGridSpacing () const
 Return the grid spacing in m.
double GetVolumeQuant () const
 Returns the volume of a single grid cell in ${\text m}^{\text dim}$.
- 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.
virtual bool IsInteractive () const
 If not specified otherwise, a Task is not interactive.
void AttachTask (Task *pTask)
 Insert Task into Task list and registers it with the Process.
void DetachTask (Task *pTask)
 DetachTask from Task list.
virtual std::string Rebuild (std::istream &in)
 Rebuilds the task from the setup. This normally does not need to be overwritten. Rebuild always returns the next token that does not belong to the object setup.
virtual void DumpTaskList (std::ostream &o, int nDepth=0)
 Recursively dumps the complete Task list into a stream.

Public Attributes

double Rd
 Radius of dust particle.
int x
int y
int Rg
 Radius of dust particle (integer value)
double dx2
 Reduced grid spacing in x-direction to follow the spherical dust particle surface.
double dy2
 Reduced grid spacing in y-direction to follow the spherical dust particle surface.
double Rq
 Square of dust particle radius Rg.
double pos1x
 Position (center point x,y,z) up to 20 dust particles.
double pos1y
double pos1z
double pos2x
double pos2y
double pos2z
double pos3x
double pos3y
double pos3z
double pos4x
double pos4y
double pos4z
double pos5x
double pos5y
double pos5z
double pos6x
double pos6y
double pos6z
double pos7x
double pos7y
double pos7z
double pos8x
double pos8y
double pos8z
double pos9x
double pos9y
double pos9z
double pos10x
double pos10y
double pos10z
double pos11x
double pos11y
double pos11z
double pos12x
double pos12y
double pos12z
double pos13x
double pos13y
double pos13z
double pos14x
double pos14y
double pos14z
double pos15x
double pos15y
double pos15z
double pos16x
double pos16y
double pos16z
double pos17x
double pos17y
double pos17z
double pos18x
double pos18y
double pos18z
double pos19x
double pos19y
double pos19z
double pos20x
double pos20y
double pos20z
int z
double dz2
 Reduced grid spacing in z-direction to follow the spherical dust particle surface.
int number_d
 Number of dust particles in the simulation.
- Public Attributes inherited from Geometry
int ig
 Should return true if the normalized Position is outside the simulation volume.
Position pt
Position pd
Position pc [3][2000]
 Position of reduced dx,dy and dz at the dust particles(s), for 3D simulations.
GridPosition Dust [20]
 Positions the dust particles.

Protected Member Functions

virtual PARAMETERMAP * MakeParamMap (PARAMETERMAP *pm=NULL)
 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

- Protected Attributes inherited from Geometry
GridPosition GridSize
 Size of the box in grid cells.
Position GridSpacing
 The grid spacing in m.
- 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

Implements a Geometry representing a closed simulation box.

Parameters:
RRadius of the dust particle(s), must be multiple of the grid spacing dx
pos1x,pos1y,pos1zGrid Position of the center point of a spherical dust particle with radius R. (for 1D simulations set only pos1x, for 2D simulations set only pos1x, pos1y). Use pos2x, pos2y and pos2z for a second one etc. Up to 20 dust particles can be considered. "Overlapping" of the dust particle surfaces is not possible and if so an error message before simulation start will be given. Also all inner and surface grid points of the dust particle must be inside the simulation box and also not on the outer boundary grid points.

Member Function Documentation

virtual Position ClosedGeometry::MaxPosition ( ) const
inlinevirtual

Abstract methods, that return the actual minimum and maximum physical positions in the simulation. This depends on the geometry since boundary cells may be introduced.

Todo:
Not all the classes (fields etc.) actually use this method.

Implements Geometry.


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