Code Name and link  Project leader  Description  Method paper  Language  License  Code distribution 
Arepo  Volker Springel, Ruediger Pakmor, Rainer Weinberger 
Arepo is a massively parallel gravity and magnetohydrodynamics code for astrophysics, …
Arepo is a massively parallel gravity and magnetohydrodynamics code for astrophysics, designed for problems of large dynamic range. It employs a finitevolume approach to discretize the equations of hydrodynamics on a moving Voronoi mesh, and a treeparticlemesh method for gravitational interactions. Arepo is originally optimized for cosmological simulations of structure formation, but has also been used in many other applications in astrophysics.
close

Springel V. ①2010 Pakmor, R. et al. ①2016 Weinberger, R. et al. ①2019 
C  GNU GPLv3  Github, public 
AstroBEAR  Adam Frank, Department of Physics and Astronomy (Rochester) 
AstroBEAR is a parallelized hydrodynamic/MHD simulation code suitable for a variety of astrophysical problems. Derived from the BearCLAW package …
AstroBEAR is a parallelized hydrodynamic/MHD simulation code suitable for a variety of astrophysical problems. Derived from the BearCLAW package written by Sorin Mitran, AstroBEAR is designed for 2D and 3D adaptive mesh refinement (AMR), multiphysics simulations.
close

Cunningham et al. ①2009 CarrollNellenback J. J. et al. ①2013 
Fortran  GNU GPLv3  Web, registration needed 
Athena++  James Stone (Princeton) 
Gridbased adaptive mesh refinement (AMR) code for hydrodynamics, magnetohydrodynamics (MHD), and special and …
Gridbased adaptive mesh refinement (AMR) code for hydrodynamics, magnetohydrodynamics (MHD), and special and general relativistic MHD including other physics such as particles, selfgravity, chemistry, and radiation transport.
close

Stone et al. (2019, in preparation)  C++ 
BSD 3Clause  Web, public 
Black Hole Accretion Code [BHAC]  Oliver Porth, Hector Olivares and the BHAC developer team 
BHAC (the Black Hole Accretion Code) is a multidimensional general relativistic magnetohydrodynamics code based on the MPIAMRVAC framework.…
BHAC (the Black Hole Accretion Code) is a multidimensional general relativistic magnetohydrodynamics code based on the MPIAMRVAC framework. BHAC solves the equations of ideal general relativistic magnetohydrodynamics in one, two or three dimensions on arbitrary stationary spacetimes, using an efficient block based adaptive mesh refinement approach.
close

Porth, O.et al. ①2017, Olivares, H.et al. ②2019 
Fortran 90 
GNU GPLv3  Web, public 
FARGO3D  Pablo BenítezLlambay, Frédéric Masset, Leonardo Krapp 
FARGO3D is a versatile multifluid HD/MHD code that runs on clusters of CPUs or GPUs, with special emphasis on protoplanetary disks 
BenítezLlambay, Pablo et al. ①2016, ②2019 (ApJS, submitted.) 
C, CUDA  GNU GPL  Bitbucket, public 
FDPS (Framework for Developing Particle Simulators) 
RIKEN Center for Computational Science, Particle Simulator Research Team  FDPS is a generalpurpose, highperformance library for particle simulations. The current version is 5.0b. 
Iwasawa et al. 2016  C++  MIT  Github, public 
GAMER  HsiYu Schive (Taiwan) 
GAMER is a GPUaccelerated adaptive mesh refinement code for astrophysics. It features extremely high performance …
GAMER is a GPUaccelerated adaptive mesh refinement code for astrophysics. It features extremely high performance and parallel scalability and supports a rich set of physics modules, including hydrodynamics, MHD, selfgravity, particles, chemistry, radiative processes, and wave (fuzzy) dark matter.
close

Schive et al. ①2018, ②2010, ③2018 
C++, CUDA  BSD 3Clause  Github, public 
Gadget2  Volker Springel (MPA) 
GADGET is a code for cosmological Nbody/SPH simulations on massively parallel computers with distributed memory. GADGET uses …
GADGET is a code for cosmological Nbody/SPH simulations on massively parallel computers with distributed memory. GADGET uses an explicit communication model that is implemented with the standardized MPI communication interface. The code can be run on essentially all supercomputer systems presently in use, including clusters of workstations or individual PCs. GADGET computes gravitational forces with a hierarchical tree algorithm (optionally in combination with a particlemesh scheme for longrange gravitational forces) and represents fluids by means of smoothed particle hydrodynamics (SPH). The code can be used for studies of isolated systems, or for simulations that include the cosmological expansion of space, both with or without periodic boundary conditions. In all these types of simulations, GADGET follows the evolution of a selfgravitating collisionless Nbody system, and allows gas dynamics to be optionally included. Both the force computation and the time stepping of GADGET are fully adaptive. GADGET can therefore be used to address a wide array of astrophysically interesting problems, ranging from colliding and merging galaxies, to the formation of largescale structure in the Universe. With the inclusion of additional physical processes such as radiative cooling and heating, GADGET can also be used to study the dynamics of the gaseous intergalactic medium, or to address star formation and its regulation by feedback processes.
close
 Springel 2005  C  GNU GPLv2  Web, public 
