A quantitative test suite for codes used in Astrophysics


Sedov Bast Test

The Sedov Blast Test (Sedov 1959) is an intense explosion caused by a quantity of energy deposited in the centre of the simulation box. The result is a strong spherical shock that propagates through the background homogenous medium. The evolution of the shock is shown below for Enzo (PPM) at t = 0.025, 0.05, 0.075, 0.1.

Initial conditions


The analytical calculation of the shock propagation is described in full in Sedov (1959) and Landau & Lifshitz (1959) who show the shock front's radius is given by:



where E0 is the initial energy injected, &rho0 is the background density and &alpha = 0.49 for an ideal gas with &gamma = 5/3. In our calculations, the initial density of the medium is &rho0 = 1, the explosion energy E0 = 105. For grid codes where an entirely empty background medium is impossible, the background pressure was P = 10-5. The shock expands into a box of side 10, boundary conditions were periodic and we compare our results at t = 0.1.

Code Specifics


The AMR codes Enzo and Flash used an initial grid of 1003 with two levels of refinement, each reducing the cell size by a factor of two. These subgrids were placed where the shock front was detected. For these codes, the central energy was injected into a spherical region of radius 3.5 grid cells on the finest levels, corresponding to r = 0.0875, a commmon choice for this test. The SPH codes Hydra and Gadget2 used 1 million particles relaxed into a glass, with the energy added to the central 32 particles in a top hat distribution.

Results

The above image shows the surface density of the simulation box at t = 0.1. From left to right, the code results are from Enzo (PPM), Enzo (Zeus), Flash, Gadget2, Hydra. The red circle marks the analytical prediction for the shock-front. Density ranges from [100.6, 101.23]


Enzo (PPM)
Enzo (Zeus)
Flash
Gadget2
Hydra


Additional comments


Largely, we've left the discussion of these results to our paper, but the Enzo (Zeus) result above is so marked that it is worth an extra mention. As we discussed in the paper, Enzo (Zeus) looses 25 % of its energy in the first few timesteps and produces a diamond, rather than spherical, shock-front which is very obvious at early times. After this, the code corrected conserves energy, however the energy loss is clearly visible in the position of the shock at t = 0.1, which lags substantially behind the analytical solution. Dr David Clarke at St Mary's University, has identified this problem as being due to Enzo (Zeus) solving the internal, rather than total, energy equation. In cases such as the Sedov blast test, the imperfect derivation of the -p div(v) term becomes a big issue at the beginning of the calculation, since the gradient is very steep. Furthermore, Dr Clarke notes that the assymmetry is due to the quadratic artificial viscosity term and a cure to both of the above is found by using the total energy equation with zero artificial viscosity. The results for the Sedov blast with a version of Zeus 3D which does this can be found here.

In situations where the energy gradients are not so steep, the use of the internal energy equation over total energy is no problem and may even be preferable in terms of code stability.


Site Meter