This C++ package is aimed to numerically solve compressible magnetohydrodynamic (MHD) equations with the low-dissipation quasi all-speed Riemann solvers:
- MLAU - A Multistate Low-dissipation Advection Upstream Splitting Method for Ideal Magnetohydrodynamics1;
- LHLLD- A low-dissipation HLLD approximate Riemann solver for a very wide range of Mach numbers2.
The package also adopts the following techniques for accurate and robust numerical simulations3:
- up to 4th order accuracy in space and 3rd order accuracy in time;
- preservation of the solenoidal condition of the magnetic field by a well-designed Contrained Transport method.
The current version supports 1D-3D space in Cartesian coordinates and hybrid MPI/OpenMP parallel computation.
Copyright 2020,2021 Takashi Minoshima (minoshim@jamstec.go.jp)
Following packages are required to be installed on the system:
- Git to install and update the code;
- C++ compiler (GNU, Intel);
- MPI library (MPICH, OpenMPI) to use the MPI parallel code;
To read and visualize the data, users can utilize Interactive Data Language (IDL, commercial) or Python 3.X with NumPy and matplotlib (can be downloaded from Anaconda).
The code is tested on Linux OSs (Ubuntu, Linux Mint, CentOS, including Windows Subsystem for Linux).
- Download the code from GitHub via
>git clone https://github.com/minoshim/MLAU. - Move to the main directory
MLAU/. - Check
Makefile.incand edit environment variablesCC,MPICC, andCFLAGSto meet users environment. - Move to the directory (e.g.,
1D/SERIAL/) containing benchmark tests in the litertures 123, and seeREADMEhow to run the simulation.
Since the code is updated without notice, users may update the code via >git pull origin main.
- https://iopscience.iop.org/article/10.3847/1538-4365/ab8aee (MLAU)
- https://www.sciencedirect.com/science/article/pii/S0021999121005349 (LHLLD)
- https://arxiv.org/abs/2004.08012 (MLAU)
- https://arxiv.org/abs/2108.04991 (LHLLD)