BondEfs

class hmf.density_field.transfer_models.BondEfs(cosmo, **model_parameters)[source]

Transfer function of Bond and Efstathiou, in the shape-parameter form of EBW92.

Parameters:
  • cosmo (astropy.cosmology.FLRW instance) – The cosmology used in the calculation

  • **model_parameters (unpack-dict) – Parameters specific to this model. In this case, available parameters are the following: a, b, c, nu. To see their default values, check the _defaults class attribute.

Notes

The fit is given by Efstathiou, Bond & White (1992, EBW92), eq. 7:

\[T(k) = \left[1 + \left(aq + (bq)^{3/2} + (cq)^2\right)^\nu\right]^{-1/\nu}, \qquad q = k/\Gamma, \qquad \Gamma = \Omega_{m,0} h,\]

with \(k\) in \(h\,{\rm Mpc}^{-1}\) and the defaults \(a = 6.4\), \(b = 3.0\), \(c = 1.7\) \(h^{-1}{\rm Mpc}\) and \(\nu = 1.13\). The transfer function depends on cosmology only through \(\Gamma\). These are the coefficients that the GIF and Virgo simulations used for their initial conditions (Jenkins et al. 1998, eq. 4; Jenkins et al. 2001, eq. 1), which cite BE84 for them.

The functional form is BE84’s eq. 6. BE84 fit it separately to each model in their Table 1 (coefficients in Mpc, \(k\) in \({\rm Mpc}^{-1}\)) and note that \(a, b, c\) should scale as \((\Omega h^2)^{-1}\). In units of \(h^{-1}{\rm Mpc}\) that scaling is \(1/\Gamma\). EBW92’s coefficients are BE84’s \(\Omega = 1\), \(h = 0.75\) row (11.3, 5.29, 3.10 Mpc; \(\nu = 1.13\)) times \(\Omega h^2\), rounded to two figures.

\(\Gamma = \Omega_{m,0} h\) is the exact shape parameter only for a vanishing baryon fraction. The BE84 models have \(\Omega_B = 0.03\), so this form describes a nearly baryon-free universe. Baryon suppression of small-scale power is not included; use EH_NoBAO for that.

Earlier versions of hmf used BE84’s \(\Omega = 0.3\), \(h = 0.75\) row (37.1, 21.1, 10.8 Mpc, \(\nu = 1.12\)) as defaults, scaled by \(0.3 \times 0.75^2/(\Omega_{m,0} h)\). That row has a 10% baryon fraction, which the scaling then applied to every cosmology. The parameters \(a, b, c\) are now in units of \(h^{-1}{\rm Mpc}\) at \(\Gamma = 1\). To recover the old result, pass a=6.260625, b=3.560625, c=1.8225 and nu=1.12.

Attributes

references: ClassVar[tuple[str, ...]] = ('Bond, J. R., Efstathiou, G., 1984. ApJ 285, L45. https://doi.org/10.1086/184362', 'Efstathiou, G., Bond, J. R., White, S. D. M., 1992. MNRAS 258, 1P. https://doi.org/10.1093/mnras/258.1.1P')

References to cite when this model is used, each a formatted citation string. Subclasses inherit their parent’s references unless they set their own.

Methods

classmethod get_models() → Mapping[str, type]

Get a read-only mapping of all implemented models for this component.

The mapping is a live view of the registry, so it shows models registered later, but it can not be used to add or remove models.

lnt(lnk)[source]

Natural log of the transfer function.

Parameters:

lnk (array_like) – Natural log of wavenumbers [h/Mpc]

Returns:

lnt – The log of the transfer function at lnk.

Return type:

array_like