FastIonDistribution Derived Type

type, public :: FastIonDistribution

Defines a Guiding Center Fast-ion Distribution Function: F(E,p,R,Z,Phi)


Contents

Source Code


Components

TypeVisibility AttributesNameInitial
integer(kind=Int32), public :: nenergy

Number of energies

integer(kind=Int32), public :: npitch

Number of pitches

integer(kind=Int32), public :: nr

Number of radii

integer(kind=Int32), public :: nz

Number of z values

integer(kind=Int32), public :: nphi

Number of phi values

real(kind=Float64), public :: dE

Energy spacing [keV]

real(kind=Float64), public :: dp

Pitch spacing

real(kind=Float64), public :: dr

Radial spacing [cm]

real(kind=Float64), public :: dz

Z spacing [cm]

real(kind=Float64), public :: dphi

Angular spacing [rad]

real(kind=Float64), public :: emin

Minimum energy [keV]

real(kind=Float64), public :: emax

Maximum energy [keV]

real(kind=Float64), public :: e_range

Energy interval length [keV]

real(kind=Float64), public :: pmin

Minimum pitch

real(kind=Float64), public :: pmax

Maximum pitch

real(kind=Float64), public :: p_range

Pitch interval length

real(kind=Float64), public :: rmin

Minimum radius [cm]

real(kind=Float64), public :: rmax

Maximum radius [cm]

real(kind=Float64), public :: r_range

Radius interval length [cm]

real(kind=Float64), public :: zmin

Minimum Z [cm]

real(kind=Float64), public :: zmax

Maximum Z [cm]

real(kind=Float64), public :: z_range

Z interval length [cm]

real(kind=Float64), public :: phimin

Minimum Phi [rad]

real(kind=Float64), public :: phimax

Maximum Phi [rad]

real(kind=Float64), public :: phi_range

Phi interval length [rad]

real(kind=Float64), public :: n_tot =0.d0

Total Number of fast-ions

real(kind=Float64), public, dimension(:), allocatable:: energy

Energy values [keV]

real(kind=Float64), public, dimension(:), allocatable:: pitch

Pitch w.r.t. the magnetic field

real(kind=Float64), public, dimension(:), allocatable:: r

Radius [cm]

real(kind=Float64), public, dimension(:), allocatable:: z

Z [cm]

real(kind=Float64), public, dimension(:), allocatable:: phi

Angles [rad]

real(kind=Float64), public, dimension(:,:,:), allocatable:: denf

Fast-ion density defined on the inter_grid: denf(R,Z,Phi)

real(kind=Float64), public, dimension(:,:,:,:,:), allocatable:: f

Fast-ion distribution function defined on the inter_grid: F(E,p,R,Z,Phi)


Source Code

type FastIonDistribution
    !+ Defines a Guiding Center Fast-ion Distribution Function: F(E,p,R,Z,Phi)
    integer(Int32) :: nenergy
        !+ Number of energies
    integer(Int32) :: npitch
        !+ Number of pitches
    integer(Int32) :: nr
        !+ Number of radii
    integer(Int32) :: nz
        !+ Number of z values
    integer(Int32) :: nphi
        !+ Number of phi values
    real(Float64)  :: dE
        !+ Energy spacing [keV]
    real(Float64)  :: dp
        !+ Pitch spacing
    real(Float64)  :: dr
        !+ Radial spacing [cm]
    real(Float64)  :: dz
        !+ Z spacing [cm]
    real(Float64)  :: dphi
        !+ Angular spacing [rad]
    real(Float64)  :: emin
        !+ Minimum energy [keV]
    real(Float64)  :: emax
        !+ Maximum energy [keV]
    real(Float64)  :: e_range
        !+ Energy interval length [keV]
    real(Float64)  :: pmin
        !+ Minimum pitch
    real(Float64)  :: pmax
        !+ Maximum pitch
    real(Float64)  :: p_range
        !+ Pitch interval length
    real(Float64)  :: rmin
        !+ Minimum radius [cm]
    real(Float64)  :: rmax
        !+ Maximum radius [cm]
    real(Float64)  :: r_range
        !+ Radius interval length [cm]
    real(Float64)  :: zmin
        !+ Minimum Z [cm]
    real(Float64)  :: zmax
        !+ Maximum Z [cm]
    real(Float64)  :: z_range
        !+ Z interval length [cm]
    real(Float64)  :: phimin
        !+ Minimum Phi [rad]
    real(Float64)  :: phimax
        !+ Maximum Phi [rad]
    real(Float64)  :: phi_range
        !+ Phi interval length [rad]
    real(Float64)  :: n_tot = 0.d0
        !+ Total Number of fast-ions
    real(Float64), dimension(:), allocatable       :: energy
        !+ Energy values [keV]
    real(Float64), dimension(:), allocatable       :: pitch
        !+ Pitch w.r.t. the magnetic field
    real(Float64), dimension(:), allocatable       :: r
        !+ Radius [cm]
    real(Float64), dimension(:), allocatable       :: z
        !+ Z [cm]
    real(Float64), dimension(:), allocatable       :: phi
        !+ Angles [rad]
    real(Float64), dimension(:,:,:), allocatable     :: denf
        !+ Fast-ion density defined on the [[libfida:inter_grid]]: denf(R,Z,Phi)
    real(Float64), dimension(:,:,:,:,:), allocatable :: f
        !+ Fast-ion distribution function defined on the [[libfida:inter_grid]]: F(E,p,R,Z,Phi)
end type FastIonDistribution