GIZMO  Philip F. Hopkins (Caltech) 
GIZMO is a flexible, massivelyparallel, multiphysics simulation code. The code lets you solve the fluid equations using a variety of different methods …
GIZMO is a flexible, massivelyparallel, multiphysics simulation code. The code lets you solve the fluid equations using a variety of different methods  whatever is best for the problem at hand. It introduces new Lagrangian Godunovtype methods that allow you to solve the fluid equations with a moving particle distribution that is automatically adaptive in resolution and avoids the advection errors, angular momentum conservation errors, and excessive diffusion problems that limit the applicability of “adaptive mesh” (AMR) codes, while simultaneously avoiding the loworder errors inherent to simpler methods like smoothedparticle hydrodynamics (SPH). Meanwhile, selfgravity is solved fast, with fullyadaptive gravitational softenings. And the code is massively parallel — it has been run on everything from a Mac laptop to >1 million CPUs on national supercomputers. It includes a variety of physics including magnetohydrodynamics, selfgravity, cosmology, radiative heating/cooling, radiationhydrodynamics, sink particles, star and black hole formation and “feedback”, anisotropic conduction and viscosity, turbulent eddy diffusion, dust/particulate dynamics, nonstandard dark matter and dark energy models, elastic and plastic dynamics, giant impact/material models, shearing boxes and largeeddy/driventurbulent boxes, and more.
close

Hopkins et al. 2015  C  GNU GPL  Bitbucket, public 
HARMCOOL  Agnieszka Janiuk 
GR MHD code to simulate black hole accretion with optional nuclear Equation of State and neutrino cooling. …
GR MHD code to simulate black hole accretion with optional nuclear Equation of State and neutrino cooling. MPIparallelized, 3D simulation of accretion and jet ejection in the Kerr metric around rotating black hole, in case of the gammaray burst engine, is its main application.
The code was built upon the HARM2D General Relativistic scheme for magnetohydrodynamical simulations for black hole accretion (Gammie et al. 2003). It was extensively upgraded and supplied with novel functionality.
The EOS functions are computed for the Fermi Gas of free proton, neutron, electronpositron, under arbitrary degeneracy (Yuan 2005). Tables with the equation of state and neutrino cooling are tabulated in the function of temperature and density and dynamically stored during the simulation. The physical units adopted in the code are scaled with the black hole mass and density scale in the accretion disk. The interpolation over EOS tables is implemented within the conversion scheme between conserved and primitive variables in GR MHD solver.
In addition, code makes use of the tracer particles, and stores output on them for the subsequent postprocessing of the rprocess nucleosynthesis.
Output formats in current version are ASCII and HDF5.
This version, as of 2020, was developed since 2012, by Agnieszka Janiuk, Ireneusz Janiuk, and Kostas Sapountzis. From our website one can download .zip with sources, sample initail condition, and sample makefile. One can find there also the README file with technical details.
close

Yuan Y.F. ①2005,
Janiuk A. et al. ①2007,
②2013,
③2018,
④2019
Janiuk A. ①2017

C++, Fortran90  GPLv3, LGPLv3  Web, public 
KAthena 
Philipp Grete, Forrest Glines, and B. W. O’Shea. Michigan State University  A performance portable version (using Kokkos ) of Athena++ for structured grid (magnetohydro) dynamics simulations on any architecture (CPUs, KNLs, GPUs, ...) 
Grete, Glines, and O’Shea (under review) 2019  C++  BSD 3Clause  Github, public 
Legolas 
Niels Claes, Jordi De Jonghe, Rony Keppens 
Legolas is a finite element code for MHD spectroscopy of 1D Cartesian/cylindrical equilibria with flow that balance pressure gradients, gravity and Lorentz forces, …
Legolas is a finite element code for MHD spectroscopy of 1D Cartesian/cylindrical equilibria with flow that balance pressure gradients, gravity and Lorentz forces, enriched with various nonadiabatic effects. The code’s capabilities range from full spectrum calculations to investigating eigenfunctions of specific modes to fullon parametric studies of various equilibrium configurations.
close

Niels Claes, Jordi De Jonghe, and Rony Keppens 2020
 Fortran, Python  GNU GPL v3  Github, public 
MPIAMRVAC 
Rony Keppens and collaborator  A generic tool for blockgridadaptive simulations of your favourite system of PDEs, in any dimensionality. This includes hydro, MHD, reactiondiffusion, ... 
R. Keppens ①2020, J. Teunissen ①2019, C. Xia ① 2018, O. Porth ①2014
 Fortran 90  GNU GPL v3.0  Github, public 
