Speaker
Description
The 2D multi-fluid edge-plasma code UEDGE employs the fully time-implicit NKSOL Jacobian-Free Newton-Krylov (JFNK) solver (P.N. Brown, Y. Saad, SIAM J. Sci. Comput. 11, 1990). UEDGE solves a set of coupled plasma-neutral equations delivering 10–100$\times$ speedup compared explicitly-coupled fluid-plasma/kinetic-neutral code and numerical convergence to steady-state when including magnetic and $\mathbf{E}\times\mathbf{B}$ drift flows. Maintaining compatibility with the NKSOL solver while extending the physics model has shaped the development of UEDGE over three decades. The codebase, tracing its lineage to Braam’s B2 code, has grown organically into a tightly integrated Fortran architecture with nested physics loops with a stencil extending beyond local cells due to higher-order terms and the staggered grid, and order-dependent sections. This heritage of hard-won institutional expertise, encoded in its numerics, presents a challenge to code refactoring efforts: modernization is in perpetual competition with the interdependencies that provides robustness to the solver.
UEDGE’s time-tested but long-challenged fluid neutral model is one of its most notable features. The model has employed a 9-point stencil from its inception, as needed for non-orthogonal meshes: a choice since validated as critical for physics accuracy (Dekeyser et al., Nucl. Mater. Energy 18, 2019), dispelling much of the early criticism of fluid neutral models and paving the way for advanced fluid neutral (AFN) models. The focus of AFN model development has turned to capturing kinetic effects and the role of plasma chemistry involving minority species, such as hydrogenic molecules, and there are recent UEDGE development efforts addressing both topics. To capture molecule-assisted reaction pathways, a self-consistent model of diffusive fluid molecules, coupled to the plasma and atoms via effective collisional-radiative rates calculated with the bespoke CRUMPET code, was developed and implemented into UEDGE. To preserve compatibility with the JFNK solver, an expedient vacuum transport model using pre-computed DEGAS2 neutral trajectories through the halo plasma was developed and implemented, avoiding the significant refactoring associated with an unstructured, wall-conformal grid implementation. The inherent uncertainties carried by the effective dissociation rates, arising from the inevitable truncation of the reaction chains, and intricacies of the boundary conditions will be presented and discussed.
Several recent numerical and computational developments have focused on improving solver performance. OpenMP parallelization of the preconditioning Jacobian assembly and right-hand side evaluation achieves 80% reduction in wall-clock computational time on 32 CPU threads. The optimal decomposition is non-trivial and Random Forest regression models have been applied to identify the dominant performance factors. A continuation solver, leveraging the NKSOL JFNK solver to trace a continuous path through parameter space, producing a dense set of steady-state solutions, with ~22 s computational time per solution for a benchmark scan, was developed and implemented, enabling the creation of large databases needed for data-driven applications. Regression models trained on solver timings failed to identify meaningful improvements to the solver hyperparameters, and the underlying challenges will be reviewed.
The discussion will conclude with an overview of ongoing UEDGE developments. These include modernization efforts to decompose the monolithic Fortran source into modular, Python-level interfaces and potentially reimplement physics submodules in JAX; domain extensions to reach the vessel wall using semi-structured grids and API-like recursive calls; and a multi-layer agentic workflow for autonomous, accessible simulation. A demonstration of simulation capabilities will serve as an opportunity to introduce the Python-installable UEDGE and UETOOLS interface packages, both openly available on GitHub and PyPI.
This work was supported by US DOE under contract nos. DE-AC52-07NA27344 and was supported by the LLNL-LDRD Program under Projects No. 25-ERD-014 and23-ERD-015. LLNL-ABS-2020769