FLRW¶
- class astropy.cosmology.FLRW(*args, **kwargs)[source]¶
Bases:
astropy.cosmology.core.Cosmology
A class describing an isotropic and homogeneous (Friedmann-Lemaitre-Robertson-Walker) cosmology.
This is an abstract base class – you can’t instantiate examples of this class, but must work with one of its subclasses such as
LambdaCDM
orwCDM
.- Parameters
- H0
python:float
or scalarQuantity
[‘frequency’] Hubble constant at z = 0. If a float, must be in [km/sec/Mpc]
- Om0
python:float
Omega matter: density of non-relativistic matter in units of the critical density at z=0. Note that this does not include massive neutrinos.
- Ode0
python:float
Omega dark energy: density of dark energy in units of the critical density at z=0.
- Tcmb0
python:float
or scalarQuantity
[‘temperature’], optional Temperature of the CMB z=0. If a float, must be in [K]. Default: 0 [K]. Setting this to zero will turn off both photons and neutrinos (even massive ones).
- Neff
python:float
, optional Effective number of Neutrino species. Default 3.04.
- m_nuquantity-like [‘energy’, ‘mass’] or numpy:array_like, optional
Mass of each neutrino species in [eV] (mass-energy equivalency enabled). If this is a scalar Quantity, then all neutrino species are assumed to have that mass. Otherwise, the mass of each species. The actual number of neutrino species (and hence the number of elements of m_nu if it is not scalar) must be the floor of Neff. Typically this means you should provide three neutrino masses unless you are considering something like a sterile neutrino.
- Ob0
python:float
orpython:None
, optional Omega baryons: density of baryonic matter in units of the critical density at z=0. If this is set to None (the default), any computation that requires its value will raise an exception.
- name
python:str
orpython:None
, optional Name for this cosmological object.
- H0
Notes
Class instances are static – you cannot change the values of the parameters. That is, all of the attributes above are read only.
Attributes Summary
Return the Hubble constant as an
Quantity
at z=0Number of effective neutrino species
Omega baryon; baryonic matter density/critical density at z=0
Omega dark energy; dark energy density/critical density at z=0
Omega dark matter; dark matter density/critical density at z=0
Omega gamma; the density/critical density of photons at z=0
Omega curvature; the effective curvature density/critical density at z=0
Omega matter; matter density/critical density at z=0
Omega nu; the density/critical density of neutrinos at z=0
Temperature of the CMB as
Quantity
at z=0Temperature of the neutrino background as
Quantity
at z=0Critical density as
Quantity
at z=0Dimensionless Hubble constant: h = H_0 / 100 [km/sec/Mpc]
Does this cosmology have at least one massive neutrino species?
Hubble distance as
Quantity
Hubble time as
Quantity
Mass of neutrino species
Methods Summary
H
(z)Hubble parameter (km/s/Mpc) at redshift
z
.Ob
(z)Return the density parameter for baryonic matter at redshift
z
.Ode
(z)Return the density parameter for dark energy at redshift
z
.Odm
(z)Return the density parameter for dark matter at redshift
z
.Ogamma
(z)Return the density parameter for photons at redshift
z
.Ok
(z)Return the equivalent density parameter for curvature at redshift
z
.Om
(z)Return the density parameter for non-relativistic matter at redshift
z
.Onu
(z)Return the density parameter for neutrinos at redshift
z
.Tcmb
(z)Return the CMB temperature at redshift
z
.Tnu
(z)Return the neutrino temperature at redshift
z
.Integrand of the absorption distance.
Absorption distance at redshift
z
.age
(z)Age of the universe in Gyr at redshift
z
.Angular diameter distance in Mpc at a given redshift.
angular_diameter_distance_z1z2
(z1, z2)Angular diameter distance between objects at 2 redshifts.
Angular separation in arcsec corresponding to a comoving kpc at redshift
z
.Angular separation in arcsec corresponding to a proper kpc at redshift
z
.Comoving line-of-sight distance in Mpc at a given redshift.
Comoving transverse distance in Mpc at a given redshift.
Comoving volume in cubic Mpc at redshift
z
.Critical density in grams per cubic cm at redshift
z
.Evaluates the redshift dependence of the dark energy density.
Differential comoving volume at redshift z.
distmod
(z)Distance modulus at redshift
z
.efunc
(z)Function used to calculate H(z), the Hubble parameter.
inv_efunc
(z)Inverse of efunc.
Separation in transverse comoving kpc corresponding to an arcminute at redshift
z
.Separation in transverse proper kpc corresponding to an arcminute at redshift
z
.The lookback distance is the light travel time distance to a given redshift.
Lookback time in Gyr to redshift
z
.Integrand of the lookback time.
Luminosity distance in Mpc at redshift
z
.Neutrino density function relative to the energy density in photons.
scale_factor
(z)Scale factor at redshift
z
.w
(z)The dark energy equation of state.
Attributes Documentation
- Neff¶
Number of effective neutrino species
- Ob0¶
Omega baryon; baryonic matter density/critical density at z=0
- Ode0¶
Omega dark energy; dark energy density/critical density at z=0
- Odm0¶
Omega dark matter; dark matter density/critical density at z=0
- Ogamma0¶
Omega gamma; the density/critical density of photons at z=0
- Ok0¶
Omega curvature; the effective curvature density/critical density at z=0
- Om0¶
Omega matter; matter density/critical density at z=0
- Onu0¶
Omega nu; the density/critical density of neutrinos at z=0
- h¶
Dimensionless Hubble constant: h = H_0 / 100 [km/sec/Mpc]
- has_massive_nu¶
Does this cosmology have at least one massive neutrino species?
- m_nu¶
Mass of neutrino species
Methods Documentation
- H(z)[source]¶
Hubble parameter (km/s/Mpc) at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- H
Quantity
[‘frequency’] Hubble parameter at each input redshift.
- H
- Ob(z)[source]¶
Return the density parameter for baryonic matter at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Ob
ndarray
orpython:float
The density of baryonic matter relative to the critical density at each redshift. Returns float if input scalar.
- Ob
- Raises
ValueError
If Ob0 is None.
- Ode(z)[source]¶
Return the density parameter for dark energy at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Ode
ndarray
orpython:float
The density of non-relativistic matter relative to the critical density at each redshift. Returns float if input scalar.
- Ode
- Odm(z)[source]¶
Return the density parameter for dark matter at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Odm
ndarray
orpython:float
The density of non-relativistic dark matter relative to the critical density at each redshift. Returns float if input scalar.
- Odm
- Raises
ValueError
If Ob0 is None.
Notes
This does not include neutrinos, even if non-relativistic at the redshift of interest.
- Ogamma(z)[source]¶
Return the density parameter for photons at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Ogamma
ndarray
orpython:float
The energy density of photons relative to the critical density at each redshift. Returns float if input scalar.
- Ogamma
- Ok(z)[source]¶
Return the equivalent density parameter for curvature at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Ok
ndarray
orpython:float
The equivalent density parameter for curvature at each redshift. Returns float if input scalar.
- Ok
- Om(z)[source]¶
Return the density parameter for non-relativistic matter at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Om
ndarray
orpython:float
The density of non-relativistic matter relative to the critical density at each redshift. Returns float if input scalar.
- Om
Notes
This does not include neutrinos, even if non-relativistic at the redshift of interest; see
Onu
.
- Onu(z)[source]¶
Return the density parameter for neutrinos at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Onu
ndarray
orpython:float
The energy density of neutrinos relative to the critical density at each redshift. Note that this includes their kinetic energy (if they have mass), so it is not equal to the commonly used \(\sum \frac{m_{\nu}}{94 eV}\), which does not include kinetic energy. Returns float if input scalar.
- Onu
- Tcmb(z)[source]¶
Return the CMB temperature at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Tcmb
Quantity
[‘temperature’] The temperature of the CMB in K.
- Tcmb
- Tnu(z)[source]¶
Return the neutrino temperature at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- Tnu
Quantity
[‘temperature’] The temperature of the cosmic neutrino background in K.
- Tnu
- abs_distance_integrand(z)[source]¶
Integrand of the absorption distance.
- Parameters
- z
python:float
orarray
Input redshift.
- z
- Returns
- X
python:float
orarray
The integrand for the absorption distance
- X
References
See Hogg 1999 section 11.
- absorption_distance(z)[source]¶
Absorption distance at redshift
z
.This is used to calculate the number of objects with some cross section of absorption and number density intersecting a sightline per unit redshift path.
- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
- d
python:float
orndarray
Absorption distance (dimensionless) at each input redshift.
- d
References
Hogg 1999 Section 11. (astro-ph/9905116) Bahcall, John N. and Peebles, P.J.E. 1969, ApJ, 156L, 7B
- age(z)[source]¶
Age of the universe in Gyr at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
See also
z_at_value
Find the redshift corresponding to an age.
- angular_diameter_distance(z)[source]¶
Angular diameter distance in Mpc at a given redshift.
This gives the proper (sometimes called ‘physical’) transverse distance corresponding to an angle of 1 radian for an object at redshift
z
.Weinberg, 1972, pp 421-424; Weedman, 1986, pp 65-67; Peebles, 1993, pp 325-327.
- angular_diameter_distance_z1z2(z1, z2)[source]¶
Angular diameter distance between objects at 2 redshifts. Useful for gravitational lensing, for example computing the angular diameter distance between a lensed galaxy and the foreground lens.
- Parameters
- z1, z2(N,) numpy:array_like
Input redshifts. For most practical applications such as gravitational lensing, z2 should be larger than z1. The method will work for z2<z1; however, this will return negative distances.
- Returns
- d(N,) or scalar
Quantity
The angular diameter distance between each input redshift pair. Returns scalar if input is scalar, array else-wise.
- d(N,) or scalar
- arcsec_per_kpc_comoving(z)[source]¶
Angular separation in arcsec corresponding to a comoving kpc at redshift
z
.
- arcsec_per_kpc_proper(z)[source]¶
Angular separation in arcsec corresponding to a proper kpc at redshift
z
.
- comoving_distance(z)[source]¶
Comoving line-of-sight distance in Mpc at a given redshift.
The comoving distance along the line-of-sight between two objects remains constant with time for objects in the Hubble flow.
- comoving_transverse_distance(z)[source]¶
Comoving transverse distance in Mpc at a given redshift.
This value is the transverse comoving distance at redshift
z
corresponding to an angular separation of 1 radian. This is the same as the comoving distance if omega_k is zero (as in the current concordance lambda CDM model).- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
Notes
This quantity also called the ‘proper motion distance’ in some texts.
- comoving_volume(z)[source]¶
Comoving volume in cubic Mpc at redshift
z
.This is the volume of the universe encompassed by redshifts less than
z
. For the case of omega_k = 0 it is a sphere of radiuscomoving_distance
but it is less intuitive if omega_k is not 0.- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
- V
Quantity
Comoving volume in \(Mpc^3\) at each input redshift.
- V
- critical_density(z)[source]¶
Critical density in grams per cubic cm at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- rho
Quantity
Critical density in g/cm^3 at each input redshift.
- rho
- de_density_scale(z)[source]¶
Evaluates the redshift dependence of the dark energy density.
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- I
ndarray
orpython:float
The scaling of the energy density of dark energy with redshift. Returns float if input scalar.
- I
Notes
The scaling factor, I, is defined by \(\rho(z) = \rho_0 I\), and is given by
\[I = \exp \left( 3 \int_{a}^1 \frac{ da^{\prime} }{ a^{\prime} } \left[ 1 + w\left( a^{\prime} \right) \right] \right)\]It will generally helpful for subclasses to overload this method if the integral can be done analytically for the particular dark energy equation of state that they implement.
- differential_comoving_volume(z)[source]¶
Differential comoving volume at redshift z.
Useful for calculating the effective comoving volume. For example, allows for integration over a comoving volume that has a sensitivity function that changes with redshift. The total comoving volume is given by integrating differential_comoving_volume to redshift z and multiplying by a solid angle.
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- dV
Quantity
Differential comoving volume per redshift per steradian at each input redshift.
- dV
- distmod(z)[source]¶
Distance modulus at redshift
z
.The distance modulus is defined as the (apparent magnitude - absolute magnitude) for an object at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
See also
z_at_value
Find the redshift corresponding to a distance modulus.
- efunc(z)[source]¶
Function used to calculate H(z), the Hubble parameter.
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- E
ndarray
orpython:float
The redshift scaling of the Hubble constant. Returns float if input scalar.
- E
Notes
The return value, E, is defined such that \(H(z) = H_0 E\).
It is not necessary to override this method, but if de_density_scale takes a particularly simple form, it may be advantageous to.
- inv_efunc(z)[source]¶
Inverse of efunc.
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- E
ndarray
orpython:float
The redshift scaling of the inverse Hubble constant. Returns float if input scalar.
- E
- kpc_comoving_per_arcmin(z)[source]¶
Separation in transverse comoving kpc corresponding to an arcminute at redshift
z
.
- kpc_proper_per_arcmin(z)[source]¶
Separation in transverse proper kpc corresponding to an arcminute at redshift
z
.
- lookback_distance(z)[source]¶
The lookback distance is the light travel time distance to a given redshift. It is simply c * lookback_time. It may be used to calculate the proper distance between two redshifts, e.g. for the mean free path to ionizing radiation.
- lookback_time(z)[source]¶
Lookback time in Gyr to redshift
z
.The lookback time is the difference between the age of the Universe now and the age at redshift
z
.- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar
- Returns
See also
z_at_value
Find the redshift corresponding to a lookback time.
- lookback_time_integrand(z)[source]¶
Integrand of the lookback time.
- Parameters
- z
python:float
or numpy:array_like Input redshift.
- z
- Returns
- I
python:float
orarray
The integrand for the lookback time
- I
References
Eqn 30 from Hogg 1999.
- luminosity_distance(z)[source]¶
Luminosity distance in Mpc at redshift
z
.This is the distance to use when converting between the bolometric flux from an object at redshift
z
and its bolometric luminosity.- Parameters
- znumpy:array_like
Input redshifts. Must be 1D or scalar.
- Returns
See also
z_at_value
Find the redshift corresponding to a luminosity distance.
References
Weinberg, 1972, pp 420-424; Weedman, 1986, pp 60-62.
- nu_relative_density(z)[source]¶
Neutrino density function relative to the energy density in photons.
- Parameters
- znumpy:array_like
Redshift
- Returns
- f
ndarray
orpython:float
The neutrino density scaling factor relative to the density in photons at each redshift. Only returns float if z is scalar.
- f
Notes
The density in neutrinos is given by
\[\rho_{\nu} \left(a\right) = 0.2271 \, N_{eff} \, f\left(m_{\nu} a / T_{\nu 0} \right) \, \rho_{\gamma} \left( a \right)\]where
\[f \left(y\right) = \frac{120}{7 \pi^4} \int_0^{\infty} \, dx \frac{x^2 \sqrt{x^2 + y^2}} {e^x + 1}\]assuming that all neutrino species have the same mass. If they have different masses, a similar term is calculated for each one. Note that f has the asymptotic behavior \(f(0) = 1\). This method returns \(0.2271 f\) using an analytical fitting formula given in Komatsu et al. 2011, ApJS 192, 18.
- scale_factor(z)[source]¶
Scale factor at redshift
z
.The scale factor is defined as \(a = 1 / (1 + z)\).
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- a
ndarray
orpython:float
Scale factor at each input redshift. Returns float if input scalar.
- a
- abstract w(z)[source]¶
The dark energy equation of state.
- Parameters
- znumpy:array_like
Input redshifts.
- Returns
- w
ndarray
orpython:float
The dark energy equation of state. float if scalar input.
- w
Notes
The dark energy equation of state is defined as \(w(z) = P(z)/\rho(z)\), where \(P(z)\) is the pressure at redshift z and \(\rho(z)\) is the density at redshift z, both in units where c=1.
This must be overridden by subclasses.