--- 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** : Poloidal launch angle (deg). Positive is down **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) **psi** (default: **0.0**) : ψ (deg), angle between the x and the major axis of the polarisation ellipse. ψ∈[-90, 90] and is positive for rotating counterclockwise. Note: only used in alternative to *iox* if *ipol=.true.*. **chi** (default: **0.0**) : χ (deg), angle between the principal axes of the polarisation ellipse. χ∈[-45, 45] and is defined by tan(χ) = b/a, where a,b are the major,minor semi-axis, respective. χ>0 means the ellipse is traced clockwise in the x∧y plane with the z axis in the direction of the wave propagation. In other words: negative helicity (projection of spin angular momentum unto wavevector) or left handed wave (IEEE convention). 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 **ipec** (default: **RHO_TOR**) : 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)