Hostname: page-component-89b8bd64d-9prln Total loading time: 0 Render date: 2026-05-08T12:04:58.874Z Has data issue: false hasContentIssue false

The DESC stellarator code suite. Part 2. Perturbation and continuation methods

Published online by Cambridge University Press:  24 May 2023

Rory Conlin*
Affiliation:
Princeton University, Princeton, NJ 08544, USA
Daniel W. Dudt
Affiliation:
Princeton University, Princeton, NJ 08544, USA
Dario Panici
Affiliation:
Princeton University, Princeton, NJ 08544, USA
Egemen Kolemen*
Affiliation:
Princeton University, Princeton, NJ 08544, USA
*
Email addresses for correspondence: wconlin@princeton.edu; ekolemen@princeton.edu
Email addresses for correspondence: wconlin@princeton.edu; ekolemen@princeton.edu
Rights & Permissions [Opens in a new window]

Abstract

A new perturbation and continuation method is presented for computing and analysing stellarator equilibria. The method is formally derived from a series expansion about the equilibrium condition $\boldsymbol {F} \equiv \boldsymbol {J}\times \boldsymbol {B} - \boldsymbol {\nabla } p = 0$, and an efficient algorithm for computing solutions to second- and third-order perturbations is developed. The method has been implemented in the DESC stellarator equilibrium code, using automatic differentiation to compute the required derivatives. Examples are shown demonstrating its use for computing complicated equilibria, perturbing a tokamak into a stellarator and performing parameter scans in pressure, rotational transform and boundary shape in a fraction of the time required for a full solution.

Information

Type
Research Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
Copyright © The Author(s), 2023. Published by Cambridge University Press
Figure 0

Figure 1. Comparison of perturbed tokamak equilibrium versus true solution for a heliotron-like stellarator. The initial tokamak (grey) is axisymmetric. By applying a perturbation (first order in red, second order in green) to the non-axisymmetric boundary modes, we obtain an approximation to the true 3-D solution (blue), obtained by solving from the start with the full 3-D boundary shape. The first-order perturbation captures the majority of the differences between the initial and true solutions. The second-order effects bring the perturbed solution even closer to the true one.

Figure 1

Table 1. Mean flux surface position error versus perturbation order for boundary perturbation from a circular tokamak to a heliotron.

Figure 2

Figure 2. Comparison of perturbed equilibrium versus true solution for a change in pressure from $\beta =0\,\%$ to $\beta =3\,\%$. The first-order perturbation (red) captures the majority of the differences between the initial (grey) and true (blue) solutions. Second- and third-order effects (not shown for clarity) are visually very similar but significantly reduce the resulting force balance error as shown in table 2.

Figure 3

Table 2. Normalized force balance error versus perturbation order for a pressure increase from $\beta =0\,\%$ to $\beta =3\,\%$.

Figure 4

Figure 3. Continuation solution for W7-X-like equilibrium. Starting from a zero-pressure 2-D equilibrium, the pressure is increased to $\beta \sim 3\,\%$ in a series of two steps. Then a 3-D perturbation is applied to the boundary, broken up into four steps (two shown) to arrive at the final finite-beta 3-D solution.

Figure 5

Figure 4. Toroidal current and rotational transform for W7-X-like equilibrium with varying boundary ratios. When $\eta _b=0$, corresponding to an axisymmetric solution, a large toroidal current is required to generate the rotational transform (which is held fixed as the boundary is varied). Increasing the 3-D shaping allows more of the rotational transform to come from external fields, reducing the plasma current. Note that the current in the final step is still non-zero, as the rotational transform being held fixed was chosen for illustration, and does not correspond to the vacuum rotational transform on W7-X.

Figure 6

Listing 1 Code example for β scan.

Figure 7

Figure 5. Flux surfaces on the $\zeta =0$ and $\zeta ={\rm \pi}$ planes for a helical stellarator. The initial equilibrium had $\beta =0\,\%$, and a series of second-order perturbations were applied to increase the pressure rather than solving a new equilibrium from scratch each time.

Figure 8

Table 3. Computation times for different values of $\beta$ in the pressure scan shown in figure 5, both with and without perturbations, starting from a zero-pressure solution ($\beta =0$, not shown). The first perturbation takes longer as the time includes just-in-time compilation for the specific problem being solved, resulting in significantly faster times for the subsequent perturbation steps which reuse the same compiled code. The ‘without perturbations’ method is already able to take advantage of compiled code from the initial solve and does not see any significant speed-up at subsequent iterations. All computation was done on an AMD Ryzen 7 PRO 4750 U with 32 GB memory.

Figure 9

Figure 6. Top: Flux surfaces on the $\zeta =0$ plane for a D-shaped tokamak with varying axis rotational transform. The initial equilibrium (blue) corresponds to $\iota _0=1$, and perturbations were used to reduce the axis rotational transform without recomputing the entire equilibrium solution. Bottom: Rotational transform profiles corresponding to flux surfaces shown above.

Figure 10

Listing 2 Code example for perturbing ɩ profile.