Athena is a grid-based code for astrophysical magnetohydrodynamics (MHD). It was developed primarily for studies of the interstellar medium, star formation, and accretion flows. Athena has been made freely available to the community.

Chombo provides a set of tools for implementing finite difference methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids. Both elliptic and time-dependent modules are included. Chombo supports calculations in complex geometries with both embedded boundaries and mapped grids, and Chombo also supports particle methods. Most parallel platforms are supported, and cross-platform self-describing file formats are included.

NIRVANA is a C code for astrophysical fluid flow modelling. It numerically integrates the 2D/3D equations of time-dependent, non-relativistic, compressible magnetohydrodynamics on Cartesian/cylindrical/spherical grids based on state-of-the-art numerical methods. NIRVANA offers block-structured adaptive mesh refinement in order to handle multi-scale flows and implements a Poisson solver for self-gravitational problems.

The Versatile Advection Code (VAC) is a freely available general hydrodynamic and magnetohydrodynamic simulation software that works in 1, 2 or 3 dimensions on Cartesian and logically Cartesian grids. VAC runs on any Unix/Linux system with a Fortran 90 (or 77) compiler and Perl interpreter. VAC can run on parallel machines using either the Message Passing Interface (MPI) library or a High Performance Fortran (HPF) compiler. The original code has been developed by Gabor Toth at the University of Utrecht from 1994 to 1997. Rony Keppens has joined the development effort in 1995 and contributed to many aspects of VAC.

MPI-AMRVAC aims to advance any system of (primarily hyperbolic) partial differential equations by a number of different numerical schemes. The emphasis is on (near) conservation laws, with shock-dominated problems as a main research target. The actual equations are stored in separate modules, can be added if needed, and they can be selected by a simple configuration of the VACPP pre-processor. The dimensionality of the problem is also set through VACPP. The numerical schemes are able to handle discontinuities and smooth flows as well.

BATS-R-US stands for Block Adaptive Tree Solar-wind Roe Upwind Scheme. This name, while not complete in describing the code, especially in its newer incarnations, points out some of BATS-R-US' main features. Specifically, BATS-R-US originally solved the MHD equations using a finite volume upwind Roe-type scheme. Currently there are several different solvers available. The computational region in BATS-R-US is made up of logically Cartesian blocks of cells that can be adaptively refined to give higher resolution in a restricted part of the domain. The division of blocks into smaller blocks creates a tree like structure of blocks, where a divided block has eight children (in 3D), and the blocks are connected to other blocks much like the branches of a tree. Finally, BATS-R-US is most commonly run to model the solar wind interaction with solar system bodies.

The Pencil Code is a high-order finite-difference code for compressible hydrodynamic flows with magnetic fields. It is highly modular and can easily be adapted to different types of problems. The code runs efficiently under MPI on massively parallel shared - or distributed - memory computers.

PLUTO is a freely-distributed software for the numerical solution of mixed hyperbolic/parabolic systems of partial differential equations (conservation laws) targeting high Mach number flows in astrophysical fluid dynamics. The code is designed with a modular and flexible structure whereby different numerical algorithms can be separately combined to solve systems of conservation laws using the finite volume or finite difference approach based on Godunov-type schemes.

MURaM stands for MPS/University of Chicago Radiative MHD. It is a multidimensional MHD code developed by the Solar-MHD group at the MPS in collaboration with F. Cattaneo, T. Linde and T. Emonet of the University of Chicago. MURaM was designed to faciliate realistic simulations of solar magneto-convection and other related magnetic activity (such as pores and emerging flux tubes) in the photosphere and the upper layers of the convection zone.

Alsvid is a finite-volume code for solving the equations of Magneto-hydrodynamics in up to three dimensions.

ZEUS is several different numerical codes for astrophysical gas dynamics in two- and three-dimensions. The basic numerical algorithms employed are simple but accurate and robust. A great deal of physics has been added to the codes, making them useful tools for investigation of a wide variety of problems.

The FLASH code, currently in its fourth version, is a publicly available high performance application code which has evolved into a modular, extensible software system from a collection of unconnected legacy codes. FLASH consists of inter-operable modules that can be combined to generate different applications. The FLASH architecture allows arbitrarily many alternative implementations of its components to co-exist and interchange with each other. A simple and elegant mechanism exists for customisation of code functionality without the need to modify the core implementation of the source. A built-in unit test framework combined with regression tests that run nightly on multiple platforms verify the code.

AstroBEAR is a parallelised 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) simulations. Users write their own project modules by specifying initial conditions and continual processes (such as an inflow condition). In addition, AstroBEAR comes with a number of pre-built physical phenomena such as clumps and winds that can be loaded into a user module.

2D HD code; best for simulation of planet-disk interaction; widely used for planet migration study; Caveat--no AMR, no-selfgravity

VH-1 is a multidimensional ideal compressible hydrodynamics code written in FORTRAN, for use on any computing platform, from desktop workstations to supercomputers. It uses a Lagrangian remap version of the Piecewise Parabolic Method developed by Paul Woodward and Phil Colella in their 1984 paper. VH-1 was originally written in 1990 at the University of Virginia by Professor John Hawley and several postdocs and students. While many individuals at UVa contributed to the development of VH-1, the bulk of the code writing and testing was done by John Hawley, John Blondin, Greg Lindahl, and Eric Lufkin.


