As discussed in the Lecture, the Riemann Problem is the key pillar of Eulerian hydrodynamics and can not be
solved fully analytically. In the lecture, we solved a special case of it. So, start with this picture
taken from Simulation Techniques for Cosmological Simulations. Now, think about:
Also, remember that we had the equation
with
to solve to get the solution for the pressure
at the contact discontinuity (so pressure in sector 3 and 4). Think about:
You can start from the configuration of the code as obtained in T03 and collect some different particle distributions.
You can now write a program to set up a long slab (along the x-axis) which resembles your initial conditions.
Now you can run the simulation.
PERIODIC
and
NOGRAVITY
again. Also, you have to indicate the non-cubic form
of the simulation domain by setting LONG_X=100
,
LONG_Y=1
and LONG_Z=1
in the Config.sh
file before compiling.
DesNumNgb
,
TimeMax
,
InitCondFile
,
BoxSize
and
SnapshotFileBase
.
Goal of this tutorial is that you learn better how to create non-uniform initial conditions.
cp $HOME/Hydro/grid_10x10x10 .
cp $HOME/Hydro/grid_12x12x12 .
setup_slab.pro
in IDL
show_slab.pro
in IDL
ifort -g -traceback -check all -fpe0 -o slabsetup slabsetup.f90
glass.txt
, which is a text version of the glass file
with coordinates in the range of 0 . . . 1)
./slabsetup
gnuplot grid.plt
(to check that the particle positions are set up correctly)
LONG_X=20
, LONG_Y=1
, and LONG_Z=1
(and PERIODIC
and NOGRAVITY
)
slab.ic
as the initial conditions file
and output
as the snapshot file base in the parameter file,
and BoxSize 1
ifort -g -traceback -check all -fpe0 -o readsnap readsnap.f90
./readsnap output_000 >output_000.txt
./readsnap output_010 >output_010.txt
./readsnap output_020 >output_020.txt
gnuplot pressure.plt
gv pressure.ps