IntegralGrowthFactor

class hmf.cosmology.growth_factor.IntegralGrowthFactor(cosmo: FLRW, **model_parameters)[source]

Growth factor computed using the integral of Heath 1977.

This growth factor is only applicable when the radiation density is negligible, and so is only accurate at “low” redshifts in cosmologies with radiation.

The integral formula is:

\[D^+(a) = \frac{5}{2} \Omega_{m,0} E(a) \int_0^a \frac{da'}{(a'^3 E(a')^3)}.\]

In this class, if a cosmology is given that has non-zero radiation density, the radiation density will be included in the calculation of E(a), even though the assumptions of the formula are not valid in this case. If the growth factor is being computed at high redshifts, a warning will be raised due to the inaccuracy of the method, but otherwise the calculation will continue. The ability to run the calculation in this case is provided to allow for comparison.

The growth rate has a particularly simple form under the assumptions of the integral formula, and so is calculated using this form, which is consistent with the growth factor calculation, and is also faster to compute than taking the derivative of the growth factor spline. It is:

\[\frac{d\ln D^+}{d\ln a} = dlnH/dln(a) + 2.5 \frac{\Omega_m(a)}{a^2 H^2(a) D^+(a)}.\]

Attributes

Methods

__init__(cosmo: FLRW, **model_parameters)
dlne_dlna(z)

Compute the derivative of ln(E(a)) with respect to ln(a).

This is useful for the growth factor, which has terms \(E'(a)/E(a) \equiv (1/a)*dlnE/dlna\) in its definition.

This implementation simply uses the exact definition from astropy of E(a) and writes down the derivative analytically.

classmethod get_models() dict[str, type]

Get a dictionary of all implemented models for this component.

growth_factor(z)

Compute the normalized growth factor, \(D(a) = D^+(a)/D^+(a=1)\).

Parameters:

z (array_like) – Redshift.

Returns:

gf – The growth factor at z.

Return type:

array_like

growth_rate(z) float | ndarray

Compute the growth rate, \(f(a) = d\ln D^+ / d\ln a\).

Parameters:

z (array_like) – Redshift.

Returns:

gr – The growth rate at z.

Return type:

array_like

radiation_density(z)

The fractional radiation density as a function of redshift.