Main Page
Related Pages
Classes
Files
File List
File Members
src
types.hpp
Go to the documentation of this file.
1
5
/* Copyright (c) 2005-2011 Taneli Kalvas. All rights reserved.
6
*
7
* You can redistribute this software and/or modify it under the terms
8
* of the GNU General Public License as published by the Free Software
9
* Foundation; either version 2 of the License, or (at your option)
10
* any later version.
11
*
12
* This library is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this library (file "COPYING" included in the package);
19
* if not, write to the Free Software Foundation, Inc., 51 Franklin
20
* Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
* If you have questions about your rights to use or distribute this
23
* software, please contact Berkeley Lab's Technology Transfer
24
* Department at TTD@lbl.gov. Other questions, comments and bug
25
* reports should be sent directly to the author via email at
26
* taneli.kalvas@jyu.fi.
27
*
28
* NOTICE. This software was developed under partial funding from the
29
* U.S. Department of Energy. As such, the U.S. Government has been
30
* granted for itself and others acting on its behalf a paid-up,
31
* nonexclusive, irrevocable, worldwide license in the Software to
32
* reproduce, prepare derivative works, and perform publicly and
33
* display publicly. Beginning five (5) years after the date
34
* permission to assert copyright is obtained from the U.S. Department
35
* of Energy, and subject to any subsequent five (5) year renewals,
36
* the U.S. Government is granted for itself and others acting on its
37
* behalf a paid-up, nonexclusive, irrevocable, worldwide license in
38
* the Software to reproduce, prepare derivative works, distribute
39
* copies to the public, perform publicly and display publicly, and to
40
* permit others to do so.
41
*/
42
43
#ifndef TYPES_HPP
44
#define TYPES_HPP 1
45
46
59
enum
geom_mode_e
{
60
MODE_1D
= 0,
61
MODE_2D
,
62
MODE_CYL
,
63
MODE_3D
64
};
65
66
76
enum
field_extrpl_e
{
77
FIELD_EXTRAPOLATE
= 0,
78
FIELD_MIRROR
,
79
FIELD_ZERO
,
80
FIELD_NAN
81
};
82
83
88
enum
field_type_e
{
89
FIELD_NONE
= 0,
90
FIELD_EPOT
,
91
FIELD_SCHARGE
,
92
FIELD_TRAJDENS
,
93
FIELD_EFIELD
,
94
FIELD_EFIELD_X
,
95
FIELD_EFIELD_Y
,
96
FIELD_EFIELD_Z
,
97
FIELD_BFIELD
,
98
FIELD_BFIELD_X
,
99
FIELD_BFIELD_Y
,
100
FIELD_BFIELD_Z
101
};
102
103
109
typedef
field_type_e
field_diag_type_e
;
110
111
117
enum
bound_e
{
118
BOUND_DIRICHLET
= 0,
119
BOUND_NEUMANN
120
};
121
122
125
#define PARTICLE_T 0
126
#define PARTICLE_X 1
127
#define PARTICLE_VX 2
128
#define PARTICLE_Y 3
129
#define PARTICLE_VY 4
130
#define PARTICLE_R 3
131
#define PARTICLE_VR 4
132
#define PARTICLE_W 5
133
#define PARTICLE_Z 5
134
#define PARTICLE_VZ 6
135
136
139
enum
coordinate_axis_e
{
140
AXIS_X
= 0,
141
AXIS_Y
,
142
AXIS_R
,
143
AXIS_Z
144
};
145
146
151
extern
const
char
*
coordinate_axis_string
[];
152
153
158
extern
const
char
*
coordinate_axis_string_with_unit
[];
159
160
165
enum
trajectory_diagnostic_e
{
166
DIAG_NONE
= 0,
167
DIAG_T
,
168
DIAG_X
,
169
DIAG_VX
,
170
DIAG_Y
,
171
DIAG_R
,
172
DIAG_VY
,
173
DIAG_VR
,
174
DIAG_W
,
175
DIAG_VTHETA
,
176
DIAG_Z
,
177
DIAG_VZ
,
178
DIAG_O
,
179
DIAG_VO
,
180
DIAG_P
,
181
DIAG_VP
,
182
DIAG_Q
,
183
DIAG_VQ
,
184
DIAG_XP
,
185
DIAG_YP
,
186
DIAG_RP
,
187
DIAG_AP
,
188
DIAG_ZP
,
189
DIAG_OP
,
190
DIAG_PP
,
191
DIAG_CURR
,
192
DIAG_EK
,
193
DIAG_QM
194
};
195
196
202
extern
const
char
*
trajectory_diagnostic_string
[];
203
204
211
extern
const
char
*
trajectory_diagnostic_string_with_unit
[];
212
213
214
#endif
215
Reference manual for Ion Beam Simulator 1.0.5b
Generated on by
Doxygen
1.8.2 on Sun Oct 7 2012 06:30:42.