c5a4b180bc
1. Introduces enumerations (and some booleans) intended to replace all the magic numbers used throughout the code to represent multiple choices. 2. Replace the gray_params.sh script a new one that automatically generates code for all the GRAY parameters by parsing gray_params.f90. 3. Also generate extra code to accept the enum identifiers as valid values in the configuration files and command line arguments. 4. Set sensible default values for parameters that are rarely changes.
185 lines
5.1 KiB
INI
185 lines
5.1 KiB
INI
[raytracing]
|
||
; Number of rays in the radial/angular direction
|
||
nrayr = 1
|
||
nrayth = 16
|
||
; Normalized maximum radius of the beam power
|
||
rwmax = 1.0
|
||
|
||
; Switch between simple raytracing (0) and beamtracing (1)
|
||
igrad = 0
|
||
|
||
; Max number of passes inside the plasma [multipass module]
|
||
; When positive reflections occur on the plasma limiter provided by the
|
||
; G-EQDSK file; when negative on a simple limiter at R=`rwall`, see below.
|
||
ipass = 1
|
||
|
||
; Whether to compute the wave polarisation (from chi, psi)
|
||
ipol = .false.
|
||
; Step size (cm) for the numerical integration
|
||
dst = 0.1
|
||
; Max number of integration steps
|
||
nstep = 12000
|
||
|
||
; Choice of the integration variable
|
||
; STEP_ARCLEN: arc length (s)
|
||
; STEP_TIME: time (actually c⋅t)
|
||
; STEP_PHASE: phase (actually real part of eikonal S_r=k₀⋅φ)
|
||
idst = STEP_ARCLEN
|
||
|
||
|
||
[ecrh_cd]
|
||
; Choice of the power absorption model
|
||
; ABSORP_OFF: no absorption at all
|
||
; ABSORP_WEAK: weakly relativistic
|
||
; ABSORP_FULL: fully relativistic (faster variant)
|
||
; ABSORP_FULL_ALT: fully relativistic (slower variant)
|
||
; Note: iwarm /= ABSORP_OFF is required for current drive
|
||
iwarm = ABSORP_FULL
|
||
|
||
; Order of the electron Larmor radius expansion
|
||
; (used by some absorption models)
|
||
ilarm = 5
|
||
|
||
; Max number of iterations for the solution of the dispersion relation.
|
||
; (used by some absorption models)
|
||
; Note: if negative the result of the first iteration will be used in
|
||
; case the result doesn't converge within |imx| iterations.
|
||
imx = -20
|
||
|
||
; Current drive model
|
||
; CD_OFF: no current drive at all
|
||
; CD_COHEN: Cohen
|
||
; CD_NO_TRAP: no trapping
|
||
; CD_NEOCLASSIC: Neoclassical
|
||
ieccd = CD_NEOCLASSIC
|
||
|
||
|
||
[antenna]
|
||
; Wave launch angles (deg)
|
||
alpha = 45 ; Poloidal angle (positive → up)
|
||
beta = 0 ; Toroidal angle (positive → right)
|
||
|
||
; Injected power (MW)
|
||
power = 1.0
|
||
|
||
; Polarisation mode
|
||
; MODE_O: ordinary (O)
|
||
; MODE_X: extraordinary (X)
|
||
iox = MODE_X
|
||
; Alternatively, parameters of the polarisation ellipse
|
||
; χ: angle between the principal axes and the (x,y) axes
|
||
; ψ: atan(ε), where ε is the ellipticity
|
||
chi = 0
|
||
psi = 0
|
||
|
||
; Beam parameters format
|
||
; BEAM_0D: fixed beam parameters
|
||
; BEAM_1D: 1D steering angle table
|
||
; BEAM_2D: 2D steering angles table
|
||
ibeam = 0
|
||
|
||
; Filepath of the beam data (relative to this file)
|
||
filenm = "beamdata.txt"
|
||
|
||
|
||
[equilibrium]
|
||
; MHD equilibrium kind
|
||
; EQ_VACUUM: vacuum (i.e. no plasma at all)
|
||
; EQ_ANALYTICAL: analytical model
|
||
; EQ_EQDSK_FULL: G-EQDSK format - data valid on the whole domain
|
||
; EQ_EQDSK_PARTIAL: G-EQDSK format - data valid only inside the LCFS
|
||
iequil = EQ_EQDSK_FULL
|
||
|
||
; Filepath of the equilibrium data (relative to this file)
|
||
filenm = "magneticdata.eqdsk"
|
||
; COCOS index
|
||
icocos = 0
|
||
|
||
; Whether the poloidal function is normalised (G-EQDSK)
|
||
; false: is not normalised, ψ → |ψ - ψ(edge)|/|ψ(axis) - ψ(edge)|
|
||
; true: is already normalised
|
||
ipsinorm = false
|
||
|
||
; G-EQDSK format parameters
|
||
; Whether header starts with a description, a.k.a identification string
|
||
idesc = true
|
||
; Whether the records have variable length
|
||
; Note: some non-compliant programs output numbers formatted with variable length
|
||
; instead of using the single (5e16.9) specifier.
|
||
ifreefmt = false
|
||
|
||
; Position of the X point
|
||
; X_IS_MISSING: No X point
|
||
; X_AT_TOP: At the top of the plasma
|
||
; X_AT_BOTTOM: At the bottom of the plasma
|
||
ixp = X_IS_MISSING
|
||
|
||
; Tension of splines
|
||
; Note: 0 means perfect interpolation
|
||
ssplps = 0.005 ; for ψ(R,Z), normalised poloidal flux
|
||
ssplf = 0.01 ; for F(ψ)=R⋅B_T, poloidal current function
|
||
|
||
; Sign of toroidal field/current (used when COCOS index is 0,10)
|
||
; When viewing from above: +1 → counter-clockwise, -1 → clockwise
|
||
sgnb = -1
|
||
sgni = +1
|
||
; Rescaling factor for the magnetic field
|
||
factb = 1
|
||
|
||
|
||
[profiles]
|
||
; (input) plasma profiles parameters
|
||
|
||
; Plasma profiles kind
|
||
; PROF_ANALYTIC: analytical model
|
||
; PROF_NUMERIC: numerical data (ρ, n_e, T_e, table)
|
||
iprof = PROF_NUMERIC
|
||
|
||
; Plasma profiles radial coordinate
|
||
; RHO_TOR: ρ_t = √Φ (where Φ is the normalised toroidal flux)
|
||
; RHO_POL: ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
||
; RHO_PSI: normalised poloidal flux ψ
|
||
irho = RHO_TOR
|
||
|
||
; Filepath of the equilibrium (relative to this file)
|
||
filenm = "profiles.txt"
|
||
|
||
; Tension of the density spline
|
||
; Note: 0 means perfect interpolation
|
||
sspld = 0.1
|
||
|
||
; Rescaling factor for electron temperature/density
|
||
factte = 1
|
||
factne = 1
|
||
|
||
; Choice of model for rescaling the temperature/density
|
||
; with the magnetic field (if factb ≠ 0)
|
||
; SCALE_OFF: don't rescale at all
|
||
; SCALE_COLLISION: scale while preserving collisionality
|
||
; SCALE_GREENWALD: scale while preserving the Greenwald fraction
|
||
iscal = SCALE_OFF
|
||
|
||
|
||
[output]
|
||
; Output data parameters
|
||
|
||
; ECRH&CD profiles grid:
|
||
; Radial coordinate
|
||
; RHO_TOR: ρ_t = √Φ (where Φ is the normalised toroidal flux)
|
||
; RHO_POL: ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
||
ipec = 1
|
||
; Number of points
|
||
nrho = 501
|
||
|
||
; Subsampling factors:
|
||
istpr = 5 ; beam cross section (units 8, 12)
|
||
istpl = 5 ; outer rays data (unit 33)
|
||
|
||
|
||
[misc]
|
||
; Other parameters
|
||
|
||
; Radius of the inner wall (m) [multipass module]
|
||
; (when ipass<0, used to build a simple limiter for reflections)
|
||
rwall = 1.36
|