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¶
value→double precisionReturn 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 , expansionFactorlogical , intent(in ), optional :: collapsingdouble precision , intent(in ), optional :: masstype (treeNode), intent(inout), optional :: node
timeOfCollapse→double precisionReturns the time of collapse for a perturbation of linear theory overdensity
criticalOverdensity.double precision , intent(in ) :: criticalOverdensitydouble precision , intent(in ), optional :: masstype (treeNode), intent(inout), optional, target :: node
collapsingMass→double precisionReturn 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 , expansionFactorlogical , intent(in ), optional :: collapsingtype (treeNode), intent(inout), optional, target :: node
gradientTime→double precisionReturn 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 , expansionFactorlogical , intent(in ), optional :: collapsingdouble precision , intent(in ), optional :: masstype (treeNode), intent(inout), optional :: node
gradientMass→double precisionReturn 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 , expansionFactorlogical , intent(in ), optional :: collapsingdouble precision , intent(in ), optional :: masstype (treeNode), intent(inout), optional :: node
isMassDependent→logicalReturn 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.
isNodeDependent→logicalReturn true if the critical overdensity is dependent on the
nodeobject (not just thenode%hostTreeobject).isTreeDependent→logicalReturn true if the critical overdensity is dependent on the
node%hostTreeobject.
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
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]:
the redshift of matter-radiation equality is given by
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](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](default0.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
[mass](default100.0d0) — The fixed mass (in \(\mathrm{M}_\odot\)) assigned to all newly-formed seed black holes in this implementation, representing the initial black hole mass when a halo first forms a central black hole.[spin](default0.0d0) — The dimensionless spin parameter (between \(-1\) and \(+1\)) assigned to all newly-formed seed black holes, where \(0\) corresponds to a non-rotating Schwarzschild black hole and \(\pm 1\) to a maximally rotating Kerr black hole.[fraction](default0.01d0) — The fixed fraction \(f_\mathrm{outflow}\) of the stellar energy input rate (normalized to a canonical \(1\,\mathrm{M}_\odot\) population) that drives gas outflows, setting the mass loading factor for stellar feedback in the galaxy.[escapeFraction](default0.006d0) — Escape fraction of ionizing photons from young HII regions.[ageLimit](default0.03d0) — The age beyond which all ionizing photons are assumed to escape from HII regions.[timescale](default1.0d0) — The timescale for star formation in the fixed timescale model.[rateStarFormation](default1.0d9) — The rate of star formation in units of \(\mathrm{M}_\odot \hbox{Gyr}^{-1}\).[proposalSize]— The fixed value of the proposal scaling parameter \(\gamma\) used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals.[exponentValue]— The fixed value of the temperature-scaling exponent \(\alpha\) by which the proposal size \(\gamma\) is scaled as \(\gamma \propto T^{\alpha}\) in tempered differential evolution runs.[massResolution](default5.0d9) — The mass resolution to use when building merger trees.[rootVariance]— The root variance of the random error distribution.[velocityRadial](default-0.90d0) — The radial velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).[velocityTangential](default0.75d0) — The tangential velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).[rateCoefficient]— The rate coefficient (in units of cm\(^3\) s\(^{-1}\)) for radiative recombination.[gamma](default0.67d0) — The multiplicative factor, \(\gamma\), used to compute the cooling coefficient.[fractionLossAngularMomentum](default0.3d0) — Specifies the fraction of angular momentum that is lost from cooling/infalling gas.[concentration]— The fixed NFW concentration parameter \(c = r_\mathrm{virial}/r_\mathrm{scale}\) assigned to all halos regardless of mass or redshift, representing the ratio of the virial radius to the scale radius of the dark matter density profile.[metallicity]— The metallicity (relative to Solar) of the IGM.[factor](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm. This will be applied to any component for which no component-specific value is provided.[factorDisk](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for disks. This will override the generic value supplied by[factor]for disks.[factorSpheroid](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for spheroids. This will override the generic value supplied by[factor]for spheroids.[radiusFixed](defaultvar_str('virial')) — The radius to use in the “fixed” galactic structure radius solver algorithm. Allowed options are “virial” and “turnaround”.[overdensity]— The fixed linear overdensity \(\delta\) of the large-scale environment assigned uniformly to all halos; a positive value places halos in an overdense region, while negative values simulate voids.[radiusEnvironment](default0.0d0) — The radius of the sphere used to determine the variance in the environmental density.[massEnvironment](default1.0d15) — The mass within the sphere sphere used to determine the variance in the environmental density.[densityContrastValue](default200.0d0) — The virial density contrast to use in the fixed value model.[densityType](defaultvar_str('critical')) — The reference density to use in the fixed value virial density contrast model. Either ofcriticalandmeanare allowed.[turnAroundOverVirialRadius](default2.0d0) — The ratio of the turnaround to virial radii in the fixed value model.[criticalOverdensity](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,
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
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]:
the function \(h_\mathrm{F}\) is given by
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
[redshift](defaultcosmologyFunctions_%redshiftFromExpansionFactor(cosmologyFunctions_%equalityEpochMatterRadiation(requestTypeExpansionFactor))) — The redshift of the epoch at which the transfer function is defined.[useFittingFunction](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.
Parameters
[factorMassEnvironment](default1.0d0) — The background variance is computed as \(\sigma(\alpha M_\mathrm{env})^2\) where \(M_\mathrm{env}\) is the environment mass and \(\alpha=\)[factorMassEnvironment].
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
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]— 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
[tableStore](default.true.) — If true, store/restore the tabulated solution to/from file when possible.[energyFixedAt](defaultvar_str('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](default300) — The number of points per octave of time at which to tabulate solutions.[normalization](default1.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](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](defaultvar_str('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](default300) — 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]— 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
[tableStore](default.true.) — If true, store/restore the tabulated solution to/from file when possible.[normalization](default1.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](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]— 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
[tableStore](default.true.) — If true, store/restore the tabulated solution to/from file when possible.[energyFixedAt](defaultvar_str('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.)[normalization](default1.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](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]— The number of points per unit \(w(t)=\delta_\mathrm{c}(t)/D(t)\) at which to tabulate the time of collapse.