O P A R - Open Architecture Particle in Cell Simulation - Version 3.0
Plasma simulations with dust particles
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
•
All
Classes
Files
Functions
Variables
Friends
Macros
Groups
Pages
potential.h
Go to the documentation of this file.
1
6
#ifndef POTENTIAL_H
7
#define POTENTIAL_H
8
#include "
task.h
"
9
#include "
numeric.h
"
10
#include "
geometry.h
"
11
#include "
density.h
"
12
#include "
wall.h
"
13
#define ID_POTENTIAL "Potential"
14
//---------------------------------------------------------------------------------------------------------------------
15
25
class
Potential
:
public
Task
{
26
private
:
28
std::string strGeometry;
29
protected
:
31
int
tstep
;
33
GridPosition
NG
;
35
double
dx
;
37
double
Rd
;
39
double
cd
;
41
grid<double>
Pot
;
43
Geometry
*
pGeom
;
44
public
:
46
Potential
() :
pGeom
(NULL) {};
48
virtual
~Potential
() {};
49
#ifdef ONE_DIMENSIONAL
50
51
double
Vp;
52
#endif
53
#ifndef ONE_DIMENSIONAL
54
55
double
potd
[20];
56
#endif
57
58
virtual
std::string
GetClassName
()
const
{
return
ID_POTENTIAL;}
60
virtual
grid<double>
*
GetGrid
() {
return
&
Pot
;}
62
virtual
Position
GetSpaceQuant
()
const
{
return
dx
;}
64
virtual
double
&
operator[]
(
GridPosition
i) {
return
Pot
[i];}
66
virtual
GridPosition
GetNx
()
const
{
return
NG
;}
67
virtual
void
Init
();
69
protected
:
70
virtual
PARAMETERMAP*
MakeParamMap
(PARAMETERMAP* pm);
71
};
72
82
class
DustPotential
:
public
Potential
{
83
private
:
85
std::string strDensity;
87
double
xq1;
89
double
xq2;
90
protected
:
92
std::valarray<double>
Nd_u
;
94
std::valarray<double>
Nd_o
;
96
std::valarray<double>
Hd
;
98
std::valarray<double>
ni
;
100
Density
*
pRho
;
102
Wall
*
pWall
;
104
double
n0
;
105
public
:
107
DustPotential
() {}
109
virtual
~DustPotential
() {}
110
virtual
void
Init
();
111
virtual
bool
Execute
();
112
protected
:
113
virtual
PARAMETERMAP*
MakeParamMap
(PARAMETERMAP* pm = NULL);
114
};
115
#endif
Generated by
1.8.1.1