Computer Physics Communications Program LibraryPrograms in Physics & Physical Chemistry |

[Licence| Download | New Version Template] afah_v1_0.tar.gz(42745 Kbytes) | ||
---|---|---|

Manuscript Title: A resistive magnetohydrodynamics solver using modern C++ and the Boost library. | ||

Authors: Lukas Einkemmer | ||

Program title: cppmhd | ||

Catalogue identifier: AFAH_v1_0Distribution format: tar.gz | ||

Journal reference: Comput. Phys. Commun. 206(2016)69 | ||

Programming language: C++03. | ||

Computer: PC, HPC systems. | ||

Operating system: POSIX compatible (extensively tested on various Linux systems).
In fact only the timing class requires POSIX routines; all other parts of the program
can be run on any system where a C++ compiler, Boost, CVODE, and an implementation of BLAS is available. | ||

RAM: Hundredths of Kilobytes to Gigabytes (depending on the problem size) | ||

Keywords: Magnetohydrodynamics, Templates, Boost, C++. | ||

PACS: 52.30.Cv, 02.70.Bf. | ||

Classification: 19.10, 4.3. | ||

External routines: Boost, CVODE, either a BLAS library or Intel MKL | ||

Nature of problem:An approximate solution to the equations of resistive magnetohydrodynamics for a given initial value and given boundary conditions is computed. | ||

Solution method:The discretization is performed using a finite difference approximation in space and the CVODE library in time (which employs a scheme based on the backward differentiation formulas). | ||

Restrictions:We consider the 2.5 dimensional case; that is, the magnetic field and the velocity field are three dimensional but all quantities depend only on x and y (but not z). | ||

Unusual features:We provide an implementation in C++ using the boost library that combines high level techniques (which greatly increases code maintainability and extensibility) with performance that is comparable to Fortran implementations. | ||

Running time:From seconds to weeks (depending on the problem size). |

Disclaimer | ScienceDirect | CPC Journal | CPC | QUB |