SPECIES Derived Type

type, public :: SPECIES


Inherits

type~~species~~InheritsGraph type~species SPECIES type~particles PARTICLES type~species->type~particles vars C_PTR C_PTR type~particles->C_PTR hint

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
type(PARTICLES), public :: vars

An instance of the PARTICLES derived type.

logical, public :: runaway

Flag to decide whether a given electron is a runaway (runaway=T) or not (runaway=F).

character(len=MAX_STRING_LENGTH), public :: spatial_distribution

String describing the type of initial spatial distribution for each electron species.

character(len=MAX_STRING_LENGTH), public :: energy_distribution

String describing the type of initial energy distribution for each electron species.

character(len=MAX_STRING_LENGTH), public :: pitch_distribution

String describing the type of initial pitch-angle distribution for each electron species.

real(kind=rp), public :: Eo

Initial energy of each electron species in case of using an initial mono-energetic distribution.

real(kind=rp), public :: go

Corresponding relativisitc factor of each electron species in case of using an initial mono-energetic distribution.

real(kind=rp), public :: etao

Initial pitch-angle of each electron species in case of using an initial mono-pitch-angle distribution.

real(kind=rp), public, DIMENSION(2):: Eo_lims

Minimum and maximum energy limits of a given initial non-mono-energetic distribution.

real(kind=rp), public, DIMENSION(2):: etao_lims

Minimum and maximum pitch-angle limits of a given initial non-mono-pitch-angle distribution.

real(kind=rp), public :: wc

The mean electron cyclotron frequency of each electron species.

real(kind=rp), public :: wc_r

The mean relativistic electron cyclotron frequency of each electron species.

real(kind=rp), public :: q

Charge of each species.

real(kind=rp), public :: m

Mass of each species.

integer, public :: ppp

Number of computational particles used to simulate each electron species.

integer, public :: pinit

Number of computational particles initialized for each electron species to give room for sources of additional electrons

integer, public :: pRE
real(kind=rp), public :: Ro

Radial position of the center of the electrons' initial spatial distribution.

real(kind=rp), public :: PHIo

Azimuthal position of the electrons' initial spatial distribution, in case of using a disk at a certain poloidal section.

real(kind=rp), public :: Zo

Height of the center of the electrons' initial spatial distribution.

real(kind=rp), public :: r_inner

Minimum minor radius of the electrons' initial spatial distribution.

real(kind=rp), public :: r_outter

Maximum minor radius of the electrons' initial spatial distribution.

real(kind=rp), public :: falloff_rate

Exponential falloff or standard deviation of a non-uniform radial distribution of electrons.

real(kind=rp), public :: shear_factor

Shear factor used to generate an initial spatial distribution with an elliptic poloidal cross section.

real(kind=rp), public :: sigmaR

Variance of the first dimension of a 2D Gaussian, spatial distribution function

real(kind=rp), public :: sigmaZ

Variance of the second dimension of a 2D Gaussian, spatial distribution function

real(kind=rp), public :: theta_gauss

Angle of counter-clockwise rotation (in degrees) of 2D Gaussian distribution relative to R,Z

real(kind=rp), public :: psi_max

Maximum value of the argument of the 2D gaussian exponential, used for an indicator function that limits the region of MH sampling

real(kind=rp), public :: Spong_b
real(kind=rp), public :: Spong_w
real(kind=rp), public :: Spong_dlam
real(kind=rp), public :: dth
real(kind=rp), public :: dgam
real(kind=rp), public :: dR
real(kind=rp), public :: dZ
real(kind=rp), public, DIMENSION(3):: Xtrace

Initial position in Cartesian coordinates for tracer particle


