Initial Conditions Generation
-----------------------------
To make the initial conditions we distribute gas particles randomly in
a cube with a side length twice that of the virial radius. The density
profile of the gas is proportional to r^(-2) where r is the distance
from the centre of the cube.

The parameter v_rot (in makeIC.py and cooling.yml) sets the circular
velocity of the halo, and by extension, the viral radius, viral mass,
and the internal energy of the gas such that hydrostatic equilibrium
is achieved.

The gas is given some angular momentum about the z-axis. This is
defined by the 'spin_lambda' variable in makeIC.py

While the system is initially in hydrostatic equilibrium, the cooling
of the gas and the non-zero angular momentum means that the halo will
collapse into a spinning disc.

Compilation
-----------
To run this example, make such that the code is compiled with either
the isothermal potential or softened isothermal potential, and
'const_lambda' cooling, set in src/const.h. In the latter case, a
(small) value of epsilon needs to be set in cooling.yml.  0.1 kpc
should work well.

Checking Results
----------------
The plotting scripts produce a plot of the density, internal energy
and radial velocity profile for each
snapshot. test_energy_conservation.py shows the evolution of energy
with time. These can be used to check if the example has run properly.

Generating Video
----------------
If you want to generate a video of the simulation, the frequency of 
the snaphots needs to be increased. This can be modified in cooling.yml 
by changing 'delta_time' to 0.01. 

Once you have the snapshots, 'gadgetviewer' can be used to create a 
series of snapshot frames. The frames can then be combined together with 
'ffmpeg' to produce a video. The following command can be used:

ffmpeg -r 20 -i frame_%05d.image.png -c:v ffv1 -qscale:v 0 movie.avi

to produce the video.
