Defines | Typedefs | Enumerations | Variables
types.hpp File Reference

Base types. More...

Go to the source code of this file.

Defines

#define PARTICLE_T   0
 Defined keywords for accessing particle point coordinates.
#define PARTICLE_X   1
#define PARTICLE_VX   2
#define PARTICLE_Y   3
#define PARTICLE_VY   4
#define PARTICLE_R   3
#define PARTICLE_VR   4
#define PARTICLE_W   5
#define PARTICLE_Z   5
#define PARTICLE_VZ   6

Typedefs

typedef field_type_e field_diag_type_e
 Field diagnostic type.

Enumerations

enum  geom_mode_e { MODE_1D = 0, MODE_2D, MODE_CYL, MODE_3D }
 Geometry mode enum. More...
enum  field_extrpl_e { FIELD_EXTRAPOLATE = 0, FIELD_MIRROR, FIELD_ZERO, FIELD_NAN }
 Field extrapolation mode. More...
enum  field_type_e {
  FIELD_NONE = 0, FIELD_EPOT, FIELD_SCHARGE, FIELD_TRAJDENS,
  FIELD_EFIELD, FIELD_EFIELD_X, FIELD_EFIELD_Y, FIELD_EFIELD_Z,
  FIELD_BFIELD, FIELD_BFIELD_X, FIELD_BFIELD_Y, FIELD_BFIELD_Z
}
 Field type. More...
enum  bound_e { BOUND_DIRICHLET = 0, BOUND_NEUMANN }
 Boundary type. More...
enum  coordinate_axis_e { AXIS_X = 0, AXIS_Y, AXIS_R, AXIS_Z }
 Coordinate axis identifier. More...
enum  trajectory_diagnostic_e {
  DIAG_NONE = 0, DIAG_T, DIAG_X, DIAG_VX,
  DIAG_Y, DIAG_R, DIAG_VY, DIAG_VR,
  DIAG_W, DIAG_VTHETA, DIAG_Z, DIAG_VZ,
  DIAG_O, DIAG_VO, DIAG_P, DIAG_VP,
  DIAG_Q, DIAG_VQ, DIAG_XP, DIAG_YP,
  DIAG_RP, DIAG_AP, DIAG_ZP, DIAG_OP,
  DIAG_PP, DIAG_CURR, DIAG_EK, DIAG_QM
}
 Type of diagnostic for trajectories. More...

Variables

const char * coordinate_axis_string []
 String describing axis names without unit.
const char * coordinate_axis_string_with_unit []
 String describing axis names with unit.
const char * trajectory_diagnostic_string []
 String describing diagnostic without unit.
const char * trajectory_diagnostic_string_with_unit []
 String describing diagnostic with unit.

Detailed Description

Base types.


Define Documentation

#define PARTICLE_R   3
#define PARTICLE_T   0

Defined keywords for accessing particle point coordinates.

#define PARTICLE_VR   4
#define PARTICLE_VX   2
#define PARTICLE_VY   4
#define PARTICLE_VZ   6
#define PARTICLE_W   5
#define PARTICLE_X   1
#define PARTICLE_Y   3
#define PARTICLE_Z   5

Typedef Documentation

Field diagnostic type.

Deprecated:
Provided for compatibility only. Replaced by multipurpose field type selector field_type_e.

Enumeration Type Documentation

enum bound_e

Boundary type.

Boundary conditions for solids and simulation box boundaries. See class Bound for more information.

Enumerator:
BOUND_DIRICHLET 

Dirichlet boundary condition.

BOUND_NEUMANN 

Neumann (or natural) boundary condition.

Coordinate axis identifier.

Enumerator:
AXIS_X 

X axis.

AXIS_Y 

Y axis.

AXIS_R 

R axis.

AXIS_Z 

Z axis.

Field extrapolation mode.

This parameter is used to control the behaviour of the field evaluators outside the defined area. The field value can be extrapolated from the closest defined points (FIELD_EXTRAPOLATE), the field can be mirrored (FIELD_MIRROR), the field evaluator can simply return zero (FIELD_ZERO) or the field evaluator can return not-a-number, NaN (FIELD_NAN ).

