DESC Stellarator Optimization Suite¶
DESC solves for and optimizes 3D magnetohydrodynamic (MHD) equilibria using pseudo-spectral numerical methods and automatic differentiation. DESC is an open-source Python code available on github, contributions are welcome!
The theoretical approach and implementation details used by DESC are presented in the following papers and documented at Theory. Please cite our work if you use DESC!
- Dudt, D. & Kolemen, E. (2020). DESC: A Stellarator Equilibrium Solver. [Physics of Plasmas] [pdf]
- Panici, D. et al (2023). The DESC Stellarator Code Suite Part I: Quick and accurate equilibria computations. [Journal of Plasma Physics] [pdf]
- Conlin, R. et al. (2023). The DESC Stellarator Code Suite Part II: Perturbation and continuation methods. [Journal of Plasma Physics] [pdf]
- Dudt, D. et al. (2023). The DESC Stellarator Code Suite Part III: Quasi-symmetry optimization. [Journal of Plasma Physics] [pdf]
For a more completel list of key DESC publications (methods, recent advances, and applications), see the publications showcase: DESC Publications Showcase.
DESC Code Capabilities¶
- Equilibrium solving: Rapid, spectrally-accurate computation of fixed- and free-boundary 3D MHD equilibria for stellarator design studies and verification. See our fixed-boundary and free-boundary equilibrium tutorials: Basic fixed-boundary equilibrium and Free-boundary equilibrium.
- Continuation & perturbation workflows: Efficiently follow solution branches and compute perturbed equilibria to explore parameter space or solve for strongly-shaped equilibria. See the Continuation & perturbation tutorial for examples.
- Stage-one optimization for quasisymmetry, omnigenity and more: Differentiable objectives enable precise quasi-symmetry, omnigenity, stability, and other targets for improved confinement. See the stage-one optimization tutorials for quasi-symmetry and omnigenity for hands-on examples.
- Constrained optimization: Include engineering and physics constraints (coils, stability, profiles) directly within the optimization using constrained optimization methods to produce practical, buildable configurations. See the Constrained optimization tutorial.
- Stage-Two filamentary coil design: Stage-two coil optimization workflows (both filamentary as well as REGCOIL/QUADCOIL-like surface current approaches) for optimizing coilsets to support vacuum or finite-pressure equilibria. See the Stage-two coil optimization tutorial for examples.
- Near-axis design and mapping: Near-axis expansions and mappings to rapidly explore families of quasisymmetric configurations. See the Near-axis constrained equilibrium tutorial for details.
-
Flexible interface for adding new objectives: Do you have a new objective you want to optimize for while utilizing DESC's automatic differentiation capabilities? Find guidance in our objective development guide.
-
Wrap external codes as objectives: Integrate turbulence, stability or other metrics into optimization pipelines by wrapping external codes. See examples in the tutorial.
The full list of examples and tutorials are available in the DESC docs.






