Modified Growth Functions

Function to compute growth parameters for modified gravity.

class MGrowth.MGrowth(CosmoDict)[source]

Bases: object

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

Omega_m(a, omega0=0.3, w0=-1, wa=0)[source]

Computes a function \(\Omega_\mathrm{m}(a)\) as a fuction of the scale-factor:

\[\Omega_\mathcal{m}(a) = \frac{\Omega_{m,0} a^{-3}} {E^2(a)} = \frac{\Omega_{m,0} a^{-3}} {\Omega_{m,0} a^{-3}+\Omega_\mathrm{DE}(a)}\]

assuming a flat universe with the expansion history \(H(a)=H_0 E(a)\) the dark energy component that evolves as \(\Omega_\mathrm{DE}(a) = (1-\Omega_\mathrm{m, 0}) a^{-3(1+w_0+w_a)} \mathrm{e}^{3(a-1)w_a}\).

Args:

a (array): scale factor array, is strictly increasing

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

Returns:

array: Omega_m(a)

dlnH_dlna(a, omega0=0.3, w0=-1, wa=0)[source]

Computes the derivative of the ln(expansion) with respect to ln(scale factor):

\[\frac{\mathrm{d} \ln{H}}{\mathrm{d} \ln{a}} = -\frac{3}{2} \frac{\Omega_\mathrm{m} a^{-3} + (1+w_0+w_a[1-a])\Omega_\mathrm{DE}(a)} {\Omega_{m,0} a^{-3}+\Omega_\mathrm{DE}(a)}\]
Args:

a (array): scale factor array, is strictly increasing

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

Returns:

array: dlnH_dlna(a)

Friction(a, omega0=0.3, h=0.68, w0=-1, wa=0, xi=0)[source]

Computes the modification to Euler equation in the interacting dark energy scenario.

Args:

a (array): scale factor array, is strictly increasing

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

h (scalar): value of the Hubble constans as in \(H_0 = 100 h/\) Mpc

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

xi (scalar): scattering strength

Returns:

array: Friction(a)

D_derivatives(D, a, omega0=0.3, w0=-1, wa=0)[source]

Function that is used with scipy.odeint to solve the following differential equation for the growth factor \(D(a)\):

\[\ddot{D} +\left( 3 + \frac{\mathrm{d} \ln{H}}{\mathrm{d} \ln{a}} \right) \frac{\dot{D}}{a}-\frac{3}{2} \Omega_\mathrm{m}(a) \frac{D}{a^2} = 0\]

with \(\dot{}\) denoting a derivative with respect to the scale factor.

Args:

D (array): growth factor, is strictly increasing

a (array): scale factor array

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

Returns:

array: D(a)

MG_D_derivatives(D, a, mu_interp, omega0=0.3, w0=-1, wa=0)[source]

Function that is used with scipy.odeint to solve the following differential equation for the modified growth factor \(D(a)\):

\[\ddot{D} +\left( 3 + \frac{\mathrm{d} \ln{H}}{\mathrm{d} \ln{a}} \right) \frac{\dot{D}}{a}-\frac{3}{2} \mu(a) \Omega_\mathrm{m}(a) \frac{D}{a^2}= 0\]

with \(\dot{}\) denoting a derivative with respect to the scale factor and \(\mu = \frac{G_\mathrm{eff}(a)}{G}\) being a modification to the gravitational constant.

Args:

D (array): growth factor

a (array): scale factor array, is strictly increasing

mu_interp (interpolator): interpolator for the modification to the gravitational constant

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

Returns:

array: D(a)

IDE_D_derivatives(D, a, omega0=0.3, h=0.68, w0=-1, wa=0, xi=0)[source]

Function that is used with scipy.odeint to solve the following differential equation for the modified growth factor \(D(a)\) in iteracting dark energy:

\[\ddot{D} +\left( 3 + \mathrm{Friction} + \frac{\mathrm{d} \ln{H}}{\mathrm{d} \ln{a}} \right) \frac{\dot{D}}{a}-\frac{3}{2} \Omega_\mathrm{m}(a) \frac{D}{a^2} = 0\]

with \(\dot{}\) denoting a derivative with respect to the scale factor and \(\mathrm{Friction} = (1+w(a))\xi \frac{\Omega_\mathrm{DE}(a) \rho_\mathrm{crit}}{H(a)}\) being a modification to the Euler equation.

Args:

D (array): growth factor

a (array): scale factor array, is strictly increasing

omega0 (scalar): value of \(\Omega_\mathrm{m}(a=1) = \Omega_\mathrm{m,0}\)

w0 (scalar): dark energy equation of state parameter

wa (scalar): dark energy equation of state parameter

xi (scalar): scattering strength

Returns:

array: D(a)

