Running an Example
Now that you have built the code, you will want to run an example! Let’s start with a hydrodynamics only example, the 3D Sod Shock.
Sod Shock
To run the Sod Shock example, you need to follow the following instructions
(requires python3
with the h5py
and other standard scientific packages,
as well as wget
for grabbing the glass).
cd examples/HydroTests/SodShock_3D
./getGlass.sh
python3 makeIC.py
../swift --hydro --threads=4 sodShock.yml
python3 plotSolution.py 1
This will run the ‘SodShock’ in 3D and produce a nice plot that shows you how the density has varied. Try running with GIZMO-MFV (this will take significantly longer than with SPH) to see the difference. For that, you will need to reconfigure with the following options:
./configure \
--with-hydro=gizmo-mfv \
--with-riemann-solver=hllc
To see the results that you should get, you should check out our developer wiki at https://gitlab.cosma.dur.ac.uk/swift/swiftsim/wikis/Sod_3D.
If you don’t get these results, please contact us on our GitHub page at https://github.com/SWIFTSIM/swiftsim/issues.
Small Cosmological Volume
As a second example, we run a small cosmolgical
volume containing dark matter only starting at redshift \(z = 50\).
Like for the Sod Shock example, it suffices to configure (./configure
) and
compile (make
) the code without any extra flags.
After downloading the initial conditions, we run the code with cosmology and self-gravity:
cd examples/SmallCosmoVolume/SmallCosmoVolume_DM
./getIC.sh
../../../swift --cosmology --self-gravity --threads=8 small_cosmo_volume_dm.yml
We can plot the solution with the included python script as follows:
python3 plotProjection.py 31
The plotProjection.py
script requires the swiftsimio
library, which is a dedicated and maintained visualisation and analysis
library for SWIFT.
An additional example containing both baryonic and dark matter is
examples/SmallCosmoVolume/SmallCosmoVolume_hydro
. To run with
hydrodynamics, the --hydro
flag needs to be provided as well:
cd examples/SmallCosmoVolume/SmallCosmoVolume_hydro
./getIC.sh
../../../swift --cosmology --self-gravity --hydro --threads=8 small_cosmo_volume.yml
The solution can again be plotted using the plotProjection.py
script.