Dark Matter Profile Concentrations¶
Class providing the concentration parameter \(c = r_\mathrm{vir}/r_\mathrm{s}\) of dark matter halo density profiles, where \(r_\mathrm{vir}\) is the virial radius and \(r_\mathrm{s}\) is the characteristic scale radius. The concentration encodes the inner density structure of a halo and depends on halo mass and formation history. Implementations provide both the instantaneous concentration (i.e., including any scatter around the mean) and the mean concentration–mass relation, along with definitions of the density contrast and dark matter profile used in computing the concentration.
Default implementation: darkMatterProfileConcentrationGao2008
Methods¶
concentration→double precisionReturns the concentration parameter for the given
node.type(treeNode), intent(inout), target :: node
concentrationMean→double precisionReturns the mean concentration parameter for a
nodeof the given mass.type(treeNode), intent(inout), target :: node
densityContrastDefinition→class(virialDensityContrastClass)Returns a
virialDensityContrastobject describing the virial density contrast used to define this concentration.darkMatterProfileDMODefinition→class(darkMatterProfileDMOClass)Returns a
darkMatterProfileDMOobject describing the dark matter density profile used to define this concentration.
darkMatterProfileConcentrationBrown2021¶
Dark matter halo concentrations are computed using the algorithm of Brown et al. (2022).
darkMatterProfileConcentrationBullock2001¶
Computes dark matter halo concentrations using the mass-collapse epoch relation of Bullock et al. (2001), in which concentration scales with the ratio of the virial radius to the collapse-epoch scale factor. The two free parameters of the model are [F], which determines the collapse mass fraction, and [K], which sets the concentration normalization.
Parameters
darkMatterProfileConcentrationCorrea2015¶
Computes dark matter halo concentrations using the accretion-history-based fitting function of Correa et al. (2015), which relates concentration to the mass accretion history of the halo through a power-law relation in redshift. The normalization of the concentration-mass relation is calibrated by the free parameter [A].
Parameters
[A](real; default887.0d0) — The parameter \(A\) appearing in eqn. (17) of Correa et al. (2015).
darkMatterProfileConcentrationDiemerJoyce2019¶
Computes dark matter halo concentrations using the fitting function of Diemer and Joyce (2019), which models concentration as a function of the effective spectral slope of the matter power spectrum. The fitting parameters controlling the normalization and slopes of the concentration-mass relation are [kappa], [a0], [a1], [b0], and [b1].
Parameters
[kappa](real; default0.41d0) — The parameter \(\kappa\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[a0](real; default2.45d0) — The parameter \(a_0\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[a1](real; default1.82d0) — The parameter \(a_1\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[b0](real; default3.20d0) — The parameter \(b_0\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[b1](real; default2.30d0) — The parameter \(b_1\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[cAlpha](real; default0.21d0) — The parameter \(c_{\alpha}\) appearing in the halo concentration algorithm of Diemer and Joyce (2019).[scatter](real; default0.0d0) — The scatter (in dex) to assume in the halo concentration algorithm of Diemer and Joyce (2019).[truncateConcentration](boolean; default.false.) — If false, solutions to equation (30) of Diemer and Joyce (2019) requiring \(x<1\) will cause a fatal error. If true, such cases are simply truncated to \(x=1\).[includeUpturn](boolean; default.true.) — If true, the term modeling the upturn in the \(c(M)\) relation at high masses (i.e. \([1+\nu^2/B(n)]\) in equation (28) of Diemer and Joyce 2019) is included. Otherwise this term is set equal to \(1\) so that no upturn occurs.[truncateUpturn](boolean; default.false.) — If true, the term modeling the upturn in the \(c(M)\) relation at high masses (i.e. \([1+\nu^2/B(n)]\) in equation (28) of Diemer and Joyce 2019) will be truncated at \(\nu=\sqrt{B(n)}\) where the right-hand side of equation (28) reaches the minimum, i.e. for any \(\nu>\sqrt{B(n)}\), the right-hand side of equation (28) will be truncated to \(2 A/\sqrt{B}\).
darkMatterProfileConcentrationDiemerKravtsov2014¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Diemer and Kravtsov (2015):
where \(c_\mathrm{min}=\phi_0+\phi_1 n\), \(\nu_\mathrm{min}=\eta_0+\eta_1 n\), \(n\) is the logarithmic slope of the linear power spectrum at wavenumber \(k = \kappa 2 \pi / R\), \(R\) is the comoving Lagrangian radius of the halo, \(R=[3 M / 4 \pi \rho_\mathrm{M}(z=0)]^{1/3}\), and \(\nu=\delta_\mathrm{crit}(t)/\sigma(M)\) is the peak height parameter. The numerical parameters \((\kappa,\phi_0,\phi_1,\eta_0,\eta_1,\alpha,\beta)\) are set by the parameters [kappa], [phi0], [phi1], [eta0], [eta1], [alpha], [beta], respectively, and default to the values given in Table 3 of Diemer and Kravtsov (2015) for the median relation, namely \((0.69,6.58,1.37,6.82,1.42,1.12,1.69)\).
Parameters
[kappa](real; default0.69d0) — The parameter \(\kappa\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[phi0](real; default6.58d0) — The parameter \(\phi_0\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[phi1](real; default1.37d0) — The parameter \(\phi_1\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[eta0](real; default6.82d0) — The parameter \(\eta_0\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[eta1](real; default1.42d0) — The parameter \(\eta_1\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[alpha](real; default1.12d0) — The parameter \(\alpha\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[beta](real; default1.69d0) — The parameter \(\beta\) appearing in the halo concentration algorithm of Diemer and Kravtsov (2015).[scatter](real; default0.0d0) — The scatter (in dex) to assume in the halo concentration algorithm of Diemer and Kravtsov (2015).
darkMatterProfileConcentrationDuttonMaccio2014¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Dutton and Macciò (2014):
The parameters are a function of redshift, \(z\). We use the following fit suggested by Dutton and Macciò (2014) results:
The coefficients are chosen from one of the three sets given by Dutton and Macciò (2014), controlled via the [duttonMaccio2014FitType] parameter, as described in Table 3.
Fit type |
Profile |
\(\Delta_\mathrm{vir}\) |
\(A_1\) |
\(A_2\) |
\(A_3\) |
\(A_4\) |
\(B_1\) |
\(B_2\) |
|---|---|---|---|---|---|---|---|---|
|
Top-hat |
\(+0.537\) |
\(+1.025\) |
\(-0.718\) |
\(+1.080\) |
\(-0.097\) |
\(+0.024\) |
|
|
200 |
\(+0.520\) |
\(+0.905\) |
\(-0.617\) |
\(+1.210\) |
\(-0.101\) |
\(+0.026\) |
|
|
Einasto |
200 |
\(+0.459\) |
\(+0.977\) |
\(-0.490\) |
\(+1.303\) |
\(-0.130\) |
\(+0.029\) |
Methods
definitions— Establish definitions for virial density contrast and dark matter halo profile.
Parameters
[fitType](string; one ofnfwVirial,nfwCritical200,einastoCritical200,userDefined; defaultnfwVirial) — The type of halo definition for which the concentration-mass relation should be computed. Allowed values arenfwVirial,nfwCritical200,einastoCritical200, anduserDefined.[a1](real) — Parameter \(a_1\) in the Dutton and Macciò (2014) halo concentration–mass relation.[a2](real) — Parameter \(a_2\) in the Dutton and Macciò (2014) halo concentration–mass relation.[a3](real) — Parameter \(a_3\) in the Dutton and Macciò (2014) halo concentration–mass relation.[a4](real) — Parameter \(a_4\) in the Dutton and Macciò (2014) halo concentration–mass relation.[b1](real) — Parameter \(b_1\) in the Dutton and Macciò (2014) halo concentration–mass relation.[b2](real) — Parameter \(b_2\) in the Dutton and Macciò (2014) halo concentration–mass relation.
darkMatterProfileConcentrationFixed¶
Dark matter halo concentrations are computed using a fixed value for concentration.
Parameters
[concentration](real) — 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.
darkMatterProfileConcentrationGao2008¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Gao et al. (2008):
The parameters are a function of expansion factor, \(a\). We use the following fits to the Gao et al. (2008) results:
(Default implementation)
Parameters
[scatter](real; default0.0d0) — The scatter (in dex) to assume in the halo concentration distribution at fixed mass.
darkMatterProfileConcentrationKlypin2015¶
Computes dark matter halo concentrations using the fitting functions calibrated from the MultiDark simulations by Klypin et al. (2016). The specific fitting function applied depends on the halo sample selected via [sample], which controls the density contrast definition and the simulation suite used for calibration.
Parameters
[sample](string; one ofall,relaxed; defaultplanck200CritRelaxedMass) — The sample to use for the halo concentration algorithm of Klypin et al. (2016).
darkMatterProfileConcentrationLudlow2016Fit¶
Dark matter halo concentrations are computed using the fitting function of Ludlow et al. (2016).
darkMatterProfileConcentrationMunozCuartas2011¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Muñoz-Cuartas et al. (2011):
The parameters are a function of redshift, \(z\), given by
where \(w=0.029\), \(m=0.097\), \(\alpha=-110.001\), \(\beta=2469.720\), \(\gamma=16.885\).
darkMatterProfileConcentrationNFW1996¶
A dark matter profile concentration class in which the concentration is computed using the algorithm from Navarro et al. (1996). In this algorithm, for a given halo of mass \(M\) at time \(t_0\), a formation time is defined as the epoch at which there is a 50% probability (according to extended Press-Schechter theory) for a progenitor halo to have a mass greater than \(fM\), where \(f=\)[f] is a parameter of the algorithm. This implies formation when the critical overdensity for collapse is
where \(\nu_{1/2} = [\hbox{erfc}^{-1}(1/2)]^{1/2}\). Navarro et al. (1996) then assume an overdensity at collapse of
where \(C=\)[C] is a parameter of the algorithm. The concentration is then determined by solving
Methods
radiusEnclosingDensityTabulate— Tabulate the radius enclosing a given density as a function of density and core radius.radiusEnclosingMassTabulate— Tabulate the radius enclosing a given mass as a function of density and core radius.energyTabulate— Tabulate the energy as a function of concentration and core radius.densityScaleFree— The density of the profile in units where the mass and scale length are both 1.massEnclosedScaleFree— The mass enclosed of the profile in units where the mass and scale length are both 1.storeDensityTable— Store the tabulated radius-enclosing-density to file.restoreDensityTable— Attempt to restore the tabulated radius-enclosing-density from file, returning true if successful.storeMassTable— Store the tabulated radius-enclosing-mass to file.restoreMassTable— Attempt to restore the tabulated radius-enclosing-mass from file, returning true if successful.storeEnergyTable— Store the tabulated energy to file.restoreEnergyTable— Attempt to restore the tabulated energy from file, returning true if successful.suffix— Return a file name suffix (containing a source code digest.
Parameters
darkMatterProfileConcentrationPrada2011¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Prada et al. (2012):
where
with the following parameters (default values taken from Prada et al. (2012) given in []): \(A=\)[A]\(=2.881\), \(b=\)[B]\(=1.257\), \(c=\)[C]\(=1.022\), \(d=\)[D]\(=0.060\), \(c_0=\)[C0]\(=3.681\), \(c_1=\)[C1]\(=5.033\), \(x_0=\)[X0]\(=0.424\), \(x_1=\)[X1]\(=0.526\), \(\sigma^{-1}_0=\)[sigma0]\(=1.047\), \(\sigma^{-1}_1=\)[sigma1]\(=1.646\), \(\alpha=\)[alpha]\(=6.948\), and \(\beta=\)[beta]\(=7.386\).
Parameters
[A](real; default2.881d0) — The parameter \(A\) appearing in the halo concentration algorithm of Prada et al. (2012).[B](real; default1.257d0) — The parameter \(b\) appearing in the halo concentration algorithm of Prada et al. (2012).[C](real; default1.022d0) — The parameter \(c\) appearing in the halo concentration algorithm of Prada et al. (2012).[D](real; default0.060d0) — The parameter \(d\) appearing in the halo concentration algorithm of Prada et al. (2012).[C0](real; default3.681d0) — The parameter \(c_0\) appearing in the halo concentration algorithm of Prada et al. (2012).[C1](real; default5.033d0) — The parameter \(c_1\) appearing in the halo concentration algorithm of Prada et al. (2012).[X0](real; default0.424d0) — The parameter \(x_0\) appearing in the halo concentration algorithm of Prada et al. (2012).[X1](real; default0.526d0) — The parameter \(x_1\) appearing in the halo concentration algorithm of Prada et al. (2012).[inverseSigma0](real; default1.047d0) — The parameter \(\sigma^{-1}_0\) appearing in the halo concentration algorithm of Prada et al. (2012).[inverseSigma1](real; default1.646d0) — The parameter \(\sigma^{-1}_1\) appearing in the halo concentration algorithm of Prada et al. (2012).[alpha](real; default6.948d0) — The parameter \(\alpha\) appearing in the halo concentration algorithm of Prada et al. (2012).[beta](real; default7.386d0) — The parameter \(\beta\) appearing in the halo concentration algorithm of Prada et al. (2012).
darkMatterProfileConcentrationScatterShift¶
A dark matter profile concentration class in which the concentration is computed by shifting the results of another concentration class up/down by a specified number of \(\sigma\).
Parameters
[scatter](real) — The scatter (in dex) to assume in the halo concentration distribution at fixed mass.[sigmaShift](real) — The number of standard deviations \(\sigma\) by which to shift the halo concentration from its mean value, allowing selection of halos with systematically higher or lower concentrations than average at fixed mass.
darkMatterProfileConcentrationSchneider2015¶
A dark matter profile concentration class in which the concentration using the algorithm of Schneider (2015). Specifically, a reference model for concentrations in defined in a specific cosmological model. The concentration for a halo of given mass, \(M\), and redshift, \(z_0\), is then found by finding the redshift of collapse, \(z_\mathrm{c}\) for the halo by solving:
where \(\delta_\mathrm{c}(z)\) is the critical overdensity for collapse at redshift \(z\), and \(f\) is the fraction of a halo’s mass assembled at formation time (given by the [massFractionFormation] parameter. From this, the mass of a halo in the reference model with the same redshift of collapse is found, and the reference model is used to compute the concentration of a halo of that mass.
Methods
concentrationCompute— Compute the concentration for the givennode
Parameters
[massFractionFormation](real; default0.05d0) — The fraction of a halo’s mass assembled at “formation” in the halo concentration algorithm of Schneider (2015).
darkMatterProfileConcentrationWDM¶
A dark matter profile concentration class in which the concentration is computed by applying the correction factor of Schneider et al. (2012):
where \(\gamma_1=15\), \(\gamma_2=0.3\), \(M_\mathrm{1/2}\) is the mass corresponding to the wavenumber at which the WDM transfer function is suppressed below the CDM transfer function by a factor of 2, and \(M_\mathrm{halo}\) is the mass of the dark matter halo, to a CDM concentration algorithm as specified by [cdmConcentration].
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
darkMatterProfileConcentrationWDMBose2016¶
A dark matter profile concentration class in which the concentration is computed by applying the correction factor of Bose et al. (2016):
where \(\gamma_1=60\), \(\gamma_2=0.17\), \(M_\mathrm{1/2}\) is the mass corresponding to the wavenumber at which the WDM transfer function is suppressed below the CDM transfer function by a factor of 2, \(M_\mathrm{halo}\) is the mass of the dark matter halo, and \(\beta(z)=0.026 z-0.04\), to a CDM concentration algorithm as specified by [cdmConcentration].
darkMatterProfileConcentrationZhao2009¶
A dark matter profile concentration class in which the concentration is computed using a fitting function from Zhao et al. (2009):
where \(t\) is the time for the halo and \(t_\mathrm{form}\) is a formation time defined by Zhao et al. (2009) as the time at which the main branch progenitor of the halo had a mass equal to \(0.04\) of the current halo mass. This formation time is computed directly from the merger tree branch associated with each halo. If the no branch exists or does not extend to the formation time then the formation time is computed by extrapolating the mass of the earliest resolved main branch progenitor to earlier times using the selected darkMatterHaloMassAccretionHistoryClass.