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(kind=Int64), | public | :: | n_fida | Number of FIDA mc markers |
|||
integer(kind=Int64), | public | :: | n_npa | Number of 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_brems | Calculate bremmstruhlung: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_bes | Calculate BES: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_fida | Calculate FIDA: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | load_neutrals | Load neutrals from file: 0 = off, 1=on |
|||
integer(kind=Int32), | public | :: | calc_npa | Calculate 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 |
|||
integer(kind=Int32), | public | :: | no_flr | Turns off Finite Larmor Radius effects: 0=off, 1=on |
|||
integer(kind=Int32), | public | :: | dump_dcx | Output DCX density and spectra: 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.
!! Monte Carlo settings
integer(Int64) :: n_fida
!+ Number of FIDA mc markers
integer(Int64) :: n_npa
!+ Number of 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_brems
!+ Calculate bremmstruhlung: 0 = off, 1=on
integer(Int32) :: calc_bes
!+ Calculate BES: 0 = off, 1=on
integer(Int32) :: calc_fida
!+ Calculate FIDA: 0 = off, 1=on
integer(Int32) :: load_neutrals
!+ Load neutrals from file: 0 = off, 1=on
integer(Int32) :: calc_npa
!+ Calculate 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
integer(Int32) :: no_flr
!+ Turns off Finite Larmor Radius effects: 0=off, 1=on
integer(Int32) :: dump_dcx
!+ Output DCX density and spectra: 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