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 | Protected Attributes
StartHomogen Class Reference

A class derived from Generation to homogeneously Generate particles. The particles have directed thermal velocity components according to Maxwells velocity distribution. More...

#include <generation.h>

Inheritance diagram for StartHomogen:
Generation Task

List of all members.

Public Member Functions

 StartHomogen ()
 Default constructor.
virtual ~StartHomogen ()
 Destructor.
void Init ()
 Initialize Generation and unnormalize the density.
bool Execute ()
 Distributes particles evenly throughout the grid. Calculate the number of superparticles per cell from the area of a grid cell and and the superparticle size. Then iterate through the grid and distribute the particles evenly using the VelocityGeneration function.
- Public Member Functions inherited from Generation
 Generation ()
 Default constructor.
virtual ~Generation ()
 Destructor.
std::string GetClassName () const
 Returns the name of the class, here "generation".
- 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.

Protected Member Functions

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.
double VelocityGeneration (double v)
 Generate a velocity component according to Maxwell distribution.
void InputVeloDistribution (Velocity V, double cs, double Vn)
 Determination of the velocity distribution of the super particles. 2000 interval steps are used.
void OutputVeloDistribution ()
 Output of the velocity distribution of the super particles. 2000 interval steps (resolution of the distribution function) are used.

Protected Attributes

double Ts
 Temperature of species.
double N
 Density in particles $m^{-\text{dim}}$.
int C [2000]
 Velocity distribution output.
int cc
double dC
 Super particle charge.
double dV
 Volume Quant dV=dx*dx*dx.
double Efk
 Energy factor.
double Vmax
 Maximum generated velocity.
double Vmp
 Most probably velocity of plasma species according to Maxwell distribution.
double V
 Absolute value of velocity.
double npc
 Particles per cell.
double m
 Mass of the plasma species.
double dx
 Grid spacing in x direction.
double dt
 Time step.
double cs
 Cell velocity dx/dt.
double Bz
 Magnetic field in z-direction.
double rg
 Gyration radius of electrons according to Bz.
double npc_lin
double sumq
double sumv
Velocity Vel
 Velocity of plasma particle.
Position pos
 Position of plasma particle.
Position i
Position Nmin
Position Nmax
- Protected Attributes inherited from Generation
SpeciespS
 Pointer to the Species to be generated.
GeometrypGeom
 Pointer to the Geometry.
GridPosition NG
 Size of the grid.
- 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

A class derived from Generation to homogeneously Generate particles. The particles have directed thermal velocity components according to Maxwells velocity distribution.

Parameters:
geometryName of the reference Geometry
n0Set the density according to Normalization
TTemperature of the species

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