Dark Matter Halo Spin Parameter Distributions¶
Class providing the distribution \(p(\lambda)\) of the dark matter halo spin parameter \(\lambda \equiv J |E|^{1/2} / \mathrm{G} M^{5/2}\), where \(J\) is the angular momentum, \(E\) the total energy, and \(M\) the halo mass. The spin distribution, sometimes approximated by a log-normal, determines the range of galaxy disk sizes that form from cooling gas conserving the specific angular momentum of the halo. Implementations return both the distribution function \(p(\lambda)\) and random samples from it, enabling Monte Carlo assignment of spins to halos.
Default implementation: haloSpinDistributionBett2007
Methods¶
sample→double precisionSamples a spin parameter from the distribution for the given
node.type(treeNode) node[inout]
distribution→double precisionReturn the spin distribution function, \(p(\lambda)\), for the given
node. It is assumed thatnodeprovides the value of the spin at which the distribution function should be evaluated.type(treeNode) node[inout]
haloSpinDistributionBett2007¶
A halo spin distribution in which the spin is drawn from the distribution found by Bett et al. (2007). The \(\lambda_0\) and \(\alpha\) parameter of Bett et al. (2007)’s distribution are set by the [lambda0] and [alpha] input parameters.
(Default implementation)
Parameters
[lambda0](real; default0.04326d0) — The parameter \(\lambda_0\) in the halo spin distribution of Bett et al. (2007). Default from: (Bett et al., 2007).[alpha](real; default2.509d0) — The parameter \(\alpha\) in the halo spin distribution of Bett et al. (2007). Default from: (Bett et al., 2007).
haloSpinDistributionDeltaFunction¶
A halo spin distribution class in which the spin is drawn from a \(\delta\)-function distribution, \(P(\lambda) = \delta(\lambda-\lambda_0)\), where \(\lambda_0=\)[spin], i.e. a fixed value of spin equal to \(\lambda_0\) is returned.
Parameters
[spin](real; default0.03687d0) — The fixed value of spin in a \(\delta\)-function spin distribution. Default from: (Bett et al., 2007).
haloSpinDistributionLogNormal¶
A halo spin distribution class in which the spin is drawn from a lognormal distribution with median \(\bar{\lambda}=\)[median] and width \(\sigma=\)[sigma]. Specifically, the distribution function for spin, \(\lambda\), is
Parameters
[median](real; default0.03687d0) — The median value of the dimensionless Bullock spin parameter \(\lambda\) in the log-normal distribution, representing the typical angular momentum content of dark matter halos at the present day. Default from: (Bett et al., 2007).[sigma](real; default0.5102d0) — The standard deviation \(\sigma\) of \(\ln\lambda\) in the log-normal spin distribution, controlling the spread of spin parameters across the halo population; larger values produce a broader distribution of angular momenta. Default from: Bett et al. 2007; note that in this reference the value of \(\sigma\) quoted is for \(\log_{10}\lambda\), while here we use \(\log\lambda\).
haloSpinDistributionNbodyErrors¶
A halo spin distribution which modifies another spin distribution to account for the effects of particle noise errors in spins measured in N-body simulations.
Methods
distributionAveraged→double precisionReturn the spin distribution function averaged over all halos above the given
massLimit.type(treeNode) node[inout]double precision massLimit[in]
distributionFixedPoint→double precisionReturn the spin distribution function at a fixed point in intrinsic mass and spin.
type(treeNode) node[inout]double precision spinMeasured[in]double precision spinMeasuredMinimum[in]double precision spinMeasuredMaximum[in]
tabulateTabulate the spin distribution as a function of spin and halo mass. Ensure that the table spans the
massRequiredandspinRequireedif provided.double precision massRequired(optional) [in]double precision spinRequired(optional) [in]double precision massFixed(optional) [in]double precision spinFixed(optional) [in]double precision spinFixedMeasuredMinimum(optional) [in]double precision spinFixedMeasuredMaximum(optional) [in]type(mergerTree) tree(optional) [in]
Parameters
[massParticle](real) — The mass (in \(\mathrm{M}_\odot\)) of a single N-body simulation particle, used together with the halo particle count to estimate measurement errors in the halo spin parameter arising from discrete particle sampling.[particleCountMinimum](integer) — Minimum number of particles per halo in the N-body simulation.[energyEstimateParticleCountMaximum](real) — Maximum number of particles used in estimating the potential energy of halos. Set to a very large number if no such maximum was used.[redshift](real) — Redshift at which the spin distribution should be evaluated.[logNormalRange](real; default100.0d0) — The multiplicative range of the log-normal distribution used to model the distribution of the mass and energy terms in the spin parameter. Specifically, the lognormal distribution is truncated outside the range \((\lambda_\mathrm{m}/R,\lambda_\mathrm{m} R\), where \(\lambda_\mathrm{m}\) is the measured spin, and \(R=\)[logNormalRange]Default from: A large range which will include (almost) the entirety of the distribution.