92b3ad9bd3
This implements a method to control the integrator step size based on the integration error and resonance conditions. The main advantages are that: - the ray trajectories have a bounded error; - the initial step size can be large as to quickly traverse the vacuum; - the results no longer depend on the choice of the step size. The error is estimated from the real part of the dispersion relation Λ(x̅, N̅), which if solved exactly should be zero. The error bound is set to a strict value when crossing the plasma boundary to ensure a correct coupling and is relaxed afterwards. Finally, when the ray is approaching a resonance the controller ensures the step size is small compared to the absorption profile.
198 lines
4.8 KiB
INI
198 lines
4.8 KiB
INI
[raytracing]
|
||
; Number of rays in the radial/angular direction
|
||
nrayr = 1
|
||
nrayth = 16
|
||
; Normalized maximum radius of the beam power
|
||
rwmax = 1
|
||
|
||
; 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
|
||
ipol = 0
|
||
; Step size (cm) for the numerical integration
|
||
dst = 0.1
|
||
; Max number of integration steps
|
||
nstep = 12000
|
||
|
||
; Choice of the integration variable
|
||
; 0: path length (s)
|
||
; 1: "time" (actually c⋅t)
|
||
; 2: real part of the eikonal (S_r)
|
||
idst = 0
|
||
|
||
; Choice of the integration method
|
||
; 0: Explicit Euler (1⁰ order)
|
||
; 1: Semi-implicit Euler (1⁰ order, symplectic)
|
||
; 2: Velocity Verlet (2⁰ order, symplectic)
|
||
; 3: 2-stage Runge-Kutta (2⁰ order)
|
||
; 4: 4-stage Runge-Kutta (4⁰ order)
|
||
integrator = 4
|
||
|
||
; Whether to automatically adjust the integration step
|
||
; size based on the local error. If true `dst` will set
|
||
; the initial step size.
|
||
adaptive_step = false
|
||
|
||
|
||
[ecrh_cd]
|
||
; Choice of the power absorption model
|
||
; 0: no absorption at all
|
||
; 1: weakly relativistic
|
||
; 2: fully relativistic (faster variant)
|
||
; 3: fully relativistic (slower variant)
|
||
; 4: tenuous plasma (very fast)
|
||
; Note: iwarm>0 is required for current driver
|
||
iwarm = 2
|
||
|
||
; 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
|
||
; 0: no current drive at all
|
||
; 1: Cohen
|
||
; 2: no trapping
|
||
; 3: Neoclassical
|
||
ieccd = 3
|
||
|
||
|
||
[antenna]
|
||
; Wave launch angles (deg)
|
||
alpha = 45 ; Poloidal angle (positive → up)
|
||
beta = 0 ; Toroidal angle (positive → right)
|
||
|
||
; Injected power (MW)
|
||
power = 1
|
||
|
||
; Polarisation mode
|
||
; 1: ordinary (O)
|
||
; 2: extraordinary (X)
|
||
iox = 1
|
||
; 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 description kind
|
||
; 0: simple beam shape
|
||
; 1: 1D table
|
||
; 2: 2D table
|
||
ibeam = 0
|
||
|
||
; Filepath of the beam data (relative to this file)
|
||
filenm = "beamdata.txt"
|
||
|
||
|
||
[equilibrium]
|
||
; MHD equilibrium kind
|
||
; 0: vacuum (i.e. no plasma at all)
|
||
; 1: analytical
|
||
; 2: G-EQDSK format - data valid on the whole domain
|
||
; 3: G-EQDSK format - data valid only inside the LCFS
|
||
iequil = 3
|
||
|
||
; Filepath of the equilibrium data (relative to this file)
|
||
filenm = "magneticdata.eqdsk"
|
||
; COCOS index
|
||
icocos = 0
|
||
|
||
; Normalisation of the poloidal function
|
||
; 0: G-EQDSK, ψ → |ψ - ψ(edge)|/|ψ(axis) - ψ(edge)|
|
||
; 1: no normalisation
|
||
ipsinorm = 0
|
||
|
||
; G-EQDSK format parameters
|
||
; Whether header starts with a description, a.k.a identification string
|
||
idesc = 1
|
||
; 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 = 0
|
||
|
||
; Position of the X point
|
||
; -1: bottom
|
||
; 0: no X point
|
||
; +1: top
|
||
ixp = 0
|
||
|
||
; Tension of splines
|
||
; Note: 0 means perfect interpolation
|
||
ssplps = 0.005 ; for ψ(R,Z), normalised poloidal flux
|
||
ssplf = 0.01 ; for I(ψ)=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
|
||
|
||
; Profiles kind
|
||
; 0: analytical
|
||
; 1: numerical
|
||
iprof = 1
|
||
|
||
; Profile radial coordinate
|
||
; 0: ρ_t = √Φ (where Φ is the normalised toroidal flux)
|
||
; 1: ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
||
; 2: normalised poloidal flux ψ
|
||
irho = 0
|
||
|
||
; 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
|
||
; 1: costant Greenwald density (ab=1)
|
||
; 2: no rescaling (ab=0)
|
||
iscal = 2
|
||
|
||
|
||
[output]
|
||
; Output data parameters
|
||
|
||
; ECRH&CD profiles grid:
|
||
; Radial coordinate
|
||
; 1: ρ_p = √ψ (where ψ is the normalised poloidal flux)
|
||
; 2: ρ_t = √Φ (where Φ is the normalised toroidal 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
|