Derived type containing all the electrons' variables in the simulation.
Cartesian coordinates of the electrons' position.
dim(X) = (3,SPECIES::ppp). Cartesian components of the electrons' velocity. dim(V) = dim(X). Cartesian coordinates of the electrons' guiding-center position. Coordinates of the electrons' position in cylindrical or toroidal
coordinates. Placeholder coordinates of the electrons' position in cylindrical
coordinates for GC orbit model. Placeholder of the electrons' parallel momentum for the GC orbit model Cartesian components of the electric field felt by each electron.
dim(E) = dim(X). Cartesian components of the magnetic field felt by each electron.
dim(B) = dim(X). Cartesian components of the gradient of the R-component of the
magnetic field felt by each electron. dim(B) = dim(X). Cartesian components of the gradient of the PHI-component of the
magnetic field felt by each electron. dim(B) = dim(X). Cartesian components of the gradient of the Z-component of the
magnetic field felt by each electron. dim(B) = dim(X). Cylindrical components of the gradient of magnitude of magnetic
field felt by each electron. dim(B) = dim(X). Cylindrical components of the curl of the magnetic field unit
vector felt by each electron. dim(B) = dim(X). RHS of equations of motion for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Cash-Karp Runge-Kutta coefficient for GC orbit model Electron density seen by each electron. dim(ne) = (1,SPECIES::ppp). Electron temperature seen by each electron. dim(Te) = (1,SPECIES::ppp). Zeff seen by each electron. dim(Zeff) = (1,SPECIES::ppp). Instantaneous relativistic factor
of each electron in the simulation. Instantaneous pitch angle of each electron in the simulation. Magnetic moment of each electron in the simulation. Instantaneous radiated power by each electron in the simulation. Instantaneous input power of each electron due to the electric
field acceleration. Flag for each particle to decide whether it is being followed
(flag=T) or not (flag=F). An auxiliary scalar variable for each electron. Weight of each electron. This is used when sampling weighted
PDFs and in the synthetic camera diagnostic.
Components
Type Visibility
Attributes Name Initial
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
X
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
V
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
Rgc
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
Y
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
Y0
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
V0
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
E
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
B
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
PSI_P
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
BR
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
BPHI
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
BZ
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
gradB
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
curlb
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
RHS
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k1
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k2
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k3
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k4
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k5
real(kind=rp),
public,
DIMENSION(:,:), ALLOCATABLE ::
k6
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
ne
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
Te
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
Zeff
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
g
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
eta
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
mu
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
Prad
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
Pin
integer(kind=is),
public,
DIMENSION(:), ALLOCATABLE ::
flag
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
AUX
real(kind=rp),
public,
DIMENSION(:), ALLOCATABLE ::
wt
Source Code
TYPE, PUBLIC :: PARTICLES
!! @note Derived type containing all the electrons' variables
!!in the simulation. @endnote
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: X
!! Cartesian coordinates of the electrons' position.
!! dim(X) = (3,SPECIES::ppp).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: V
!! Cartesian components of the electrons' velocity. dim(V) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: Rgc
!! Cartesian coordinates of the electrons' guiding-center position.
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: Y
!! Coordinates of the electrons' position in cylindrical or toroidal
!! coordinates.
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: Y0
!! Placeholder coordinates of the electrons' position in cylindrical
!! coordinates for GC orbit model.
REAL(rp), DIMENSION(:), ALLOCATABLE :: V0
!! Placeholder of the electrons' parallel momentum for the GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: E
!! Cartesian components of the electric field felt by each electron.
!! dim(E) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: B
!! Cartesian components of the magnetic field felt by each electron.
!! dim(B) = dim(X).
REAL(rp), DIMENSION(:), ALLOCATABLE :: PSI_P
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: BR
!! Cartesian components of the gradient of the R-component of the
!! magnetic field felt by each electron. dim(B) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: BPHI
!! Cartesian components of the gradient of the PHI-component of the
!! magnetic field felt by each electron. dim(B) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: BZ
!! Cartesian components of the gradient of the Z-component of the
!! magnetic field felt by each electron. dim(B) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: gradB
!! Cylindrical components of the gradient of magnitude of magnetic
!! field felt by each electron. dim(B) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: curlb
!! Cylindrical components of the curl of the magnetic field unit
!! vector felt by each electron. dim(B) = dim(X).
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: RHS
!! RHS of equations of motion for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k1
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k2
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k3
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k4
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k5
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:,:), ALLOCATABLE :: k6
!! Cash-Karp Runge-Kutta coefficient for GC orbit model
REAL(rp), DIMENSION(:), ALLOCATABLE :: ne
!! Electron density seen by each electron. dim(ne) = (1,SPECIES::ppp).
REAL(rp), DIMENSION(:), ALLOCATABLE :: Te
!! Electron temperature seen by each electron. dim(Te) = (1,SPECIES::ppp).
REAL(rp), DIMENSION(:), ALLOCATABLE :: Zeff
!! Zeff seen by each electron. dim(Zeff) = (1,SPECIES::ppp).
REAL(rp), DIMENSION(:), ALLOCATABLE :: g
!! Instantaneous relativistic \(\gamma = 1/\sqrt{1 - v^2/c^2}\) factor
!! of each electron in the simulation.
REAL(rp), DIMENSION(:), ALLOCATABLE :: eta
!! Instantaneous pitch angle of each electron in the simulation.
REAL(rp), DIMENSION(:), ALLOCATABLE :: mu
!! Magnetic moment of each electron in the simulation.
REAL(rp), DIMENSION(:), ALLOCATABLE :: Prad
!! Instantaneous radiated power by each electron in the simulation.
REAL(rp), DIMENSION(:), ALLOCATABLE :: Pin
!! Instantaneous input power of each electron due to the electric
!! field acceleration.
INTEGER(is), DIMENSION(:), ALLOCATABLE :: flag
!! Flag for each particle to decide whether it is being followed
!! (flag=T) or not (flag=F).
REAL(rp), DIMENSION(:), ALLOCATABLE :: AUX
!! An auxiliary scalar variable for each electron.
REAL(rp), DIMENSION(:), ALLOCATABLE :: wt
!! Weight of each electron. This is used when sampling weighted
!! PDFs and in the synthetic camera diagnostic.
END TYPE PARTICLES