2024-02-08 17:37:17 +01:00
|
|
|
|
---
|
|
|
|
|
title: GRAY.INI
|
|
|
|
|
section: 5
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# NAME
|
|
|
|
|
gray.ini --- Configuration file for **gray**(1)
|
|
|
|
|
|
|
|
|
|
# CONFIGURATION
|
|
|
|
|
The configuration file is written in the INI format. The basic syntax
|
|
|
|
|
is:
|
|
|
|
|
|
|
|
|
|
[group]
|
|
|
|
|
; comment
|
|
|
|
|
parameter = value
|
|
|
|
|
|
|
|
|
|
Group is one of: *raytracing*, *ecrh_cd*, *antenna*, *equilibrium*,
|
|
|
|
|
*profiles*, *misc*.
|
|
|
|
|
|
|
|
|
|
Values are valid Fortran values, including numbers (integers or floating
|
|
|
|
|
points), strings (enclosed in quotes), booleans (*.true.*, *.false.*)
|
|
|
|
|
and named constants (e.g. *MODE_X*).
|
|
|
|
|
|
|
|
|
|
# PARAMETERS
|
|
|
|
|
Valid configuration parameters listed by group
|
|
|
|
|
|
|
|
|
|
Note: parameters with a default value are optional and can be omitted.
|
|
|
|
|
|
|
|
|
|
## raytracing
|
|
|
|
|
Raytracing parameters
|
|
|
|
|
|
|
|
|
|
**nrayr**
|
|
|
|
|
: Number of rays in the radial direction
|
|
|
|
|
|
|
|
|
|
**nrayth**
|
|
|
|
|
: Number of rays in the angular direction
|
|
|
|
|
|
|
|
|
|
**rwmax** (default: **1.0**)
|
|
|
|
|
: Normalized maximum radius of the beam power
|
|
|
|
|
|
|
|
|
|
**igrad** (default: **0**)
|
|
|
|
|
: Switch between simple raytracing (*0*) and beamtracing (*1*)
|
|
|
|
|
|
|
|
|
|
**ipass** (default: **1**)
|
|
|
|
|
: Max number of crossing (out, in, out) of the plasma. 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.
|
|
|
|
|
|
|
|
|
|
**ipol** (default: **.false.**)
|
|
|
|
|
: Whether to compute the wave polarisation from chi, psi (see below)
|
|
|
|
|
|
|
|
|
|
**dst**
|
|
|
|
|
: Step size (cm) for the numerical integration
|
|
|
|
|
|
|
|
|
|
**nstep** (default: **12000**)
|
|
|
|
|
: Max number of integration steps
|
|
|
|
|
|
|
|
|
|
**idst** (default: **STEP_TIME**)
|
|
|
|
|
: Choice of the integration variable. One of:
|
|
|
|
|
|
|
|
|
|
- *STEP_ARCLEN*, arc length (s)
|
|
|
|
|
- *STEP_TIME*, time (actually c⋅t)
|
|
|
|
|
- *STEP_PHASE*, phase (actually the real part of the eikonal S_r=k₀⋅φ)
|
|
|
|
|
|
|
|
|
|
## ecrh_cd
|
|
|
|
|
ECRH and current drive parameters
|
|
|
|
|
|
|
|
|
|
**iwarm** (default: **ABSORP_FULL**)
|
|
|
|
|
: Choice of the power absorption model. One of:
|
|
|
|
|
|
|
|
|
|
- *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.
|
|
|
|
|
|
|
|
|
|
**ilarm** (default: **5**)
|
|
|
|
|
: Order of the electron Larmor radius expansion (used by some
|
|
|
|
|
absorption models)
|
|
|
|
|
|
|
|
|
|
**imx** (default: **-20**)
|
|
|
|
|
: 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.
|
|
|
|
|
|
|
|
|
|
**ieccd** (default: **CD_NEOCLASSIC**)
|
|
|
|
|
: Current drive model. One of:
|
|
|
|
|
|
|
|
|
|
- *CD_OFF*, no current drive at all
|
|
|
|
|
- *CD_COHEN*, Cohen
|
|
|
|
|
- *CD_NO_TRAP*, no trapping
|
|
|
|
|
- *CD_NEOCLASSIC*, Neoclassical
|
|
|
|
|
|
|
|
|
|
## antenna
|
|
|
|
|
Antenna/beam launcher parameters
|
|
|
|
|
|
|
|
|
|
**alpha**
|
2024-05-16 17:31:37 +02:00
|
|
|
|
: Poloidal launch angle (deg). Positive is down
|
2024-02-08 17:37:17 +01:00
|
|
|
|
|
|
|
|
|
**beta**
|
|
|
|
|
: Toroidal launch angle (deg). Positive is right
|
|
|
|
|
|
|
|
|
|
**power** (default: **1.0**)
|
|
|
|
|
: Injected power (MW)
|
|
|
|
|
|
|
|
|
|
**iox**
|
|
|
|
|
: Polarisation mode. One of:
|
|
|
|
|
|
|
|
|
|
- *MODE_O*, ordinary (O)
|
|
|
|
|
- *MODE_X*, extraordinary (X)
|
|
|
|
|
|
2024-05-16 17:31:37 +02:00
|
|
|
|
**psi** (default: **0.0**)
|
|
|
|
|
: ψ (deg), angle between the principal axes of the polarisation
|
2024-02-08 17:37:17 +01:00
|
|
|
|
ellipse and the (x,y) axes
|
|
|
|
|
|
|
|
|
|
Note: only used in alternative to *iox* if *ipol=.true.*.
|
|
|
|
|
|
2024-05-16 17:31:37 +02:00
|
|
|
|
**chi** (default: **0.0**)
|
|
|
|
|
: χ=atan(ε) (deg), where ε is the ellipticity of the polarisation
|
2024-02-08 17:37:17 +01:00
|
|
|
|
ellipse
|
|
|
|
|
|
|
|
|
|
Note: only used in alternative to *iox* if *ipol=.true.*.
|
|
|
|
|
|
|
|
|
|
**ibeam** (default: **BEAM_0D**)
|
|
|
|
|
: Beam parameters file format. One of:
|
|
|
|
|
|
|
|
|
|
- *BEAM_0D*, fixed beam parameters
|
|
|
|
|
- *BEAM_1D*, 1D steering angle table
|
|
|
|
|
- *BEAM_2D*, 2D steering angles table
|
|
|
|
|
|
|
|
|
|
**filenm**
|
|
|
|
|
: Filepath of the beam data (relative to the gray.ini file)
|
|
|
|
|
|
|
|
|
|
## equilibrium
|
|
|
|
|
MHD equilibrium parameters
|
|
|
|
|
|
|
|
|
|
**iequil** (default: **EQ_EQDSK_FULL**)
|
|
|
|
|
: MHD equilibrium kind. One of:
|
|
|
|
|
|
|
|
|
|
- *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
|
|
|
|
|
|
|
|
|
|
**filenm**
|
|
|
|
|
: Filepath of the equilibrium data (relative to the gray.ini file)
|
|
|
|
|
|
|
|
|
|
**icocos** (default: **3**)
|
|
|
|
|
: COCOS index of the equilibrium data (G-EQDSK only)
|
|
|
|
|
|
|
|
|
|
**ipsinorm** (default: **.false.**)
|
|
|
|
|
: Whether the poloidal function is normalised (G-EQDSK only)
|
|
|
|
|
|
|
|
|
|
Note: Normalised means ψ(axis)=0, ψ(boundary)=1
|
|
|
|
|
|
|
|
|
|
**idesc** (default: **.true.**)
|
|
|
|
|
: Whether the header starts with a description, a.k.a
|
|
|
|
|
identification string (G-EQDSK only)
|
|
|
|
|
|
|
|
|
|
**ifreefmt** (default: **.false.**)
|
|
|
|
|
: Whether the records have variable length (G-EQDSK only)
|
|
|
|
|
|
|
|
|
|
Note: some non-compliant programs output numbers formatted with variable
|
|
|
|
|
length instead of using the single (5e16.9) specifier.
|
|
|
|
|
|
|
|
|
|
**ixp** (default: **X_IS_MISSING**)
|
|
|
|
|
: Position of the X point. One of:
|
|
|
|
|
|
|
|
|
|
- *X_IS_MISSING*, No X point
|
|
|
|
|
- *X_AT_TOP*, At the top of the plasma
|
|
|
|
|
- *X_AT_BOTTOM*, At the bottom of the plasma
|
|
|
|
|
|
|
|
|
|
**ssplps** (default: **0.005**)
|
|
|
|
|
: Tension for the ψ_n(R,Z) spline, normalised poloidal flux
|
|
|
|
|
|
|
|
|
|
Note: 0 means perfect interpolation
|
|
|
|
|
|
|
|
|
|
**ssplf** (default: **0.01**)
|
|
|
|
|
: Tension for the F(ψ)=R⋅B_T spline, poloidal current function
|
|
|
|
|
|
|
|
|
|
Note: 0 means perfect interpolation
|
|
|
|
|
|
|
|
|
|
**sgnb** (default: **0**)
|
|
|
|
|
: Force the sign of the toroidal field. One of:
|
|
|
|
|
|
|
|
|
|
- *+1*, counter-clockwise (viewed from above)
|
|
|
|
|
- *-1*, clockwise
|
|
|
|
|
- *0*, use sign from COCOS
|
|
|
|
|
|
|
|
|
|
**sgni** (default: **0**)
|
|
|
|
|
: Force the sign of the plasma current. One of: *+1*,
|
|
|
|
|
|
|
|
|
|
- *+1*, counter-clockwise (viewed from above)
|
|
|
|
|
- *-1*, clockwise
|
|
|
|
|
- *0*, use sign from COCOS
|
|
|
|
|
|
|
|
|
|
**factb** (default: **1.0**)
|
|
|
|
|
: Rescaling factor for the magnetic field
|
|
|
|
|
|
|
|
|
|
## profiles
|
|
|
|
|
(input) plasma profiles parameters
|
|
|
|
|
|
|
|
|
|
**iprof**
|
|
|
|
|
: Plasma profiles kind. One of:
|
|
|
|
|
|
|
|
|
|
- *PROF_ANALYTIC*, analytical model
|
|
|
|
|
- *PROF_NUMERIC*, numerical data (ρ, n_e, T_e, table)
|
|
|
|
|
|
|
|
|
|
**irho**
|
|
|
|
|
: Plasma profiles radial coordinate. One of:
|
|
|
|
|
|
|
|
|
|
- *RHO_TOR*, ρ_t = √Φ (where Φ is the normalised toroidal flux)
|
|
|
|
|
- *RHO_POL*, ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
|
|
|
|
- *RHO_PSI*, normalised poloidal flux ψ
|
|
|
|
|
|
|
|
|
|
**filenm**
|
|
|
|
|
: Filepath of the plasma profiles data (relative to the gray.ini file)
|
|
|
|
|
|
|
|
|
|
**sspld** (default: **0.1**)
|
|
|
|
|
: Tension of the electron density spline
|
|
|
|
|
|
|
|
|
|
Note: 0 means perfect interpolation
|
|
|
|
|
|
|
|
|
|
**factte** (default: **1.0**)
|
|
|
|
|
: Rescaling factor for the electron temperature factte = 1
|
|
|
|
|
|
|
|
|
|
**factne** (default: **1.0**)
|
|
|
|
|
: Rescaling factor for the density temperature
|
|
|
|
|
|
|
|
|
|
**iscal** (default: **SCALE_OFF**)
|
|
|
|
|
: Choice of model for rescaling the temperature, density with the
|
|
|
|
|
magnetic field (if factb ≠ 0 only). One of:
|
|
|
|
|
|
|
|
|
|
- *SCALE_OFF*, don't rescale at all
|
|
|
|
|
- *SCALE_COLLISION*, scale while preserving collisionality
|
|
|
|
|
- *SCALE_GREENWALD*, scale while preserving the Greenwald fraction
|
|
|
|
|
|
|
|
|
|
## output
|
|
|
|
|
|
|
|
|
|
Output data parameters
|
|
|
|
|
|
2024-05-16 17:31:37 +02:00
|
|
|
|
**ipec** (default: **RHO_TOR**)
|
2024-02-08 17:37:17 +01:00
|
|
|
|
: ECRH&CD profiles grid: Radial coordinate of the uniform grid.
|
|
|
|
|
One of:
|
|
|
|
|
|
|
|
|
|
- *RHO_TOR*, ρ_t = √Φ (where Φ is the normalised toroidal flux)
|
|
|
|
|
- *RHO_POL*, ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
|
|
|
|
|
|
|
|
|
**nrho** (default: **501**)
|
|
|
|
|
: Number of in the radial grid
|
|
|
|
|
|
|
|
|
|
**istpr** (default: **5**)
|
|
|
|
|
: Subsampling factors for the beam cross section (units 8, 12)
|
|
|
|
|
|
|
|
|
|
**istpl** (default: **5**)
|
|
|
|
|
: Subsampling factors for the outer rays data (unit 33)
|
|
|
|
|
|
|
|
|
|
## misc
|
|
|
|
|
|
|
|
|
|
Other parameters
|
|
|
|
|
|
|
|
|
|
**rwall**
|
|
|
|
|
|
|
|
|
|
: Radius of the inner wall (m). Used to build a simple limiter for
|
|
|
|
|
reflections (only when *ipass\<0*)
|
|
|
|
|
|
|
|
|
|
# EXAMPLE
|
|
|
|
|
|
|
|
|
|
Below is an example of a gray.ini file
|
|
|
|
|
|
|
|
|
|
[raytracing]
|
|
|
|
|
; beamtracing with 16×24 rays
|
|
|
|
|
nrayr = 16
|
|
|
|
|
nrayth = 24
|
|
|
|
|
igrad = 1
|
|
|
|
|
; integrate in the phase
|
|
|
|
|
dst = 0.05
|
|
|
|
|
nstep = 2400
|
|
|
|
|
idst = STEP_PHASE
|
|
|
|
|
|
|
|
|
|
[antenna]
|
|
|
|
|
; vertical launch
|
|
|
|
|
alpha = 89.45
|
|
|
|
|
beta = 0.0
|
|
|
|
|
iox = MODE_X
|
|
|
|
|
ibeam = BEAM_1D
|
|
|
|
|
filenm = "beamdata.txt"
|
|
|
|
|
|
|
|
|
|
[equilibrium]
|
|
|
|
|
filenm = "equilibrium.eqdsk"
|
|
|
|
|
icocos = 2
|
|
|
|
|
|
|
|
|
|
[profiles]
|
|
|
|
|
; analytical profiles
|
|
|
|
|
iprof = PROF_ANALYTIC
|
|
|
|
|
irho = RHO_TOR
|
|
|
|
|
filenm = "profiles.txt"
|
|
|
|
|
sspld = 0.01
|
|
|
|
|
|
|
|
|
|
[output]
|
|
|
|
|
ipec = RHO_POL
|
|
|
|
|
nrho = 1001
|
|
|
|
|
|
|
|
|
|
[misc]
|
|
|
|
|
rwall = 0.6
|
|
|
|
|
|
|
|
|
|
# SEE ALSO
|
|
|
|
|
|
|
|
|
|
**gray**(1), **beamdata.txt**(5), **profiles.txt**(5), **magneticdata.txt**(5)
|