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
movement.h
Go to the documentation of this file.
1 
6 #ifndef MOVEMENT_H
7 #define MOVEMENT_H
8 #include "task.h"
9 #include "numeric.h"
10 #include <iostream>
11 #include <omp.h>
12 //---------------------------------------------------------------------------------------------------------------------
13 class Species;
14 class Geometry;
15 class ES_EField;
16 
33 class Movement : public Task {
34  private:
36  std::string strEField;
38  std::string strGeom;
39  protected:
41  double dx;
43  double dt;
51  double dttxE;
53  double q;
55  double m;
57  double rg;
59  double Bz;
61  double Te;
62  public:
64  Movement () : pE(NULL) {};
66  virtual ~Movement () {};
68  virtual std::string GetClassName () const {return "Movement";};
71  std::cerr << "Internal Error! " << std::endl;
72  exit(1);
73  }
74  virtual void Init ();
75  virtual bool Execute ();
77  Species* GetSpecies() {return pS;}
78  protected:
79  virtual PARAMETERMAP* MakeParamMap (PARAMETERMAP* pm = NULL);
80 };
82 
91 class SphericalMovement : public Movement {
92  public:
96  virtual ~SphericalMovement () {};
98  virtual std::string GetClassName () const {return "SphericalMovement";};
99  virtual void Init ();
100  virtual bool Execute ();
101  protected:
103  int Rg;
105  double dx;
106  virtual PARAMETERMAP* MakeParamMap (PARAMETERMAP* pm = NULL);
107 };
109 #endif
110 
111 
112 
113