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
generation.h
Go to the documentation of this file.
1
5
#ifndef GENERATION_H
6
#define GENERATION_H
7
#include "
task.h
"
8
#include "
numeric.h
"
9
#include "
species.h
"
10
#include "
geometry.h
"
11
#define ID_GENERATION "Generation"
12
//---------------------------------------------------------------------------------------------------------------------
13
20
class
Generation
:
public
Task
{
21
private
:
23
std::string strGeometry;
24
protected
:
26
Species
*
pS
;
28
Geometry
*
pGeom
;
30
GridPosition
NG
;
31
public
:
33
Generation
() :
pS
(NULL),
pGeom
(NULL) {
NG
= 0;};
35
virtual
~Generation
() {};
37
std::string
GetClassName
()
const
{
return
ID_GENERATION;};
39
void
Init
();
40
protected
:
41
PARAMETERMAP*
MakeParamMap
(PARAMETERMAP* pm = NULL);
42
};
43
51
class
StartHomogen
:
public
Generation
{
52
protected
:
54
double
Ts
;
56
double
N
;
58
int
C
[2000];
59
int
cc;
61
double
dC
;
63
double
dV
;
65
double
Efk
;
67
double
Vmax
;
69
double
Vmp
;
71
double
V
;
73
double
npc
;
75
double
m
;
77
double
dx
;
79
double
dt
;
81
double
cs
;
83
double
Bz
;
85
double
rg
;
86
double
npc_lin,sumq,sumv;
87
#ifdef ONE_DIMENSIONAL
88
89
double
Rd;
91
double
Vo;
92
#endif
93
94
Velocity
Vel
;
96
Position
pos
;
97
Position
i,Nmin,Nmax;
98
public
:
100
StartHomogen
() {}
102
virtual
~StartHomogen
() {}
104
void
Init
();
105
111
bool
Execute
();
112
protected
:
113
PARAMETERMAP*
MakeParamMap
(PARAMETERMAP* pm = NULL);
114
118
double
VelocityGeneration
(
double
v);
119
123
void
InputVeloDistribution
(
Velocity
V
,
double
cs
,
double
Vn);
124
129
void
OutputVeloDistribution
();
130
};
131
#endif
Generated by
1.8.1.1