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