O P A R - Open Architecture Particle in Cell Simulation - Version 3.0
Plasma simulations with dust particles
|
Accelerates and moves particles for 1D simulations. Extends the simplest non relativistic, electrostatic case to spherical geometry. This simple movement class uses the simple integration of the non relativistic Newtonian equations of motion with only an electric field. The motion is implemented in spherical geometry. Only 1D spherical geometry is implemented. The second velocity component is interpreted as . More...
#include <movement.h>
Public Member Functions | |
SphericalMovement () | |
Default constructor. | |
virtual | ~SphericalMovement () |
Destructor. | |
virtual std::string | GetClassName () const |
Returns the name of the class, here "SphericalMovement". | |
virtual void | Init () |
Initialization of the SphericalMovement. | |
virtual bool | Execute () |
Accelerate and move all the particles of the Species. To accelerate the particles the electric field values at the particles positions have to be multiplied with and added to the velocity of the particle. This is best done by rescaling the whole field with that factor, then just adding the field values to the velocities and when that's done, scale the field back. This is faster as long as there are more than two particles in a grid cell. The particle positions are just updated by adding the velocities, since they are normalized in units of . | |
Public Member Functions inherited from Movement | |
Movement () | |
Default constructor. | |
virtual | ~Movement () |
Destructor. | |
virtual grid< Velocity > * | GetCurrent () |
Should return the current density but can't. | |
Species * | GetSpecies () |
Returns the pointer to the owning Species object. | |
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 | |
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. |
Protected Attributes | |
int | Rg |
The inner radius of the coordinate system, the dust particle radius. | |
double | dx |
The grid spacing. | |
Protected Attributes inherited from Movement | |
double | dt |
Time step. Copy from the Species. | |
Species * | pS |
Pointer to the owning Species. | |
ES_EField * | pE |
Pointer to the electric field. | |
Geometry * | pGeom |
Pointer to the geometry. | |
double | dttxE |
A variable containing in physical units. | |
double | q |
Super particle charge. | |
double | m |
Mass of the plasma species. | |
double | rg |
Gyration radius of electrons: , V perpendicular to Bz. | |
double | Bz |
Constant magnetic flux density in z-direction. | |
double | Te |
Electron temperature. | |
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 |
Accelerates and moves particles for 1D simulations. Extends the simplest non relativistic, electrostatic case to spherical geometry. This simple movement class uses the simple integration of the non relativistic Newtonian equations of motion with only an electric field. The motion is implemented in spherical geometry. Only 1D spherical geometry is implemented. The second velocity component is interpreted as .
E | Name of the referenced electric field |
geometry | Name of the referenced Geometry |