How to compute the CMB power spectrum AST5220 –

AST5220 – lecture 3
How to compute the CMB
power spectrum
Hans Kristian Eriksen
January 20th, 2010
Question: How do we go from cosmological parameters to a CMB
power spectrum?
Four main steps:
Compute the background cosmology
How does the average properties of the universe evolve with time?
Compute the ionization history of the universe
How many free electrons are there as a function of time?
Given some initial structure, compute its evolution until today
How do structures grow or decay in time?
Given the 3D structures today, project the photon distribution onto a
2D sphere
What do the mean CMB fluctuations look like today?
Background cosmology
Recall the definition of the Friedmann-Robertson-Walker metric for
flat space (k=0):
ds2 = −c2 dt2 + a2 (t)(dx2 + dy 2 + dz 2 )
This tells us how to measure distances in 4D spacetime
(If you’ve never seen this before, don’t worry: More details will be
provided next week ☺)
a(t) is called the scale factor, and measures the ”size of the
universe” as a function of time
Today we define this to be 1; a(today) = a0 = 1
We need to know a(t)
Cosmological parameters
First, we will only consider flat universes in this course
Important consequence: Light travels in straight lines
The following cosmological parameters will be considered:
The Hubble parameter, H0
How fast does the universe expand today?
Measured in km/s / Mpc
Typical value is 70 km/s / Mpc
The dark matter density, Ωm
How much dark matter is there, relative to the critical density?
Typical value is 0.24
The baryon density, Ωb
How much baryonic matter is there, relative to the critical density?
Typical value is 0.04
Also A and ns (from inflation), and Ωr and ΩΛ
Ωr is fixed by the CMB temperature today (T = 2.73 K)
ΩΛ is simply adjusted in order to make the universe flat; Ωm+ Ωb+ Ωr+ ΩΛ = 1
Background evolution
Einstein’s equations for a uniform and homogeneous universe lead to
the Friedmann equation:
H = H0
(Ωm + Ωb )a−3 + Ωr a−4 + ΩΛ
where we have defined the Hubble parameter as
1 da
a dt
This is a simple differential equation in a(t)
We also define H = aH since this enters into most computations
Assignment 1a: Compute H and H as functions of time (or a)
Useful time variables
We will use four different ”time variables”
t = physical time, measured in seconds
a(t) = scale factor, relative to today
x(t) = log(a(t))
η(t) = ”conformal time” = size of horizon at time t
Recall: The horizon is the distance that light may have travelled
since the Big Bang.
From GR, we know that light travels along null geodesics (ds2 = 0), such
0 = −c2 dt2 + a2 (t)dx2
To find the total distance light has travelled, we must integrate this from
equation from t’=0 to t’=t
c dt
Assignment 1b: Compute x(t) and η(t)
a2 H
Milestone 1: Background cosmology
Task: Compute H, H and η as functions of x
Write a module (”time_mod.f90” in F90) that integrates the Friedmann
equation, and stores the resulting functions in lookup tables
Write subroutines that can easily get any of these functions at arbitrary
Write a main program driver that initializes the time module, and then
outputs each of these functions to file
Plot the resulting functions (for instance using xmgrace), and some
other interesting functions, and write a short report
One of the main purposes of this step is to get the infrastructure
(Makefile, libraries, compilers etc.) working, before starting with the
harder stuff.
Next step: The ionization history
Recall: Photons scatter on free electrons by Thompson scattering
We need to know the probability for a photon to scatter off an
electron as a function of time
Quantified by ”optical depth”, τ
τ (η) =
ne σT adη
ne = electron density
σT = Thompson cross section (how likely is a single scattering?)
The integral goes from a given time until today
The optical depth indicates the absorption of a medium
Imagine you send a light ray with intensity I0 through a medium
The amount of light that survives at optical depth τ is I = I0 e
If τ = 0, no absorption occurs
If τ >> 1, one is guaranteed absorption
How to compute ne?
The difficult part is to compute ne as a function of time
This is done by solving the Saha equation (high densities) or
Peebles equation (intermediate and low densities)
Don’t worry: Much more on this when we get there ☺
Saha equation:
1 − Xe
me Tb
e−ǫ0 /Tb
Peebles equation:
Cr (Tb )
[β(Tb )(1 − Xe ) − nH α(2) (Tb )Xe2 ]
where Xe ≡
Auxiliary functions
We will not only need τ, but also a few functions derived from this
First and second derivatives:
τ =
The visibility function
g(x) = −aHτ ′ e−τ
and its derivatives
g = probability for scattering
at time x
τ = 2
Milestone 2: Recombination
Your task will be to compute τ, τ’, τ’’, g, g’ and g’’ as functions of x
Write a new module (e.g., rec_mod.f90) that solves the Saha and
Peebles’ equations, given a and H from the first project, and Ωb
Each function must be interpolated (e.g., splined), to be able to evaluate
at arbitrary times
There are some numerical issues here and there – these will be
explained in detail in the project description
After this milestone, we know how the average universe behaves,
and how photons scatter in this universe.
Next step is to figure out how perturbations behave
Gravitational structure formation
Gravitational structure formation
A quantitative description of the primordial fluid
Suppose we simply start out with some random 3D distributions of
dark matter (determines the overall gravitational potential)
baryons (determines where light comes from)
photons (determines what we can see)
The fluctuations in each field are quantified in terms a spatially 3D
Dark matter = δ(x) = (ρm(x) – ρm,0) / ρm,0
= δb(x) = (ρb(x) – ρb,0) / ρb,0
= Θ(x) = (T(x) – T0 ) / T0
In addition, the dark matter and baryons have velocities, v and vb,
and the photon distribution has a momentum, p
Our job is to find δ(x), δb(x), Θ(x), v (x), vb(x) as functions of time
The perturbed spacetime
It is not enough to know how the plasma perturbations behave – we
must also know how the perturbed spacetime behave
Recall the metric for uniform space:
ds2 = −c2 dt2 + a2 (t)δij dxi dxj
If small matter perturbations are present, the metric is also perturbed
We choose one particular way of perturbing the metric:
ds2 = −c2 (1 + 2Ψ)dt2 + a2 (t)δij (1 + 2Φ)dxi dxj
Ψ and Φ are scalar functions of both space and time
This is called the ”conformal Newtonian gauge”
Ψ corresponds to the Newtonian potential at a given time and place
Φ corresponds to the local curvature at a given time and place
Main point: Spacetime is now no longer uniform – its properties vary
in space and time
Summary of dynamical quantities
Baryon density:
Baryon velocity:
Dark matter density:
Dark matter velocity:
Photon distribution:
Newtonian potential:
δb(t, x)
vb(t, x)
δ(t, x)
v(t, x)
Θ(t, x, p)
Ψ(t, x)
Φ(t, x)
Need to find the equations that governs the
joint evolution of these functions
The Boltzmann and Einstein equations
Unfortunately, it is impossible to figure out the full evolution of the fluid
Instead, we will derive the linearized Boltzmann and Einstein equations:
Note: Don’t
worry that this
doesn’t make
any sense now
– we’ll come
back to all of
this in turn, slow
and ”easy” ☺
OK as long as fluctuations are small – and for CMB, they are
Good thing: Linear differential equations – straightforward to solve
Milestone 3: Evolution
Your task is to compute the evolution of all the dynamical variables
from a = 10-8 until today
Write a routine that computes the derivatives listed on the previous slide
Insert this into a standard ODE solver (F90 code provided)
Solve the equations for a grid in x and k (=Fourier wave number)
A few technical issues will arise
Very early, the density is very high
Equations become unstable
Need to make approximations, and solve in two different regimes
Tight coupling equations vs. full equations
From perturbations to CMB anisotropies
Finally, we need to figure out what the CMB anisotropies look like
today, from our point of view
sc C
at M
te B
rin la
g st
We use a ”line-of-sight” integration approach
Wave going through the universe
We know what the
CMB signalfor that
singlemode looks
like on the sky!
Overview of spectrum computation
Choose only one single Fourier mode going through the universe
Wave number = k
= 1 (arbitrary normalization)
= 0 (arbitrary normalization)
Evolve that mode from before recombination until today
Linearized Boltzmann and Einstein equations
Compute the contribution of that mode to the power spectrum, by
the line-of-sight integration method
Average over all possible phases
Trivial: Simply replace < Φ Φ* > with the Pk assumed set up by inflation
Sum up contributions from all k-modes
And we’re done!
Milestone 4: The CMB spectrum
Your task is to compute the expected CMB power spectrum using
the results computed for milestone 3
Compute a so-called ”source function”, S(k, x)
Simply amounts to multiplying previously computed quantities together, but
some interpolation is needed
Integrate this over x to produce a ”transfer function”, Θl(k)
Describes the net contribution from a single Fourier mode to the CMB power
Integrate this over k to produce the final power spectrum, Cl
Power spectrum, Cl l(l + 1)/2π (µK )
Teoretisk spektrum
Observert spektrum
Multipol moment, l
1. Compute the background evolution of the universe
2. Compute the recombination history of the universe
3. Compute the evolution of perturbations in the universe
4. Compute the power spectrum by projecting these
perturbation onto a sphere, and average over Fourier