A modern resistive magnetohydrodynamics solver using C++ and the Boost library
arXiv:1407.3189 · doi:10.1016/j.cpc.2016.04.015
Abstract
In this paper we describe the implementation of our C++ resistive magnetohydrodynamics solver. The framework developed facilitates the separation of the code implementing the specific numerical method and the physical model, on the one hand, from the handling of boundary conditions and the management of the computational domain, on the other hand. In particular, this will allow us to use finite difference stencils which are only defined in the interior of the domain (the boundary conditions are handled automatically). We will discuss this and other design considerations and their impact on performance in some detail. In addition, we provide a documentation of the code developed and demonstrate that a performance comparable to Fortran can be achieved, while still maintaining a maximum of code readability and extensibility.
Cited by in corpus (4)
- Reproducibility, accuracy and performance of the Feltor code and library on parallel computer architectures
- On the performance of exponential integrators for problems in magnetohydrodynamics
- Exponential Integrators for Resistive Magnetohydrodynamics: Matrix-free Leja Interpolation and Efficient Adaptive Time Stepping
- New magnetohydrodynamic model available at NASA Community Coordinated Modeling Center