Dark Matter Halo Mass Accretion Histories¶
Class providing dark matter halo mass accretion histories (MAHs), i.e. the mass of a halo’s main progenitor as a function of time or redshift. The MAH encodes how rapidly a halo assembled its mass and is used to set the structural properties of halos via concentration models, to compute merger rates, and to track the formation redshift of halos.
Default implementation: darkMatterHaloMassAccretionHistoryWechsler2002
Methods¶
time→double precisionReturns the cosmological time (in Gyr) at which the main progenitor of the halo in
nodefirst reached the specified halo mass, found by root-finding on the mass accretion history.type (treeNode), intent(inout), target :: nodedouble precision , intent(in ) :: mass
mass→double precisionReturns the halo mass (in \(\mathrm{M}_\odot\)) of the main progenitor of the halo in
nodeat the specified cosmological time, evaluated from the parametric mass accretion history model.type (treeNode), intent(inout), target :: nodedouble precision , intent(in ) :: time
massAccretionRate→double precisionReturns the halo mass accretion rate (in \(\mathrm{M}_\odot\) Gyr\(^{-1}\)) of the main progenitor of the halo in
nodeat the specified cosmological time, computed as the time derivative of the mass accretion history.type (treeNode), intent(inout) :: nodedouble precision , intent(in ) :: time
darkMatterHaloMassAccretionHistoryCorrea2015¶
Dark matter halo mass accretion histories using the Correa et al. (2015) algorithm.
Parameters
[A](default887.0d0) — The parameter \(A\) appearing in eqn. (17) of Correa et al. (2015).
darkMatterHaloMassAccretionHistoryDiemer2020¶
Dark matter halo mass accretion histories computed using the fitting function of Diemer (2020).
darkMatterHaloMassAccretionHistoryHearin2021¶
Computes dark matter halo mass accretion histories using the differentiable rolling power-law model of Hearin et al. (2021), in which the mass growth rate transitions smoothly between early- and late-time power laws. The early- and late-time indices are set by [powerLawIndexEarly] and [powerLawIndexLate], the transition rate by [rateRollOver], and the time of peak mass by [timeMaximum].
Methods
powerLawIndex— Return the power law index at the given time.powerLawIndexDerivative— Return the derivative of the power law index with respect to time.timeZeroLogarithmic— Return the \(\log_{10}(t_0)\) parameter.massMaximum— Return the maximum mass in the mass accretion history.sigmoid— The sigmoid interpolation function.powerLawIndexEarly_— Return the early-time power law index.powerLawIndexLate_— Return the late-time power law index.rateRollOver_— Return the roll-over rate.timeMaximum_— Return the time of maximum mass.
Parameters
[powerLawIndexEarly]— The power law index governing halo mass growth at early times in the Hearin et al. (2021) rolling power-law MAH model; positive values correspond to a rapidly assembling halo at high redshift.[powerLawIndexLate]— The power law index governing halo mass growth at late times in the Hearin et al. (2021) rolling power-law MAH model; negative values correspond to halos that have ceased mass growth or are losing mass via tidal stripping.[rateRollOver]— The roll-over rate parameter \(k\) in the Hearin et al. (2021) MAH model, controlling how rapidly the power law index transitions from its early-time to late-time value; larger \(k\) gives a sharper transition.[timeMaximum]— The cosmological time (in Gyr) at which the halo reaches its peak mass in the Hearin et al. (2021) MAH model, marking the transition between mass assembly and mass loss regimes.
darkMatterHaloMassAccretionHistoryHearin2021Stochastic¶
Computes dark matter halo mass accretion histories using the rolling power-law model of Hearin et al. (2021) with stochastic sampling of the early- and late-time power-law indices from population distributions. The fraction of late-forming halos at low and high halo mass is set by [fractionLateLow] and [fractionLateHigh], and the roll-over rate by [rateRollOver].
Methods
sample— Sample parameters for the given node from the distribution function.fractionLate— Return the fraction of late-forming halos.
Parameters
[fractionLateLow](default0.35d0) — The fraction of late-forming halos in the low halo mass limit.[fractionLateHigh](default0.45d0) — The fraction of late-forming halos in the high halo mass limit.[rateRollOver](default3.5d0) — The roll-over rate parameter \(k\) in the stochastic Hearin et al. (2021) MAH model, controlling how rapidly the power law index transitions from its early-time to late-time value across the population.[meanUEarlyLowEarlyForming](defaultmeanDefault(massLow%ID,formationEarly%ID,parameterUEarly%ID)) — The mean low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[meanUEarlyHighEarlyForming](defaultmeanDefault(massHigh%ID,formationEarly%ID,parameterUEarly%ID)) — The mean high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[meanUEarlyLowLateForming](defaultmeanDefault(massLow%ID,formationLate%ID,parameterUEarly%ID)) — The mean low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[meanUEarlyHighLateForming](defaultmeanDefault(massHigh%ID,formationLate%ID,parameterUEarly%ID)) — The mean high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[meanULateLowEarlyForming](defaultmeanDefault(massLow%ID,formationEarly%ID,parameterULate%ID)) — The mean low-mass limit of \(\log_{10}\) late-time power law index for early-forming halos.[meanULateHighEarlyForming](defaultmeanDefault(massHigh%ID,formationEarly%ID,parameterULate%ID)) — The mean high-mass limit of \(\log_{10}\) late-time power law index for early-forming halos.[meanULateLowLateForming](defaultmeanDefault(massLow%ID,formationLate%ID,parameterULate%ID)) — The mean low-mass limit of \(\log_{10}\) late-time power law index for late-forming halos.[meanULateHighLateForming](defaultmeanDefault(massHigh%ID,formationLate%ID,parameterULate%ID)) — The mean high-mass limit of \(\log_{10}\) late-time power law index for late-forming halos.[meanLog10TimeZeroLowEarlyForming](defaultmeanDefault(massLow%ID,formationEarly%ID,parameterLog10TimeZero%ID)) — The mean low-mass limit of \(\log_{10}\) \(t_0\) for early-forming halos.[meanLog10TimeZeroHighEarlyForming](defaultmeanDefault(massHigh%ID,formationEarly%ID,parameterLog10TimeZero%ID)) — The mean high-mass limit of \(\log_{10}\) \(t_0\) for early-forming halos.[meanLog10TimeZeroLowLateForming](defaultmeanDefault(massLow%ID,formationLate%ID,parameterLog10TimeZero%ID)) — The mean low-mass limit of \(\log_{10}\) \(t_0\) for late-forming halos.[meanLog10TimeZeroHighLateForming](defaultmeanDefault(massHigh%ID,formationLate%ID,parameterLog10TimeZero%ID)) — The mean high-mass limit of \(\log_{10}\) \(t_0\) for late-forming halos.[choleskyUEarlyUEarlyLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterUEarly%ID,parameterUEarly%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyUEarlyHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterUEarly%ID,parameterUEarly%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyUEarlyLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterUEarly%ID,parameterUEarly%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyUEarlyUEarlyHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterUEarly%ID,parameterUEarly%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyUEarlyULateLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterUEarly%ID,parameterULate%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyULateHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterUEarly%ID,parameterULate%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyULateLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterUEarly%ID,parameterULate%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyUEarlyULateHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterUEarly%ID,parameterULate%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyUEarlyLog10TimeZeroLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterUEarly%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyLog10TimeZeroHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterUEarly%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyUEarlyLog10TimeZeroLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterUEarly%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyUEarlyLog10TimeZeroHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterUEarly%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyULateULateLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterULate%ID,parameterULate%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyULateULateHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterULate%ID,parameterULate%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyULateULateLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterULate%ID,parameterULate%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyULateULateHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterULate%ID,parameterULate%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyULateLog10TimeZeroLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterULate%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyULateLog10TimeZeroHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterULate%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyULateLog10TimeZeroLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterULate%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyULateLog10TimeZeroHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterULate%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyLog10TimeZeroLog10TimeZeroLowEarlyForming](defaultcholeskyDefault(massLow%ID,formationEarly%ID,parameterLog10TimeZero%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyLog10TimeZeroLog10TimeZeroHighEarlyForming](defaultcholeskyDefault(massHigh%ID,formationEarly%ID,parameterLog10TimeZero%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for early-forming halos.[choleskyLog10TimeZeroLog10TimeZeroLowLateForming](defaultcholeskyDefault(massLow%ID,formationLate%ID,parameterLog10TimeZero%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element low-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.[choleskyLog10TimeZeroLog10TimeZeroHighLateForming](defaultcholeskyDefault(massHigh%ID,formationLate%ID,parameterLog10TimeZero%ID,parameterLog10TimeZero%ID)) — The Cholesky matrix element high-mass limit of \(\log_{10}\) early-time power law index for late-forming halos.
darkMatterHaloMassAccretionHistoryMergerTreeBranching¶
Dark matter halo mass accretion histories computed from merger tree branching rates.
darkMatterHaloMassAccretionHistoryWechsler2002¶
A dark matter halo mass accretion history class in which the mass accretion history is given by (Wechsler et al., 2002):
where \(t_0\) is some reference time and \(a_\mathrm{c}\) is a characteristic expansion factor defined by Wechsler et al. (2002) to correspond to the formation time of the halo (using the formation time definition of Bullock et al. 2001).
(Default implementation)
Methods
calculationReset— Reset memoized calculations.expansionFactorAtFormation— Compute the formation expansion factor.
Parameters
darkMatterHaloMassAccretionHistoryZhao2009¶
A dark matter halo mass accretion history class which uses the algorithm given by Zhao et al. (2009) to compute mass accretion histories. In particular, Zhao et al. (2009) give a fitting function for the quantity \(\mathrm{d} \ln \sigma(M)/\mathrm{d} \ln \delta_\mathrm{c}(t)\) for the dimensionless growth rate in a mass accretion history at time \(t\) and halo mass \(M\). This is converted to a dimensionful growth rate using
This differential equation is then solved numerically to find the mass accretion history.