English

A modern resistive magnetohydrodynamics solver using C++ and the Boost library

Numerical Analysis 2017-01-06 v1 Mathematical Software

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.

Cite

@article{arxiv.1407.3189,
  title  = {A modern resistive magnetohydrodynamics solver using C++ and the Boost library},
  author = {Lukas Einkemmer},
  journal= {arXiv preprint arXiv:1407.3189},
  year   = {2017}
}
R2 v1 2026-06-22T05:02:02.527Z