Source Code

  TYPE, PUBLIC :: SPECIES
     !! @note Derived type containing the initial parameters of each electron
     !! ensemble followed in a KORC simulation. @endnote

     TYPE(PARTICLES) 			:: vars 
     !! An instance of the PARTICLES derived type.
     LOGICAL 				:: runaway 
     !! Flag to decide whether a given electron is a runaway (runaway=T)
     !! or not (runaway=F).
     CHARACTER(MAX_STRING_LENGTH) 	:: spatial_distribution 
     !! String describing the type of initial spatial distribution for
     !! each electron species.
     CHARACTER(MAX_STRING_LENGTH) 	:: energy_distribution 
     !! String describing the type of initial energy distribution for
     !! each electron species.
     CHARACTER(MAX_STRING_LENGTH) 	:: pitch_distribution 
     !! String describing the type of initial pitch-angle distribution for
     !! each electron species.
     REAL(rp) 				:: Eo 
     !! Initial energy of each electron species in case of using an initial
     !! mono-energetic distribution.
     REAL(rp) 				:: go 
     !! Corresponding relativisitc factor of each electron species in case
     !! of using an initial mono-energetic distribution.
     REAL(rp) 				:: etao 
     !! Initial pitch-angle of each electron species in case of using an
     !! initial mono-pitch-angle distribution.
     REAL(rp), DIMENSION(2) 		:: Eo_lims 
     !! Minimum and maximum energy limits of a given initial
     !! non-mono-energetic distribution.
     REAL(rp), DIMENSION(2) 		:: etao_lims 
     !! Minimum and maximum pitch-angle limits of a given initial
     !! non-mono-pitch-angle distribution.
     REAL(rp) 				:: wc 
     !! The mean electron cyclotron frequency of each electron species.
     REAL(rp) 				:: wc_r 
     !! The mean relativistic electron cyclotron frequency of each electron
     !! species.
     REAL(rp) 				:: q 
     !! Charge of each species. @note This was left explicit to allow 
     !! KORC to follow electrons and ions in the future. @endnote
     REAL(rp) 				:: m 
     !! Mass of each species. @note This was left explicit to allow KORC 
     !! to follow electrons and ions in the future. @endnote
     INTEGER 				:: ppp 
     !! Number of computational particles used to simulate each electron
     !! species.
     INTEGER 				:: pinit 
     !! Number of computational particles initialized for each electron species
     !! to give room for sources of additional electrons
     INTEGER 				:: pRE 
     REAL(rp) 				:: Ro 
     !! Radial position of the center of the electrons' initial spatial
     !! distribution.
     REAL(rp) 				:: PHIo 
     !! Azimuthal position of the electrons' initial spatial 
     !! distribution, in case of using a disk at a certain poloidal section.
     REAL(rp) 				:: Zo 
     !! Height of the center of the electrons' initial spatial distribution.
     REAL(rp) 				:: r_inner 
     !! Minimum minor radius of the electrons' initial spatial distribution.
     REAL(rp) 				:: r_outter 
     !! Maximum minor radius of the electrons' initial spatial distribution.
     REAL(rp) 				:: falloff_rate 
     !! Exponential falloff or standard deviation of a non-uniform radial
     !! distribution of electrons.
     REAL(rp) 				:: shear_factor 
     !! Shear factor used to generate an initial spatial distribution with an
     !! elliptic poloidal cross section. 
     !! @note See <em>Carbajal and del-Castillo-Negrete, Nuclear Fusion,
     !! submitted (2018)</em>. @endnote
     REAL(rp)                            :: sigmaR
     !! Variance of the first dimension of a 2D Gaussian, spatial
     !! distribution function
     REAL(rp)                            :: sigmaZ
     !! Variance of the second dimension of a 2D Gaussian, spatial
     !! distribution function
     REAL(rp)                            :: theta_gauss
     !! Angle of counter-clockwise rotation (in degrees) of 2D Gaussian
     !! distribution relative to R,Z
     REAL(rp)                            :: psi_max
     !! Maximum value of the argument of the 2D gaussian exponential, used
     !! for an indicator function that limits the region of MH sampling
     REAL(rp)                            :: Spong_b
     REAL(rp)                            :: Spong_w
     REAL(rp)                            :: Spong_dlam
     REAL(rp)                            :: dth
     REAL(rp)                            :: dgam
     REAL(rp)                            :: dR
     REAL(rp)                            :: dZ
     REAL(rp),DIMENSION(3) :: Xtrace
     !! Initial position in Cartesian coordinates for tracer particle
  END TYPE SPECIES