Cosmology
The ‘cosmology’ parameter category contains parameters specifying the cosmology, as well as the starting time for the simulation.
H0
Description |
The Hubble constant \(H_0\), i.e. the value of the Hubble parameter at the present time \(a = 1\) |
||
Default |
67*km/(s*Mpc)
|
||
Elaboration |
Setting H0 = 67*km/(s*Mpc)
we then have Caution The value of |
||
Example 0 |
Use a value of \(H_0 = 74\,\text{km}\, \text{s}^{-1}\, \text{Mpc}^{-1}\) for the Hubble constant: H0 = 74*km/(s*Mpc)
|
Ωb
Description |
Density parameter for baryonic matter \(\Omega_{\text{b}}\) at the present time \(a = 1\) |
||
Default |
0.049
|
||
Elaboration |
Within a simulation CONCEPT treats baryonic matter
as though it were cold dark matter, i.e. it has no gas
physics. Typically, the species used for the particles in
a simulation is (total) ‘matter’, meaning combined
baryonic and cold dark matter. As the baryons and the
cold dark matter have different linear perturbations
(from CLASS), a distinction must still be made within
CONCEPT as they have different initial conditions.
This is why we need both the |
||
Example 0 |
Specify \(\Omega_{\text{b}} = 0.05\): Ωb = 0.05
|
||
Example 1 |
Specify \(\Omega_{\text{b}}\) via known value of \(h^2\Omega_{\text{b}} \equiv \omega_{\text{b}} = 0.022\): Ωb = 0.022/h**2
|
Ωcdm
Description |
Density parameter for cold dark matter \(\Omega_{\text{cdm}}\) at the present time \(a = 1\) |
||
Default |
0.27
|
||
Elaboration |
Typically, the species used for the particles in a simulation is (total) ‘matter’, meaning combined baryonic and cold dark matter. |
||
Example 0 |
Specify \(\Omega_{\text{cdm}} = 0.28\): Ωcdm = 0.28
|
||
Example 1 |
Specify \(\Omega_{\text{cdm}}\) via known value of \(h^2\Omega_{\text{cdm}} \equiv \omega_{\text{cdm}} = 0.12\): Ωcdm = 0.12/h**2
|
||
Example 2 |
Specify \(\Omega_{\text{cdm}}\) such that \(\Omega_{\text{m}} \equiv \Omega_{\text{b}} + \Omega_{\text{cdm}} + \Omega_{\nu} = 0.30\): Ωcdm = 0.30 - Ωb - Ων
Here |
a_begin
Description |
Scale factor value \(a\) at the start of the simulation |
||
Default |
1
You should not rely on this default, as the code detects
if you do not specify |
||
Elaboration |
If you
start the simulation from a snapshot
you should make sure to set Alternatively, you may define
|
||
Example 0 |
Begin simulation at \(a = 0.01\): a_begin = 0.01
|
t_begin
Description |
Cosmic time \(t\) at the start of the simulation |
||
Default |
0
If unset and running a cosmological simulation (the default), the initial \(t\) will really be set in accordance with the initial scale factor and the cosmology. |
||
Elaboration |
You may not set both |
||
Example 0 |
Begin simulation at time \(t = 10\,\text{Myr}\): t_begin = 10*Myr
|
primordial_spectrum
Description |
Parameters for specifying the primordial curvature perturbation (power spectrum) |
||
Default |
{
'A_s' : 2.1e-9, # amplitude
'n_s' : 0.96, # tilt / spectral index
'α_s' : 0, # tilt running
'pivot': 0.05/Mpc, # pivot scale
}
|
||
Elaboration |
Linear power spectra can be written as \(P_{\text{lin}}(a, k) = \zeta^2(k) T^2(a, k)\), with \(T(a, k)\) some transfer function (obtained from CLASS) and \(\zeta(k)\) the primordial curvature perturbation. CONCEPT adopts the parametrisation
\[\require{upgreek}
\zeta(k) = \uppi \sqrt{2A_{\text{s}}} k^{-\frac{3}{2}} \biggl(\frac{k}{k_{\text{pivot}}}\biggr)^{\frac{n_{\text{s}} - 1}{2}} \exp\biggl[\frac{\alpha_{\text{s}}}{4} \ln\biggl(\frac{k}{k_{\text{pivot}}}\biggr)^2\biggr]\, ,\]
where \(A_{\text{s}}\) ( Note that though these exists as CLASS parameters, you should never set any of these primordial parameters in class_params. CLASS is only responsible for the transfer functions \(T(a, k)\), with CONCEPT performing the scaling by \(\zeta(k)\). |
||
Example 0 |
Enhance the primordial perturbations, leading to stronger clustering: primordial_spectrum = {
'A_s': 2.3e-9,
}
Note Non-specified items in |
class_params
Description |
Parameters to pass on to the CLASS code |
||
Default |
{} # default CLASS parameters except H0, Omega_b, Omega_cdm
|
||
Elaboration |
CONCEPT relies on the
CLASS code for computing the
cosmological background (unless
enable_class_background is class_params = {
'H0' : H0/(km/(s*Mpc)),
'Omega_b' : Ωb,
'Omega_cdm': Ωcdm,
}
You thus never have to (and should not) include any of
these three parameters in Any CLASS parameters not specified in Note Note that the most basic CLASS cosmology obtained
from |
||
Example 0 |
Use a cosmology with a slightly warmer CMB: class_params = {
'T_cmb': 2.8, # in K
}
Note Unlike CONCEPT, CLASS do assume its input
parameters to be specified using particular units.
As the |
||
Example 1 |
Use a cosmology with three massive neutrinos with a total mass of \(\sum m_\nu = 0.1\, \text{eV}\): class_params = {
'N_ur' : 0, # no massless neutrinos
'N_ncdm' : 1, # one massive neutrino
'deg_ncdm': 3, # three times degenerate
'm_ncdm' : 0.1/3, # Σmν = 0.1 eV
}
Note Using a cosmology with massive neutrinos also defines
the inferred parameter See the tuturial for a walk-through of using a cosmology with massive neutrinos. |
||
Example 2 |
Use a cosmology with massive neutrinos of (possibly) different masses: # List of neutrino (ν) masses, possibly containing duplicates
_mν = [0*eV, 8.7e-3*eV, 5.0e-2*eV] # any number of masses allowed
_N_eff = 3.046 # effective number of ν species
class_params = {
'N_ur' : 0, # no massless ν
'N_ncdm' : len(set(_mν)), # number of ν species with unique masses
'deg_ncdm': [ # number of ν species for each mass
_mν.count(mν) for mν in sorted(set(_mν))
],
'm_ncdm' : [ # ν masses (avoid exact value of 0.0)
max(mν/eV, 1e-100) for mν in sorted(set(_mν))
],
'T_ncdm' : [ # ν temperatures
(4/11)**(1/3)*(_N_eff/len(_mν))**(1/4)
]*len(set(_mν)),
}
In the above we additionally specify the neutrino temperature (equal for all neutrino species), parametrised via the effective number of neutrinos \(N_{\text{eff}}\), as
\[T_{\nu} = \biggl(\frac{4}{11}\biggr)^{\frac{1}{3}} \biggl(\frac{N_{\text{eff}}}{N_{\nu}}\biggr)^{\frac{1}{4}} T_{\gamma}\, ,\]
with \(N_{\nu}\) the integer number of massive
neutrino species and \(T_{\gamma}\) the photon
temperature Note In the above parameter specification we use
Note The above parameter specification is more involved
than it needs to be. What one gains from this is a
more efficient CLASS computation, as specifying
multiple neutrinos with equal mass in |
||
Example 3 |
By default, CLASS adjusts the density parameter \(\Omega_{\Lambda}\) of the cosmological constant \(\Lambda\) to ensure a flat universe, given the specified amounts of matter, photons, neutrinos, etc. If we instead wish to have dynamic dark energy, with equation of state parametrised as \(w(a) = w_0 + (1 - a)w_a\), we can request it like so: class_params = {
'Omega_Lambda': 0, # disable cosmological constant
'w0_fld' : -0.8,
'wa_fld' : 0.1,
}
See the tuturial for a walk-through of using a cosmology with dynamical dark energy. |
enable_class_background
Description |
Specifies whether to use CLASS to solve the cosmological background evolution |
||
Default |
True
|
||
Elaboration |
The CLASS code is fully integrated within CONCEPT and provides the cosmological background (e.g. \(a(t)\)) as well as linear perturbations, the latter used for e.g. generation of initial conditions. The background computation within CLASS takes all species into account. Even in the most basic case of not specifying any CLASS parameters, this includes radiation (photons and massless neutrinos), matter (baryons and cold dark matter) and a cosmological constant. Alternatively, CONCEPT implements a simplified background containing just matter and a cosmological constant. |
||
Example 0 |
Swap the full CLASS background with a simplified background containing just matter and a cosmological constant: enable_class_background = False
This is useful when seeking compatibility with other simulation codes which use this simplified background. |