Tutorial: Solving the excursion set problem - galacticusorg/galacticus GitHub Wiki
In this tutorial we'll use Galacticus to compute and output solutions to the excursion set problem, which is an important ingredient in Press-Schechter-like halo mass function calculations. Briefly, the problem is to consider a set of random walk trajectories in overdensity, δ, as a function of variance (of the cosmological density field), S, and the compute the fraction, f(S)d_S_, of these trajectories which make their first upcrossing through a barrier, B(S), between S and S+d_S_.
This tutorial assumes that you've previously completed some of the earlier tutorials, so are familiar with the basics of Galacticus usage. If you haven't a good place to start is with the halo mass function tutorial.
A more mathematical and detailed discussion of the excursion set problem, and how it is implemented in Galacticus can be found here.
To run this tutorial:
$ ./Galacticus.exe parameters/tutorials/excursionSets.xml
If everything is working you should see output which looks something like:
##
#### # #
# # # #
# ### # ### ### ### ## ### ## ## ##
# # # # # # # # # # # # # # #
# ### ### # ### # # # # # # #
# # # # # # # # # # # # # #
#### #### ### #### ### ## ### ### #### ##
© 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
2017, 2018, 2019, 2020
- Andrew Benson
M: Memory: code + nodes + misc = total
M: 22.246Mib + 1.000 b + 9.000 b = 22.246Mib
M: -> Begin task: excursion sets
M: <- Done task: excursion sets
and a file excursionSets.hdf5
will have been created.
You can look at the entire parameter file for this tutorial here. Below we'll explore just those sections which are specific to this tutorial.
<!-- Specify tasks to perform -->
<task value="excursionSets"/>
This block tells Galacticus what task we want it to perform - here we're just asking it to solve the excursion set problem.
<excursionSetBarrier value="criticalOverdensity"/>
<excursionSetFirstCrossing value="linearBarrier" />
The first option specifies the form of the barrier function, B(S). Here we choose B(S)=δc where δc is the critical overdensity for collapse of a dark matter halo.
The second option selects the solver to use to compute the distribution of first crossings of the barrier. Here we choose a solver which utilizes the analytic solution for a linear barrier, i.e. a barrier of the form B(S) = a + b S.
The output file excursionSets.hdf5
has the excursion set problem solutions in the excursionSets
group:
$ h5ls excursionSets.hdf5/excursionSets
barrier Dataset {15, 51}
firstCrossingProbability Dataset {15, 51}
firstCrossingRate Dataset {15, 51, 51}
mass Dataset {51}
massFunction Dataset {15, 51}
powerSpectrum Dataset {15, 51}
time Dataset {15}
variance Dataset {15, 51}
wavenumber Dataset {51}
These datasets contain the following information:
-
mass
: Halo mass [M☉]; -
time
: Cosmic time [Gyr]; -
wavenumber
: Wavenumber corresponding to this halo mass [Mpc-1]; -
powerSpectrum
: Power spectrum at this wavenumber [Mpc3]; -
variance
: The variance, S(M) = σ2(M), at this halo mass; -
barrier
: The excursion set barrier, B(S); -
firstCrossingProbability
: The probability of first crossing this barrier between S and S+d S; -
firstCrossingRate
: The rate of first crossing of the barrier per unit time [Gyr-1] for all pairs of halo mass; -
massFunction
: The halo mass function [M-1☉ Mpc-3].