Simulation settings structure
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=Int32), | public | :: | shot_number | Shot Number |
|||
real(kind=Float64), | public | :: | time | Shot time [s] |
|||
character(len=charlim), | public | :: | runid | = | '' | FIDASIM run ID |
|
character(len=charlim), | public | :: | result_dir | = | '' | Result directory |
|
character(len=charlim), | public | :: | tables_file | = | '' | Atomic tables file |
|
character(len=charlim), | public | :: | geometry_file | = | '' | FIDASIM input file containing geometric quantities |
|
character(len=charlim), | public | :: | equilibrium_file | = | '' | FIDASIM input file containing the plasma parameters and fields |
|
character(len=charlim), | public | :: | distribution_file | = | '' | FIDASIM input file containing the fast-ion distribution |
|
character(len=charlim), | public | :: | neutrals_file | = | '' | FIDASIM output/input file containing beam neutral density. Used when load_neutrals is set. |
|
integer, | public | :: | seed | Random number generator seed |
|||
integer(kind=Int64), | public | :: | n_fida | Number of Active FIDA mc markers |
|||
integer(kind=Int64), | public | :: | n_pfida | Number of Passive FIDA mc markers |
|||
integer(kind=Int64), | public | :: | n_npa | Number of Passiv NPA mc markers |
|||
integer(kind=Int64), | public | :: | n_pnpa | Number of Passive NPA mc markers |
|||
integer(kind=Int64), | public | :: | n_nbi | Number of neutral beam mc markers |
|||
integer(kind=Int64), | public | :: | n_dcx | Number of direct charge exchange (DCX) mc markers |
|||
integer(kind=Int64), | public | :: | n_halo | Number of halo mc markers |
|||
integer(kind=Int64), | public | :: | n_birth | Number of birth particles per n_nbi |
|||
integer(kind=Int32), | public | :: | calc_spec | Calculate spectra: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_beam | Calculate beam densities: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_nbi_dens | Calculate neutral beam density: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_dcx_dens | Calculate Direct Charge Exchange (DCX) density: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_halo_dens | Calculate Thermal Halo density: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_brems | Calculate bremmstruhlung: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_bes | Calculate NBI: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_dcx | Calculate DCX: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_halo | Calculate Halo: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_cold | Calculate Cold D-alpha: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_fida | Calculate Active FIDA: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_pfida | Calculate Passive FIDA: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | tot_spectra | Total number of spectral switches on |
|||
integer(kind=Int32), | public | :: | load_neutrals | Load neutrals from file: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_npa | Calculate Active NPA: 0 = off, 1=on, 2=on++ |
|||
integer(kind=Int32), | public | :: | calc_pnpa | Calculate Passive NPA: 0 = off, 1=on, 2=on++ |
|||
integer(kind=Int32), | public | :: | calc_fida_wght | Calculate FIDA weight: 0 = off, 1=on, 2=on++ |
|||
integer(kind=Int32), | public | :: | calc_npa_wght | Calculate NPA weights: 0 = off, 1=on, 2=on++ |
|||
integer(kind=Int32), | public | :: | calc_birth | Calculate birth profile: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_neutron | Calculate neutron flux: 0 = off, 1=on, 2=on++ |
|||
integer(kind=Int32), | public | :: | flr | FLR correction: 0=off, 1=1st order(vxb/omega), 2=2nd order correction |
|||
integer(kind=Int32), | public | :: | split | Split signals by fast ion class: 0=off, 1=on |
|||
integer(kind=Int32), | public | :: | verbose | ||||
real(kind=Float64), | public | :: | ab | Atomic mass of beam neutrals |
|||
integer(kind=Int32), | public | :: | impurity_charge | Impurity proton number |
|||
real(kind=Float64), | public | :: | ai | Atomic mass of thermal ions |
|||
integer(kind=Int32), | public | :: | dist_type | Type of fast-ion distribution |
|||
integer(kind=Int32), | public | :: | nlambda | Number of wavelength to calculate |
|||
real(kind=Float64), | public | :: | dlambda | Wavelength spacing [nm] |
|||
real(kind=Float64), | public | :: | lambdamin | Minimum wavelength [nm] |
|||
real(kind=Float64), | public | :: | lambdamax | Maximum wavelength [nm] |
|||
integer(kind=Int32), | public | :: | ne_wght | Number of energies in weight functions |
|||
integer(kind=Int32), | public | :: | np_wght | Number of pitches in weight functions |
|||
integer(kind=Int32), | public | :: | nphi_wght | Number of gyro-angles to average over in weight functions |
|||
integer(kind=Int32), | public | :: | nlambda_wght | Number of wavelength to calculate in weight functions |
|||
real(kind=Float64), | public | :: | emax_wght | Maximum energy in weight functions [keV] |
|||
real(kind=Float64), | public | :: | lambdamin_wght | Minimum wavelength in weight functions [nm] |
|||
real(kind=Float64), | public | :: | lambdamax_wght | Maximum wavelength in weight functions [nm] |
type SimulationInputs
!+ Simulation settings structure
integer(Int32) :: shot_number
!+ Shot Number
real(Float64) :: time
!+ Shot time [s]
character(charlim) :: runid = ''
!+ FIDASIM run ID
character(charlim) :: result_dir = ''
!+ Result directory
character(charlim) :: tables_file = ''
!+ Atomic tables file
character(charlim) :: geometry_file = ''
!+ FIDASIM input file containing geometric quantities
character(charlim) :: equilibrium_file = ''
!+ FIDASIM input file containing the plasma parameters and fields
character(charlim) :: distribution_file = ''
!+ FIDASIM input file containing the fast-ion distribution
character(charlim) :: neutrals_file = ''
!+ FIDASIM output/input file containing beam neutral density.
!+ Used when [[SimulationInputs:load_neutrals]] is set.
!! Random Number Generator Settings
integer :: seed
!+ Random number generator seed
!! Monte Carlo settings
integer(Int64) :: n_fida
!+ Number of Active FIDA mc markers
integer(Int64) :: n_pfida
!+ Number of Passive FIDA mc markers
integer(Int64) :: n_npa
!+ Number of Passiv NPA mc markers
integer(Int64) :: n_pnpa
!+ Number of Passive NPA mc markers
integer(Int64) :: n_nbi
!+ Number of neutral beam mc markers
integer(Int64) :: n_dcx
!+ Number of direct charge exchange (DCX) mc markers
integer(Int64) :: n_halo
!+ Number of halo mc markers
integer(Int64) :: n_birth
!+ Number of birth particles per [[SimulationInputs:n_nbi]]
!! Simulation switches
integer(Int32) :: calc_spec
!+ Calculate spectra: 0 = off, 1=on
integer(Int32) :: calc_beam
!+ Calculate beam densities: 0 = off, 1=on
integer(Int32) :: calc_nbi_dens
!+ Calculate neutral beam density: 0 = off, 1=on
integer(Int32) :: calc_dcx_dens
!+ Calculate Direct Charge Exchange (DCX) density: 0 = off, 1=on
integer(Int32) :: calc_halo_dens
!+ Calculate Thermal Halo density: 0 = off, 1=on
integer(Int32) :: calc_brems
!+ Calculate bremmstruhlung: 0 = off, 1=on
integer(Int32) :: calc_bes
!+ Calculate NBI: 0 = off, 1=on
integer(Int32) :: calc_dcx
!+ Calculate DCX: 0 = off, 1=on
integer(Int32) :: calc_halo
!+ Calculate Halo: 0 = off, 1=on
integer(Int32) :: calc_cold
!+ Calculate Cold D-alpha: 0 = off, 1=on
integer(Int32) :: calc_fida
!+ Calculate Active FIDA: 0 = off, 1=on
integer(Int32) :: calc_pfida
!+ Calculate Passive FIDA: 0 = off, 1=on
integer(Int32) :: tot_spectra
!+ Total number of spectral switches on
integer(Int32) :: load_neutrals
!+ Load neutrals from file: 0 = off, 1=on
integer(Int32) :: calc_npa
!+ Calculate Active NPA: 0 = off, 1=on, 2=on++
integer(Int32) :: calc_pnpa
!+ Calculate Passive NPA: 0 = off, 1=on, 2=on++
integer(Int32) :: calc_fida_wght
!+ Calculate FIDA weight: 0 = off, 1=on, 2=on++
integer(Int32) :: calc_npa_wght
!+ Calculate NPA weights: 0 = off, 1=on, 2=on++
integer(Int32) :: calc_birth
!+ Calculate birth profile: 0 = off, 1=on
integer(Int32) :: calc_neutron
!+ Calculate neutron flux: 0 = off, 1=on, 2=on++
integer(Int32) :: flr
!+ FLR correction: 0=off, 1=1st order(vxb/omega), 2=2nd order correction
integer(Int32) :: split
!+ Split signals by fast ion class: 0=off, 1=on
integer(Int32) :: verbose
!+ Verbosity: <0 = off++, 0 = off, 1=on, 2=on++
!! Neutral Beam Settings
real(Float64) :: ab
!+ Atomic mass of beam neutrals
!! Plasma parameters
integer(Int32) :: impurity_charge
!+ Impurity proton number
real(Float64) :: ai
!+ Atomic mass of thermal ions
!! Distribution settings
integer(Int32) :: dist_type
!+ Type of fast-ion distribution
!! Spectrum parameters
integer(Int32) :: nlambda
!+ Number of wavelength to calculate
real(Float64) :: dlambda
!+ Wavelength spacing [nm]
real(Float64) :: lambdamin
!+ Minimum wavelength [nm]
real(Float64) :: lambdamax
!+ Maximum wavelength [nm]
!! Weight function settings
integer(Int32) :: ne_wght
!+ Number of energies in weight functions
integer(Int32) :: np_wght
!+ Number of pitches in weight functions
integer(Int32) :: nphi_wght
!+ Number of gyro-angles to average over in weight functions
integer(Int32) :: nlambda_wght
!+ Number of wavelength to calculate in weight functions
real(Float64) :: emax_wght
!+ Maximum energy in weight functions [keV]
real(Float64) :: lambdamin_wght
!+ Minimum wavelength in weight functions [nm]
real(Float64) :: lambdamax_wght
!+ Maximum wavelength in weight functions [nm]
end type SimulationInputs