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
efield.h
Go to the documentation of this file.
1 
5 #ifndef EFIELD_H
6 #define EFIELD_H
7 #include "task.h"
8 #include "numeric.h"
9 #include "geometry.h"
10 #include "density.h"
11 #include "species.h"
12 #define ID_ES_EFIELD "ES_EField"
13 //---------------------------------------------------------------------------------------------------------------------
14 class Potential;
15 
26 class ES_EField : public Task {
27  private:
29  std::string strGeom;
31  std::string strPotential;
32  protected:
41 #ifndef ONE_DIMENSIONAL
42 
45  double dx;
47  double dy;
48 #ifdef THREE_DIMENSIONAL
49 
50  double dz;
51 #endif
52 
53  int Rg;
55  int nd;
57  int ig;
58 #endif
59  public:
61  ES_EField () : pPot(NULL) {};
63  virtual ~ES_EField () {};
65  std::string GetClassName () const {return ID_ES_EFIELD;}
66  void Init ();
67  bool Execute ();
69  virtual grid<Position>* GetGrid () {return &Field;}
71  virtual GridPosition GetNx () {return Field.Size();}
73  void Scale (double);
75  Position At(const Position &dRx) const {return Field(dRx);}
76  protected:
77  PARAMETERMAP* MakeParamMap (PARAMETERMAP* pm = NULL);
78 };
79 #endif
80 
81