Critical Overdensity

Object providing critical overdensities for gravitational collapse—the linear theory overdensity \(\delta_\mathrm{c}\) that a region must have in order to have collapsed by a given cosmic time. In the Einstein-de Sitter cosmology \(\delta_\mathrm{c} \approx 1.686\); implementations may include corrections for dark energy, ellipsoidal collapse, or environmental density. The critical overdensity enters the Press-Schechter and excursion-set formalisms that predict the halo mass function and merger tree branching probabilities.

Default implementation: criticalOverdensitySphericalCollapseClsnlssMttrCsmlgclCnstnt

Methods

valuedouble precision

Return the linear theory critical overdensity \(\delta_\mathrm{c}\) for gravitational collapse at the specified cosmic time and optional halo mass, accepting either a cosmic time or expansion factor to identify the epoch.

  • double precision , intent(in ), optional :: time , expansionFactor

  • logical , intent(in ), optional :: collapsing

  • double precision , intent(in ), optional :: mass

  • type (treeNode), intent(inout), optional :: node

timeOfCollapsedouble precision

Returns the time of collapse for a perturbation of linear theory overdensity criticalOverdensity.

  • double precision , intent(in ) :: criticalOverdensity

  • double precision , intent(in ), optional :: mass

  • type (treeNode), intent(inout), optional, target :: node

collapsingMassdouble precision

Return the mass \(M_*(t)\) of halos just collapsing at the given cosmic time (or expansion factor), i.e.the mass at which \(\sigma(M_*,t) = \delta_\mathrm{c}(t)\).

  • double precision , intent(in ), optional :: time , expansionFactor

  • logical , intent(in ), optional :: collapsing

  • type (treeNode), intent(inout), optional, target :: node

gradientTimedouble precision

Return the derivative with respect to time of the linear theory critical overdensity for collapse at the given cosmic time.

  • double precision , intent(in ), optional :: time , expansionFactor

  • logical , intent(in ), optional :: collapsing

  • double precision , intent(in ), optional :: mass

  • type (treeNode), intent(inout), optional :: node

gradientMassdouble precision

Return the derivative with respect to mass of the linear theory critical overdensity for collapse at the given cosmic time.

  • double precision , intent(in ), optional :: time , expansionFactor

  • logical , intent(in ), optional :: collapsing

  • double precision , intent(in ), optional :: mass

  • type (treeNode), intent(inout), optional :: node

isMassDependentlogical

Return true if the critical overdensity \(\delta_\mathrm{c}\) depends on halo mass (as in ellipsoidal collapse models), signalling that the mass argument must be supplied and cached values are mass-specific.

isNodeDependentlogical

Return true if the critical overdensity is dependent on the node object (not just the node%hostTree object).

isTreeDependentlogical

Return true if the critical overdensity is dependent on the node%hostTree object.

criticalOverdensityBarkana2001WDM

A critical overdensity for collapse class based on the WDM modifier of Barkana et al. (2001) applied to some other, CDM critical overdensity class. Specifically, the critical overdensity is multiplied by a factor

\[\exp\left[ \left({M_\mathrm{J} \over 8 M}\right)^{1.40}+\left({M_\mathrm{J} \over 8 M}\right)^{0.45} \right],\]

where \(M\) is the mass in question, \(M_\mathrm{J}\) is the effective Jeans mass of the warm dark matter as defined by Barkana et al. [2001; their eqn. 10]:

\[M_\mathrm{J} = 3.06 \times 10^8 \left( {1+z_\mathrm{eq} \over 3000}\right)^{1.5} \left({\Omega_\mathrm{M} h_0^2 \over 0.15}\right)^{1/2} \left({g_\mathrm{X} \over 1.5} \right)^{-1} \left({m_\mathrm{X}/1.0\hbox{keV}}\right)^{-4},\]

the redshift of matter-radiation equality is given by

\[z_\mathrm{eq} = 3600 \left({\Omega_\mathrm{M} h_0^2 \over 0.15}\right)-1,\]

and \(g_\mathrm{X}\) and \(m_\mathrm{X}\) are the effective number of degrees of freedom and the mass of the warm dark matter particle respectively. This fitting function has been found the fit the numerical results of Barkana et al. (2001) well.

