gray/input/gray.ini
Michele Guerini Rocco c5a4b180bc
src/gray_params.f90: replace magic numbers with enums
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.
2024-02-09 11:16:18 +01:00

185 lines
5.1 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[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