class MGrowth.LCDM(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters()[source]

Computes growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation in the \(\Lambda\) CDM cosmology.

Returns:

array: D(a), f(a)

class MGrowth.wCDM(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters()[source]

Computes growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation in the wCDM cosmology with \(w=w_0\) specialised by the initalisation.

Returns:

array: D(a), f(a)

class MGrowth.w0waCDM(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters()[source]

Computes growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation in the \(w_0 w_a\) CDM cosmology.

Returns:

array: D(a), f(a)

class MGrowth.IDE(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters(xi=0.0)[source]

Computes growth factor \(D\) and growth rate \(f\) at the scale factor specified by initialisation in the \(w_0 w_a A\) CDM cosmology, also known as interacting dark energy. In this abbreviation \(w_0 w_a\) are the parameters from the equation of state for dark energy: \(w(a) = w_0 + w_a (1-a)\) and parameter \(A = (1+w(a)) \xi\) is introduced in such way to allow us to sample the parameters space with clear definition of the \(w(a) \sim -1\) case.

Args: xi (scalar): scattering strength

Returns:

array: D(a), f(a)

class MGrowth.fR_HS(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters(k_arr, fR0=1e-09)[source]

Computes scale-dependent growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation in a f(R) gravity in the \(n=1\) Hu-Sawicki model \(f(R) = -m^2 \frac{c_1 (R/m^2)^n}{c_2(R/m^2)+1}\) with \(\mu(a, k) = 1 + \frac{1}{3} \frac{k^2}{k^2 + \frac{a^2}{3 k^2}}\) and \(f_{RR}(a) = \frac{n(n+1)}{m^2} \frac{c_1}{c_2^2} \left( \frac{m^2}{R} \right)^{n+2}\) where \(\frac{c_1}{c_2^2} = -\frac{1}{n} \left( 1 + \frac{4 \Omega_\mathrm{DE,0}}{\Omega_\mathrm{m,0}} \right)^{n+1} f_{R0}\), \(R(a) = m^2 \left( \frac{3}{a^3} + 2 \frac{c_1}{c_2} \right)\), \(\frac{c_1}{c_2} = 6 \frac{\Omega_\mathrm{DE,0}}{\Omega_\mathrm{m,0}}\) and \(m^2 = H_0^2 \Omega_\mathrm{m,0}\). For \(\Lambda\) CDM scenario \(f_{R0} = 0\), typical scenarios include a weak deviation with \(f_{R0} = -10^{-6}\) and a stronger deviation with \(f_{R0} = -10^{-5}\). Only \(\Lambda\) CDM expansion is allowed due to the model specifics.

Args:

fR0 (positive float): absolute value of the modification at \(a=1\), a positive number between \(10^{-9}\) and \(10^{-2}\)

k (array): scales in \(h/\) Mpc

Returns:

array: D(k, a), f(k, a)

class MGrowth.nDGP(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

beta(a, omegarc)[source]

Computes \(\beta(a) = 1 + \frac{E(a)}{\sqrt{\Omega_\mathrm{rc}}} \left( 1 + \frac{1}{3}\frac{\mathrm{d} \ln{H}}{\mathrm{d} \ln{a}} \right)\) where \(\Omega_\mathrm{rc} = \frac{1}{4 H_0^2 r_c^2}\).

Args:

a (array): values of scalar factors

omegarc (float): value of the modification, a positive number between 1.e-6 and 1.e6

Returns:

array: beta(a)

growth_parameters(omegarc=1e-06)[source]

Computes growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation for a nDGP cosmology with \(\mu(a) = 1 + \frac{1}{3\beta(a)}\). For \(\Lambda\) CDM scenario \(\Omega_\mathrm{rc} = 0\), typical scenarios include a weak deviation with \(\Omega_\mathrm{rc} = 0.01\) for \(r_c = 5 H_0^{-1}\) and a stronger deviation with \(\Omega_\mathrm{rc} = 0.25\) for \(r_c = H_0^{-1}\).

Args:

omegarc (float): value of the modification, a positive number between 1.e-6 and 1.e6

Returns:

array: D(a), f(a)

class MGrowth.Linder_gamma(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters(gamma=0.55)[source]

Computes growth rate \(f = \Omega_\mathrm{m}(a)^\gamma\) and \(D(a)=D_\mathrm{ini} \exp{\int_{a_\mathrm{ini}}^a \mathrm{d}\tilde{a} f(\tilde{a})/\tilde{a} }\) with \(D_\mathrm{ini} = D_{\Lambda \mathrm{CDM}} (a=10^{-4})\) at the scale factor specified by initialisation.

Args:

gamma (float): growth index, equals 0.55 in standard cosmology

Returns:

array: D(a), f(a)

class MGrowth.Linder_gamma_a(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters(gamma0=0.55, gamma1=0.0)[source]

Computes growth rate \(f = \Omega_\mathrm{m}(a)^{\gamma(a)}\) and \(D(a)=D_\mathrm{ini} \exp{\int_{a_\mathrm{ini}}^a \mathrm{d}\tilde{a} f(\tilde{a})/\tilde{a} }\) with \(D_\mathrm{ini} = D_{\Lambda \mathrm{CDM}} (a=10^{-4})\) at the scale factor specified by initialisation. The time parameterisation of the growth index is taken from arXiv: 2304.07281, namely \(\gamma(a) = \gamma_0 + \gamma_1 \frac{(1-a)^2}{a}\).

Args:

gamma0 (float): growth index, equals 0.55 in standard cosmology

gamma1 (float): growth index time component, equals 0 in standard cosmology

Returns:

array: D(a), f(a)

class MGrowth.mu_a(CosmoDict=None)[source]

Bases: MGrowth

Minimal initialization requires the definition of a dictionary including only the cosmological parameters that are necessary to compute the expansion history and the scale factor(s). If the cosmology is not specified, hardcoded intial values are assumed.

growth_parameters(mu_interp)[source]

Computes growth factor \(D\) and growth rate \(f = \frac{\mathrm{d} \ln{D}}{\mathrm{d} \ln{a}}\) at the scale factor specified by initialisation for a modified cosmology with customed \(\mu(a)\).

Args:

mu_interp (interpolator): interpolator for the modification to the gravitational constant, should allow for \(10^{-5} \geq a \geq 1.5\) or \(10^{-5} \geq a \geq a_{max}+0.5\)

Returns:

array: D(a), f(a)