CosmoFit.FRHuSawicki¶
- class CosmoFit.FRHuSawicki(params)[source]¶
Bases:
LCDMf(R) gravity, Hu & Sawicki (2007) model.
f(R) gravity replaces the Ricci scalar R in the Einstein-Hilbert action with an arbitrary function f(R). The Hu-Sawicki form,
f(R) = -m^2 c1 (R/m^2)^n / (c2 (R/m^2)^n + 1),
is the standard benchmark model in the literature, tuned (via
nand the present-day scalaron valuef_R0) to satisfy Solar System tests through chameleon screening while still producing cosmic acceleration.This class subclasses :class:`~cosmology.models.lcdm.LCDM` directly and does not override ``E``/``dEdz``/``Omega_de`` – its background expansion history *is* LCDM’s, unchanged. This is not a simplification or a placeholder bug: it is the actual physics of the standard “designer f(R)” construction, which builds f(R) to reproduce an assumed target background (usually LCDM’s) essentially exactly. ``f_R0``/``n`` are therefore invisible to any background/expansion-history probe (CC, BAO, SNe, Planck distance priors) – fitting them against those alone cannot meaningfully constrain them.
Growth of structure is where this model actually differs from LCDM, and is implemented here via
mu(a, k): the standard chameleon-screened, scale- and time-dependent effective gravitational coupling for designer f(R) (Hu & Sawicki 2007; the general parametrized-muframework of Pogosian & Silvestri 2008, arXiv:0709.0296),mu(a,k) = 1 + (1/3) * Y^2 / (Y^2 + Mhat^2(a))
where
Y = k * (c/100) / ais the wavenumber (kin h/Mpc) in units ofH0/c, andMhat^2(a) = M^2(a)/(H0/c)^2is the scalaron’s (Hubble-units) mass-squared,Mhat^2(a) = -u(a)^(n+2) / [(n+1) f_R0 u0^(n+1)]
with
u(a) = Omega_m a^-3 + 4 Omega_de0,u0 = u(a=1), obtained fromM^2 = 1/(3 f_RR)and this model’s own (LCDM)R(a) = 3 H0^2 u(a)andf_R(a) = f_R0 (u0/u(a))^(n+1)(the standard designer-f(R) closure, chosen so thatf_R(a=1) = f_R0exactly) – derived here by direct analytic differentiation rather than transcribed from a secondary source, and numerically self-consistent:k -> 0givesmu -> 1(no force on super-horizon scales),k -> infinitygivesmu -> 4/3(the well-known maximal f(R) enhancement), andf_R0 -> 0givesmu -> 1at anyk(GR recovered as the scalaron mass diverges).kis held at a fixed, documented fiducial pivot (GrowthCalculatordefaults tok = 0.1h/Mpc, a representative galaxy-survey RSD scale) rather than a free parameter – CosmoFit’s fsigma8 data here are single per-redshift points, not a P(k) shape, so a fixed representative scale is the honest ceiling of what a single-number-per-z comparison can use; a real k-by-k P(k) analysis would need the full scale dependence above, whichmu(a,k)does provide if called directly at otherk.What this means in practice:
f_R0/nare still inert for background-only fits (CC/BAO/SNe/Planck alone), but now genuinely shape the"fsigma8"/"s8"predictions – fit those datasets (alongside or instead of the background ones) to actually constrain them.Notes
Adds
f_R0(present-day scalaron value, default -1e-6, typically negative and small – see the reference for viability bounds) andn(default 1) viaEXTRA_PARAMS. Neither affectsE(z)– see above; both now shapemu(a,k)and therefore growth-of-structure predictions.References
Hu & Sawicki (2007), “Models of f(R) Cosmic Acceleration that Evade Solar-System Tests”, Phys. Rev. D 76, 064004, arXiv:0705.1158.
Pogosian & Silvestri (2008), “The pattern of growth in viable f(R) cosmologies”, Phys. Rev. D 77, 023503, arXiv:0709.0296.
- Parameters:
params (CosmologyParameters)
- __init__(params)¶
- Parameters:
params (CosmologyParameters)
Methods
E(z)H(z)Omega_de(z)Omega_matter(z)Matter density at redshift
z, in units of today's critical density -- i.e. theOmega_m (1+z)^3term as it appears insideE(z)^2, before dividing byE(z)^2.__init__(params)dEdz(z)mu(a[, k])Chameleon-screened effective gravitational coupling G_eff(a,k)/G_N -- see the class docstring for the derivation.
plain_name()This model's name as plain text:
MODEL_NAMEif it declares one, else the class name.plot_label()This model's name as it should appear in a figure legend or title --
MODEL_LABEL(LaTeX) if it declares one, elseplain_name().refresh()Rebuild internal numerical tables after the underlying
paramsobject has been mutated in place (e.g. byparams.update(theta)during an MCMC step).Attributes
A_planckA_sEXTRA_PARAMSExtra parameters this model adds beyond CosmologyParameters.
H0MBMODEL_LABELa LaTeX math string where the plain name is really a set of symbols (
LCDM->$\Lambda$CDM), None where the plain name is already what a reader should see (an acronym likeCPL).MODEL_NAMEPlain-text name for this model, for tables, JSON and log lines.
N_effOmega_bOmega_de0Omega_kOmega_malphacompute_rdWhether
rdis computed from the physical densities (rd_computed()) rather than read from the freerdparameter.derive_sigma8Whether
sigma8is derived from the Boltzmann code rather than read from the freesigma8parameter.f_R0hReduced Hubble constant,
H0 / 100.ln1e10Asm_nunn_somega_b_h2Physical baryon density,
Omega_b h^2-- the combination BBN and the CMB actually constrain.omega_cdm_h2Physical cold dark matter density,
Omega_c h^2-- matter less baryons.omega_m_h2Physical matter density,
Omega_m h^2.rdThe sound horizon at the drag epoch [Mpc] that the BAO likelihoods divide by.
sigma8Present-day
sigma_8, the normalization every growth prediction is built on.tau_reiow0wa