Parameters

  • [useFittingFunction] (boolean; default .true.) — Specifies whether the warm dark matter critical overdensity mass scaling should be computed from a fitting function or from tabulated data.

criticalOverdensityEnvironmental

The critical overdensity for collapse is computed by taking the value from another critical overdensity class and multiplying it by an environment-dependent factor, allowing the collapse threshold to vary with local density environment. The environmental dependence is controlled by the [a] parameter.

Parameters

  • [a] (real; default 0.0d0) — The linear coefficient \(a\) that multiplies the large-scale environmental overdensity when computing the environment-dependent shift to the critical overdensity for halo collapse (a value of 0 gives no environmental dependence).

criticalOverdensityFixed

A critical overdensity class in which the critical overdensity for gravitational collapse of dark matter halos is set to a constant, redshift-independent value given by the parameter [criticalOverdensity], irrespective of cosmological evolution.

Parameters

  • [criticalOverdensity] (real; default (3.0d0/20.0d0)*(12.0d0*Pi)**(2.0d0/3.0d0)) — The value to use for the critical overdensity for collapse of dark matter halos when using a fixed value.

criticalOverdensityKitayamaSuto1996

A critical overdensity class based on the fitting functions of Kitayama and Suto (1996), which is therefore valid only for flat cosmological models (an error will be reported in non-flat models). Specifically,

\[\delta_\mathrm{crit} (t) = {3 (12 \pi)^{2/3} \over 20} [1 + 0.0123 \log_{10}\left\{\Omega_\mathrm{matter}(t)\right\}]/D(t).\]

criticalOverdensityMarsh2016FDM

A critical overdensity for collapse class based on the FDM modifier of Marsh (2016) applied to some other, CDM critical overdensity class. Specifically, the critical overdensity is multiplied by a factor

\[h_\mathrm{F}(x) \exp [a_3 x^{-a_4}]+[1-h_\mathrm{F}(x)]\exp [a_5 x^{-a_6}],\]

where \(x=M/M_J\) with \(M\) the mass in question, \(M_\mathrm{J}\) the effective Jeans mass of the fuzzy dark matter as defined by Marsh [2016; their eqn. 18]:

\[M_\mathrm{J} = a_1\times 10^8 \left(\frac{m_a}{10^{-22}\text{ eV}}\right)^{-3/2}\left(\frac{\Omega_m h^2}{0.14} \right)^{1/4} h^{-1}M_{\odot},\]

the function \(h_\mathrm{F}\) is given by

\[h_\mathrm{F}(x) =(1/2)\{1-\tanh [M_J(x-a_2)]\}.\]

The best-fit parameters \(a_i\) are \(\{a_1,a_2,a_3,a_4,a_5,a_6\}=\{3.4,1.0,1.8,0.5,1.7,0.9\}\).

Parameters

  • [useFittingFunction] (boolean; default .true.) — Specifies whether the fuzzy dark matter critical overdensity mass scaling should be computed from a fitting function or from tabulated data.

criticalOverdensityPeakBackgroundSplit

The critical overdensity is given by some other critical overdensity class offset by the halo environmental overdensity.

Methods

  • varianceBackground — Compute the variance of the background at this time.

criticalOverdensityRenormalize

A critical overdensity class which renormalizes another class based on the ratio of two mass variance classes. This is intended to allow different window functions to be used for \(\sigma(M)\) while retaining the same ratio \(\delta_\mathrm{c}/\sigma(M)\) (and, therefore, the same halo mass function) on a mass scale \(M_\mathrm{match}\).

Specifically, the renormalized critical overdensity, \(\delta^\prime_\mathrm{c}\), is given by \(\delta^\prime_\mathrm{c} = n \delta_\mathrm{c}\), where \(\delta_\mathrm{c}\) is the original critical overdensity, and

\[n=\sigma(M_\mathrm{match})/\sigma_\mathrm{r}(M_\mathrm{match}),\]

