Grid-based MHD code for plasma modelling.
Based on the following papers with modifications:
- Van-Leer integrator:
"A simple unsplit Godunov method for multidimensional MHD" by J. Stone and T. Gardiner (2009) - 3rd-order Runge-Kutta integrator:
"Pluto: a Numerical Code for Computational Astrophysics" by A. Mignone et al. (2007) - Implementation of non-Cartesian geometries:
"High-order conservative reconstruction schemes for finite volume methods in cylindrical and spherical coordinates" by A. Mignone (2014) - Diffusion solver based on super-time-stepping:
"A stabilized Runge-Kutta-Legendre method for explicit super-time-stepping of parabolic and mixed equations" by C. Meyer et al. (2014)
- python 3
- cython 3
- optional (parallelization): MPI (tested with OpenMPI and Intel MPI) + mpi4py
- optional (output file format): HDF5 + h5py, necessary with MPI
- See available compilation options:
python setup.py --help
- Compile:
python setup.py build_ext --inplace --problem=problem_name [options]
problem_name
corresponds to the name of the chosen problem generator found in the src/problem
directory
- Create a user directory in the root folder:
mkdir user_dir
- Place a configuration file (example provided in the root folder) in the user folder:
cp config.cfg user_dir
- Run:
python main.py ./user_dir
- Output is written to
user_dir/out
, restart files saved inuser_dir/rst
.