Modified Growth Functions
Function to compute growth parameters for modified gravity.
- class MGrowth.MGrowth(CosmoDict)[source]
Bases:
objectMinimal 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:
MGrowthMinimal 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.
- class MGrowth.wCDM(CosmoDict=None)[source]
Bases:
MGrowthMinimal 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.
- class MGrowth.w0waCDM(CosmoDict=None)[source]
Bases:
MGrowthMinimal 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.
- class MGrowth.IDE(CosmoDict=None)[source]
Bases:
MGrowthMinimal 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:
MGrowthMinimal 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:
MGrowthMinimal 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:
MGrowthMinimal 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:
MGrowthMinimal 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:
MGrowthMinimal 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)