with \(\sigma(M)\) being the cosmological mass variance (computed with whatever window function is required), \(\sigma_\mathrm{r}(M)\) is the reference cosmological mass variance (typically computed using a top-hat window function), and \(M_\mathrm{match}\) is the mass at which to match the mass variance. The mass variances are evaluated at the present epoch.

The matching scale is given by \(M_\mathrm{match}=\)[massMatch] if this parameter is present. Otherwise \(M_\mathrm{match}=M_*\) is used, where \(\sigma(M_*)=\delta_\mathrm{crit}\), computed at the present epoch.

Parameters

  • [massMatch] (real) — The halo mass (\(\mathrm{M}_\odot\)) at which the renormalized critical overdensity is matched to the reference value; if absent, normalization is matched at the cosmic mean density scale.

criticalOverdensitySphericalCollapseBrynsDrkMttrDrkEnrgy

Critical overdensity for the gravitational collapse of dark matter halos, computed by numerically solving the spherical collapse model in a universe containing baryons, collisionless dark matter, and dark energy. Baryons may be treated as non-clustering relative to dark matter. The normalization of the result can be adjusted via [normalization], and tabulation can be stored to file for efficiency.

Methods

  • retabulate — Tabulate spherical collapse critical overdensity.

Parameters

  • [normalization] (real; default 1.0d0) — A multiplicative normalization factor applied to the spherical collapse critical overdensity \(\delta_\mathrm{c}\) returned by this class, allowing calibration against simulations or fitting functions.

  • [tableStore] (boolean; default .true.) — If true, store the tabulated spherical collapse solutions to a file and restore them on subsequent runs to avoid recomputing the numerical ODE integration from scratch.

  • [energyFixedAt] (string; one of undefined, turnaround, virialization; default turnaround) — Selects the epoch at which the energy of a spherical top hat perturbation in a dark energy cosmology should be “fixed” for the purposes of computing virial density contrasts. (See the discussion in Percival 2005; Section 8.)

  • [tablePointsPerOctave] (integer; default 300) — The number of evenly-spaced tabulation points per octave of cosmic time used when building the look-up table of spherical collapse critical overdensity vs.time; higher values give greater interpolation accuracy at the cost of longer initialization time.

  • [countTimeCollapsePerUnit] (real) — The number of points per unit \(w(t)=\delta_\mathrm{c}(t)/D(t)\) at which to tabulate the time of collapse.

criticalOverdensitySphericalCollapseClsnlssMttrCsmlgclCnstnt

Critical overdensity for collapse based on the spherical collapse in a matter plus cosmological constant universe (see, for example, Percival 2005).

(Default implementation)

Methods

  • retabulate — Tabulate spherical collapse critical overdensity.

Parameters

  • [normalization] (real; default 1.0d0) — A multiplicative normalization factor applied to the spherical collapse critical overdensity \(\delta_\mathrm{c}\) returned by this class, allowing calibration against simulations or fitting functions.

  • [tableStore] (boolean; default .true.) — If true, store the tabulated spherical collapse solutions to a file and restore them on subsequent runs to avoid recomputing the numerical ODE integration from scratch.

  • [countTimeCollapsePerUnit] (real) — The number of points per unit \(w(t)=\delta_\mathrm{c}(t)/D(t)\) at which to tabulate the time of collapse.

criticalOverdensitySphericalCollapseClsnlssMttrDrkEnrgy

Critical overdensity for gravitational collapse of dark matter halos, computed numerically via the spherical collapse model in a universe containing collisionless matter and dark energy. The normalization of the result can be adjusted via [normalization], and tabulated solutions can be stored to and restored from file for computational efficiency.

Parameters

  • [normalization] (real; default 1.0d0) — A multiplicative normalization factor applied to the spherical collapse critical overdensity \(\delta_\mathrm{c}\) returned by this class, allowing calibration against simulations or fitting functions.

  • [tableStore] (boolean; default .true.) — If true, store the tabulated spherical collapse solutions to a file and restore them on subsequent runs to avoid recomputing the numerical ODE integration from scratch.

  • [countTimeCollapsePerUnit] (real) — The number of points per unit \(w(t)=\delta_\mathrm{c}(t)/D(t)\) at which to tabulate the time of collapse.