1. Introduction
The development of tractable transport models is crucial to further the study and operation of tokamaks. Accurately characterizing the particle, angular momentum and heat transport in the tokamak core requires the understanding of turbulence driven by microinstabilities, as these instabilities drive much of the particle, momentum and heat transport in the core. Integrated modelling codes seek to predict and simulate tokamak discharges via the inclusion of various different physics and sources, including from microinstabilities. Nonlinear simulations of the kinetic equations are the most accurate way to compute the transport from microinstabilities. For reference, the cost of such a nonlinear simulation is of the order of $10^4$ CPUh to $10^5$
CPUh at a single radial point, while integrated modelling frameworks require thousands of flux calculations for every second of a plasma discharge in a large tokamak device (Citrin Reference Citrin2017). Multi-scale simulations that take into account the interplay of instabilities across wide ranges of time scales are even more expensive (Waltz, Candy & Fahey Reference Waltz, Candy and Fahey2007; Görler & Jenko Reference Görler and Jenko2008a; Howard et al. Reference Howard, Holland, White, Greenwald and Candy2016). Even linear kinetic simulations can prove to be intractable for integrated modelling if not reduced enough. Thus, it is imperative to develop and refine kinetic models that are both accurate enough to account for transport from microinstabilities and fast enough to be coupled to an integrated modelling framework.
QuaLiKiz is a quasilinear gyrokinetic transport model originally based on the linear eigenvalue code Kinezero. Pieces of the derivation have been published throughout the years including by Bourdelle (Reference Bourdelle2000), Bourdelle et al. (Reference Bourdelle, Garbet, Hoang, Ongena and Budny2002) and Bourdelle et al. (Reference Bourdelle, Garbet, Imbeaux, Casati, Dubuit, Guirlet and Parisot2007). The underlying principles of the code regarding the variational and action-angle approaches can be traced to Garbet et al. (Reference Garbet, Laurent, Mourgues, Roubin and Samain1990), and upgrades to the physics including angular momentum transport (Cottier et al. Reference Cottier, Bourdelle, Camenen, Gürcan, Casson, Garbet, Hennequin and Tala2014) and numerical improvements (Citrin Reference Citrin2017) have been made since its original development. The goal of QuaLiKiz is to calculate the quasilinear transport that arise from microinstabilities. The core principle is to linearize the kinetic equations and solve the dispersion relation to find the complex frequencies for microinstabilities, namely the ion temperature gradient (ITG), electron temperature gradient (ETG) and trapped electron mode (TEM) instabilities. Upon solving the linear problem, we then incorporate nonlinear physics to compute particle, angular momentum and heat fluxes. We do so via a quasilinear approach by coupling the linear characteristics of the problem together and using previously performed nonlinear kinetic simulations to saturate the perturbed state. Thus, while the amplitudes of the modes are set by nonlinear physics, the key transport features can be constructed from the linear regime. Quasilinear methods have been shown to be valid in the tokamak core. Moreover, the quasilinear codes are much faster than fully nonlinear kinetic codes. QuaLiKiz in particular can perform a full computation in ${\sim }1$ CPUs per wavenumber (Citrin Reference Citrin2017).
As a gyrokinetic code, QuaLiKiz is well suited to model the core of tokamak devices which are strongly magnetized. Gyrokinetics is a popular approach to investigate turbulent phenomena in magnetized plasmas such as those of fusion devices (Brizard & Hahm Reference Brizard and Hahm2007; Cary & Brizard Reference Cary and Brizard2009). Gyrokinetics is well suited in scenarios where the microscopic dynamics are subject to the gyrokinetic ordering. Essentially, we apply gyrokinetics to situations where we can decouple the fast gyromotion of the charged particle from the slow drift motion; this can be done when the time scale of the gyromotion is significantly faster than all other time scales in the system and when the gyroradius is smaller than almost all other length scales in the system. In such a scenario, the magnetic moment is conserved, leading to a significant reduction in the complexity of the dynamics (Stephens, Brzozowski III & Jenko Reference Stephens, Brzozowski III and Jenko2017). Moreover, gyrokinetics incorporates an ordering where the modes are anisotropic and flute-like, meaning that the characteristic parallel wavelength of the mode is large but perpendicular wavelengths can be comparable to the gyroradius. Thus, gyrokinetics is well suited for theoretical and quantitative investigations of magnetized plasma microturbulence. As a result, gyrokinetics has been used and applied in a wide variety of systems (Wan, Chen & Parker Reference Wan, Chen and Parker2005; Rogers et al. Reference Rogers, Kobayashi, Ricci, Dorland, Drake and Tatsuno2007; Howes et al. Reference Howes, Dorland, Cowley, Hammett, Quataert, Schekochihin and Tatsuno2008, Reference Howes, TenBarge, Dorland, Quataert, Schekochihin, Numata and Tatsuno2011; Wang et al. Reference Wang, Lin, Chen and Lin2008; Pueschel et al. Reference Pueschel, Jenko, Told and Büchner2011, Reference Pueschel, Told, Terry, Jenko, Zweibel, Zhdankin and Lesch2014; Told et al. Reference Told, Jenko, TenBarge, Howes and Hammett2015; Navarro et al. Reference Navarro, Teaca, Told, Groselj, Crandall and Jenko2016; Told et al. Reference Told, Cookmeyer, Muller, Astfalk and Jenko2016). Even beyond tokamaks, progress is being made in simulating stellarator plasmas in gyrokinetic codes (Jenko & Kendl Reference Jenko and Kendl2002; Xanthopoulos & Jenko Reference Xanthopoulos and Jenko2007; Mynick, Pomphrey & Xanthopoulos Reference Mynick, Pomphrey and Xanthopoulos2010; Nunami, Watanabe & Sugama Reference Nunami, Watanabe and Sugama2010; Baumgaertel et al. Reference Baumgaertel, Belli, Dorland, Guttenfelder, Hammett, Mikkelsen, Rewoldt, Tang and Xanthopoulos2011). QuaLiKiz in particular, however, assumes an axisymmetric geometry to simplify the dynamics, meaning QuaLiKiz is only suitable for tokamaks and not stellarators.
Aside from the well-established gyrokinetic approach, the key assumption behind QuaLiKiz is the quasilinear approximation. In nonlinear simulations, turbulent fluctuations eventually saturate due to coupling mechanisms between different modes. However, it has been found that the nonlinear mode structure can resemble the underlying linear mode structure; in particular, the cross-phases between fluctuating quantities in nonlinear simulations are identical to those of linear simulations (Dannert & Jenko Reference Dannert and Jenko2005; Jenko, Dannert & Angioni Reference Jenko, Dannert and Angioni2005). The key parameter that characterizes the validity of the quasilinear approximation is the Kubo number, defined as the ratio between the decorrelation time of the potential and the eddy turnover time (Kubo Reference Kubo1963; Krommes Reference Krommes2002). If the Kubo number is less than unity and the fluctuations are small compared with the equilibrium quantities, then the quasilinear approximation is well justified. It has been found that both ETG and ITG–TEM turbulence generally exhibit Kubo numbers less than unity (Lin et al. Reference Lin, Rice, Wukitch, Greenwald, Hubbard, Ince-Cushman, Lin, Porkolab, Reinke and Tsujii2008; Casati et al. Reference Casati, Bourdelle, Garbet, Imbeaux, Candy, Clairet, Dif-Pradalier, Falchetto, Gerbaud, Grandgirard, Gürcan, Hennequin, Kinsey, Ottaviani, Sabot, Sarazin, Vermare and Waltz2009; Citrin et al. Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012). In such situations, one also finds that ratios of the particle and heat fluxes calculated in the linear regime match those calculated in the nonlinear regime and that the real part of the nonlinear mode frequency resembles that of the linear mode (Görler & Jenko Reference Görler and Jenko2008b; Merz & Jenko Reference Merz and Jenko2008). This implies that the physics that drives anomalous transport in the tokamak core can be well described by quasilinear theory (Bourdelle Reference Bourdelle2015). Moreover, it has been found that when different instabilities are found in the linear regime, their interplay can manifest in the nonlinear regime (Merz & Jenko Reference Merz and Jenko2010). We also note that while a less than unity Kubo number guarantees the validity of the quasilinear approximation, there exist parameter regimes with a Kubo number close to unity where the quasilinear approximation remains valid (Ottaviani Reference Ottaviani1992). Thus, a smaller than unity Kubo number is not a necessary condition.
That the linear mode structure is often retained in a nonlinear mode structure motivates a quasilinear approach where the equilibrium distribution function slowly evolves in comparison to the time scale of the instability, essentially taking a mean field theory approach. Then, the linear response is acquired and used to inform the first-order nonlinear behaviour of the system. Quasilinear flux ratios are then calculated and each flux is appropriately saturated to the correct magnitude using a nonlinear saturation rule informed by nonlinear physics. The approach allows us to exploit the fact that the nonlinear state resembles the linear state to perform flux calculations without needing to carry out a full nonlinear simulation (Citrin et al. Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012).
However, constructing a quasilinear code instead of a nonlinear code is alone not enough to increase the speed of calculations. Rather, a litany of approximations and reductions are necessary. Aside from other typical approximations for gyrokinetic tokamak codes (e.g. non-relativistic particles, quasineutrality), QuaLiKiz makes use of the following assumptions:
(1) Adiabatic invariance. By exploiting the adiabatic invariants of the system, we can formulate the Vlasov equation with action-angle variables. This requires that the single-particle Hamiltonian be slowly varying in time in comparison to the characteristic frequencies of motion. These frequencies correspond to the cyclotron motion, the bounce-transit motion, and the toroidal drift and precession.
(2) Shifted Maxwellian with low Mach number and the $\delta f$
approximation. QuaLiKiz linearizes the Vlasov equation by assuming a small perturbation from the shifted Maxwellian. Although we include the effect of bulk plasma rotation, we operate in the limit that the Mach number associated with the rotation is small.
(3) Electrostatic fluctuations. The code allows for electrostatic perturbations and an equilibrium electric field. The absence of magnetic perturbations allows for the exclusive use of Poisson's equation while neglecting Ampere's law, thus simplifying the linear problem. To simplify the guiding centre motion, we require that the equilibrium electrostatic potential is small compared with the characteristic thermal energy.
(4) Trapped electron collisions. As an approximation, we utilize a Krook collision operator for trapped electrons and neglect collisions entirely for passing electrons and all ions.
(5) Shifted circle geometry with small inverse aspect ratio. We take the geometry to be the $s\text {--}\alpha$
model (Connor, Hastie & Martin Reference Connor, Hastie and Martin1983) to calculate the magnetic drifts and perform integrals over the pitch angle with ease. The $s\text {--}\alpha$
model gives rise to a radial shift in the concentric flux surfaces called the Shafranov shift. The effect of this shift is included when calculating the magnetic drifts, but ignored when considering the bounce-transit motion. Thus, the treatment of guiding centre motion with respect to the geometry is inherently inconsistent. Moreover, the $s\text {--}\alpha$
model is ad hoc and does not solve the Grad–Shafranov equation.
(6) Gaussian eigenfunctions. Instead of using a self-consistent eigenfunction for the electrostatic modes, QuaLiKiz assumes the modes take the form of a Gaussian with radial extent. The shift and width of the Gaussian are calculated in the high mode frequency limit as functions of the mode frequency, and substituted back into the dispersion relation.
(7) Strong ballooning. The electrostatic modes are assumed to be heavily localized around their rational flux surface. This allows for a Fourier link between the minor radius $r$
and the poloidal angle $\theta$
, thus simplifying the calculation. The localization also creates a separation of scales, thus allowing integrals over the radial extent of the electrostatic modes to be more easily approximated. The ballooning transformation allows us to instead cast the modes in terms of the poloidal angle; with the strong ballooning approximation along with a Gaussian ansatz, we acquire a Gaussian eigenfunction that varies with $\theta$
over an infinite domain.
(8) Strongly passing and strongly trapped particles. Trapped and passing particles are considered to be respectively strongly trapped and strongly passing. For trapped particles, this greatly simplifies the relation between the physical toroidal and poloidal angles and the action angles,and leads to a kinetic bounce average that is similar to the gyro-average. For passing particles, the strongly passing assumption simplifies the integrals over the pitch angle due to the dominating parallel velocity.
We note that not all approximations have been explicitly validated against higher-fidelity linear gyrokinetic models on a case by case basis. Many of these approximations are performed for the sake of analytic tractability. Of course, there are physical scenarios where the approximations are well justified. For instance, it is known that the small-Mach-number approximation is justified for rotationless or rotating but low-Mach-number tokamak plasmas (Citrin Reference Citrin2017). Moreover, the use of QuaLiKiz is restricted to scenarios where electrostatic microturbulence dominates the driving of anomalous transport, such as in relevant tokamak core scenarios. For high-performance regimes where electromagnetic (EM) stabilization of ITG instabilities has been identified as a significant effect, an ad hoc EM-stabilization model has been introduced (Casson et al. Reference Casson2020). We also restrict QuaLiKiz to parameter regimes without strong shaping; in particular, extreme elongation or spherical tokamak geometries strongly break the $s\text {--}\alpha$ model assumption. Global effects and up-down asymmetries are not captured by QuaLiKiz, nor any mode that breaks the even parity of the electrostatic eigenfunction. As QuaLiKiz is under active development, efforts have been and are constantly being made to relax assumptions and improve approximations as necessary. For instance, the collision operator has recently been improved in light of discrepancies between QuaLiKiz predictions and high-collisionality TEM regimes (Stephens et al. Reference Stephens, Citrin, van de Plassche, Bourdelle, Tala, Salmi and Jenko2021). Moreover, verifying the strongly passing approximation is a subject of future work.
The goal of this work is to derive the analytic equations for QuaLiKiz step by step. Although various overviews of the QuaLiKiz and Kinezero frameworks have already been published (Bourdelle Reference Bourdelle2015; Bourdelle et al. Reference Bourdelle, Citrin, Baiocchi, Casati, Cottier, Garbet and Imbeaux2016; Citrin Reference Citrin2017), no combination of currently published works derive the entirety of the model from first principles. We seek to fill this gap by offering a comprehensive and complete formulation of QuaLiKiz. In particular, we focus this work on the most complex and uncovered aspect of QuaLiKiz, the derivation and computation of the linear dispersion relation. Detailed discussions of the nonlinear saturation rule can be found in the works of Citrin et al. (Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012) and Citrin (Reference Citrin2017). Meanwhile, validation of QuaLiKiz against nonlinear gyrokinetic simulations can be found in the works of Cottier et al. (Reference Cottier, Bourdelle, Camenen, Gürcan, Casson, Garbet, Hennequin and Tala2014), Bourdelle et al. (Reference Bourdelle, Citrin, Baiocchi, Casati, Cottier, Garbet and Imbeaux2016) and Linder (Reference Linder2016), while validation against experimental results can be found in those of Bourdelle (Reference Bourdelle2015), Citrin (Reference Citrin2017), Casson et al. (Reference Casson2020) and Marin et al. (Reference Marin, Citrin, Garzotti, Valovic, Bourdelle, Camenen, Casson, Ho, Koechl and Koechl2021).
This work will thus serve as a guide for improving upon QuaLiKiz and attaining physical and mathematical intuition as to its key principles, approximations and computational methods. In addition, we also outline the new computational method used to numerically calculate one-dimensional (1-D) and two-dimensional (2-D) integrals. Moreover, this sort of work serves as a tutorial for those seeking to understand the fundamental considerations in the formulation of any quasilinear tokamak code. While many codes offer comprehensive manuals and describe the key principles at play, the process of creating such a code from scratch can often appear opaque and unintuitive. Thus, this derivation also serves as a tutorial for those who seek to understand the physical, mathematical and computational aspects of quasilinear modelling in all their gory details.
The paper is organized as follows: § 2 reviews the action-angle formalism and derives explicit expressions for the action-angle variables from physical variables. In § 3, we linearize the Vlasov equation and expand the perturbed distribution function and electrostatic potential using a Fourier series to derive the dispersion relation. To solve the dispersion relation, we must integrate over all of phase space, which results in a functional that depends on the complex frequency of the mode. Section 4 examines the ballooning transform and its role in simplifying the dispersion relation as well as the characteristics of the electrostatic perturbation. Sections 5–7 calculate the adiabatic, trapped and passing parts of the functional, respectively, which results in a reduced expression for the dispersion relation. Section 8 applies these results to the quasilinear problem to derive expressions for the particle, toroidal angular momentum and heat fluxes. Section 9 connects the quasilinear results with nonlinear physics and the use of a saturation rule. Section 10 explains the method of contour integration used in QuaLiKiz to find the eigenmodes and the newly implemented numerical integration method based on the Genz and Malik algorithm (Genz & Malik Reference Genz and Malik1980). Finally, we summarize our work in § 11. We include Appendix A to serve as a brief explanation of Fried and Conte integrals. In addition, we derive the magnetic drift velocity in an $s\text {--}\alpha$ equilibrium in Appendix B and briefly discuss the inclusion of trapped electron collisions in Appendix C. The derivation is performed in SI units, and we set the Boltzmann constant $k_B = 1$
such that our temperatures are in units of energy.
2. Action-angle variables
We first restrict ourselves to the collisionless Vlasov equation. Since the inclusion of collisions does not affect the fundamental approach, we examine them later in Appendix C. The Vlasov equation is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn1.png?pub-status=live)
where $f$ is the distribution function, $H$
is the single-particle Hamiltonian and $\{\cdot , \cdot \}$
denotes the Poisson bracket. Using phase space coordinates, this can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn2.png?pub-status=live)
where for a single particle $\boldsymbol {q}$ is the position, $\boldsymbol {p}$
is the canonical momentum and the time derivatives are given by Hamilton's equations of motion. For electromagnetic fields relevant to a tokamak, the Hamiltonian of a single charged particle is non-trivial. Although this form of the Vlasov equation and others like it offer an intuitive physical picture, these coordinates can make solving the system quite cumbersome. QuaLiKiz instead employs an action-angle formalism to simplify the perturbative analysis. Such a formalism in the context of tokamak physics was first elaborated by Kaufman (Reference Kaufman1972) and expanded upon by Mahajan & Chen (Reference Mahajan and Chen1985). The core principle is to define a canonical transformation,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn3.png?pub-status=live)
for which Hamilton's equations of motion simplify in the new phase space ($\boldsymbol {\alpha }, \boldsymbol {J}$). By restricting ourselves to a canonical transformation, we preserve the form of Vlasov's equation. The coordinates $\boldsymbol {\alpha }$
and $\boldsymbol {J}$
respectively correspond to the action angles and adiabatic invariants of our system. It is well known (Goldstein, Poole & Safko Reference Goldstein, Poole and Safko2001) that Hamilton's equations of motion then reduce to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn4.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn5.png?pub-status=live)
where $\boldsymbol {\varOmega }$ are the constant angular frequencies associated with each adiabatic invariant and the time derivatives are written in Newton's dot notation. At first glance, it may seem that we have simply shifted the difficulty of the problem to calculating this new canonical transformation itself. The power of this method comes from analysing the unperturbed system and then including electromagnetic fluctuations in the Hamiltonian.
We define the Hamiltonian to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn6.png?pub-status=live)
where the unperturbed Hamiltonian is simply
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn7.png?pub-status=live)
Here, $m$ and $e$
are respectively the mass and charge of the particle, $\boldsymbol {A}_0$
is the equilibrium vector potential, and $\varPhi$
is the equilibrium electrostatic potential. Since QuaLiKiz operates in the electrostatic limit, we therefore apply a perturbation $\delta h$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn8.png?pub-status=live)
where $\phi$ is the electrostatic perturbation. We then define the action-angle coordinates in reference to the unperturbed Hamiltonian,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn9.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn10.png?pub-status=live)
Hamilton's equations of motion then become
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn11.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn12.png?pub-status=live)
We note that because the unperturbed Hamiltonian is a function of $\boldsymbol {J}$ and not $\boldsymbol {\alpha }$
, all equilibrium quantities are also only functions of $\boldsymbol {J}$
. Furthermore, any function of $\boldsymbol {\alpha }$
is periodic with respect to $\boldsymbol {\alpha }$
; thus, the perturbed quantities in our system admit a Fourier series expansion. Moreover, it can be shown that $\boldsymbol {\alpha } \text { and } \boldsymbol {J}$
are canonical coordinates even after introducing a perturbation (Mahajan & Chen Reference Mahajan and Chen1985). These features will simplify the derivation greatly.
The next task is to define the canonical transformation by specifying the action-angle variables in terms of the position $\boldsymbol {r}$ and the velocity $\boldsymbol {v}$
of the particle. The three adiabatic invariants in a tokamak correspond to the magnetic moment, the longitudinal invariant (also known as the bounce-transit action) and the poloidal flux. They are defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn13.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn14.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn15.png?pub-status=live)
Here, $\mu = W_\perp /B$ is the magnetic moment, where $W_\perp = \frac {1}{2} m v_\perp ^2$
is the kinetic energy associated with the velocity perpendicular to the magnetic field $\boldsymbol {B}$
. Meanwhile, $v_\parallel$
and $A_\parallel$
are the components of the velocity and vector potential parallel to the magnetic field, respectively, with $dl$
being the signed differential length along the particle orbit. We also define $\psi$
to be minus the poloidal magnetic flux normalized to $2 {\rm \pi}$
, which is calculated by integrating the flux of the magnetic field through a disk tangent to the flux surface everywhere:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn16.png?pub-status=live)
Subsections 2.1–2.3 discuss each of the three adiabatic invariants and define their associated action angles and angular frequencies. For the remainder of the derivation, we also use the spatial coordinates $\boldsymbol {r} = (r, \theta , \varphi )$, where $r$
is the minor radial position, $\theta$
is the geometric poloidal angle and $\varphi$
is the geometric toroidal angle. We use a right-handed coordinate system such that $\hat {\boldsymbol {r}} \times \hat {\boldsymbol {\theta }} = \hat {\boldsymbol {\varphi }}$
. For further references characterizing the action angles $\boldsymbol {\alpha }$
, we refer the reader to the works of Garbet (Reference Garbet2001) and Garbet et al. (Reference Garbet, Laurent, Mourgues, Roubin and Samain1990).
2.1. Magnetic moment
In the presence of a magnetic field, charged particles gyrate about the field line at the cyclotron frequency $\varOmega _1 = eB/m$. With a strong enough magnetic field, the cyclotron frequency is much larger than any other characteristic frequency in the plasma. Under such conditions, the magnetic moment $\mu$
is adiabatically conserved (Brizard & Hahm Reference Brizard and Hahm2007; Stephens et al. Reference Stephens, Brzozowski III and Jenko2017), and the gyromotion can be decoupled from the guiding centre motion:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn17.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn18.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn19.png?pub-status=live)
where $\alpha _1$ is equivalent to the gyrophase, $\rho$
is the gyroradius and the subscript ‘$G$
’ refers to the location of the particle's guiding centre. These guiding centre variables obey the guiding centre equations of motion. Ordinarily, the exact invariant associated with the gyromotion depends on the electrostatic potential. For QuaLiKiz, we assume that the electrostatic field is small compared with the kinetic energy. Thus, we simply take $J_1$
to be the ordinary magnetic moment $\mu = W_\perp /B$
.
Later in the derivation, we will need to average various functions over the gyrophase $\alpha _1$ by integrating over $\alpha _1$
. We therefore consider the general integral
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn20.png?pub-status=live)
where $n_1$ is an integer. It will be shown later that factors of $\textrm {e}^{- \textrm {i} n_1 \alpha _1}$
arise from taking Fourier expansions in terms of $\alpha _1$
. We define the Fourier transform of $g$
to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn21.png?pub-status=live)
with the corresponding inverse Fourier transform
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn22.png?pub-status=live)
We use the Fourier transform to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn23.png?pub-status=live)
Here, we have decoupled the gyromotion from the guiding centre motion via $\boldsymbol {r} =\boldsymbol {R}_G + \boldsymbol {\rho }$. We then write
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn24.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn25.png?pub-status=live)
Because the toroidal magnetic field is much stronger than the poloidal field, we neglect $k_{\varphi }$ terms when computing $k_\perp$
and approximate it as above. Note that according to our definition of the Fourier transform, $k_r$
and $k_\theta$
are operators in real space such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn26.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn27.png?pub-status=live)
We may then integrate over $\alpha _1$ independently, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn28.png?pub-status=live)
where $J_n$ is the $n$
th Bessel function of the first kind. Therefore, we finally have that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn29.png?pub-status=live)
As a shorthand, we treat the Bessel function in real space as a differential operator that acts on $g$, after which we evaluate the resulting function at the guiding centre. The Bessel function is simply a scalar function in Fourier space instead of a differential operator. The case of $n_1 = 0$
corresponds to the well-known gyro-average. After completing the gyro-average, all functions are evaluated at the guiding centre. Thus, we drop the subscript ‘G’ for convenience and treat all spatial variables as those corresponding to the guiding centre. The adiabatic invariants $J_2$
and $J_3$
are explicitly calculated within the guiding centre framework where we hold $\mu$
constant and ignore the cyclotron motion.
2.2. Longitudinal invariant
To calculate $J_2$, we consider the guiding centre particle motion along a magnetic field line; such a particle completes bounce-transit orbits with frequency $\varOmega _2$
. This is the bounce frequency for trapped particles and the transit frequency for passing particles. Here, we neglect excursions from the field line due to various guiding centre drifts by holding $r$
constant. For an extended treatment of bounce-transit motion, see the works of Brizard (Reference Brizard2011) and Stephens, Garbet & Jenko (Reference Stephens, Garbet and Jenko2020).
Assuming that the equilibrium electrostatic potential is small, the guiding centre velocity parallel to the magnetic field is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn30.png?pub-status=live)
where $E$ is the total kinetic energy of the particle. As an approximation, we take the typical equilibrium magnetic field to be of the form
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn31.png?pub-status=live)
where $R_0$ is the major radius. This corresponds to the magnetic field in a circular cross-section tokamak without any Shafranov shift. Defining the inverse aspect ratio $\epsilon = r/R_0$
, we recognize that this circular equilibrium is the small $\epsilon$
limit of a more general axisymmetric equilibrium. QuaLiKiz is thus well suited to machines where the aspect ratio of the device is $\sim 3$
or larger. Devices with smaller aspect ratios such as spherical tokamaks, however, cannot be reliably simulated in QuaLiKiz.
A particle is considered trapped if it reflects at a bounce angle $\theta _b$, which requires
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn32.png?pub-status=live)
Otherwise, the particle is considered passing since it will simply continue to travel along the magnetic field line without reflecting. We rewrite $v_\parallel$ to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn33.png?pub-status=live)
Here, $\xi = E/T$ where $T$
is the temperature and $\epsilon _\parallel = \pm 1$
determines the sign of the parallel velocity. We also define
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn34.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn35.png?pub-status=live)
It is clear then that $\lambda$ is a pitch angle parameter and determines whether the particle is trapped or passing.
The bounce-transit frequency is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn36.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn37.png?pub-status=live)
We note that one full poloidal orbit for trapped particles includes both the forward motion, where $\theta$ goes from $-\theta _b$
to $\theta _b$
, and the backward motion, where $\theta$
goes from $\theta _b$
to $-\theta _b$
. For passing particles, the poloidal orbit only includes one full pass where $\theta$
goes from $-{\rm \pi}$
to ${\rm \pi}$
. The sign of the transit frequency for passing particles is aligned with that of the parallel velocity and is thus determined by $\epsilon _\parallel$
, while the bounce frequency is always positive for trapped particles. Assuming that $B_\varphi \gg B_\theta$
, then $\hat {\boldsymbol {b}}$
, the direction of the magnetic field, is approximately ${\hat {\boldsymbol {\varphi }}}$
. We again emphasize that this approximation breaks down for devices such as spherical tokamaks. Therefore, we write
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn38.png?pub-status=live)
where we have taken the toroidal field to lie mostly in the toroidal direction to make the above approximation. Here, we have defined the safety factor as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn39.png?pub-status=live)
The safety factor describes how many times a magnetic field line wraps around toroidally per poloidal turn. The magnitude of the bounce-transit frequency is then
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn40.png?pub-status=live)
where we define
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn41.png?pub-status=live)
Note that for passing particles, we take the sign of the transit frequency to be the sign of the parallel velocity and multiply by $\epsilon _\parallel$ accordingly. We then calculate $\bar {\varOmega }_2$
in the small $\epsilon$
limit to find
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn42.png?pub-status=live)
Here, ${K}$ is the complete elliptic integral of the first kind and $\kappa$
is a trapped parameter defined such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn43.png?pub-status=live)
In the small $\epsilon$ limit, $0 \leq \kappa < 1$
for trapped particles and $1 < \kappa < \infty$
for passing particles. We also calculate the bounce-transit action to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn44.png?pub-status=live)
where ${E}$ is the complete elliptic integral of the second kind and $\varPhi _t$
is the toroidal flux normalized by $2 {\rm \pi}$
. The flux term is absent for trapped particles since the closed line integral of $A_\parallel$
is zero for trapped orbits.
Calculating the angular variable $\alpha _2$ requires the explicit equation of motion
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn45.png?pub-status=live)
This is of course the definition of $\alpha _2$ such that it is conjugate to the action variable $J_2$
. To find an explicit expression for $\alpha _2$
in terms of the poloidal angle $\theta$
, we make use of the chain rule,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn46.png?pub-status=live)
We emphasize that $\varOmega _2$ is not dependent on $\alpha _2$
or $\theta$
. Thus, this differential equation can be integrated using elliptic functions, which leads to an expression of $\alpha _2$
in terms of $\theta$
. We use the convention that $\alpha _2(\theta = 0) = 0$
, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn47.png?pub-status=live)
For trapped particles, we must keep in mind that $\epsilon _{\parallel }$ switches sign after the particle bounces. The integral can then be simplified in the small $\epsilon$
limit, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn48.png?pub-status=live)
where ${F}$ is the incomplete elliptic integral of the first kind. Essentially, the integral takes the same form as when calculating $\varOmega _2$
, the primary difference being that we integrate up to arbitrary $\theta$
rather than up to the bounce angle $\theta _b$
for trapped particles or up to ${\rm \pi}$
for passing particles.
Finally, let $G (\epsilon _\parallel , \theta )$ be a quantity that varies over the bounce-transit orbit along the field line. It is often of interest to time average $G$
over the orbit; we define the bounce-transit average $\langle G (\epsilon _\parallel , \theta )\rangle$
to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn49.png?pub-status=live)
For passing particles, the average is explicitly
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn50.png?pub-status=live)
while for trapped particles the average is instead
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn51.png?pub-status=live)
Note that because the line integral must be closed, a sum over $\epsilon _\parallel$ must be performed for trapped particles so that quantities such as $v_\parallel$
average to 0.
In this discussion so far, we have neglected any magnetic drifts and excursions from the field line. We include such effects in § 2.3, as they characterize the third adiabatic invariant – the poloidal flux.
2.3. Poloidal flux
In an axisymmetric equilibrium, the canonical toroidal momentum, $P_\varphi$, is conserved since no external quantities depend explicitly on the toroidal angle $\varphi$
. From guiding centre theory, we can write the canonical toroidal momentum as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn52.png?pub-status=live)
This is an exact invariant of the system. We construct $J_3$ such that it approximates $P_\varphi$
provided that the poloidal flux term dominates. For typical parameters in a tokamak plasma this is indeed the case, since $(P_\varphi + e \psi ) / (e \psi ) \sim \sqrt {m T}/(eB R_0)$
. Inputting Joint European Torus (JET)-like parameters, $T = 5$
keV, $m = m_D, B = 3$
T, $R_0 = 3$
m, then $\sqrt {m T}/(eB R_0) \sim 10^{-3}$
, making this a very reasonable approximation. We therefore write
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn53.png?pub-status=live)
To calculate the poloidal flux, we utilize Stoke's theorem; the surface integral of $\boldsymbol {B}$ simply becomes a closed line integral of $\boldsymbol {A}$
to find
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn54.png?pub-status=live)
Thus, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn55.png?pub-status=live)
We see then that $J_3$ is purely a function of $r$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn56.png?pub-status=live)
We next calculate $\varOmega _3$, which is the toroidal precession frequency for trapped particles and the toroidal rotation frequency for passing particles. Along the bounce-transit orbit, guiding centre drifts cause radial excursions from the magnetic field line. In addition, passing particles wind around the magnetic field line toroidally due to the lack of any bounce point. To calculate this frequency, we need to first calculate deviations from the field line orbit, noting that radial excursions from the field line are of the order of the gyroradius. To aid in the calculation, we exploit the exact conservation of the canonical toroidal momentum:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn57.png?pub-status=live)
Here, $\bar {\psi }$ corresponds to the reference magnetic flux surface defined to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn58.png?pub-status=live)
and $\psi _1$ is the deviation from that flux surface. Recall that the field line orbit assumed that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn59.png?pub-status=live)
where we hold $r$ and thus $\psi$
fixed. Since the exact field-line-following orbit breaks $P_\varphi$
conservation, we need to include deviations from the field line caused by conservation of $P_\varphi$
along with guiding centre drifts in order to consistently expand the guiding centre equation of motion with respect to the gyroradius.
The guiding centre equation of motion is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn60.png?pub-status=live)
where $x$ is any spatial coordinate and $\boldsymbol {v}_D$
is the guiding centre drift velocity. We then expand the guiding centre equation of motion for variables $\psi$
, $\theta$
and $\varphi$
and find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn61.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn62.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn63.png?pub-status=live)
We take the $\boldsymbol {v}_D$ to be the the sum of the classical curvature, grad-$B$
, and $E$
-cross-$B$
drifts:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn64.png?pub-status=live)
where $\hat {\boldsymbol {k}}$ is the curvature vector defined such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn65.png?pub-status=live)
We can simplify the equation of motion in the toroidal direction by noting that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn66.png?pub-status=live)
where we used the equation of motion in the poloidal direction. Substituting this in and evaluating ${\textrm {d} \varphi }/{\textrm {d} \theta }$, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn67.png?pub-status=live)
where we evaluate all radial coordinates at $\bar {r}$ such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn68.png?pub-status=live)
Finally, we take the bounce-transit average of $\dot {\varphi }$ and find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn69.png?pub-status=live)
Here, $\bar {\epsilon }$ is 0 for trapped particles and 1 for passing particles, $\varOmega _d$
is the frequency purely due to the guiding centre drifts, and $\omega _d$
is associated with the instantaneous deviation from the magnetic field line. The extra term for passing particles is due to the toroidal rotation from following the field line in a complete poloidal turn. This parallel velocity dependent term is absent for trapped particles since their average toroidal position does not change as a result of a complete field-line-following bounce. We approximate $\omega _d$
as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn70.png?pub-status=live)
The poloidal component of the magnetic drift dominates, thus we ignore the toroidal component. Using the $s\text {--}\alpha$ equilibrium, we calculate the guiding centre drift in Appendix B. Thus, $\varOmega _3$
is computed with a finite Shafranov shift. The poloidal component of the guiding centre drift is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn71.png?pub-status=live)
where $E_r$ is the radial electric field. We also define $\alpha _M$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn72.png?pub-status=live)
Here, $\beta = 2 \mu _0 P/B^2$ with $\mu _0$
being the vacuum permeability. The $E$
-cross-$B$
drift can be separated from the magnetic drifts, so that we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn73.png?pub-status=live)
where $v_{D,B}$ characterizes the magnetic drifts and can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn74.png?pub-status=live)
where the magnetic shear is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn75.png?pub-status=live)
We can therefore rewrite $\varOmega _d$ as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn76.png?pub-status=live)
where $F = F_d(\kappa )$ is the bounce-transit averaged term, $\omega _{d0}$
is characteristic of the magnetic precession frequency and defined to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn77.png?pub-status=live)
and $\omega _E$ corresponds to the $E$
-cross-$B$
velocity. We explicitly carry out the bounce-transit average by rewriting the $\lambda b$
terms in terms of $\kappa$
and $\theta$
and find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn78.png?pub-status=live)
Rather than calculating $\alpha _3$ explicitly, it suffices to write its generic integral form. We also include the various oscillating quantities associated with the precession motion. In general, we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn79.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn80.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn81.png?pub-status=live)
Here, $\tilde {\psi }$ represents the excursion from the reference flux surface $\bar {\psi }$
during the poloidal orbit. Meanwhile, $\tilde {\varphi }$
is the difference in toroidal precession between a circular geometry and a more general equilibrium magnetic field. Later, we will use $\tilde {r}$
instead of $\tilde {\psi }$
with the understanding that $\psi (\tilde {r}) = \tilde {\psi }$
. Meanwhile, $\tilde {\theta }$
is associated with the oscillatory poloidal motion. We define these quantities as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn82.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn83.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn84.png?pub-status=live)
This guarantees that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn85.png?pub-status=live)
Note that in the above, $q$ and $\textrm {d} q/\textrm {d} \psi$
are evaluated at $\bar {r}$
and thus are time independent. Having characterized action-angle coordinates, we can proceed to solving the Vlasov equation using these coordinates.
3. The Vlasov equation
To begin, we write the Vlasov equation in action-angle variables:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn86.png?pub-status=live)
We remind ourselves that Hamilton's equations of motion in these coordinates are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn87.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn88.png?pub-status=live)
We later generalize the above equation with a Krook-style operator to add collisions for trapped electrons in Appendix C, but for now we work in the collisionless limit. The next step is to linearize the system by assuming the distribution function is composed of an equilibrium part $f_0 = f_0(\boldsymbol {J})$ and a perturbed part $\delta f = \delta f(\boldsymbol {\alpha }, \boldsymbol {J}, t).$
Dropping any quadratic perturbative terms, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn89.png?pub-status=live)
As stated earlier, any perturbative functions we consider must be periodic in the angular variables $\boldsymbol {\alpha }$. Therefore, we utilize a discrete Fourier transform in $\delta f$
and $\phi$
:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn90.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn91.png?pub-status=live)
To extract the physical quantity, we take the real part of the Fourier series. Here, $\boldsymbol {n}$ corresponds to the mode number of the Fourier term and $\omega$
is the complex frequency of oscillation. We decompose the complex frequency as $\omega = \omega _r + {\rm i} \gamma$
, where $\omega _r$
is the real frequency and $\gamma$
is the growth rate. Note that in QuaLiKiz, we only consider unstable modes with $\gamma > 0$
and ignore stable modes; although this does not change the fundamental approach, it does afford us some slight computational simplicity since we do not have to search for solutions in the entire complex plane. As an ansatz, we treat $\omega = \omega _{n_3}$
to be dependent on $n_3$
only, not $n_1$
and $n_2$
. To consistently solve the dispersion relation, we will eventually need to sum over $n_1$
and $n_2$
. The individual Fourier components can be calculated from the physical quantity via
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn92.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn93.png?pub-status=live)
where we integrate each angular variable from $0$ to $2 {\rm \pi}$
.
To proceed, we assume the equilibrium distribution is a shifted Maxwellian:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn94.png?pub-status=live)
Here, $n_0$ is the equilibrium number density, $T$
is the temperature and $\boldsymbol {U}$
is the equilibrium plasma rotation velocity. In general, $n_0$
, $T$
and $\boldsymbol {U}$
will vary with position and therefore depend on $\boldsymbol {J}$
. By only considering toroidal rotation, we make the approximation
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn95.png?pub-status=live)
which allows us to write
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn96.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn97.png?pub-status=live)
We also take into account gradients of the parallel rotation velocity. Due to the presence of rotation, we also include the radial electric field as well as its gradient. We use the natural frequency parameter for the electric field shear $\gamma _E$ defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn98.png?pub-status=live)
This will allow us to Taylor expand the characteristic $E$-cross-$B$
frequency such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn99.png?pub-status=live)
where we expand about the radial distance $x = 0$ and $\partial _r \omega _E = \omega _E'$
is related to the radial electric shear.
Additionally, in QuaLiKiz we ignore terms that go as the square of fluctuating quantities. Since we assume a small Mach number as well as a small derivative in the parallel velocity, we thus assume that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn100.png?pub-status=live)
This term is responsible for turbulent acceleration and arises from the presence of rotation in the equilibrium distribution function. We expect this term to be negligible for non-impurities in the low-Mach-number limit and will thus neglect it as an approximation (Garbet et al. Reference Garbet, Esteve, Sarazin, Abiteboul, Bourdelle, Dif-Pradalier, Ghendrih, Grandgirard, Latu and Smolyakov2013).
Substituting the above expressions as well as the Fourier series into the linearized Vlasov equation, we isolate each term mode by mode due to completeness and orthogonality of the Fourier series to find $f_{\boldsymbol {n}}$ in terms of $\phi _{\boldsymbol {n}}$
. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn101.png?pub-status=live)
where the diamagnetic frequency $\boldsymbol {\omega }_\ast$ is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn102.png?pub-status=live)
where the thermal velocity is $v_T = \sqrt {2 T /m }$ and the frequency associated with the $E$
-cross-$B$
drift is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn103.png?pub-status=live)
We then rewrite the equation to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn104.png?pub-status=live)
where it is now clear that there is an adiabatic part and a frequency dependent part of the equation.
The next step to solving the dispersion relation is to use Poisson's equation,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn105.png?pub-status=live)
where the $s$ subscript labels the particle species and $\epsilon _0$
is the vacuum permittivity. In the earlier parts of the derivation, we had suppressed the subscript for various quantities (e.g. $m, T, n_0, f_0, \delta f, \ldots$
); we include the subscript for the time being. The total number density $n_s$
is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn106.png?pub-status=live)
The perturbed electrostatic potential is calculated using the perturbed number density
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn107.png?pub-status=live)
We obtain the perturbed charge density by then multiplying the perturbed number density by the charge of the species. To enforce quasineutrality, we take the sum of the total charge density to be null and require that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn108.png?pub-status=live)
where $\lambda _D$ is the Debye length. Because we are interested in length scales much longer than the Debye length, the Laplacian term in Poisson's equation is negligible. The quasineutrality constraint then becomes
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn109.png?pub-status=live)
Since $\phi = \phi (\boldsymbol {r})$ is independent of velocity, if we multiply both sides of the above equation by $\phi ^\ast$
, the complex conjugate of $\phi$
, we can simply move it inside the integral. We then integrate over space, which results in
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn110.png?pub-status=live)
By multiplying by the electrostatic potential and integrating, we have recast the differential equation via a weak formulation using the variational method (Samain Reference Samain1970; Garbet et al. Reference Garbet, Laurent, Mourgues, Roubin and Samain1990; Garbet Reference Garbet2001; Nguyen, Garbet & Smolyakov Reference Nguyen, Garbet and Smolyakov2008). Instead of solving for the exact functions $\phi$ or $\delta f$
that satisfy Poisson's equation, we can simply approximate $\phi$
and $\delta f$
with a suitable function and focus on the dispersion relation itself. Typically, when the Laplacian is kept, the differential equation is put into the weak formulation by integrating the Laplacian term by parts; this technique is well established in other fields such as finite element analysis (Johnson Reference Johnson1991).
We next substitute in the Fourier expansions and the expression relating $\phi _{\boldsymbol {n}}$ and $f_{\boldsymbol {n}}$
. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn111.png?pub-status=live)
To simplify this integral, we first perform the change of variables $(\boldsymbol {r}, \boldsymbol {v}) \to (\boldsymbol {r}, \boldsymbol {p})$; the Jacobian of this transformation is simply $m_s^{-1}$
. We then perform the change of variables $(\boldsymbol {r}, \boldsymbol {p}) \to (\boldsymbol {\alpha }, \boldsymbol {J})$
; the Jacobian of this particular transformation is $1$
because this is guaranteed to be a canonical transformation. We therefore obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn112.png?pub-status=live)
We note that the exponential terms are $\boldsymbol {\alpha }$ dependent. We then use orthogonality of the Fourier series to find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn113.png?pub-status=live)
Because we developed the Fourier series such that $\omega$ only depends on the mode number $n_3$
, we can solve for each value of $n_3$
individually while summing over $n_1$
and $n_2$
. While the summation arising from this convention seems to make the problem more difficult at first glance, we shall see later it allows for a variety of simplifications. Moreover, the integrand is now completely independent of $\boldsymbol {\alpha }$
. As such, we integrate over the action angles again and transform back to conventional variables, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn114.png?pub-status=live)
Even though the integrand is a function of only $\boldsymbol {J}$, the parameters in the integrand are more naturally expressed in terms of other coordinates such as the minor radius and the pitch angle parameter. Thus, further coordinate transformations to simplify this expression are inevitable. As such, they are most easily carried out when starting from the typical configuration space variables $(\boldsymbol {r}, \boldsymbol {v}).$
For ease of notation, we split up the dispersion relation as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn115.png?pub-status=live)
Here, $\mathcal {L}_0$ is the portion of the integral that is simply multiplied by $1$
, which we call the adiabatic part. Then, $\mathcal {L}_{\text {passing}}$
is the portion of the integral that is frequency dependent and integrated over the part of velocity space that encompasses passing particles, while $\mathcal {L}_{\text {trapped}}$
consists of the trapped particles instead.
To proceed with solving the dispersion relation, we must first calculate $|\phi _{\boldsymbol {n}}|^2$. This requires a three-dimensional (3-D) integral over $\textrm{d}^3 \alpha$
as shown in (3.8). Once that is done, we then proceed to calculate the integral in the dispersion relation itself for the adiabatic part, trapped part and passing part separately. Although our expression appears to be a six-dimensional integral, we can utilize a number of symmetries, transformations and approximations to simplify the form down to at most 2-D integrals. Although integrals of higher dimension can be in principle calculated numerically, the curse of dimensionality renders such integrals computationally expensive. Thus, a reduction to two dimensions affords us a great deal of speed at the cost of some amount of accuracy.
4. Ballooning representation
Before integrating $|\phi _{\boldsymbol {n}}|^2$ with respect to the action angles, we review key results regarding the ballooning representation. Because $\phi (r,\theta ,\varphi )$
must be periodic in $\theta$
and $\varphi$
, we may expand $\phi$
as a Fourier series,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn116.png?pub-status=live)
Here, $r_0$ is the location of the resonant flux surface for each given $m$
and $n$
; in other words, $q(r_0) = -m/n$
. We take these modes to be localized around the resonant flux surface. These modes are often radially localized such that the distance between any two adjacent resonant rational flux surfaces is much longer than the characteristic length scale of the plasma equilibrium. If that condition holds, then all modes $\phi _{m,n}$
have nearly identical radial envelopes where each radial profile is centred on their corresponding reference flux surface (Connor, Hastie & Taylor Reference Connor, Hastie and Taylor1979). These flux surfaces are all rational flux surfaces since $m$
and $n$
are integers. Meanwhile, the general ballooning representation of $\phi$
is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn117.png?pub-status=live)
where $\theta _0$ is the ballooning angle and $p$
denotes the various harmonics. Here, we have approximated the potential by separating it into a quickly varying eikonal and a slowly varying envelope.This representation ultimately comes from the fact that the instabilities in question are strongly anisotropic and flute-like where $k_\parallel \gg k_{\perp }$
. In the absence of toroidal rotation, the ballooning angle is typically taken to be zero since the most unstable modes are localized around $\theta _b = 0$
. In the presence of finite toroidal rotation and an equilibrium electrostatic potential, the ballooning angle is shifted away from zero (Bourdelle et al. Reference Bourdelle, Citrin, Baiocchi, Casati, Cottier, Garbet and Imbeaux2016). However, it is known that the shift due to rotation is typically of the order of $10^{-1}$
in the tokamak core (Candy, Waltz & Rosenbluth Reference Candy, Waltz and Rosenbluth2004). Although up-down asymmetries and global effects can lead to an effective non-zero ballooning angle not necessarily close to zero, QuaLiKiz does not take into account global effects nor up-down asymmetries. For the rest of the derivation, we therefore take the ballooning angle to be zero as an approximation. This is equivalent to assuming that the envelope is radially independent. Moreover, if the profile is heavily localized around $\theta = 0$
, we can use the strong ballooning approximation and ignore all harmonics except for $p = 0$
, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn118.png?pub-status=live)
It is important to note that the decomposition in terms of $\phi _{m,n}$ describes how the same radial profile is localized about adjacent flux surfaces. Meanwhile, the decomposition in terms of $\hat {\phi }_n$
describes how the linear eigenmode balloons along the field line. This can be seen more explicitly if one considers that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn119.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn120.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn121.png?pub-status=live)
Thus, with the above set of variables, $\theta$ indicates the location on any given field line. Because the magnetic curvature is unfavourable on the low-field side of the tokamak when one considers the interplay between the curvature vector and the pressure gradient for normal tokamak profiles, we expect fluctuations to peak about $\theta = 0$
. We can demonstrate a direct link between $\phi _{m,n}$
and $\hat {\phi }_n$
by calculating the Fourier components of $\phi$
, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn122.png?pub-status=live)
We then make two approximations. First, we Taylor expand the term in the eikonal around the reference flux surface,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn123.png?pub-status=live)
where $q_0 = q(r_0)$, the radial difference between different rational flux surfaces is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn124.png?pub-status=live)
and $x$ is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn125.png?pub-status=live)
where we ignore second derivatives of the safety factor. After doing so, we find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn126.png?pub-status=live)
Second, we invoke the strong ballooning approximation by treating $\hat {\phi }_n$ as heavily localized around $\theta = 0$
; this allows us to integrate from $-\infty$
to $\infty$
instead of from $-{\rm \pi}$
to ${\rm \pi}$
. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn127.png?pub-status=live)
Comparing it with our previous definition of the Fourier transform, we find that $\hat {\phi }_n(\theta )$ is simply the Fourier transform of $\phi _{m,n}(r)$
, with $k_r = \theta /d$
. The transformation is given by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn128.png?pub-status=live)
We are now in a position to integrate over the action angles to fully calculate $\phi _{\boldsymbol {n}}$. The procedure to integrate over $\alpha _1$
has already been discussed in § 2, with the relevant result being (2.29). We therefore only need to discuss in detail the integrations over $\alpha _2$
and $\alpha _3$
while treating all variables within the guiding centre framework. Trapped particle motion and passing particle motion differ such that the two cases must be handled separately.
4.1. Trapped
For deeply trapped particles, the equations for the action variables simplify to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn129.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn130.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn131.png?pub-status=live)
Here, we define the banana width $\delta _b$ as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn132.png?pub-status=live)
While more exact expressions for the bounce motion can be given using Jacobi elliptic functions, we use the above equations for all trapped particles as an approximation. We first integrate over $\alpha _2$, once again utilizing the Fourier transform,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn133.png?pub-status=live)
We then proceed in a fashion similar to the gyro-average derivation in § 2 by noting that $\boldsymbol {k} \boldsymbol {\cdot } {\boldsymbol {r}} = \boldsymbol {k} \boldsymbol {\cdot } \bar {\boldsymbol {r}} + k_r \delta _b \cos (\alpha _2)$. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn134.png?pub-status=live)
In essence, we obtain a bounce average over the banana width (Depret et al. Reference Depret, Garbet, Bertrand and Ghizzo2000). We note that this in particular is a rather crude approximation. The particularities of the bounce motion, such as the bounce angle and the radial excursion, technically depend on the pitch angle of the particle; we are in essence smearing this out by taking a representative trapped particle such that the banana width is constant. The averaging procedure is also approximate as we only take into account the radial deviation. As seen in the work of Biglari & Chen (Reference Biglari and Chen1986), we would normally obtain a $\theta$ dependence in the argument of the Bessel function; the $k_r$
term manifests as the Fourier link established earlier. As a result, trapped particles have two Bessel operators acting on the potential corresponding to the gyromotion and the banana orbit respectively.
We now proceed to the integration over $\alpha _3$, for now leaving the Bessel functions aside and evaluating the position at $\boldsymbol {r} = \bar {\boldsymbol {r}}$
. In doing so, we must be aware that for trapped particles $\bar {\theta } = 0$
; that is, the variation of $\theta$
only comes from the bounce orbit which we averaged over. We also ignore $\tilde {\varphi }$
for the same reason. Moreover, because we assume the modes to have an identical radial envelope, we are free to keep only one of the poloidal harmonics as there is an effective decay in the other poloidal harmonics. Making the strong assumption that the actual radial envelope can be approximated in this way, we pick $m_0 = - n_3 q_0$
, as this forces any $\theta$
dependence we approximately neglected in the eikonal to vanish. Thus, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn135.png?pub-status=live)
To compensate for choosing only one poloidal harmonic, when we later perform the integrals required for the dispersion relation, we extend the radial limits of integration to $-\infty < r < \infty$. Essentially, because the mode structure corresponding to different flux surfaces does not change, integrating over a finite domain while retaining the sum over all harmonics is equivalent to taking one harmonic and integrating over an infinite domain (Garbet et al. Reference Garbet, Laurent, Mourgues, Roubin and Samain1990). Aside from the Bessel functions, nothing in the trapped part of the dispersion relation is dependent on $\theta = k_r d$
. Therefore, we are free to take the amplitude squared of the averaged potential to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn136.png?pub-status=live)
where we evaluate the function at $x = \bar {r} - r_0$.
4.2. Passing
We now calculate $\phi _{\boldsymbol {n}}$ for passing particles. Instead of utilizing the poloidal harmonics, it is more useful to use the ballooning representation directly. Substituting in the expression for $\alpha _3$
and then integrating over $\alpha _3$
leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn137.png?pub-status=live)
Here, $\theta$ is taken to be a function of $\alpha _2$
. It is crucial that we recognize not all the safety factors in the eikonal are evaluated at the same point. We have both $q(r) = q(\bar {r} + \tilde {r})$
and $q(\bar {r})$
. The term $q(r) - q(\bar {r})$
can be Taylor expanded about $r_0$
:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn138.png?pub-status=live)
Carrying out the integral then gives us
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn139.png?pub-status=live)
We now multiply by $\textrm {e}^{- \textrm {i} n_2 \alpha _2}$ and integrate with respect to $\alpha _2$
. The eikonal can be simplified if we only keep $n_2 = m_0 = - n q_0$
,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn140.png?pub-status=live)
where we have used
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn141.png?pub-status=live)
and the expression $\alpha _2 = \theta - \tilde {\theta }$. We then obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn142.png?pub-status=live)
where we have invoked the strong ballooning approximation. We can see that this is simply an inverse Fourier transform going from $\alpha _2$ to $x$
. Thus, we write that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn143.png?pub-status=live)
where $\mathcal {F}^{-1}$ inverts the Fourier transform as described above with respect to $\alpha _2$
. While the $\tilde {\varphi }$
dependence can be approximately ignored in a circular geometry, the $\tilde {r} \theta (\alpha _2)$
dependence in the eikonal must be kept.
We shall see that the mode numbers $n_1$ and $n_2$
do not appear explicitly in the final expression. For convenience, we thus write $n_3 = n$
and identify it as the toroidal mode number.
4.3. Gaussian eigenfunction
We now introduce the functional form of the potential. We use the ansatz that the poloidal harmonic structure is a shifted Gaussian:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn144.png?pub-status=live)
This Gaussian corresponds to the lowest-order eigenfunction from the corresponding ballooning equation; the higher-order terms utilize the Hermite polynomials and are neglected here. This Gaussian has a complex width $w$ and shift $x_0$
. In the limit of no rotation, $x_0 = 0$
and the Gaussian is centred about $x = 0$
. An asymmetry in the eigenfunction about the origin is required to produce quasilinear angular momentum flux. We also note that we restrict ourselves to up-down symmetric geometries, thereby neglecting intrinsic momentum transport (Ball et al. Reference Ball, Parra, Barnes, Dorland, Hammett, Rodrigues and Loureiro2014). Moreover, even in the absence of rotation, a Gaussian eigenfunction cannot describe modes with odd parity in the electrostatic eigenfunction. Although ETG, ITG and TEM instabilities often have even parity in the electrostatic potential in the absence of rotation, these modes can have odd parity eigenfunctions at strongly driving gradients such as in the pedestal (Pueschel et al. Reference Pueschel, Hatch, Ernst, Guttenfelder, Terry, Citrin and Connor2019). In addition, electromagnetic modes such as the microtearing mode do not have even parity electrostatic potentials (Smith et al. Reference Smith, Guttenfelder, LeBlanc and Mikkelsen2011), not to mention that the parallel vector potential would need to be described. Thus, full incorporation of electromagnetic modes and odd parity electrostatic modes would require a generalization of the Gaussian eigenfunction assumption and thus the use of the aforementioned higher-order terms using the Hermite polynomials. Allowing more general geometry, relaxing the eigenfunction ansatz and including electromagnetic modes would allow for additional mechanisms related to the generation of angular momentum flux. Although the amplitude $\phi _0$
cannot be obtained from quasilinear theory, it factors out of the dispersion relation and does not affect the linear mode frequency calculation. Setting the amplitude will be necessary to calculate the quasilinear fluxes and requires the use of a saturation rule, which is detailed in § 9.
To obtain expressions for $w$ and $x_0$
, we move into the high-frequency fluid limit. The original derivation can be found in the paper by Cottier et al. (Reference Cottier, Bourdelle, Camenen, Gürcan, Casson, Garbet, Hennequin and Tala2014) and an extensive, revised derivation can be found in that of Citrin (Reference Citrin2017); here, we shall only discuss the basic principle. We consider the dispersion relation
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn145.png?pub-status=live)
This is the local dispersion relation obtained if we consider the strong form of Poisson's equation rather than the weak form; we do not multiply by $\phi ^\ast$ and integrate over space. The Bessel function is such that $J_{0,s} = J_0(k_\perp \rho _s) J_0(k_r \delta _{b,s})$
for trapped particles and $J_{0,s} = J_0(k_\perp \rho _s)$
for passing particles. Meanwhile, we define the parallel wavenumber as $k_\parallel = (k_\theta s x)/(q R_0)$
. The local drift frequency $\omega _{d,s}$
is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn146.png?pub-status=live)
The passing form of the drift frequency is due to the radial structure of the eigenfunction as covered in § 7. We also note the Fourier link in the passing drift frequency that $\theta ^2 \to k_r^2 d^2$. To proceed, we take $\bar {\omega } = \omega - n \omega _E$
to be larger than $k_\parallel v_\parallel$
and $\omega _{d0,s}$
, and for trapped particles we approximate $k_\parallel v_\parallel \approx 0$
. We also take $\delta _{b,e} \ll \delta _{b,i}$
and $\rho _e \ll \rho _i$
, where the ‘e’ subscript is for electrons and the ‘i’ subscript is for ions, to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn147.png?pub-status=live)
where $Z_i$ is the proton number of the ion species. We define the averages over velocity space as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn148.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn149.png?pub-status=live)
To do the $\theta$-dependent terms, we note that this is a differential equation. We approximate the differential operators on $\phi$
in the limit of small mode shift $x_0$
, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn150.png?pub-status=live)
Next, we carry out the integrals both analytically and numerically as appropriate, and multiply the dispersion relation by $\omega ^3$ to obtain a modified dispersion relation,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn151.png?pub-status=live)
Here, we separate terms proportional to $x^0, x^1$ and $x^2$
. With three equations we can solve for the three unknowns $(\omega _0, w, x_0)$
. We then find the solution $\omega _0$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn152.png?pub-status=live)
Having found this zeroth-order solution, we then find $x$ and $w$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn153.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn154.png?pub-status=live)
We do not cite the full solution here and direct the reader to the work of Citrin (Reference Citrin2017) for a complete derivation. Now that we have characterized $\phi _{\boldsymbol {n}}$ by calculating $x_0$
and $w$
, we move to the dispersion relation itself, beginning with the adiabatic term.
5. Adiabatic functional
We first examine the adiabatic part of the functional, as it is the simplest to treat. It takes the form
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn155.png?pub-status=live)
Here, we have suppressed the subscript $s$ as we will be working with each species independently. We first define a new function $\phi _{n} = \phi _{n}(\alpha _1, \alpha _2, \boldsymbol {J})$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn156.png?pub-status=live)
We then note due to the orthogonality of the Fourier series that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn157.png?pub-status=live)
Thus, it is more convenient to switch back to action-angle coordinates for an intermediate calculation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn158.png?pub-status=live)
This then simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn159.png?pub-status=live)
The velocity space integration is straightforward,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn160.png?pub-status=live)
so all that is left is the spatial integration. Because we use toroidal coordinates, the differential volume element is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn161.png?pub-status=live)
We proceed to calculating $\phi _{n}$ using the poloidal harmonic expansion as detailed in § 4,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn162.png?pub-status=live)
When we examined the trapped Fourier modes, we already calculated $\phi _{n}$. We simply need to generalize it for passing particles as well, which results in
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn163.png?pub-status=live)
As before, we only keep the poloidal harmonic corresponding to $m_0 = -n q_0$ and expand the limits of integration for $r$
to compensate. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn164.png?pub-status=live)
Because the integrand in the adiabatic functional now only depends on $r$, the integral simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn165.png?pub-status=live)
Here, we make use of the localization approximation which transforms the factor of $r$ in the integrand into $r_0$
. Due to the Gaussian structure of $\phi _{m_0, n}$
, this integral is easily performed and we find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn166.png?pub-status=live)
Now that we have calculated the adiabatic functional, we next calculate the trapped functional.
6. Trapped functional
The trapped part of the dispersion relation reads
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn167.png?pub-status=live)
We emphasize that although this aspect of the derivation is collisionless, QuaLiKiz includes collisions for trapped electrons. Strictly speaking, this section concerns trapped ions. The majority of the derivation remains the same for trapped electrons, the key difference being that the eventual integral over the particle energy cannot be analytically simplified.
The first step is to determine the appropriate variables to integrate over. For the spatial variables, we once again use toroidal coordinates,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn168.png?pub-status=live)
For velocity space, we use the variables $(v, \lambda , v_\phi )$ which correspond to the speed $v$
, pitch angle parameter $\lambda$
and cylindrical velocity phase $v_\phi$
. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn169.png?pub-status=live)
where the sum over $\epsilon _\parallel$ accounts for both possible signs of the parallel velocity. Because the integrand is independent of $\varphi$
or $v_\phi$
, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn170.png?pub-status=live)
It is important to note that the limits of integration depend on the order of integration. For a given $\theta$, the pitch angle parameter $\lambda$
for a trapped particle is bounded by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn171.png?pub-status=live)
The lower bound corresponds to the trapped–passing boundary, while the upper bound corresponds to a particle that has $v_\parallel = 0$ at a given angle $\theta$
. We can, however, exchange the order of integration as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn172.png?pub-status=live)
We recall that the definition of a bounce average is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn173.png?pub-status=live)
By exchanging our limits of integration and integrating over $\theta$ first, part of the trapped functional simplifies to become a bounce average.
Next, we approximate the equilibrium distribution function assuming the Mach number $U_\parallel / c_s$ is small, where $c_s = \sqrt {T/m}$
is the sound speed. We thus note that high-rotation tokamaks will break the assumed ordering in QuaLiKiz. In addition, even if the electron and ion species each have low Mach number, care must be taken with regards to heavy impurities, as the larger mass can lead to a higher Mach number for the same rotation velocity and temperature (Citrin Reference Citrin2017). Using the low-Mach-number ordering, the distribution function then simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn174.png?pub-status=live)
Moreover, because $|\varOmega _1|, |\varOmega _2| \gg |\omega |$, we can approximate this integral by truncating the sum at $n_1 = n_2 = 0$
. We also perform a change of variables from $v$
to $\xi$
to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn175.png?pub-status=live)
The Bessel functions from the gyromotion and the banana motion are implicit in $\phi _{0,0,n}$. We next simplify the partial derivatives with respect to $\boldsymbol {J}$
. Because $n_1 = n_2 = 0$
, we only keep the partial derivative with respect to $J_3$
. Knowing that $J_3 = J_3(\bar {r})$
, we perform a change in variables from $J_3$
to $\bar {r}$
and find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn176.png?pub-status=live)
where $g$ is a generic scalar function. We then define the following normalized gradients:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn177.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn178.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn179.png?pub-status=live)
To perform the bounce average, we note that only $v_\parallel$ is dependent on $\theta$
. We perform the calculation explicitly to find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn180.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn181.png?pub-status=live)
where we define
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn182.png?pub-status=live)
To simplify our expressions, we also fold $\boldsymbol {n} \boldsymbol {\cdot } \boldsymbol {\omega }_E$ into the mode frequency such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn183.png?pub-status=live)
where, as discussed earlier, we Taylor expand $\omega _E$ about $x = 0$
and $\partial _r \omega _E = \omega _E'$
is related to the radial electric shear. Rather than including $x$
fully, we instead approximate the term by averaging it over the Gaussian eigenfunctions:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn184.png?pub-status=live)
We then obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn185.png?pub-status=live)
Ignoring all terms that are order cubic or higher with the Mach number, we then find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn186.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn187.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn188a.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn188.png?pub-status=live)
Here, we have defined
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn189.png?pub-status=live)
Moreover, we take note that $H(\kappa ) \sim {O}(\epsilon )$; since the inverse aspect ratio $\epsilon$
is small, we can safely ignore all terms proportional to $U_\parallel ^2 H(\kappa ) / v_T^2$
.
Substituting the above into the integrand, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn190.png?pub-status=live)
Due to the localization of the mode, we evaluate any functions of $\bar {r}$ at $r_0$
in the above expression aside from the electrostatic potential. We then rewrite the trapped functional as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn191.png?pub-status=live)
The gyromotion and bounce motion appear in two separate Bessel functions. Since the only explicit radial dependence is contained in the electrostatic potential, we can change variables using Plancherel's theorem to integrate over $k_r$,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn192.png?pub-status=live)
After transforming to Fourier space, we treat the Bessel functions as normal scalar functions instead of differential operators. We next note that the Bessel functions are dependent on velocity through the gyroradius and banana width,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn193.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn194.png?pub-status=live)
We approximate this energy dependence by averaging each Bessel function separately over velocity space using a Maxwellian distribution. Doing so allows us to retain finite Larmor radius and finite banana width effects while also making the energy and pitch angle integration tractable. We find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn195.png?pub-status=live)
where $I_0$ is a modified Bessel function of the first kind and the characteristic thermal gyroradius $\rho _\text {th}$
is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn196.png?pub-status=live)
Similarly, for the average over the banana orbit we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn197.png?pub-status=live)
where the thermal banana width is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn198.png?pub-status=live)
Note that $k_\perp ^2$ is written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn199.png?pub-status=live)
where we evaluate $k_\theta$ at $r_0$
. That $k_\theta ^2 = n^2q^2/r^2$
comes from differentiating with respect to $\theta$
in the ballooning expansion due to the eikonal term. Because the $k_r$
dependence is now completely separable from the $\kappa$
and $\xi$
dependence, we write the trapped functional as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn200.png?pub-status=live)
where $\hat {\phi }_n$ is computed using a Fourier transform:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn201.png?pub-status=live)
We next simplify the integral over $\xi$, which is of the form
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn202.png?pub-status=live)
where we performed the change of variables $\xi = u^2$. Using the plasma dispersion function detailed in Appendix A, this simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn203.png?pub-status=live)
where the final simplification is made using the fact that $Z_{2n}$ is an even function for $n \ge 0$
. Meanwhile, we rewrite the integration over $\lambda$
with a change in variables,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn204.png?pub-status=live)
where we utilize the transformation
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn205.png?pub-status=live)
and define the flux surface averaged trapped particle fraction
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn206.png?pub-status=live)
Thus, the trapped functional simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn207.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn208.png?pub-status=live)
and
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn209.png?pub-status=live)
The remaining integrals are to be calculated numerically, where we note that $z$ is a function of both $\bar {\omega }$
and $\kappa$
. Thus, the trapped functional is the product of two separate 1-D integrals, one of which is $\omega$
independent; we therefore characterize the trapped functional as a 1-D integral that must be calculated numerically. Now that we have simplified the expression for the trapped functional, we turn to calculating the passing functional.
7. Passing functional
The passing part of the dispersion relation reads
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn210.png?pub-status=live)
We reuse many of the same arguments in § 6 regarding changes in variables and approximating the equilibrium distribution function. One key difference is that instead of the bounce average, we use the transit average
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn211.png?pub-status=live)
We note here that the bounce angle $\theta _b$ is set to ${\rm \pi}$
and that we do not perform a sum over $\epsilon _\parallel$
to compute the transit average. Moreover, the integration bounds for $\lambda$
are such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn212.png?pub-status=live)
These bounds hold regardless of whether we integrate over $\theta$ before or after integrating over $\lambda$
. Since they are independent of $\theta$
, the order of integration of the two variables can be freely interchanged. As in the trapped case, we only keep $n_1 = 0$
since $|\varOmega _1| \gg |\omega |$
. As discussed in § 4, $n_2$
refers to the poloidal harmonic. We keep only $n_2 = m_0$
and use the approximation that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn213.png?pub-status=live)
In the resonant denominator we then obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn214.png?pub-status=live)
where we also expand $\omega _E$ about $x = 0$
. The passing functional is then
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn215.png?pub-status=live)
Here, we have evaluated all functions at $r = r_0$ except for the terms proportional to $x$
in the resonant denominator and numerator. These terms must be kept if we wish to take into account the effects of the poloidal motion as well as the radial electric field shear. We now evaluate the integration over $\bar {r}$
while leaving aside the term proportional to $x$
in the numerator.
To proceed, we use Plancherel's theorem to integrate over $\alpha _2$ instead of $\bar {r}$
,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn216.png?pub-status=live)
For convenience, we compute the radial integral in isolation and relabel variables,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn217.png?pub-status=live)
We calculated in § 4 that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn218.png?pub-status=live)
We note that $k_\perp$ is defined such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn219.png?pub-status=live)
We next use the convolution theorem to calculate the other Fourier transform,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn220.png?pub-status=live)
Computing the Fourier transform of both functions and performing the convolution, we find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn221.png?pub-status=live)
where $\varTheta$ is the Heaviside step function. Here, we have assumed that $\textrm {Im}(b) > 0$
. This is justified since $b \sim \omega$
and we are only interested in positive growth rates. Combining the results, we obtain for the passing integral $I_{p,r}$
that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn222.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn223.png?pub-status=live)
We then substitute in
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn224.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn225.png?pub-status=live)
and rewrite the eikonal term to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn226.png?pub-status=live)
It is important to recognize the physical importance of $\varLambda$. In the ballooning representation, we encoded a certain particle trajectory in the eikonal that differs from the magnetic drift trajectory. The function $\varLambda$
encapsulates the phase difference between these two trajectories.
Before proceeding, we must recognize that integrating over $\alpha _2$ and $\alpha _2'$
is inconvenient. The function $\hat {\phi }_n$
has Gaussian structure in $\theta$
, but not in $\alpha _2$
. Thus, the next goal is to write the integrand in terms of $\theta$
and $\theta '$
. First, we introduce new variables,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn227.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn228.png?pub-status=live)
We next Taylor expand the terms in the exponential around $\theta _+$ to find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn229.png?pub-status=live)
where $\varLambda '$ denotes the derivative of $\varLambda$
with respect to $\alpha _2$
. Due to the rapidly varying phase in the exponential, the factor of $i \omega \sim -\gamma$
in the exponential and the Gaussian integrand, we ignore higher-order terms to obtain the dominant contribution. From the equations listed in § 2, we find
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn230.png?pub-status=live)
The leading terms can be computed explicitly in much the same manner as when calculating the magnetic precession frequency,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn231.png?pub-status=live)
Although somewhat similar to the magnetic drift frequency proper, there are two key differences. First, the magnetic shear term is different and proportional to $\theta \sin (\theta )$. Second, this frequency is explicitly $\theta$
-dependent and no bounce-transit average is performed. In carrying out the calculation the bounce-averaged magnetic drift terms partially cancel; for sufficiently small radial electric field shear we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn232.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn233.png?pub-status=live)
We next change the variables of integration from $\alpha _2, \alpha _2'$ to $\theta , \theta '$
using
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn234.png?pub-status=live)
The integral then becomes
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn235.png?pub-status=live)
where the Bessel functions are evaluated in terms of $\theta$ and $\theta '$
. We now substitute in an expression for $\hat {\phi }_n$
in terms of a Fourier transform to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn236.png?pub-status=live)
We then make the following substitutions:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn237.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn238.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn239.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn240.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn241.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn242.png?pub-status=live)
to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn243.png?pub-status=live)
At first glance, it seems like we have only made the derivation more difficult. We are now performing a four-dimensional integration over variables which do not have a convenient Gaussian structure. Fortunately, this simplifies. First, we notice that the integration over $k_-$ can be done via an integration by parts procedure. In general, for a complex parameter $c$
we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn244.png?pub-status=live)
This is the asymptotic expansion for sufficiently large $c$. We apply a similar expansion to the integral over $k_-$
and keep only the first term. Because $\textrm {Im}(\omega ) > 0$
and the integrand contains a Heaviside step function, the first term is guaranteed to converge. Note that we would normally need to apply the method of steepest descent to properly approximate the integral; however, this requires that the term in the exponential have a saddle point somewhere in the complex plane. Due to our previous approximation, the term in the exponential is monotonic in $k_-$
, thus the method of steepest descent is not necessary for our purposes. We find then that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn245.png?pub-status=live)
For convenience, we next replace all instances of $k_+ | d |$ with $k_+ d$
; this is allowed since $\bar {\varOmega }_d$
and $b$
are even functions and the bounds of integration are symmetric. We obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn246.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn247.png?pub-status=live)
As with the trapped functional, we separately average over the Bessel functions,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn248.png?pub-status=live)
We next carry out the integral over $x_-$ by identifying it as the inverse Fourier transform of the product of two Gaussians, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn249.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn250.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn251.png?pub-status=live)
It is more convenient to numerically integrate this over $k_\ast$ and $\rho _\ast$
to take advantage of the explicit Gaussian structure. Because the Jacobian of this variable transformation is $1$
, the change of variables is easily carried out. In addition, we approximate the $\lambda$
-dependent terms by averaging over the pitch angle parameter. We also use the extremely passing particle limit, where $\theta \approx \alpha _2$
. We then obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn252.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn253.png?pub-status=live)
and
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn254.png?pub-status=live)
We note here that the factor of $4/3$ comes from taking the pitch angle average of $2 - \lambda b$
in the small $\epsilon$
limit. This approximation can be improved by considering higher-order $\epsilon$
terms, although this is not done in the current formulation of QuaLiKiz (QuaLiKiz version 2.8.1).
We now address terms in the numerator of the original integrand that are proportional to $x$; these terms arise from the radial electric field shear. In principle, their inclusion can be treated fully consistently by using the appropriate Fourier transforms as well as the convolution theorem in much the same way as we did before. However, as a crude approximation, we simply map $x \to x_+$
in the numerator as is effectively done in the denominator.
Next, we address the integration over $\lambda$ and $\xi$
in the full passing functional. Once these integrals are calculated, we fold them into the integration over $\rho _\ast$
and $k_\ast$
. We wish to compute
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn255.png?pub-status=live)
Because we averaged out the pitch angle dependence in the denominator of the integrand, the pitch angle integration in the numerator is completely separable and only dependent on the inverse aspect ratio $\epsilon$. This is perhaps the largest single approximation used in the passing part of the dispersion; it is necessary to ensure that the numerical integral is 2-D rather than 3-D. It is of potential interest to study the impact of this approximation. Calculating a more exact (albeit slower) integral to quantify the exact impact this approximation has on the resulting solutions and flux calculations is the subject of future work.
Since only $v_\parallel$ terms in the numerator are dependent on $\lambda$
. We also use the fact that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn256.png?pub-status=live)
where $f_p = 1 - f_t$ is the flux surface averaged passing particle fraction. We then compute
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn257.png?pub-status=live)
where we define $\lambda _m$ as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn258.png?pub-status=live)
We numerically calculate $\lambda _m$ separately from the rest of the dispersion relation since $\lambda _m$
is only dependent on $\epsilon$
. Once again ignoring terms order cubic or higher with the Mach number, we find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn259.png?pub-status=live)
where we define the terms
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn260.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn261.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn262.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn263.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn264.png?pub-status=live)
and where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn265.png?pub-status=live)
Thus, the integral simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn266.png?pub-status=live)
We then perform a change in variables to $u = \sqrt {\xi }$ and note that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn267.png?pub-status=live)
The integral then becomes
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn268.png?pub-status=live)
To simplify this integral further, we rewrite the denominator as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn269.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn270.png?pub-status=live)
This allows us to simplify the integral using the plasma dispersion functions defined in Appendix A, which allows us to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn271.png?pub-status=live)
where the associated Fried and Conte integrals $G_n = G_n(z_+, z_-)$ are evaluated at $z_+$
and $z_-$
. Thus, the passing functional simplifies to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn272.png?pub-status=live)
where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn273.png?pub-status=live)
We have now reduced all parts of the dispersion relation to a numerically tractable form. The adiabatic piece can be calculated analytically, whereas the trapped and passing functionals require one- and two-dimensional integrals, respectively. With the dispersion relation in hand, we can proceed to apply quasilinear theory.
8. Quasilinear approximation
The core principle of quasilinear theory is to consider the slow time variation of the total distribution function $f$ and the resultant fluxes that attempt to drive the distribution function back to equilibrium. The validity of the quasilinear approximation depends on the decorrelation time of the potential being shorter than the eddy turnover time. The ratio of these two quantities is known as the Kubo number (Kubo Reference Kubo1963; Krommes Reference Krommes2002). The single particle analogue to this is that the individual particle must not be trapped in the field; this allows the dynamics to be characterized as a random walk process, which leads to a justification for the quasilinear approach. These characteristic times have been calculated and compared for both ETG and ITG–TEM turbulence in various parameter regimes (Lin et al. Reference Lin, Rice, Wukitch, Greenwald, Hubbard, Ince-Cushman, Lin, Porkolab, Reinke and Tsujii2008; Casati et al. Reference Casati, Bourdelle, Garbet, Imbeaux, Candy, Clairet, Dif-Pradalier, Falchetto, Gerbaud, Grandgirard, Gürcan, Hennequin, Kinsey, Ottaviani, Sabot, Sarazin, Vermare and Waltz2009; Citrin et al. Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012). For all cases reported in the aforementioned references, the Kubo number is less than unity, even for those with normalized gradients of ${\sim }20$
. Well-developed turbulence for these tokamak plasma parameters thus manifest random walk processes, and thus driven anomalous transport in the core is successfully modelled by quasilinear methods.
Moreover, it has been found that quasilinear models are successful in reproducing experimental results such as temperature profiles within $15\,\%$ root-mean-square error (Kinsey, Staebler & Waltz Reference Kinsey, Staebler and Waltz2008). We acknowledge, however, that successful quasilinear modelling of the total fluxes is not strictly indicative of the validity of the quasilinear approximation. For instance, the saturation rule for a quasilinear model can in principle correct for errors in the unsaturated quasilinear flux calculations. Thus, validation of quasilinear flux ratios before saturation is an important piece in confirming the use of the quasilinear approximation. We note that investigating the full range of validity for the quasilinear approximation is an active area of research, and that cases whereby the quasilinear approximation breaks down have been found (Laval & Pesme Reference Laval and Pesme1983; Besse et al. Reference Besse, Elskens, Escande and Bertrand2011). For QuaLiKiz, we restrict ourselves to the aforementioned parameter regimes whereby the quasilinear approach has been thoroughly verified.
To proceed, we first recall the Vlasov equation for a given species (again omitting the species label):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn274.png?pub-status=live)
When we obtained the dispersion relation, we considered the linear response and neglected terms that are quadratic in the fluctuations. Moreover, we also assumed $f_0$ was time-independent. To proceed with the quasilinear approximation, we now suppose that $f_0$
varies slowly in time on a time scale longer than that of the linear modes. We may then perform a time average over the Vlasov equation such that $\langle f\rangle _t = f_0$
and the linear response averages to zero. We define the time average as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn275.png?pub-status=live)
where $T$ is the time scale associated with the linear modes. The time-averaged Vlasov equation then reads
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn276.png?pub-status=live)
Here, we take the real part of $\delta f$ or $\phi$
to obtain the physical quantity in accordance with our convention. To proceed, we rewrite the Poisson bracket as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn277.png?pub-status=live)
The time average can be simplified by noting that for any two general vectors $\boldsymbol {A}$ and $\boldsymbol {B}$
we have
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn278.png?pub-status=live)
Due to the Fourier structure of $\delta f$ and $\phi$
, we also note that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn279.png?pub-status=live)
Essentially, the $\boldsymbol {\alpha }$ dependence disappears after performing the time averaging. Moreover, taking the real part of $\delta f$
and $\phi$
commutes with taking derivatives of real variables. We therefore obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn280.png?pub-status=live)
where we define the quasilinear flux $\boldsymbol {\varGamma }_Q$ as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn281.png?pub-status=live)
Here, $f_{\boldsymbol {n}}$ and $\phi _{\boldsymbol {n}}$
are related via the dispersion relation in the linearized problem. Thus, the quasilinear flux is computed by substituting in the solution of the dispersion relation including the found eigenvalues $\omega$
, again only considering unstable modes. Modes that lack unstable solutions do not contribute to the quasilinear flux.
We are now in a position to calculate the flux surface averaged particle, toroidal angular momentum and energy fluxes by averaging the Vlasov equation over velocity and space. This is analogous to calculating the fluid equations by taking moments of the Vlasov equation. The radial fluxes can be calculated via a change in variables from $J_3$ to $r$
. We find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn282.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn283.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn284.png?pub-status=live)
where $\varGamma$, $\varPi$
and $Q_E$
are the particle, toroidal momentum and energy fluxes defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn285.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn286.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn287.png?pub-status=live)
Here, we can see that the integrations to calculate the particle, toroidal momentum and energy fluxes are of the same form to solve the dispersion relation. The particle flux calculation is identical. Meanwhile, we must take into account an extra factor of $v_\parallel$ and $v^2$
for the angular momentum flux and energy flux integrations, respectively. These changes can be easily accommodated for without affecting the fundamental approach. For instance, the inclusion of $v^2$
simply changes the associated Fried and Conte integral. The physical significance of these fluxes can be further solidified by examining the perturbed $E$
-cross-$B$
velocity. We find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn288.png?pub-status=live)
where we have again used the convention that $k_\theta \to (i/r) \partial _\theta$. We then find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn289.png?pub-status=live)
This lets us write the fluxes as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn290.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn291.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn292.png?pub-status=live)
Therefore, the particle, angular momentum and energy fluxes are simply related to moments of the perturbed distribution function integrated against the perturbed $E$-cross-$B$
velocity, where $\langle \dots \rangle _{t,r}$
denotes a time and spatial average. We also define
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn293.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn294.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn295.png?pub-status=live)
where we calculate the particle, angular momentum and energy fluxes for every species. We note that the toroidal angular momentum flux is only non-zero in the presence of rotations. The energy flux calculation can be approximated by noting in the small-Mach-number limit that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn296.png?pub-status=live)
We also note that often we are concerned with the heat flux $Q$ relative to the convective energy flux $\frac {3}{2} T \varGamma$
(Horton Reference Horton1984). The heat flux is simply
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn297.png?pub-status=live)
It is important to note that while we may obtain quasilinear flux ratios from the above procedure, we cannot with linear physics alone obtain the physical fluxes. Throughout the derivation, we have kept the amplitude of the fluctuating potential $\delta \phi$ arbitrary. The amplitude $\phi _0$
can only be obtained through the use of nonlinear physics by saturating the amplitude. Thus, the complete calculation of these fluxes must be obtained via a saturation rule obtained from a nonlinear computational code, in this case from the Gyrokinetic Electromagnetic Numerical Experiment (GENE) (Jenko et al. Reference Jenko, Dorland, Kotschenreuther and Rogers2000). This saturation rule is the topic of § 9.
9. Saturation rule
To formulate a saturation rule, we introduce the well-known mixing length estimate with an effective diffusivity $D$:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn298.png?pub-status=live)
where we compute the value of $\gamma _n$ such that the quantity $\gamma _n / \langle k_\perp ^2\rangle$
is at its maximum over the linear spectrum for a given mode. Meanwhile, we average $k_\perp ^2$
over the electrostatic mode. We enforce this mixing length estimate for our various flux calculations by approximating the underlying process as a random walk (Bourdelle et al. Reference Bourdelle, Garbet, Imbeaux, Casati, Dubuit, Guirlet and Parisot2007). For instance, we mandate that the particle flux for a given species must be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn299.png?pub-status=live)
where $C_{\text {NL}}$ is a dimensionless constant from nonlinear physics, the form factor $S_n$
is a mode-dependent form factor, $k_{\theta , \text {max}}$
corresponds to the mode that maximizes $\gamma _n / k_\perp ^2$
and $L_{s,n,0}$
is the dimensionless integral that actually computes the flux terms. The above expression is only valid when there is only one mode present in the linear spectrum. We can generalize the expression to account for the existence of multiple types of linear modes by introducing another form factor $S_{n'}$
into the expression and summing over both $n$
and $n'$
, while we compute the maximum $\gamma _n / k_\perp ^2$
for a given $n'$
.
We model $C_{\text {NL}}$ with the use of nonlinear gyrokinetic simulations. We distinguish between ITG scales, which we define as $k_\theta \rho _s < 2$
, and ETG scales, which we define as $k_\theta \rho _s > 2$
. Here, $\rho _s$
is the gyroradius of the main ion species such that $\rho _s = \sqrt {T_s / m_s} / \varOmega _{1,s}$
(note that lack of $\sqrt {2}$
). The ITG scales are tuned to the GA-Standard nonlinear ion heat flux computed by GENE, whereas the ETG scales are tuned to a single-scale nonlinear GENE simulation based on JET parameters (Citrin Reference Citrin2017). These parameters are current as of QuaLiKiz version 2.8.1 and are subject to future change depending on updates to the nonlinear physics. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn300.png?pub-status=live)
Here, we have also introduced an ad hoc factor $s_{\text {fac}}$ for the case of low magnetic shear (Citrin et al. Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012),
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn301.png?pub-status=live)
as well as a multi-scale rule determined from the maximum of the respective spectra,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn302.png?pub-status=live)
where $m_e$ and $m_i$
are the masses of the electron and main ion, respectively. Here, the sigmoid guarantees a smooth transition from a strongly driven ion-scale mode regime and a strongly driven electron-scale mode regime, since it has been observed that ETG turbulence is suppressed when the ion-scale instability dominates (Maeyama et al. Reference Maeyama, Idomura, Watanabe, Nakata, Yagi, Miyato, Ishizawa and Nunami2015; Howard et al. Reference Howard, Holland, White, Greenwald and Candy2016).
Lastly, we provide an explicit expression for $k_\perp ^2$. In the ITG regime, we need to take into account contributions to $k_r^2$
that arise from the magnetic shear, the mode structure of the electrostatic perturbation and nonlinear effects. Meanwhile, in the ETG regime we assume full isotropization of the mode such that $k_r^2 = k_\theta ^2$
. The result is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn303.png?pub-status=live)
The shear contribution can be calculated analytically as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn304.png?pub-status=live)
where we use
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn305.png?pub-status=live)
Meanwhile, the nonlinear contribution has been tuned (Citrin et al. Reference Citrin, Bourdelle, Cottier, Escande, Gürcan, Hatch, Hogeweij, Jenko and Pueschel2012) such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn306.png?pub-status=live)
Having now fully derived analytic expressions for the dispersion relation and quasilinear fluxes, we now discuss the numerical implementation of QuaLiKiz.
10. Numerical implementation
Recall that the dispersion relation is written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn307.png?pub-status=live)
The trapped and passing functionals discussed in §§ 6 and 7 are both functions of the complex frequency $\omega$. Solving the dispersion relation is therefore a matter of finding the zeros of the complex analytic function $D(\omega )$
, where
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn308.png?pub-status=live)
To solve this, we use the Davies method, a numerical technique developed by Davies (Reference Davies1986) to find the zeros of an analytic function within the complex plane. The strategy takes advantage of the argument principle in complex analysis, which states that given a meromorphic function $f(z)$ that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn309.png?pub-status=live)
where $N$ and $P$
are respectively the number of zeros and poles of $f(z)$
contained within the simple counter-clockwise contour $C$
. Here, zero multiplicity and pole order are taken into account. For our purposes, we assume that $f(z)$
has no poles, which leads to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn310.png?pub-status=live)
The key of the method is to recognize from Cauchy's residue theorem that, for integer $n$ such that $1 \le n \le N$
, we can calculate the integral $S_n$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn311.png?pub-status=live)
where $z_{0j}$ is the $j$
th root of $f(z)$
(counting repeated roots as separate). We then construct the polynomial
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn312.png?pub-status=live)
where the coefficients $A_j$ can be computed from the relations
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn313.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn314.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn315.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn316.png?pub-status=live)
Excluding the trivial $A_0$ term, this is a linear system of $N$
equations. After solving this system, we can then construct the polynomial $P_N$
which has zeros that are precisely the solutions of the dispersion relation. We then extract a zero from the polynomial $P_N$
using a Newton solver and then define a new set of coefficients such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn317.png?pub-status=live)
where $z_{01}$ is the first zero found. With this new set of coefficients, we may then construct a new polynomial $P_{N-1}(z)$
and extract another zero. This process is repeated until all zeros are found. If the contour of integration is a unit circle, then a clever integration by parts results in
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn318.png?pub-status=live)
The inclusion of $\textrm {e}^{- \textrm {i} N \theta }$ inside the logarithm is to handle the branch cut of the logarithm, and can be obtained by using $z^{-N} f(z)$
instead of $f(z)$
in the preceding formulae; such a substitution does not affect the value of $S_n$
for $n > 0$
. For the $n= 0$
case, we simply compute the total change of the argument of $f(\textrm {e}^{\textrm {i} \theta })$
for $0 \le \theta \le 2 {\rm \pi}$
while keeping track of any jumps in the argument that would indicate a full winding. Thus, $S_n$
can be computed via standard quadrature methods for one-dimensional integration.
To apply this to the dispersion relation, we make use of a bijective mapping $\omega = \omega (z)$ (to be determined momentarily). This will allow us to retain the simplifications that come from integrating around a unit circle. The first step is to define $f(z)$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn319.png?pub-status=live)
Then, we compute $S_n$ via numerical quadrature, which leads to roots $z_{0n}$
such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn320.png?pub-status=live)
Because the mapping is bijective, we may then simply apply the mapping onto the roots $z_{n0}$ to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn321.png?pub-status=live)
where $\omega _{0n}$ are all the roots within the contour $C$
in the complex $\omega$
-plane such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn322.png?pub-status=live)
The only task remaining is to define a suitable bijective mapping $\omega (z)$. Because QuaLiKiz only considers unstable modes, we demand that $\textrm {Im}(\omega ) > 0$
along the entirety of the contour in the $z$
-plane. We first define the bijective mapping $(u, v) \to (x, y)$
as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn323.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn324.png?pub-status=live)
The inverse mapping is given by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn325.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn326.png?pub-status=live)
Since this mapping does not satisfy the Cauchy–Riemann equations, it is merely bijective, not conformal. This is known as a squircle mapping since it appears to be a square with rounded edges, and this specific kind was first formulated by Guasti (Reference Guasti1992). Denoting $\omega = x' + {\rm i} y'$ and $z = u + {\rm i} v$
, we modify this mapping such that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn327.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn328.png?pub-status=live)
With $C$ being the unit circle in the complex $z$
-plane, let $C'$
be the mapped curve in the complex $\omega$
-plane. Here, $(R_x, R_y)$
determines the approximate centre $C'$
, $r_x$
and $a$
are scaling factors chosen to manipulate $C'$
into a rectangular shape, and $\epsilon _y$
is chosen to guarantee that $C'$
lies above the real axis. While the mapping is not conformal, it is sufficient for our method, since not only is it bijective but points interior to $C$
are mapped to the interior of $C'$
. Thus, if we make the interior area of $C'$
sufficiently large and place it slightly above the real axis in the complex $\omega$
-plane, then we will determine all eigenmodes of interest to us. After the solution frequencies are found, they are then refined using a standard Newton root-finding method.
While the contour integral and the Newton root-finding are done when QuaLiKiz is used on its own, when coupled to an integrated modelling suite a slight modification is made to the algorithm. We assume that the quasilinear transport changes slowly compared with the time scale of evolution of the plasma equilibrium. A typical transport solver iterates on a time step that is of the order of $\lesssim 10^{-2} \tau _E$, where $\tau _E$
is the energy confinement time. To speed up the code, QuaLiKiz will often only use the previous solution as an initial guess for the Newton solver rather than perform the full contour integral. Since codes like QuaLiKiz are often the bottleneck for the whole integrated modelling suite, such a speedup is necessary to make the simulation tractably feasible. In practice, QuaLiKiz will only perform the full contour integral once every ${\sim }10$
iterations.
Lastly, we discuss the numerical integration scheme currently in use by QuaLiKiz to calculate the trapped and passing functionals, which require 2-D integrations. Although QuaLiKiz used to rely on integration routines provided by the Numerical Algorithms Group (NAG), it now uses open source routines based on the Genz and Malik algorithm, dubbed ‘hcubature’. This algorithm was originally developed by Genz & Malik (Reference Genz and Malik1980); the current implementation is based on the C++ implementation (Johnson Reference Johnson2017). The version of the algorithm in QuaLiKiz has been ported to Fortran and is slightly modified as a result.
The goal of hcubature is to estimate
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn329.png?pub-status=live)
Here, $\boldsymbol {I}$ is the estimate of the integral, while $a_i$
and $b_i$
are respectively the individual components of the lower and upper bounds of the integral $\boldsymbol {a}$
and $\boldsymbol {b}$
, which are both constant vectors with dimension $n$
. Meanwhile, $\boldsymbol {f}$
is a vector function of arbitrary dimension, and $\boldsymbol {x}$
is the argument of the function $\boldsymbol {f}$
and is of dimension $n$
. The vectors $\boldsymbol {I}$
and $\boldsymbol {f}$
are of the same dimension. Thus, hcubature approximately integrates a vector integrand over a hyper-rectangle (or equivalently a scaled hypercube, hence the name ‘cubature’). The routine terminates when the global estimate of the absolute or relative error of the integral reach the desired tolerance and also calculates an error vector $\boldsymbol {e}$
with the same dimensionality as the integrand. While calculating the error vector is straightforward, incorporating it into the convergence criterion is non-trivial. In general, to estimate the error, we make a higher-order estimate $\boldsymbol {I}_0$
and a lower-order, less accurate estimate $\boldsymbol {I}_1$
and set the $i$
th component of $\boldsymbol {\epsilon }$
to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn330.png?pub-status=live)
For simplicity, we first consider a scalar function that we integrate over a hypercube,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn331.png?pub-status=live)
We estimate the integral using the following rule:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn332.png?pub-status=live)
Here, we sum over all possible permutations of coordinates while also allowing for sign changes. For example, if $f$ takes three arguments, then
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn333.png?pub-status=live)
Genz and Malik constrain the parameters $w_i$ and $\lambda _i$
by requiring that the integration be exact for the following functions:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn334.png?pub-status=live)
In addition, they also fix the parameters $\lambda _3 = \lambda _4$ to be a specific number, and solve the resulting nonlinear system of equations. The result can be found in the paper by Genz & Malik (Reference Genz and Malik1980). To estimate the error, we reuse $\lambda _i$
but calculate different weights $w'_i$
to make a lower-order estimate,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn335.png?pub-status=live)
We calculate the weights with the same method as previously discussed and require the integration be exact for the functions $f_1, f_2, f_3$ and $f_5$
. By keeping $\lambda _i$
the same, we can estimate the error with the reuse of function evaluations. The error is taken to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn336.png?pub-status=live)
The estimate procedure easily generalizes to that of a hyper-rectangle by using linear transformations. The calculation of $I_0$, $I_1$
and $\boldsymbol {\epsilon }$
can also be extended to the case of vector integrands by integrating every component simultaneously.
In the case that $n=1$, the above rule no longer applies. Instead, hcubature uses a 15-point Kronrod extension of a 7-point Gaussian quadrature rule. For $n$
-point Gaussian quadrature, we estimate the integral
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn337.png?pub-status=live)
To calculate the weights $w_i$ and the abscissa $x_i$
, we require that the integration be exact for all polynomials up to degree $2 n - 1$
. It can be shown using Lagrange interpolating polynomials and the theory of orthogonal polynomials that the abscissae $x_i$
correspond to the roots of the Legendre polynomial $P_n$
and that the weights are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn338.png?pub-status=live)
where the Legendre polynomials are normalized such that $P_n(1) = 1$.
One downside to this method is that the abscissa will in general be completely different for different order rules. Thus, naively comparing an $n$-point rule with an $n+1$
-point rule to estimate the error is inefficient. Kronrod discovered that for an $n$
-point Gaussian quadrature rule, one could add $n+1$
abscissae to exactly integrate polynomials up to order $3n + 1$
, reusing the previous abscissa and computing new weights $w_i$
. These new nodes correspond to the zeros of Legendre–Stieltjes polynomials, and their derivation will not be covered here. Thus, the 15-point rule corresponds to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn339.png?pub-status=live)
the 7-point rule to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn340.png?pub-status=live)
and the estimated error
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn341.png?pub-status=live)
Extending this to more general limits of integration simply requires a linear transformation.
Now that we have our integration schemes and error estimation rules for arbitrary $n$, we may proceed to describe the general algorithm.
Algorithm 1: hcubature
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_tab1.png?pub-status=live)
Here, $\boldsymbol {f}$ is the vector integrand, $\boldsymbol {a}$
and $\boldsymbol {b}$
are respectively the lower and upper bounds of the integrand, $\epsilon _a$
and $\epsilon _r$
are respectively the requested absolute and relative error tolerances, maxEval is the maximum number of function evaluations to be allowed by the routine, and norm determines the convergence criterion (in conjunction with the requested error tolerances). The integer eval keeps track of the total number of function evaluations, the vectors $\boldsymbol {I}_0$
and $\boldsymbol {I}_1$
correspond to the integration estimates for a given hyper-rectangle, $\boldsymbol {\epsilon }$
is the error estimate for the hyper-rectangle, and $s$
is the suggested dimension of splitting. As for the output, $\boldsymbol {I}$
is the total integration estimate, $\boldsymbol {e}$
is the total error and ifail is an integer denoting whether any errors occurred while carrying out the procedure or whether the eval reached maxEval before convergence. Convergence is determined using the global error vector $\boldsymbol {e}$
.
The algorithm splits the initial hyper-rectangle into pieces and stores them in a binary heap. The heap is sorted according to the largest component of the local error vector, where the root of the heap corresponds to the region with the largest error. Until the integral converges, we pop a hyper-rectangle from the root of the heap, split it into two regions, evaluate both regions accordingly, update the global integration and error estimates, and push both regions into the heap. This guarantees that the split region contributes the greatest to the global error. To determine along which direction to split the hyper-rectangle, we calculate a fourth divided difference using the same evaluation points,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn342.png?pub-status=live)
Here, $i$ corresponds to the dimension at which we evaluate the functions. For example, if $i=2$
, then
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn343.png?pub-status=live)
Note that here we take the difference along each component of $\boldsymbol {f}$ and sum the absolute value of each difference. We determine $s$
, the dimension along which we split the hyper-rectangle, by calculating the maximum component of $\boldsymbol {D}$
. The coordinate corresponding to the maximum of $\boldsymbol {D}$
is the one in which we split the hyper-rectangle in half. For the 1-D case using the Gauss–Kronrod rule, no such calculation is required. We continually split the whole hyper-rectangle into smaller and smaller pieces until convergence is achieved.
11. Conclusions and outlook
In this work, we derived the linear dispersion relation of quasilinear gyrokinetic transport code QuaLiKiz from first principles. With the aid of nonlinear simulations, we also extended the linear physics to a quasilinear regime to calculate particle, toroidal angular momentum and heat fluxes. The formulation of QuaLiKiz relies upon multiple theoretical principles in fusion plasma physics. First, we examined single particle motion in a circular magnetic geometry and identified the adiabatic invariants of motion within a guiding centre framework. This allowed us to characterize electrostatic perturbations to the system with the aid of action-angle variables. We used this formulation to analyse the linearized Vlasov equation and Poisson's equation. We then simplified the resulting dispersion relation using the ballooning representation, an eigenfunction ansatz and various approximations. The solution of this dispersion relation is computed using the Davies method and numerical cubature methods. Finally, upon finding the eigenmodes of the system, we use the solutions to compute the quasilinear fluxes with the aid of a saturation rule informed by nonlinear simulations.
This derivation serves not only to help explain the inner workings of the model, but also to guide potential improvement in QuaLiKiz. With the formulation finally laid out, it is now clear where each individual approximation enters the derivation. This will ease future QuaLiKiz development that aims to extend the underlying physics or relax the various approximations. We reiterate that QuaLiKiz is only equipped to describe quasilinear transport arising from electrostatic modes in an axisymmetric, up-down symmetric equilibrium. The geometry cannot be strongly shaped (such as by strong elongation), global effects are not taken into account and the Mach number of the rotation must be sufficiently small. Incorporating electromagnetic modes would also require a generalization of the Gaussian eigenfunction ansatz. Examples of future work that could extend the applicability of QuaLiKiz include introducing electromagnetic perturbations, incorporating a more general magnetic geometry, and a more accurate pitch angle integration for passing particles. Improvements made to QuaLiKiz will allow for more accurate integrated modelling as well as further optimization of the code.
An additional goal of this work is to provide an extensive, line-by-line derivation for the sake of demonstrating how such a model can be formulated in principle. Explicitly drawing upon multiple theoretical principles, such as the action-angle variable formalism, helps to illustrate the utility of these principles and their physical motivation. It is also useful to lay out the various mathematical and numerical techniques necessary in a model such as this, since many such tricks, methods or approximations are often crucial in making a problem computationally tractable. We hope that this work will function not just as a tutorial for understanding and improving QuaLiKiz, but also for the further development in quasilinear fusion codes in general.
Funding
This research received no specific grant from any funding agency, commercial or not-for-profit sectors.
Editor William Dorland thanks the referees for their advice in evaluating this article.
Declaration of interest
The authors report no conflict of interest.
Appendix A. Fried and Conte integrals
The Fried and Conte integral, also known as the plasma dispersion function, is utilized frequently in kinetic plasma physics. It is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn344.png?pub-status=live)
where the case $\textrm {Im}(x) \le 0$ is calculated by analytically continuing the integral defined for $x > 0$
. When solving the Vlasov equation as an initial value problem in time, a Laplace transform is implied when obtaining this integral. To apply the Laplace transform correctly for the case of stable modes, we must analytically continue the function. Luckily, since we only consider unstable modes, we are free to restrict ourselves instead to the related function:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn345.png?pub-status=live)
If $\textrm {Im}(x) = 0$, we take the Cauchy principle value of $Z_0$
.
In carrying out the calculation, we define a generalization of the plasma dispersion function as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn346.png?pub-status=live)
where $m$ is a non-negative integer. It can be shown that these associated Fried and Conte integrals can be written in terms of $Z_0(x)$
:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn347.png?pub-status=live)
where $\varGamma (x)$ is the gamma function. For integer $n$
we note that $Z_{2n + 1}(x)$
is an even function and $Z_{2n}(x)$
is odd. The first few of these associated Fried and Conte integrals are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn348.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn349.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn350.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn351.png?pub-status=live)
We also define a further generalization of the Fried and Conte integral as described by Gürcan (Reference Gürcan2014):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn352.png?pub-status=live)
Through partial fraction decomposition, we can rewrite this as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn353.png?pub-status=live)
Because $G_m(x_1, x_2) = G_m(x_2, x_1)$, we obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn354.png?pub-status=live)
which allows us to write
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn355.png?pub-status=live)
Note that $G_m(x_1, x_2) = G_m(-x_1, -x_2)$.
Appendix B. Derivation of the magnetic drift velocity
The goal of this section is to calculate the magnetic drift velocity $\boldsymbol {v}_{D, B}$ in the $s\text {--}\alpha$
equilibrium by including a finite Shafranov shift. We define the right-handed coordinate system $(r, \theta , \varphi )$
using Cartesian coordinates and include the Shafranov shift explicitly:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn356.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn357.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn358.png?pub-status=live)
Here, $\varDelta$ is the outward radial shift of the circular flux surface's centre. The coordinate system $(r, \theta , \varphi )$
is right-handed but not orthogonal, so we must specify the metric coefficients. They are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn359.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn360.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn361.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn362.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn363.png?pub-status=live)
where $\varDelta ' = \partial _{r} \varDelta$. This leads to the Jacobian
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn364.png?pub-status=live)
We next define a magnetic field for the $s\text {--}\alpha$ equilibrium. As an approximation, we ignore the poloidal magnetic field and only consider the toroidal magnetic field. Thus, the magnetic field is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn365.png?pub-status=live)
This guarantees that the magnetic field strength is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn366.png?pub-status=live)
where $R= R(r, \theta )$. It is well known that one can obtain an approximate expression for $\varDelta '$
from the Grad–Shafranov equation to lowest order in $\epsilon$
(Connor et al. Reference Connor, Hastie and Martin1983; Candy Reference Candy2009; Linder Reference Linder2016). The expression is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn367.png?pub-status=live)
The next step is to calculate the magnetic drift velocity,
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn368.png?pub-status=live)
The first term is the sum of the grad-$B$ drift as well as the dominant component of the curvature drift. The second term is the portion of the curvature drift that arises from considering the lowest-order magnetohydrodynamic equilibrium. Since QuaLiKiz is applied in the regime where $\alpha _M$
is small, we ignore the second term entirely; this is equivalent to assuming that the magnetic field is approximately curl-free. Taking note that we are not using an orthogonal coordinate system, we find that the relevant cross-product is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn369.png?pub-status=live)
We can evaluate each component of the expression to obtain
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn370.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn371.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn372.png?pub-status=live)
We then use the approximation
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn373.png?pub-status=live)
and substitute in $\varDelta ' = -\alpha _M$ to obtain to lowest order
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn374.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn375.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn376.png?pub-status=live)
where we define the characteristic magnetic drift speed to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn377.png?pub-status=live)
Appendix C. Collisions
The main sections of this work only consider the collisionless Vlasov equation. In actuality, QuaLiKiz implements a Krook-type collision operator for trapped electrons. To account for its inclusion, we modify the Vlasov equation to
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn378.png?pub-status=live)
where $\nu$ is the collision frequency. Note that the $e_s \phi f_{0s} / T_s$
term accounts for the adiabatic response from the electrostatic perturbation. We only include this term for electron–ion collisions as ion–ion collisions and electron–electron collisions would produce only a small correction. Thus, we drop the ‘$s$
’ in favour of ‘$e$
’ and take $e_s \to -e$
. Substituting in our Fourier expressions for $\delta f$
and $\phi$
, we find that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn379.png?pub-status=live)
Therefore, we can simply substitute $\omega \to \omega + {\rm i} \nu$ in the denominator of the resonant term to capture the effect of this collision operator. The drawback is that we lose the ability to simplify the functional. In QuaLiKiz, we take the collisional frequency to be
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn380.png?pub-status=live)
where $\nu _{ei}$ is the electron–ion Coulomb collision frequency, $Z_{\text {eff}}$
is the effective charge of the ion species interacting with the electrons, and the parameter $\delta$
is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn381.png?pub-status=live)
The explicit definition of $\nu _{ei}$ is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20210804170113952-0686:S0022377821000763:S0022377821000763_eqn382.png?pub-status=live)
where $\lambda _e$ is the Coulomb logarithm relevant for electron collisions. Details for this collision operator can be found in the paper by Romanelli, Regnoli & Bourdelle (Reference Romanelli, Regnoli and Bourdelle2007). The numerical values as well as the derivation of $\delta$
were originally calculated by Kotschenreuther, Rewoldt & Tang (Reference Kotschenreuther, Rewoldt and Tang1995) and then modified for QuaLiKiz's purposes. Because $\nu$
is a function non-trivial of $\xi$
, we cannot simplify the functional using this collision operator with Fried and Conte integrals, and the integration over the energy must be done numerically. The inability to simplify the $\xi$
integration results in a 2-D integral. That aside, all other aspects of the trapped functional derivation remain intact.
We note this specific form of the collision operator is modified in comparison to the one found by Romanelli et al. (Reference Romanelli, Regnoli and Bourdelle2007). It was found that the previous form of the collision operator led to incorrect predictions for density profiles when used in QuaLiKiz (coupled to integrated modelling suites) in highly collisional regimes. In response, numerical parameters in the Krook operator were tuned to linear simulations in GENE. In doing so, we keep unchanged the generic dependence and numerical parameters derived from fundamental principles (Stephens et al. Reference Stephens, Citrin, van de Plassche, Bourdelle, Tala, Salmi and Jenko2021).