Nbody6++GPU  Long Wang & Rainer Spurzem, SilkRoad Team and DRAGON project 
This code is designed to simulate large collisional Nbody systems (star clusters), including the accurate treatment of binary and fewbody dynamics. …
This code is designed to simulate large collisional Nbody systems (star clusters), including the accurate treatment of binary and fewbody dynamics. The single and binary stellar evolutions codes, SSE/BSE, are implemented. The timeevolving external tidal fields based on tidal tensor methods are imported from NBODY6TT as an optional package.
close

Wang et al. 2015  FORTRAN 77, C++, CUDA  MIT  Github, public 
Optab  Shigenobu Hirose (JAMSTEC) 
Public Fortran90 code package for generating idealgasopacity tables for radiation hydrodynamics simulations 
Hirose et al. ①2021, ②2021  Fortran 90  GPL3.0 
Github, public 
Pencil Code  The 14 owners of the code 
A highorder finitedifference code for compressible hydrodynamic flows with magnetic fields and particles.  CRA Data Management et al. 2014  Fortran 90  GPLv2 
Github, public 
PHANTOM  Daniel Price (Monash) 
Phantom is a 3D Smoothed Particle Hydrodynamics and Magnetohydrodynamics code for astrophysics. It was written and developed by Daniel Price with contributions …
Phantom is a 3D Smoothed Particle Hydrodynamics and Magnetohydrodynamics code for astrophysics. It was written and developed by Daniel Price with contributions from many others. It is designed to be a fast 3D SPH code with a
low memory footprint, for production runs. Physics includes hydro, MHD, multigrain dust, selfgravity and sink particles.
close

Price et al. 2018 
Fortran 95/2008  GPLv3 + must cite code paper + redistri butions must include “Phantom” in code name 
Web,
Bitbucket, public 
PION  Jonathan Mackey (DIAS) 
PION is a gridbased fluid dynamics code for hydrodynamics and magnetohydrodynamics, including a raytracing module for …
PION is a gridbased fluid dynamics code for hydrodynamics and magnetohydrodynamics, including a raytracing module for calculating the attenuation of radiation from point sources of ionizing photons.
It also has a module for coupling fluid dynamics and the radiation field to microphysical processes such as heating/cooling and ionization/recombination. PION was written to model the evolution of HII regions, photoionized bubbles that form around hot stars, and developed to include stellar wind sources so that both wind bubbles and photoionized bubbles can be simulated at the same time.
Static meshrefinement is implemented and PION is parallelised with MPI for running on distributedmemory machines. Active development of new features takes place mostly on a private branch of the git repository and prospective developers are advised to contact info@pion.ie before starting development work on the released source code.
close

Mackey et al. ①2021, Mackey & Lim ②2010 
C++  BSD 3Clause License 
Web, public 
RADMC3D  Cornelis Dullemond 
RADMC3D is a highly flexible diagnostic radiative transfer code for "postprocessing" models to compute predictions for observable images and spectra. …
RADMC3D is a highly flexible diagnostic radiative transfer code for "postprocessing" models to compute predictions for observable images and spectra. It is not a "model" itself, but a code with which the observational appearance of models can be computed. These "input models" can be e.g. the results from hydrodynamic simulations or parameterized density distributions. Typical applications are protoplanetary disks, AGN tori, molecular clouds, ISM turbulence etc.
close

Dullemond, C. P. et al. 2012

Fortran90, with Python interface.
No knowledge of Fortran90 is necessary. 
Scientific use permitted, as long as website and/or reference is cited in resulting publication. 
Web, public 
RAMSES  Romain Teyssier (Zürich) 
RAMSES is an open source code to to model astrophysical systems, featuring selfgravitating, magnetised, compressible, radiative fluid flows. …
RAMSES is an open source code to model astrophysical systems, featuring selfgravitating, magnetised, compressible, radiative fluid flows. It is based on the Adaptive Mesh Refinement (AMR) technique on a fullythreaded graded octree. RAMSES is written in Fortran 90 and is making intensive use of the Message Passing Interface (MPI) library.
close

Teyssier et al. ①2002, ②2006, ③2006 
Fortran 90, MPI Library  CeCILL  Bitbucket, public 
REBOUND  Hanno Rein, Daniel Tamayo, David S. Spiegel (Toronto) 
REBOUND is an Nbody integrator, i.e. a software package that can integrate the motion of particles under the influence of gravity. The particles can represent stars, …
REBOUND is an Nbody integrator, i.e. a software package that can integrate the motion of particles under the influence of gravity. The particles can represent stars, planets, moons, ring or dust particles. REBOUND is very flexible and can be customized to accurately and efficiently solve many problems in astrophysics.
close

Rein et al. ①2012, ②2014, ③2015 
C, Python  GNU GPLv3  Github, public 
      