Enumerator:
FIELD_EXTRAPOLATE 

Extrapolate field outside boundary.

FIELD_MIRROR 

Mirror field on boundary.

FIELD_ZERO 

Return zero outside boundary.

FIELD_NAN 

Return not-a-number outside boundary.

Field type.

Indicator for field type.

Enumerator:
FIELD_NONE 

Dummy field.

FIELD_EPOT 

Electric potential field.

FIELD_SCHARGE 

Space charge density field.

FIELD_TRAJDENS 

Trajectory density field.

FIELD_EFIELD 

Electric vector field.

FIELD_EFIELD_X 

Scalar field containing X component of electric vector field.

FIELD_EFIELD_Y 

Scalar field containing Y component of electric vector field.

FIELD_EFIELD_Z 

Scalar field containing Z component of electric vector field.

FIELD_BFIELD 

Magnetic vector field.

FIELD_BFIELD_X 

Scalar field containing X component of magnetic vector field.

FIELD_BFIELD_Y 

Scalar field containing Y component of magnetic vector field.

FIELD_BFIELD_Z 

Scalar field containing Z component of magnetic vector field.

Geometry mode enum.

Simulation geometry can be either 1D (MODE_1D), planar 2D (MODE_2D), planar 3D (MODE_3D) or it can be defined as cylindrical symmetrical 2D with coordinates x and r (MODE_CYL).

The geometry mode selects the active axes for calculation and fields. For MODE_1D only x-axis (axis 0) is active. For MODE_2D the x- and y-axes are active (axes 0 and 1). For MODE_CYL the x- and r-axes are active (axes 0 and 1). For MODE_3D the x- and y- and z-axes are active (axes 0, 1 and 2).

Enumerator:
MODE_1D 

1D geometry

MODE_2D 

2D geometry

MODE_CYL 

Cylindrically symmetric geometry.

MODE_3D 

3D geometry

Type of diagnostic for trajectories.

O-, P- and Q-axes are diagnostic axes defined by user.

Enumerator:
DIAG_NONE 

Dummy diagnostic. Does nothing.

DIAG_T 

Time (s)

DIAG_X 

X-axis position (m)

DIAG_VX 

X-axis velocity (m/s)

DIAG_Y 

Y-axis position (m)

DIAG_R 

Radial position (m)

DIAG_VY 

Y-axis velocity (m/s)

DIAG_VR 

Radial velocity (m/s)

DIAG_W 

Angular velocity (rad/s)

DIAG_VTHETA 

Tangential velocity (m/s)

DIAG_Z 

Z-axis position (m)

DIAG_VZ 

Z-axis velocity (m/s)

DIAG_O 

O-axis position (m)

DIAG_VO 

O-axis velocity (m/s)

DIAG_P 

P-axis position (m)

DIAG_VP 

P-axis velocity (m/s)

DIAG_Q 

Q-axis position (m)

DIAG_VQ 

Q-axis velocity (m/s)

DIAG_XP 

$v_x/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_YP 

$v_y/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_RP 

$v_r/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_AP 

$v_{\theta}/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_ZP 

$v_z/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_OP 

$v_o/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_PP 

$v_p/v_q$, where direction q is normal to diagnostic plane (rad)

DIAG_CURR 

Current (I)

DIAG_EK 

Kinetic energy (J)

DIAG_QM 

Charge per mass (C/g)


Variable Documentation

const char* coordinate_axis_string[]

String describing axis names without unit.

Contains strings: "x", "y", "r" and "z".

String describing axis names with unit.

Contains strings: "x (m)", "y (m)", "r (m)" and "z (m)".

String describing diagnostic without unit.

Contains strings: "none", "t", "x", "v_x", "y", ... Greek letters are typed with LaTeX notation for correct output in plots.

String describing diagnostic with unit.

Contains strings: "none ()", "t (s)", "x (m)", "v_x (m/2)", "y (m)", ... Greek letters are typed with LaTeX notation for correct output in plots.