GRHydro-MHD: A public general relativistic magneto-hydrodynamics code

  • Philipp Mösta
  • Bruno C. Mundim
  • Joshua A. Faber
  • Roland Haas
  • Scott C. Noble
  • Tanja Bode
  • Frank Löffler
  • Christian D. Ott
  • Christian Reisswig
  • Erik Schnetter

We present the new general-relativistic magnetohydrodynamics (GRMHD) capabilities of the Einstein Toolkit, an open-source community-driven numerical relativity and computational relativistic astrophysics code. The GRMHD extension of the Toolkit builds upon previous releases and implements the evolution of relativistic magnetised fluids in the ideal MHD limit in fully dynamical spacetimes using the same shock-capturing techniques previously applied to hydrodynamical evolution. In order to maintain the divergence-free character of the magnetic field, the code implements both hyperbolic divergence cleaning and constrained transport schemes. We present test results for a number of MHD tests in Minkowski and curved spacetimes. Minkowski tests include aligned and oblique planar shocks, cylindrical explosions, magnetic rotors, Alfv\'en waves and advected loops, as well as a set of tests designed to study the response of the divergence cleaning scheme to numerically generated monopoles. We study the code's performance in curved spacetimes with spherical accretion onto a black hole on a fixed background spacetime and in fully dynamical spacetimes by evolutions of a magnetised polytropic neutron star and of the collapse of a magnetised stellar core. Our results agree well with exact solutions where these are available and we demonstrate convergence. All code and input files used to generate the results are available on This makes our work fully reproducible and provides new users with an introduction to applications of the code.


Monopole Tests

parfiles monopole-altgauss-1.par monopole-altgauss-10.par monopole-altgauss-noclean.par monopole-altgauss.par monopole-gauss-noclean.par monopole-gauss.par
thornlist Einstein Toolkit 2013_05 release
CPU time 16 cores, 200 min
memory 500 MB per core
Notes ...

Planar MHD Shocktubes

parfiles balsara1_1d.par balsara1_2d.par balsara1_2d_low.par balsara2_1d.par balsara2_2d.par balsara3_1d.par balsara3_2d.par balsara4_1d.par balsara4_2d.par balsara5_1d.par balsara5_2d.par
thornlist Einstein Toolkit 2013_05 release
CPU time 1D: 2 cores, 2D: 16 cores, 240 min
memory 1D: 120 MB per core, 2D: 520 MB per core
Notes ...

Cylindrical Shocks

parfile generator cylexp_tvd_mc2_hlle.rpar
thornlist Einstein Toolkit 2013_05 release
CPU time 4 cores, 160 min
memory 600 MB per core
Notes ...

Magnetic Rotor

parfile generator rotor.rpar
thornlist Einstein Toolkit 2013_05 release
CPU time 4 cores, 290 min
memory 800 MB per core
Notes ...

Alfvén Wave

parfiles alfvenwave1d_128.par alfvenwave1d_16.par alfvenwave1d_32.par alfvenwave1d_64.par alfvenwave2d_160_120.par alfvenwave2d_20_15.par alfvenwave2d_40_30.par alfvenwave2d_80_60.par
thornlist Einstein Toolkit 2013_05 release
CPU time 1D: 4 cores, 60min, 2D: 4 cores, 220 min
memory 1D: 12 MB per core, 2D: 60MB per core
Notes ...

Loop advection

parfiles par/advloop/advectedloop2D ​.par par/advloop/advectedloop2D ​_hi.par par/advloop/advectedloop2D ​_vz.par par/advloop/advectedloop2D ​_vz_hi.par par/advloop/advectedloop ​3D.par par/advloop/advectedloop ​3D_vz.par
thornlist Einstein Toolkit 2013_05 release
CPU time 36 cores, 250 min
memory 100 MB per core
Notes ...

Bondi Inflow

parfile generator BondiFlowBase.rpar
thornlist Einstein Toolkit 2013_05 release
CPU time 48 cores, 420 min
memory 350 MB per core
Notes ...

Magnetized TOV

parfiles par/tov/tov16m3.par par/tov/tov4m3.par par/tov/tov8m3.par
thornlist Einstein Toolkit 2013_05 release
CPU time x SU
memory x GB
Notes ...

Rotating Collapse

parfiles A3_oct.par A3_oct_64.par A3_oct_80.par
thornlist Einstein Toolkit 2013_05 release + selected Zelmani
Initial data ID_A3_oct.h5.xz (221Mb) ID_A3_oct_64.h5.xz (388Mb) ID_A3_oct_80.h5.xz (747Mb)
CPU time x SU
memory x GB
Notes ID generated via RNSID.