Wengen 3: The Blob Test


— A newer version of this test is available here


A spherical cloud of gas with uniform density, in pressure equilibrium with an ambient medium, is placed in a wind-tunnel with periodic boundary conditions. The imposed wind has a mach number M=2.7, and the density and temperature ratios are 10.

Included physics

Non-selfgravitating hydrodynamical test. Solve only the Euler equations.


To test processes of astrophysical interest such as ram-pressure stripping, multiphase interactions, mixing, Kelvin-Helmholtz (KH) and Rayleigh-Taylor (RT) instabilites.

Analytical solution

No full analytical solution exists. However, KH and RT instabilites grows freely and a typical time-scale for cloud destruction can be assigned to time when largest possible mode (size of the cloud) has fully grown, see Agertz et al. (2007) for details.

Publications using this test

Agertz et al. (2007): A code comparison paper on this problem. The main conclusion was that SPH codes had difficulties in resolving the dynamical instabilities responsible for the destruction of the cloud. This problem stems from the fact that the standard SPH formalism poorly treats density gradients.

Chatelain et al. (2007): Compares the solutions of SPH and grid methods to a hybrid Particle-Mesh code.

Useful references

Details of setup


Units used in the simulations are based on a G=1 system, which provides a convenient system when the length and velocity units are in kpc and km/s respectively; namely that the time unit is very nearly 10^9 years i.e. Gyrs. This system of units is thus very practical in astrophysical applications.

For converting to other unit systems the following should be helpful:

We start by defining the mass, velocity and length unit to be




The time unit is given by the gravitational timescale,


where Graph is the gravitational constant in physical units. In this set of units, the time unit roughly equals 1 Gyr. The energy per unit mass unit is given by


Thus the gas constant in system units is given by


where Graph is the Boltzmann constant and Graph is the mean molecular weight in atomic mass units. We calculate the thermal energy as


In this simulation we use an adiabatic index Graph and mean molecular weight Graph.

Initial Conditions

Using the units defined above, the IC setup can be fully described by the following parameters:


The simulation domain is a periodic rectangular box with dimensions


where the cloud is center on Graph.

The initial conditions were generated by placing equal-mass particles randomly in the regions defining the cloud and the ambient flow to obtain the correct properties. We then added small randomly random velocities and let the system relax using the SPH code Gasoline. By repeating this process, a glass-like IC was generated. The external wind velocity was added after this process.


The SPH particle initial conditions are available in Tipsy format. Gridded initial conditions are stored in the HDF5 format, where each file contains the complete Euler fields, i.e. density, x,y and z velocities and thermal energy. The gridded ICs were generated from the SPH particles using the tools available in the Misc. Tools section. The syntax for an case with a 64x64x256 output mesh is:

# smooth -s 32g -px 2000 -py 2000 -pz 8000 hsmooth -o test < test.std
# hsmtoeps test.std test.hsm > test.eps
# tipgrid -v -n 64 64 256 -l 2000 -xpd 1 -ypd 2 -p -dmin 0 -tmin 0 -msol 2.3262e5 -m 4 -o test < test.eps
# h5import test.grid.d -c test.cfg.d test.grid.t -c test.cfg.t test.grid.vx -c test.cfg.vx test.grid.vy -c test.cfg.vy test.grid.vz -c test.cfg.vz -o test.h5

Smooth is used to calculate the local smoothing length for each particle. This value is then substituting the gravitational softening length in the .std file using hsmtoeps (part of the Tipgrid tool). Tipgrid is used to interpolate the SPH particles onto a regular mesh. The output files can then be assembled to an HDF file using h5import. An ascii version of the grid-based data can easily be generated by following the syntax shown above, skipping the last step and using the -ascii flag in Tipgrid.

IMPORTANT! Note that this problem is highly sensitive to the noise imposed from the particle distribution. It is desirable to have some level of noise to trigger instabilities.

Grid Resolution SPH Resolution
Low-res wengen3.low.h5 64x64x256 wengen3.low.std ~1e5 part
Med-res wengen3.med.h5 128x128x512 wengen3.med.std ~1e6 part
Hi-res wengen3.hi.h5 256x256x1024 wengen3.hi.std ~1e7 part
Hi-res (Gadget file format) wengen3.hi.gad ~1e7 part Example parameter file

How to analyze the test

To first order, central density slices are useful in determining how and if the cloud disrupts. Expect to see large scale intabilitiy-modes modes to have grown around, in the units of the IC:s, t=2 Gyr (see references). See below for examples.

Mass-loss diagrams are useful to track how well the instabilities can disrupt the cloud. Agertz et al. (2007) defined any element with density rho > 0.64 rho_cl to be associated with the cloud. See below for examples.

More detailed suggestions are welcome (Sub-clump survival, numerical diffusion due to resolution, entropy conservation etc.)!


Mass Fractions

A mass-fraction plot from Agertz et al. (2007). In this case the cloud was more easily destroyed in the Eulerian grid code Enzo than in the SPH code Gasoline.

Density evolution

Density slice at t=4 Gyr (twice the typical destruction time) for, from top to bottom: Gasoline (SPH), Gadget2 (SPH), Enzo (Grid), FLASH (Grid) and ART (Grid).

Blob tests run so far

Code Person Publication
Gasoline Oscar Agertz Agertz et al. (2007)
Gadget-2 Oscar Agertz Agertz et al. (2007)
Enzo (PPM and Zeus) Oscar Agertz Agertz et al. (2007)
ART Douglas Rudd Agertz et al. (2007)
FLASH Arthur Gawryszczak Agertz et al. (2007)

Discussion for the blob test


Oscar Agertz, 2008/07/10 17:57

Would be interesting to run this with self-gravity!


Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki