T9: Heat transport:
equilibrating and historic cooling of amphitheaters
Before the tutorials:
Think about:
- What does heat transport mean?
- What happens when two fluids with different temperatures are in contact?
- How can you demonstrate that conduction is an irreversible process?
- What does a cooling cycle (in your fridge or in your air conditioner) generally look like?
- How can heat transport combined with T08 be used
to mimic an ancient air conditioning system where the entrances to theaters had conical shapes?
During the tutorials:
To run the first experiment, we first need to
- Use the 200x10x10 setup of T06 to check the equilibration by heat transport of a slab with two different temperatures at its ends.
- Mark all particles as boundary particles (i.e., set their
ID
to zero).
- Give one side a 5 times higher temperature.
- When compiling the code, do not forget to switch on
CONDUCTION
and CONDUCTION_CONSTANT
(and SPH_BND_PARTICLES
) in the Config.sh
file.
- Add
ConductionEfficiency 0.2
and MaxSizeConductionStep 0.05
to the parameter file.
- Look at the evolution of the internal energy and explain what happens.
- Try to plot the entropy and see what happens.
- As a second experiment, you can try to build an air cooler.
- Use the 400x20x20 setup of T08,
- but make the tube much shorter, to have some of the original volume on the left.
- Split the moving wall in two pieces, leaving the right part at rest with an hole to allow a flow through it.
- Also, reduce the overall velocity
- Hint: Here a sketch of the geometry:
- You can run the simulation with and without conduction switched on.
- Is there a difference in temperature in the left chamber?
- Have a closer look at the differences. What happens in the run without conduction?
Programming goals for T8:
Improve your ability to set up special geometries in the initial conditions.
Solutions
- Again, extending the setup script from T06 for the first test problem.
- To look at the evolution of the internal energy.
you should get something like shown below
- Example using Fortran and gnuplot:
ifort -g -traceback -check all -fpe0 -o slabsetup slabsetup.f90
(this uses glass.txt
from T04)
./slabsetup
gnuplot grid.plt
(to check that the particle positions are set up correctly)
- compile Gadget with
PERIODIC
and NOGRAVITY
and with LONG_X=10
, LONG_Y=1
, and LONG_Z=1
.
- run Gadget using
slab.ic
as the initial conditions file
and output
as the snapshot file base in the parameter file,
and BoxSize
= 1
(and TimeMax
= 100, TimeBetSnapshot
= 0.1, and ConductionEfficiency
= 10)
ifort -g -traceback -check all -fpe0 -o readsnap readsnap.f90
for file in output_???; do ./readsnap $file >$file.txt; done
gnuplot slab.plt
(this requires ffmpeg, which is installed on our ltsp machines)
xine -l slab.mp4
- Again, extending the setup script from T08 for the first test problem.
you should get something like shown below
- Again, you can basically use the script from T08 for looking at the results.
you should get something like shown below
- Example using Fortran and gnuplot:
ifort -g -traceback -check all -fpe0 -o nozzlesetup nozzlesetup.f90
(this uses glass.txt
from T04)
./nozzlesetup
gnuplot grid2.plt
(to check that the particle positions are set up correctly)
- compile Gadget with
PERIODIC
and NOGRAVITY
and with LONG_X=30
, LONG_Y=1
, and LONG_Z=1
.
- run Gadget using
nozzle.ic
as the initial conditions file
and output
as the snapshot file base in the parameter file,
and BoxSize
= 1
(and TimeMax
= 100, TimeBetSnapshot
= 0.1, and ConductionEfficiency
= 100)
ifort -g -traceback -check all -fpe0 -o readsnap readsnap.f90
for file in output_???; do ./readsnap $file >$file.txt; done
gnuplot nozzle.plt
(this requires ffmpeg, which is installed on our ltsp machines)
xine -l nozzle.mp4
- with ConductionEfficiency = 100:
- with ConductionEfficiency = 0: