Derived type containing all the electrons' variables in the simulation.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | X | Cartesian coordinates of the electrons' position. dim(X) = (3,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | V | Cartesian components of the electrons' velocity. dim(V) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Rgc | Cartesian coordinates of the electrons' guiding-center position. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Y | Coordinates of the electrons' position in cylindrical or toroidal coordinates. |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | Y0 | Placeholder coordinates of the electrons' position in cylindrical coordinates for GC orbit model. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | V0 | Placeholder of the electrons' parallel momentum for the GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | E | Cartesian components of the electric field felt by each electron. dim(E) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | B | Cartesian components of the magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | PSI_P | |||
real(kind=rp), | public, | 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(kind=rp), | public, | 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(kind=rp), | public, | 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(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | gradB | Cylindrical components of the gradient of magnitude of magnetic field felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | curlb | Cylindrical components of the curl of the magnetic field unit vector felt by each electron. dim(B) = dim(X). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | RHS | RHS of equations of motion for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k1 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k2 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k3 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k4 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k5 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | k6 | Cash-Karp Runge-Kutta coefficient for GC orbit model |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | ne | Electron density seen by each electron. dim(ne) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:,:), ALLOCATABLE | :: | nimp | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | ni | |||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Te | Electron temperature seen by each electron. dim(Te) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Zeff | Zeff seen by each electron. dim(Zeff) = (1,SPECIES::ppp). |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | g | Instantaneous relativistic factor of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | eta | Instantaneous pitch angle of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | mu | Magnetic moment of each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Prad | Instantaneous radiated power by each electron in the simulation. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | Pin | Instantaneous input power of each electron due to the electric field acceleration. |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagCon | Flag for each particle to decide whether it is contained |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagCol | Flag for each particle to decide whether it is part of the high energy population |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | flagRE | Flag for each particle to decide whether it is initialized |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | AUX | An auxiliary scalar variable for each electron. |
||
real(kind=rp), | public, | DIMENSION(:), ALLOCATABLE | :: | wt | Weight of each electron. This is used when sampling weighted PDFs and in the synthetic camera diagnostic. |
||
integer(kind=is), | public, | DIMENSION(:), ALLOCATABLE | :: | initLCFS | |||
type(C_PTR), | public, | DIMENSION(:), ALLOCATABLE | :: | hint | Hint for M3D_C1 interpolation. |
||
logical, | public | :: | cart |
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 :: nimp
REAL(rp), DIMENSION(:), ALLOCATABLE :: ni
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 :: flagCon
!! Flag for each particle to decide whether it is contained
INTEGER(is), DIMENSION(:), ALLOCATABLE :: flagCol
!! Flag for each particle to decide whether it is part of the high
!! energy population
INTEGER(is), DIMENSION(:), ALLOCATABLE :: flagRE
!! Flag for each particle to decide whether it is initialized
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.
INTEGER(is), DIMENSION(:), ALLOCATABLE :: initLCFS
#ifdef FIO
TYPE(C_PTR), DIMENSION(:), ALLOCATABLE :: hint
!! Hint for M3D_C1 interpolation.
#endif
LOGICAL :: cart
END TYPE PARTICLES