Year 1 activities have formed an exploratory phase, similar in many ways to the early stages of the Met Office Gung-Ho project (where work for example concentrated upon optimal gridding of the atmosphere) and how to deploy a separation of concerns philosophy which has resulted in the LFRic platform – NEPTUNE is for example exploring the efficacy of high order meshing in order to meet requirements around field line alignment and conformality with plasma facing components. A separation of concerns philosophy (as built into the ExCALIBUR four pillars) is also paramount as there is a great deal of uncertainty around the models themselves at this juncture – it will be essential to be able to adapt the systems of coupled PDEs quickly and easily as new knowledge is forthcoming from machines like the EPSRC MAST-U tokamak and ITER, a €25B reactor-class experiment being built in the South of France.
UKAEA’s activities are currently focusing upon:
- continuing requirements capture, project management and collaboration management
- down-selection or creation of suitable algorithms for delivering the eventual coupled system of models to specified (and evolving) requirements
- development of suitable data structures and standards in order to deliver an exascale-scalable, performant, and easy-to-adapt framework for studying turbulent plasma physics at the first wall and in the “divertor” region of a burning tokamak.
60-70% of the project is being defrayed to third parties, resulting in the inception of a UK-wide team needed to deliver the UK’s Fusion Roadmap (with a focus upon the STEP programme to deliver fusion power to the National Grid in the 2040s). Initial exploratory/design work has largely been carried out through the development of low-order models embedded within so-called “proxyapps”. The Fusion Use Case Science Plan contains more detail; however, a short summary of initial exploratory tasks, progress, and further objectives is as follows. Most of this work is the subject of ongoing grants:
Performance of spectral elements: Confirmation of the efficacy of the high order spectral/hp method for achieving exascale performance and scalability is sought, together with grid alignment requirements for next generation coupled fluid + gyro/drift kinetic solvers. The spectral/hp element framework Nektar++ has been chosen as a platform for higher-order continuum methods and two initial proxyapps – targeting anisotropic diffusion and drift-wave turbulence (results will shortly become publicly available via the project’s GitHub repository – reference below).
Optimal use of particles: The coupled systems will most likely involve close coupling of a fluid method (inside plasma) to a particle-based method (particle-in-cell – PIC – possibly gyro or drift kinetic). Current work is targeting issues in PIC including noise propagation and scalability/performance. A particle code using a novel implicit time-advancing technique forms an initial proxyapp, currently available from the repository.
Study of uncertainty quantification techniques: UQ will be built into the infrastructure from the ground up – advances in multi-level techniques across coupled models, semi-intrusive methods etc. are being down selected and deployed to ensure that the eventual code is “actionable”. Three hackathons have taken place in which the VECMA UQ toolkit has been successfully applied to the codes underpinning the initial proxyapps, with the exploration of reduced-order surrogates using Gaussian processes and machine learning. Ongoing work will leverage synergies with the upcoming SEAVEA project and will aim also to support data assimilation using Bayesian calibration.
Study of model order reduction techniques: MOR will likely be essential for making UQ tractable – a survey of the many possible solutions has resulted in down-selection to Gaussian process models, with further tuning to the Fusion Use Case. Ongoing work dovetails with the UQ study described above.
Development of a fluid referent model: This task will develop the baseline fluid model for the core plasma, building up the systems of equations and solvers/library solutions by starting at low order, with exploratory work taking place through the development of proxyapps.
Investigation of matrix preconditioning: New techniques have been applied to linear-algebraic systems extracted from Nektar++, and also the leading plasma physics code BOUT++, with a demonstration of significant gains in computational efficiency, also permitting a larger time-step size.
Development of gyro-averaged model: A more “ambitious” approach to solving for the confined plasma is to adopt a kinetic model, ideally gyro-kinetic but possibly drift-kinetic. An exciting new model that will hopefully work in the edge plasma region (where radial gradients in plasma parameters tend to break the gyro-kinetic model assumptions) is under development. This year, we will deploy this model in slab geometry to explore the scalability and performance of the model and chosen solvers; a prototype, high order proxyapp using Julia is therefore being developed, in a collaboration between third parties and UKAEA’s Tokamak Science department.
Investigation of domain-specific languages and code generators: To embed a separation of concerns philosophy in the eventual software stack, domain-specific languages (DSLs) and code generator technologies are being explored and down-selected to instantiate the higher-order systems of equations that will form the eventual coupled code/infrastructure. To enable support for multiple classes of user, a Python-based domain-specific language interface will target a plasma physicist/engineer user base, while performance portability is expected to be addressed using an abstraction layer technology e.g., SYCL or Kokkos (possibly supplemented by architecture-specific kernels). C++ and Julia have been selected as languages for the implementation of much of the executable code. Ongoing work aims to provide a repository of benchmarks and data sets relevant to emerging exascale platforms.
High-dimensional models for neutral gas and impurities: This task aims to determine an abstract framework for kinetic models (2D space, 3D velocity) appropriate to physical processes such as ionization, excitation, charge exchange, and recombination.
Numerical representation: This task builds on preconditioning work to date and aims also to address numerical issues associated with anisotropic transport, particle statistics, and fluid-particle coupling.
The above work has been supported by UKAEA in-house activities. The Nektar++ code has been successfully applied to problems in turbulent heat transport and, together with BOUT++, has been coupled to the VECMA UQ framework. Higher-order methods in the Firedrake PDE solver have been applied to 1D models of the scrape-off layer. In-house work on PIC is focussing upon extension to higher-order and addressing well-established difficulties inherent to the particle methods. Additionally, a significant and growing body of supporting documents exists, addressing amongst other things higher-order meshing, surveys of available hardware and code generation technologies (with a close eye upon performance portability), new techniques for preconditioning, and the construction of reduced order models for representative problems. The initial proxyapps are publicly available from the project’s GitHub repository https://github.com/ExCALIBUR-NEPTUNE/. Access to reports produced by the project is available upon request to firstname.lastname@example.org.