Skip to main content
Physics LibreTexts

30: The First Few Hundred Thousand Years: The Dynamics of the Primordial Plasma

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)


    **This chapter is Under Construction** You probably noticed in the previous chapter that the power spectrum of the CMB has a series of peaks in it. In this chapter we will explain the origin of those peaks as arising from the acoustic dynamics in the primordial plasma. 

    Waves in the Plasma

    The microphysical composition of the plasma is not too important for our presentation here. What is important is that we can model it as a fluid. We can model a system of particles as a fluid when they rapidly scatter off of each other. The validity of the fluid approximation is a matter of length scale, becoming valid on scales that are large compared to the mean free path, the typical distance traveled by a particle before being scattered by another particle. On sufficiently large scales we can ignore the details of the trajectories of individual particles and model the system as being completely defined everywhere by a density, pressure, and velocity at every point in space and time. When we do so, we say we are modeling the medium as a fluid. Another example of a system of particles that can be well-approximated as a fluid is the air in the room you are in, where the mean free path of a nitrogen molecule is about \(10^{-5}\) cm.

    The primordial plasma was extremely uniform, with density varying from one place to another by as little as about 0.001%. That’s what we meant earlier by ‘gently disturbed away from equilibrium.’ Very gently! Associated with these small variations in density are both variations in the pressure and gravitational potential. Gradients in the pressure and gravitational potential result in forces on the plasma that drive the evolution of its density and velocity. If we ignore gravity (and the expansion of space), the dynamics of the plasma are governed by a simple wave equation:

    \[\frac{\partial^2 \Psi}{ \partial t^2} = c_s^2 \nabla^2 \Psi \]

    where \(\Psi = \delta \rho\) is the plasma density minus the spatially averaged plasma density, \(c_s^2 = \partial P/\partial \rho\) is the square of the sound speed in the plasma, and \(P\) is the pressure of the plasma. Recall also that \(\nabla^2 \Psi = \frac{\partial^2 \Psi} {\partial x^2} + \frac{\partial^2 \Psi} {\partial y^2} + \frac{\partial^2 \Psi} {\partial z^2}\).

    Although gravity and expansion do play very important roles in the behavior of the plasma, we postpone the discussion of these complications until later. For now, this simple equation is sufficient for a qualitative understanding of the dynamics of the plasma and the origin of the acoustic peaks.

    To give you some feel for how the density evolves under this wave equation, we show here how a localized spherical overdensity evolves in time, assuming the fluid initially has zero velocity. The pressure gradients drive the fluid outward in a shell -- seen here in this 2-dimensional slice as a ring. 


    Acoustic Oscillations in a Guitar String

    Before further discussion of the ancient plasma that filled the infant universe, let's consider a system that's a bit closer to home: guitar strings. Although these two systems may seem very different, they have similar dynamics. Both are governed by the same wave equation.

    Introducing the Wave Equation

    For the guitar string, in just one dimension:

    \[\frac{\partial^2 \Psi (x, t)} { \partial t^2} = v^2 \frac{\partial^2 \Psi (x, t)} {\partial x^2} \]

    Here, \(\Psi (x, t) \) is the displacement of the guitar string at a given point along the string and \( v \) is the velocity of a wave traveling on the guitar string (determined by the tension and density of the string).

    We won't take the time to derive the wave equation, but instead we'd like to give some intuition for where it comes from. Consider the segment at the center of the guitar string, \( x = \frac{1}{2} L\), where L is the length of the string. Then, \( \frac{\partial^2 \Psi (L/2, t)} { \partial t^2} \) is the acceleration of that segment, which is proportional to the force on that segment. Recall that the second derivative with respect to space, \( \frac{\partial^2 \Psi (x, t)} {\partial x^2} \) is related to the concavity of the segment. That is, if \( \frac{\partial^2 \Psi (L/2, t)} {\partial x^2} \) is large, the string is very bent at the center. If \( \frac{\partial^2 \Psi (L/2, t)} {\partial x^2} \) is zero, then the string is straight. The wave equation states that the force on a segment of string is proportional to the curvature of the string at that point. To make this more clear, watch the following animation. Does the idea that force is proportional to curvature match your intuition?

    There are two important takeaways from the video. First, we see that the force on the string at a given x is proportional to the curvature at that point. This makes intuitive sense! Second, we notice that since the force is higher, strings with higher curvatures oscillate faster. Also notice that the curves with high curvature have smaller features. As the width of the bump shrinks, the curvature and force increase. Likewise, the sine wave with a smaller wavelength has greater curvatures and forces. This is important to understanding the power spectrum of the CMB, as features of the CMB with smaller angular scale oscillate faster.

    Acoustic Oscillations in the Primordial Plasma

    Here we explain the existence of the bumps and wiggles in the power spectrum.

    Simplified Evolution Equation

    The photon background at any point in the sky has some temperature; we call this the temperature monopole, the \(\ell = 0\) mode, and denote its fractional departure from the mean temperature as \(\Theta_0 \equiv (T - \bar T)/\bar T\) where the bar here indicates an average over all space. Note that \(\Theta_0\) is a function of time and space and the zero subscript refers to the monopole aspect; it is not indicating the current epoch. Here we are going to write down a simplified equation for the evolution of this monopole field under the influence of pressure gradients.

    Since the photons have a black body distribution, there is a relationship between temperature and density, \(\rho_\gamma \propto T^4\), which leads to \(\delta\rho_\gamma/\rho_\gamma = 4 \Theta_0\). The main thing to note is that the the density and temperature of the plasma are proportional. More dense plasma is hotter, whereas less dense regions will be cooler. So as we are evolving the temperature \(\Theta_0\) we are also evolving the plasma density.

    Like the guitar string, the temperature perturbations obey the wave equation. Moving to Fourier space and using the notation \( \tilde \Theta_0 = \mathcal{F} ( \Theta_0 ) \), we have the same equation we found previously:

    \[ \frac{ d^2 \tilde \Theta_0 } { dt^2 } = - k^2 c_s^2 \tilde \Theta_0 \]

    where \(c_s \) is the speed of sound in the plasma. The speed of sound in the plasma is related to properties of the medium it travels through: \(c_s^2 \equiv \partial P/\partial \rho \).

    So in Fourier space, the plasma dynamics are given by:

    \[ \tilde \Theta_0 = \mathcal{F} \bigg ( \Psi (x, t = 0) \bigg ) \cos{ (k c_s t) } \]

    Moving from One to Three Dimensions

    The guitar string was a great starting point, because it was a one-dimensional case (the string's displacement is a function only of x). On the other hand, the primordial plasma filled the entire universe, so \( \Theta_0 \) is a function of x, y, and z. Luckily, the same tools we used before easily extend to more dimensions.

    Now, let \( \vec{x} = \langle x, y, z \rangle \) and \( \vec{k} = \langle k_x, k_y, k_z \rangle \).

    The Fourier transform is now defined as:

    \[ \mathcal{F} (h( \vec{x} )) = g( \vec{k}) = \int_{-\infty}^{\infty} e^{i \vec{k} \cdot \vec{x} } h( \vec{x} ) dx dy dz \]

    and the inverse Fourier transform likewise:

    \[ \mathcal{F}^{-1} (g( \vec{k} )) = h(\vec{x} ) = \int_{-\infty}^{\infty} e^{-i \vec{k} \cdot \vec{x} } g( \vec{k} ) dk_x dk_y dk_z \]

    Notice that to extend to more dimensions, we simply use vectors and dot products instead of scalars and multiplication.

    You might be a little uncertain what it means for k, the 'wave number', to be a vector. In multiple dimensions, the magnitude of \( \vec{k} \) determines the wavelength and the direction of \( \vec{k} \) is the direction of propagation of the wave. The example below shows the wave \( \sin( \vec{k} \cdot \vec{x} ) \) (in red checkerboard) for many different values of \( \vec{k} \) (the white arrow).

    Initial Conditions of the Plasma

    The last key to understanding the evolution of the primordial plasma is the initial conditions. The initial power spectrum was random noise with a power spectrum of \( 1/k^3 \). The random noise came from quantum fluctuations that were amplified and 'baked-in' to the plasma during inflation. The power spectrum was initially \( 1/k^3 \) because the plasma was scale invariant. A scale invariant plasma has the following property: imagine taking a snapshot of a 1 Mpc by 1 Mpc area of plasma and another snapshot of a 1,000 Mpc by 1,000 Mpc area; the two snapshots would be indistinguishable.

    Using this information, we can now make artificial initial conditions for the primordial plasma in 3-dimensions. The procedure is as follows:

    1. Create a 3D grid of white noise. These are the random fluctuations in the plasma.
    2. Fourier transform the white noise to move to Fourier space.
    3. Multiply the grid by \(1/ k^{3/2}\) to get the right power spectrum. Note that \( k = \| \vec{k} \| = \sqrt{k_x^2+k_y^2+k_z^2} \)
    4. Inverse Fourier transform the grid to move back to real space. We now have some artificial initial conditions for the plasma density. 

    A Python script that does this procedure in two dimensions is shown below. Try running it a few times to see several different initial conditions. Notice that while they are each unique, they all have the same statistical properties.

    import numpy as np
    import matplotlib.pyplot as plt
    resolution = 2**8 # Number of pixels on each side of map
    # Creates a 2D grid of noise in Fourier space
    noise = np.random.normal(0,1, size = (resolution,resolution))
    noise_ft = np.fft.fft2(noise)
    # Defines K-vector over the grid
    KX, KY = np.meshgrid(np.linspace(-1, 1, resolution), np.linspace(-1, 1, resolution))
    K_magnitude = np.sqrt(KX**2 + KY**2)
    # Give the noise the power spectrum we want
    fourier_space_grid = K_magnitude**(-3/2) * noise_ft
    # Use the inverse Fourier transform to create a CMB map in real space
    CMB_map = np.fft.ifftn( np.fft.fftshift(fourier_space_grid)).real
    # Plots and displays CMB map
    plt.imshow(CMB_map, cmap = 'plasma')
    <matplotlib.image.AxesImage at 0x7faffbd78690>

    Evolving the Plasma

    We have both initial conditions and a solution to the wave equation. Our last step is to tie everything together so we can see the plasma evolve. This is actually quite simple. Using the same technique as the previous section, we generate initial conditions. Then, in Fourier space we multiply our initial conditions by \( \cos( \| \vec{k} \| c_s t) \) to get \( \tilde \Theta_0 \). Finally, we inverse Fourier transform \( \tilde \Theta_0 \) so that we have a solution in real space, \( \Theta_0\).

    Using this technique, we've created an animation of the primordial plasma evolving below. In order to visualize the opaque plasma, we've removed all but a cube of plasma with side lengths of 1024 Mpc. It is amazing that the simple wave equation can lead to such complexity and beauty.


    Evolution of the Power Spectrum

    Below, we show an animation of the same cube of plasma, but now the power spectrum is also shown on the right side. We can see that lower frequencies (on the left side of the x-axis) oscillate more slowly, whereas higher frequencies (on the right side) oscillate more quickly. Over time, this creates the peaks and dips that we see in the power spectrum. (Note, the video loops several times)

    In this chapter, we've come all the way from the simple wave equation to an understanding of the mechanism which created the peaks and troughs in the power spectrum of the cosmic microwave background. Also, we know how to use Fourier methods to solve linear partial differential equations.

    This page titled 30: The First Few Hundred Thousand Years: The Dynamics of the Primordial Plasma is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Lloyd Knox.

    • Was this article helpful?