Enhancing the Nektar++ spectral/hp element framework for parallel-in-time simulations

J. Xing, C. D. Cantwell, D. Moxey

Comput. Phys. Commun., vol. 312, pp. 109584 (2025)

@article{xing-2025,
  title = {Enhancing the Nektar++ spectral/hp element framework for parallel-in-time simulations},
  author = {Xing, J. and Cantwell, C. D. and Moxey, D.},
  journal = cpc,
  year = {2025},
  volume = {312},
  doi = {10.1016/j.cpc.2025.109584},
  pages = {109584},
  url = {https://www.sciencedirect.com/science/article/pii/S0010465525000876},
  abstract = {Nektar++ is an open-source spectral/hp element framework designed to support the development of solvers for partial differential equations (PDEs). The software supports various discretization techniques, notably continuous, discontinuous, and hybridizable discontinuous Galerkin projections, in combination with both modal and nodal expansions. The framework uses object-oriented programming paradigms and modern C++ to encapsulate the complexity of the discretization techniques and contains several pre-implemented solvers, while new solvers can be easily implemented in customized proxy-apps. Nektar++ has been designed for high-scalability on high-performance computing (HPC) clusters using distributed memory architecture using a message passing interface (MPI). Recently, time-parallel integration techniques are being recognized as a potential solution to further increase concurrency and computational speed-up beyond the limits of strong scaling obtained from a pure spatial domain decomposition.  Amongst the various time-parallel approaches proposed in the literature, the Parareal algorithm is a non-intrusive and iterative approach, exploiting a fine and a coarse solvers to achieve time-parallelism, and can be applied to both linear and non-linear problems. The efficient implementation of the Parareal algorithm in the Nektar++ open-source framework is described in this work, including a discussion of specific techniques used to adapt the code to a time-parallel framework. We demonstrate the application of these methods to multiple linear and non-linear problems provided by the existing Nektar++ solvers.}
}

Decomposing a problem in space eventually stops buying more speed, so integrating along the time axis as well offers a further route to concurrency. This paper brings the Parareal algorithm, a non-intrusive iterative time-parallel method, into the Nektar++ framework.

Abstract

Nektar++ is an open-source spectral/hp element framework designed to support the development of solvers for partial differential equations (PDEs). The software supports various discretization techniques, notably continuous, discontinuous, and hybridizable discontinuous Galerkin projections, in combination with both modal and nodal expansions. The framework uses object-oriented programming paradigms and modern C++ to encapsulate the complexity of the discretization techniques and contains several pre-implemented solvers, while new solvers can be easily implemented in customized proxy-apps. Nektar++ has been designed for high-scalability on high-performance computing (HPC) clusters using distributed memory architecture using a message passing interface (MPI). Recently, time-parallel integration techniques are being recognized as a potential solution to further increase concurrency and computational speed-up beyond the limits of strong scaling obtained from a pure spatial domain decomposition. Amongst the various time-parallel approaches proposed in the literature, the Parareal algorithm is a non-intrusive and iterative approach, exploiting a fine and a coarse solvers to achieve time-parallelism, and can be applied to both linear and non-linear problems. The efficient implementation of the Parareal algorithm in the Nektar++ open-source framework is described in this work, including a discussion of specific techniques used to adapt the code to a time-parallel framework. We demonstrate the application of these methods to multiple linear and non-linear problems provided by the existing Nektar++ solvers.