Parallel magnetohydrodynamic (MHD) algorithms are important for numerical modelling of highly inhomogeneous solar and astrophysical plasmas. SMAUG is the Sheffield Magnetohydrodynamics Algorithm Using GPUs. SMAUG is a 1-3D MHD code capable of modelling magnetised and gravitationally stratified magnetised plasma.

RAMSES-GPU is a general-purpose Hydrodynamics (HD) and Magneto-hydrodynamics (MHD) simulation code primarily written for astrophysics applications. 

Particle in cell

Tristan-mp is implemented in Fortran 95, and is designed in a modular way, so that new relevant features can be added to the code with relative ease. In its present version, and without any alterations to the source code, Tristan-mp can simulate two different problems: a shock simulation (with arbitrary plasma parameters defined in the input file) and a generic periodic run with two electron - ion counter-streaming beams (Weibel instability). 

The code numerically solves Maxwell's equations, and the relativistic equations of motion for the particles. It is a massively parallel code, used and tested on high-performance computational clusters, and makes use of the Message Passing Interface (MPI) library, and the Hierarchical Data Format 5 (HDF5) libraries for outputs. These are third party libraries that can be easily compiled for the specific system where the code is to be used (and are usually available in most of the high-performance clusters by default). 

On systems where there is not a specific implementation of the MPI library to be used, one possible implementation that can be downloaded and installed is the Open MPI library. 

CELESTE3D code, a fully electromagnetic and fully kinetic PIC code, based on the implicit moment method. The code has been in use for a number of years. A number of input files for different benchmarks of CELESTE3D are included to show the typical application. 

Other numerical simulation codes and tests

Solar Spicule Tracking Code version 1.0 (SSTC v1.0, written in MatLab, developers: Yuyang Yuan (SoMaS, ACSE), Gary Verth (SoMaS), Viktor Fedun (ACSE)) is designed for automated detection, tracking and analysis of solar spicules properties (also applicable for coronal loop and other curvilinear features detection in the solar atmosphere). 

The code works best with hi-resolution observational solar imaging data. The choice of either photospheric, chromospheric or coronal spectral lines depends on the particular features to be identified and analysed. As an output, the code provides information on individual spicules/loops detected as well as overall statistics. A gradient contour method is used to constrain identified spicule/loop boundaries as well as their axis (the spicule/loop "spine''). 

Detection results may be influenced by quality of current observational data (DKIST data will be tested by the authors when available). The level of accuracy of the code can be improved by adding more points along the spicule/loop "spine'' (if the detection region has a particularity high density of spicules/loops). This will also provide a more accurate time evolution of the spicules/loops. To improve robustness, Machine Learning (ML) will be implemented in the next version of the code. Data processing time of current version depends on user computing facilities (i.e. number of CPU cores, GPU performance) used.

The Center for Applied Scientific Computing (CASC) at Lawrence Livermore National Laboratory is developing algorithms and software technology to enable the application of structured adaptive mesh refinement (SAMR) to large-scale multi-physics problems relevant to U.S. Department of Energy programs. The SAMRAI (Structured Adaptive Mesh Refinement Application Infrastructure) library is the code base in CASC for exploring application, numerical, parallel computing, and software issues associated with SAMR.

PARAMESH is a package of Fortran 90 subroutines designed to provide an application developer with an easy route to extend an existing serial code which uses a logically cartesian structured mesh into a parallel code with adaptive mesh refinement (AMR).

DTCWT based motion magnification. Motion magnification acts like a microscope for low amplitude motions in image sequences, ie, imaging data cubes or videos. It artificially amplifies small displacements making them detectable by eye or some automated technique. The code is based on the two-dimensional Dual Tree Complex Wavelet Transform (DTCWT) and allows for magnifying transverse quasi-periodic motions of contrast features in image sequences. 


VAPOR is the Visualisation and Analysis Platform for Ocean, Atmosphere, and Solar Researchers. VAPOR provides an interactive 3D visualisation environment that runs on most UNIX and Windows systems equipped with modern 3D graphics cards. 

Vis5D is a system for interactive visualisation of large 5D gridded data sets such as those produced by numerical weather models. One can make iso-surfaces, contour line slices, coloured slices, volume renderings of data in a 3D grid, then rotate and animate the images in real time. There's also a feature for wind trajectory tracing, a way to make text annotations for publications and support for interactive data analysis.

ParaView is an open-source, multi-platform data analysis and visualisation application. ParaView users can quickly build visualisations to analyse their data using qualitative and quantitative techniques. The data exploration can be done interactively in 3D or programmatically using ParaView's batch processing capabilities. ParaView was developed to analyse extremely large datasets using distributed memory computing resources. It can be run on supercomputers to analyse datasets of terascale as well as on laptops for smaller data. 

Magnetic Data

World Data Center for Geomagnetism, Kyoto. 

Education videos