Halo Mass Function¶
Class providing halo mass functions, \(\mathrm{d}n/\mathrm{d}M\), which give the comoving number density of dark matter halos per unit mass interval as a function of halo mass and cosmic time. The halo mass function is a fundamental quantity in models of large-scale structure and galaxy formation, encoding the statistics of gravitational collapse from a given primordial density field.
Default implementation: haloMassFunctionTinker2008
Methods¶
differential→double precisionReturn the differential halo mass function for
mass[\(\mathrm{M}_\odot\)] attime[Gyr].double precision , intent(in ) :: time, masstype (treeNode), intent(inout), optional :: node
integrated→double precisionReturn the halo mass function at
time[Gyr] integrated betweenmassLowandmassHigh[\(\mathrm{M}_\odot\)].double precision , intent(in ) :: time, massLow, massHightype (treeNode), intent(inout), target, optional :: nodeinteger , intent( out) , optional :: status
massFraction→double precisionReturn the halo mass fraction at
time[Gyr] integrated betweenmassLowandmassHigh[\(\mathrm{M}_\odot\)].double precision , intent(in ) :: time, massLow, massHightype (treeNode), intent(inout), target, optional :: node
haloMassFunctionAccelerator¶
A dark matter halo mass function class which accelerates another mass function using tabulation.
Methods
tabulate— Tabulate the mass function.
Parameters
[toleranceRelative](default1.0d-2) — The relative tolerance within which a cached (accelerated) profile estimate is accepted; if the requested radius differs from the cached value by more than this fractional amount, the full profile calculation is recomputed.[factorRadiusMaximum](default3.0d0) — The maximum radial extrapolation factor allowed when using cached profile values for the dark-matter-only profile; if the requested radius exceeds the cached radius by more than this factor, the full calculation is recomputed.[toleranceRelative](default1.0d-2) — The toleranceRelative with which to accept accelerated estimates.[factorRadiusMaximum](default3.0d0) — The maximum radial extrapolation factor allowed when using cached profile values; if the requested radius differs from the cached radius by more than this factor, the full profile is recomputed rather than interpolated.[toleranceRelative](default1.0d-2) — The tolerance with which to accept accelerated estimates.[factorRadiusMaximum](default3.0d0) — The maximum factor by which to interpolate in radius.[nonAnalyticSolver](defaultvar_str('fallThrough')) — Selects how solutions are computed when no analytic solution is available. If set to “fallThrough” then the solution ignoring heating is used, while if set to “numerical” then numerical solvers are used to find solutions.[componentType](defaultvar_str('unknown')) — The component type that this mass distribution represents.[massType](defaultvar_str('unknown')) — The mass type that this mass distribution represents.[tablePointsPerDecade](default10) — The number of points per decade of wavenumber at which to tabulate the transfer function.
haloMassFunctionBhattacharya2011¶
The dark matter halo mass function is computed using the redshift-dependent fitting function of Bhattacharya et al. (2011), calibrated against N-body simulations. The shape parameters \(\bar{a}\), \(\bar{p}\), \(\bar{q}\), and normalization \(\bar{A}\) of the fit can each be specified via input parameters.
Methods
a— Return the parameter \(\bar{a}\) in the Bhattacharya et al. (2011) halo mass function fit.c— Return the parameter \(\bar{b}\) in the Bhattacharya et al. (2011) halo mass function fit.b— Return the parameter \(\bar{c}\) in the Bhattacharya et al. (2011) halo mass function fit.p— Return the parameter \(\bar{p}\) in the Bhattacharya et al. (2011) halo mass function fit.q— Return the parameter \(\bar{q}\) in the Bhattacharya et al. (2011) halo mass function fit.normalization— Return the parameter \(\bar{A}\) in the Bhattacharya et al. (2011) halo mass function fit.
Parameters
[a](default0.788d0) — The parameter \(\bar{a}\) in the Bhattacharya et al. (2011) halo mass function fit.[b](default1.000d0) — The parameter \(\bar{b}\) in the Bhattacharya et al. (2011) halo mass function fit.[c](default1.000d0) — The parameter \(\bar{c}\) in the Bhattacharya et al. (2011) halo mass function fit.[p](default0.807d0) — The parameter \(\bar{p}\) in the Bhattacharya et al. (2011) halo mass function fit.[q](default1.795d0) — The parameter \(\bar{q}\) in the Bhattacharya et al. (2011) halo mass function fit.[normalization](default0.333d0) — The normalization parameter \(\bar{A}\) in the Bhattacharya et al. (2011) halo mass function fit.
haloMassFunctionDespali2015¶
A dark matter halo mass function class using the function given by Despali et al. (2016). This uses the functional form proposed by Sheth et al. (2001) but with parameters \(a\), \(p\), and \(A\) set using eqn. (12) of Despali et al. (2016).
Methods
x— Return the parameter \(x\) in the Despali et al. (2016) halo mass function fit.
haloMassFunctionDetectionEfficiency¶
The halo mass function is computed by modifying another mass function by the halo-finder detection efficiency.
Parameters
[massMinimum]— The minimum mass at which halos are detected.[efficiencyAtMassMinimum]— The efficiency of detection at the minimum mass.[exponentMass]— The exponent \(\alpha\) in the detection efficiency, \(f(M) = 1 - (1-\epsilon) (M/M_\mathrm{min})^\alpha (1+z)^\beta\).[exponentRedshift]— The exponent \(\beta\) in the detection efficiency, \(f(M) = 1 - (1-\epsilon) (M/M_\mathrm{min})^\alpha (1+z)^\beta\).
haloMassFunctionEnvironmental¶
The halo mass function is computed by handling the transition though the environment mass scale.
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).
haloMassFunctionEnvironmentAveraged¶
The dark matter halo mass function is computed by averaging another, environment-dependent mass function over the probability distribution of large-scale environments, marginalizing over the local density field. This allows environment-dependent mass functions to be used in a mean cosmological context, with optional accounting for unoccupied volume via [includeUnoccupiedVolume].
Parameters
[includeUnoccupiedVolume](default.true.) — If true, account for any volume which is not included in the environment (e.g. regions which have collapsed on the scale of the environment in a peak-background split environment), when averaging over environment. Otherwise, ignore this unoccupied volume.
haloMassFunctionErrorConvolved¶
The halo mass function is computed by convolving another halo mass function with a mass dependent error. Specifically, the mass function is convolved with a Gaussian random error distribution with width computed using the given nbodyHaloMassError object.
Parameters
[errorFractionalMaximum]— Maximum allowed fractional error in halo mass.[toleranceRelative](default1.0d-6) — Maximum allowed fractional error in halo mass.[tolerateIntegrationFailure](default.false.) — If true, tolerate failures in integration.
haloMassFunctionFofBias¶
The halo mass function is computed by modifying another halo mass function to mimic systematic errors arising in the friends-of-friends halo finding algorithm. Specifically, a systematic shift in mass motivated by the results of percolation theory More et al. (2011) is applied. In particular, \(M_\mathrm{particle}=\)[massParticle] is the mass of the particle in the simulation to which the friends-of-friends algorithm was applied.
Parameters
[massParticle]— Parameter \(M_\mathrm{particle}\) appearing in model for friends-of-friends errors in the halo mass function.[massInfiniteToMassSharpEdge](default0.98d0) — The ratio of the friends-of-friends mass in the limit of infinite number of particles to the mass of the halo enclosed within a sharp-edged sphere bounding an isodensity surface equal to the critical density for percolation.[linkingLength]— The linking length (in physical Mpc) used in the friends-of-friends algorithm.[linkingLengthIsComoving]— Specifies whether or not the given linking length is in comoving units.
haloMassFunctionMultiplier¶
The halo mass function is computed by multiplying another halo mass function by a constant factor.
Parameters
[multiplier](default0.0d0) — A constant multiplicative factor applied to cooling rates computed by the wrapped cooling rate object, allowing uniform rescaling of all cooling rates (e.g. to model suppressed or enhanced cooling).[multiplier]— The factor by which to multiply the halo mass function.[exponentRedshift]— The exponent of \((1+z)\) in the multiplier of the halo mass function.
haloMassFunctionOndaroMallea2021¶
The dark matter halo mass function class of Ondaro-Mallea et al. (2022) for non-universal primordial power spectra and structure growth rates. The mass function is given by
where \(n^\prime(M)\) is some other mass function,
and
Here
where \(M\) is halo mass, and \(\sigma(M)\) is the fractional root-variance in the linear theory cosmological density field on that scale, and
where \(D(a)\) is the linear growth factor, \(a\) is the expansion factor, and \(D(a_\mathrm{ev})=\gamma D(a)\) with \(\gamma=4/5\).
Parameters
[coefficientsN](default[-0.1178d0,-0.3389d0,0.3022d0]) — The coefficients, \(n_{0\ldots2}\), appearing in equation (7) of the Ondaro-Mallea et al. (2022) halo mass function model.[coefficientsA](default[-1.0785d0,2.9700d0]) — The coefficients, \(a_{0\ldots1}\), appearing in equation (8) of the Ondaro-Mallea et al. (2022) halo mass function model.
haloMassFunctionPressSchechter¶
A dark matter halo mass function class using the function given by Press and Schechter (1974). Specifically,
where \(\alpha = \mathrm{d}\ln\sigma/\mathrm{d}\ln M\) and \(f[S]\) is the excursion set barrier first crossing distribution for variance \(S(M)=\sigma^2(M)\), computed using the selected excursionSetFirstCrossingClass.
haloMassFunctionPseudoHalos¶
The halo mass function is computed by adding a population of pseudo-halos to another halo mass function.
Parameters
[massZeroPointReference]— The mass zero-point reference \(M^\prime_0\) in the relation \(M_0(m_\mathrm{p}) = M^\prime_0 (m_\mathrm{p}/m^\prime_\mathrm{p})^\gamma\).[massParticleReference]— The particle mass reference \(m^\prime_\mathrm{p}\) in the relation \(M_0(m_\mathrm{p}) = M^\prime_0 (m_\mathrm{p}/m^\prime_\mathrm{p})^\gamma\).[massParticle]— The particle mass \(m_\mathrm{p}\) in the relation \(M_0(m_\mathrm{p}) = M^\prime_0 (m_\mathrm{p}/m^\prime_\mathrm{p})^\gamma\).[countParticleMinimum]— The minimum number of particles in a detectable halo.[exponentMassParticle]— The exponent \(\gamma\) in the relation \(M_0(m_\mathrm{p}) = M^\prime_0 (m_\mathrm{p}/m^\prime_\mathrm{p})^\gamma\).[exponentNormalization]— The exponent \(\xi\) in the relation \(n(M) = n_0 [M^\prime_0/M_0(m_\mathrm{p})]^\xi [M/M_0(m_\mathrm{p})])^\alpha (1+z)^\beta (1+\delta_\mathrm{c})^\mu\).[normalization]— The normalization \(n_0\) in the pseudo-halo mass function \(n(M) = n_0 [M^\prime_0/M_0(m_\mathrm{p})]^\xi [M^\prime_0/M_0(m_\mathrm{p})]^\xi [M/M_0(m_\mathrm{p})])^\alpha (1+z)^\beta (1+\delta_\mathrm{c})^\mu\).[exponentMass]— The exponent \(\alpha\) in the pseudo-halo mass function \(n(M) = n_0 [M^\prime_0/M_0(m_\mathrm{p})]^\xi [M/M_0(m_\mathrm{p})])^\alpha (1+z)^\beta (1+\delta_\mathrm{c})^\mu\).[exponentRedshift]— The exponent \(\beta\) in the pseudo-halo mass function \(n(M) = n_0 [M^\prime_0/M_0(m_\mathrm{p})]^\xi [M/M_0(m_\mathrm{p})])^\alpha (1+z)^\beta (1+\delta_\mathrm{c})^\mu\).[exponentOverdensity]— The exponent \(\mu\) in the pseudo-halo mass function \(n(M) = n_0 [M/M_0(m_\mathrm{p})])^\alpha (1+z)^\beta (1+\delta_\mathrm{c})^\mu\).
haloMassFunctionReed2007¶
The halo mass function is computed from the function given by Reed et al. (2007).
haloMassFunctionRodriguezPuebla2016¶
The halo mass function is computed from the function given by Tinker et al. (2008), and using the fits of Rodríguez-Puebla et al. (2016) for the parameter values.
haloMassFunctionShethTormen¶
The dark matter halo mass function is computed using the ellipsoidal collapse fitting function of Sheth et al. (2001), which improves upon the Press-Schechter formalism by accounting for non-spherical collapse. The shape parameters \(a\), \(p\) and normalization \(A\) of the fit can each be specified via input parameters.
Methods
a— Return the parameter \(a\) in the Sheth et al. (2001) halo mass function fit.p— Return the parameter \(p\) in the Sheth et al. (2001) halo mass function fit.normalization— Return the parameter \(A\) in the Sheth et al. (2001) halo mass function fit.
Parameters
[a](default0.707d0) — The parameter \(a\) in the Sheth et al. (2001) halo mass function fit.[p](default0.3d0) — The parameter \(p\) in the Sheth et al. (2001) halo mass function fit.[normalization](default0.3221836349d0) — The normalization parameter \(A\) in the Sheth et al. (2001) halo mass function fit.
haloMassFunctionSimpleSystematic¶
A halo mass function class in which the mass function is computed by modifying another halo mass function (specified as a subparameter) using a simple model for systematic errors as follows:
where \(\alpha=\)[alpha], and \(\beta=\)[beta].
Parameters
[alpha](default0.0d0) — Parameter \(\alpha\) appearing in model for simple systematic shift in the halo mass function.[beta](default0.0d0) — Parameter \(\beta\) appearing in model for simple systematic shift in the halo mass function.
haloMassFunctionSimulationVariance¶
The halo mass function is computed by modifying another mass function to account for cosmic variance in a simulation cube.
Parameters
[lengthSimulationCube]— The length of the simulation cube from which the target mass function was derived.[perturbationFractional]— The fractional perturbation (in units of the simulation cube root-variance) to apply.
haloMassFunctionTinker2008¶
A dark matter halo mass function class using the function given by Tinker et al. (2008), and using their fits for the parameter values at the appropriate virial density contrast.
(Default implementation)
Methods
parametersEvaluate— Evaluate hyper-parameters needed for the fitting function.
haloMassFunctionTinker2008Form¶
The halo mass function is computed from the function given by Tinker et al. (2008).
Methods
a— Return the parameter \(a\) in the Tinker et al. (2008) halo mass function fit.b— Return the parameter \(b\) in the Tinker et al. (2008) halo mass function fit.c— Return the parameter \(c\) in the Tinker et al. (2008) halo mass function fit.normalization— Return the parameter \(A\) in the Tinker et al. (2008) halo mass function fit.
haloMassFunctionTinker2008Generic¶
The dark matter halo mass function is computed using the empirical fitting function of Tinker et al. (2008), calibrated against N-body simulations over a wide range of halo masses and redshifts. The normalization \(A\) and shape parameters \(a\), \(b\), \(c\) of the fit can each be specified directly via input parameters.
Parameters
[normalization](default0.150d0) — The normalization parameter, \(A\), for the Tinker et al. (2008) halo mass function.[a](default1.36d0) — The parameter \(a\) for the Tinker et al. (2008) halo mass function.[b](default2.54d0) — The parameter \(b\) for the Tinker et al. (2008) halo mass function.[c](default1.14d0) — The parameter \(c\) for the Tinker et al. (2008) halo mass function.