<p>Yes, the mass of the observable Universe increases from <span class="math-container">$\sim 0$</span> at Big Bang, asymptotically to a maximum of <span class="math-container">$\sim 10^{24} M_\odot$</span>.</p>
<h3>The particle horizon</h3>
<p>The observable Universe is, at any time <span class="math-container">$t$</span>, the region from within which light has had the time to reach us in <span class="math-container">$t$</span>. This region is bounded by the <em>particle horizon</em> (PH), the radius <span class="math-container">$r_\mathrm{PH}$</span> of which always increases.</p>
<p>If there were no dark energy (DE), <span class="math-container">$r_\mathrm{PH}$</span> would increase to arbitrarily large values — in other words, there would be no galaxy in the Universe, no matter how distant, that we could not receive light from, if we're just patient enough (in principle, that is. In practise light from very distant galaxies would be diluted and redshifted beyond detectability, but that's not the point here).</p>
<h3>Physical vs. comoving coordinates</h3>
<p>However, DE accelerates the Universe exponentially, which does set a maximum distance. As you say, <span class="math-container">$r_\mathrm{PH}(t\rightarrow\infty) \simeq 63\,\mathrm{Glyr}$</span>, but this value is in <em>comoving coordinates</em>, i.e. the coordinates that expand along with the Universe. These coordinates aren't &quot;physical&quot;; physical coordinates are what you would measure if you magically froze the Universe and laid out measuring rods. They do however have units of distance, and are defined by
<span class="math-container">$$
r_\mathrm{phy} = a(t)\,r_\mathrm{com},
$$</span>
where <span class="math-container">$a(t)$</span> is the &quot;scale factor&quot; of the Universe, a number that describes the expansion.</p>
<p>By definition, <span class="math-container">$a$</span> is set to <span class="math-container">$1$</span> today, so today physical and comoving coordinates coincide. When in the past <span class="math-container">$a$</span> was, say, <span class="math-container">$0.5$</span>, all galaxies were closer to each other in <em>physical</em> coordinates, but their comoving coordinates were (almost) the same.</p>
<p>In comoving coordinates we can write the distance to the PH as the <a href="https://en.wikipedia.org/?title=Conformal_time" rel="nofollow noreferrer">conformal time</a> <span class="math-container">$\eta$</span>, times the speed of light <span class="math-container">$c$</span>:
<span class="math-container">$$
\begin{array}{rcl}
r_\mathrm{PH,com}(t) &amp; = &amp; c \eta(t) \\
&amp; = &amp; c \int_0^t \frac{dt'}{a(t')} \\
&amp; = &amp; c \int_{0}^{t_0}\frac{dt'}{a(t')}
    + c \int_{t_0}^t \frac{dt'}{a(t')} \\
&amp; = &amp; c \int_{0}^{t_0}\frac{dt'}{a(t')}
    - c \int_t^{t_0}\frac{dt'}{a(t')}
\end{array}
$$</span></p>
<p>In the last line, I written the integral as the distance to the PH <em>today</em> (&quot;<span class="math-container">$t_0$</span>&quot;), minus the comoving distance to a light source seen today that emitted a photon at time <span class="math-container">$t$</span>. I will use this expression in the program below.</p>
<h3>The past</h3>
<p>Going back in time, the size, and hence mass, of the observable Universe shrinks to <span class="math-container">$\sim 0$</span>, since right after the Big Bang, light hadn't had time to travel anywhere.</p>
<h3>The future</h3>
<p>So, the observable Universe expands because 1. the Universe expands (<span class="math-container">$a$</span> increases), and 2. light from more distant regions have had the time to reach us. And according to our current undestanding of cosmology, <span class="math-container">$a\rightarrow\infty$</span>, so although <span class="math-container">$r_\mathrm{PH,com}$</span> reaches 63 Glyr asymptotically, <span class="math-container">$r_\mathrm{PH,phy}$</span> increases without bounds.</p>
<p>Calculating the mass inside the observable Universe at a time <span class="math-container">$t$</span> is most easily done in comoving coordinates, because in these coordinates densities of stuff that isn't redshifted or otherwise changes properties stay constant, and is equal to the density today,
<span class="math-container">$$
\rho_\mathrm{m,0} = \rho_\mathrm{c,0}\,\Omega_\mathrm{m,0},
$$</span>
where <span class="math-container">$\rho_\mathrm{c,0}$</span> is the total density of all mass and energy today, and <span class="math-container">$\Omega_\mathrm{m,0}\simeq0.3$</span> is the fraction of that which is mass (dark+baryonic). That is, we factor out the expansion (point 1 above), and only consider the increasing distance from time going (point 2 above).</p>
<p>In the plot below you see the evolution of the mass of the observable Universe. In the zoom-in, you can see that after around <span class="math-container">$t\simeq100\,\mathrm{Gyr}$</span>, the observable Universe won't increase much more in mass, only slowly approaching a limit of <span class="math-container">$\sim1.2\times10^{24}M_\odot$</span> (that's only <span class="math-container">$\sim2.5$</span> times the current mass, reflecting that fact that the ratio of the future max volume to the current volume is <span class="math-container">$\simeq (63/46)^3 \simeq 2.5$</span>):</p>
<p><a href="https://i.sstatic.net/BBdzo.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/BBdzo.png" alt="mass" /></a></p>
<h3>The code</h3>
<p>You can make the figure yourself using Python's <code>astropy</code> module, but note that its <code>age</code> function doesn't work well for very early ages:</p>
<pre><code>from astropy.cosmology import Planck18
from astropy import units as u
import numpy as np
import matplotlib.pyplot as plt

def particle_horizon_comoving(z,cosmo,zinf=2e6):
    &quot;&quot;&quot;
    Comoving distance to the particle horizon at redshift z.
    dinf is calculated using `comoving_distance`, which involves an integral
    that doesn't converge for z &gt; ~1e6-1e7, depending on cosmology. For
    WMAP/Planck cosmologies, z ~ 2e7 is okay, but for H0=68-73 and Om0=28-32,
    there's an unphysical dip to &lt;0 around z ~ 1e6. The value z = 2e6 doesn't
    give errors for a wide range of cosmologies, so that's what I use for 'z =
    inf'.  This means that this function shouldn't be trusted for z &gt; ~1e6.

    dP increases from ~0 at z~inf, to ~46.3 Glyr at z=0, to ~63 Glyr at z=-1.
    &quot;&quot;&quot;
    d   = cosmo.comoving_distance(z)    # Distance to an object at z
    dBB = cosmo.comoving_distance(zinf) # Distance to an object at z=inf, i.e. dP today
    return dBB - d
#------------------------------------------------------------------------------

def plot_mass(cosmo=Planck18):
    z    = np.concatenate([np.logspace(4,-2,61),
                           np.linspace(0,-1,101)])      # Redshift from t=0 to t=inf
    t    = cosmo.age(z)                                 # Age of Universe
    rhom = cosmo.critical_density0 * cosmo.Om0          # Current mass density
    dph  = particle_horizon_comoving(z,cosmo)           # Radius of observable Universe
    v    = 4*np.pi/3 * dph**3                           # Volume -&quot;-
    mass = (rhom * v).to(u.Msun)                        # Mass   -&quot;- in Solar masses

    #Values today:
    t0   = cosmo.age(0)
    dph0  = particle_horizon_comoving(0,cosmo)
    v0    = 4*np.pi/3 * dph0**3
    mass0 = (rhom * v0).to(u.Msun)

    plt.clf()
    plt.xscale('log')
    plt.yscale('log')
    plt.xlabel('Age of Universe in giga-years',fontsize=14)
    plt.ylabel('Mass of observable Universe in Solar masses',fontsize=14)
    plt.plot(t,mass,'-b',lw=3)
    plt.scatter([t0.value],[mass0.value],color='r',s=200,zorder=10)
    plt.annotate('Today',[t0.value*2,mass0.value/2],color='r',fontsize=14)
</code></pre>

CC BY-SA 4.0
2022-08-29T17:59:14.813Z
I'm not following why if $a \rightarrow \infty$ and $r_{\rm com} \rightarrow 63$ Gly, your relationship (1st eqn) doesn't lead to $r_{\rm phy} \rightarrow 0$ ? Is something the wrong way around?
ProfRob
CC BY-SA 4.0
2022-08-30T06:23:46.323Z
@ProfRob That's because I accidentally flipped the "com" and "phy" subscripts. Thanks!
pela
CC BY-SA 4.0
2022-08-30T16:34:29.167Z
Does it take the drop in density of DM/matter into account (i.e. the newly added observable volume will be of lower density than the current universe)?
Kontrola Faktů
CC BY-SA 4.0
2022-08-30T19:22:11.717Z
@KontrolaFaktů Yes, because I do the calculation in comoving coordinates, where the density is constant, not lower. In com. coords. the mass always increases, because we receive light from a constantly expanding bubble. Expanding not because of the Universe's expansion (the Universe doesn't expand in com. coords.), but because light from increasingly distant region reaches us.
pela
CC BY-SA 4.0
2022-08-30T19:26:26.613Z
When we say that we asymptotically reach a comoving radius of 63 Glyr, that means that the max region we will see is 63 Glyr in radius _today_. The mass inside that region is 1e24 Msun _today_, and it was 1e24 Msun yesterday and 10 billion years ago. But it is not yet inside our observable Universe. Our obs. Uni. is 46 Glyr in radius, so today we only see (46/63)^3 = 39% of it.
pela
CC BY-SA 4.0
2022-08-29T14:55:20.433Z
2022-08-30T11:03:45.527Z
2022-08-30T11:03:45.527Z
pela
<p>As I understand it, the maximum radius of the observable universe will be about 62.9 billion ly (at t = ∞). Does it mean that the observable universe will reach a maximum mass (baryonic + dark matter)? And if so, is there an easy way/plot to find out what it will be and how it will change afterwards?</p>
<p>And does it work the other way - was there a minimum mass just after the big bang? I'm asking because I'd like to create a plot of the mass of observable universe (dark + baryonic) vs time.</p>

<universe><time><mass>
Maximum mass of the observable universe
Kontrola Faktů
# Maximum mass of the observable universe

(Asked by: username_0 on 2022-08-29)

As I understand it, the maximum radius of the observable universe will be about 62.9 billion ly (at t = ∞). Does it mean that the observable universe will reach a maximum mass (baryonic + dark matter)? And if so, is there an easy way/plot to find out what it will be and how it will change afterwards?

And does it work the other way - was there a minimum mass just after the big bang? I'm asking because I'd like to create a plot of the mass of observable universe (dark + baryonic) vs time.

**Tags:** universe, time, mass


---

## 1 answers

### Answer by username_1 on 2022-08-29. Score: 5 | Accepted answer

Yes, the mass of the observable Universe increases from $\sim 0$ at Big Bang, asymptotically to a maximum of $\sim 10^{24} M\_\odot$.

### The particle horizon

The observable Universe is, at any time $t$, the region from within which light has had the time to reach us in $t$. This region is bounded by the *particle horizon* (PH), the radius $r\_\mathrm{PH}$ of which always increases.

If there were no dark energy (DE), $r\_\mathrm{PH}$ would increase to arbitrarily large values — in other words, there would be no galaxy in the Universe, no matter how distant, that we could not receive light from, if we're just patient enough (in principle, that is. In practise light from very distant galaxies would be diluted and redshifted beyond detectability, but that's not the point here).

### Physical vs. comoving coordinates

However, DE accelerates the Universe exponentially, which does set a maximum distance. As you say, $r\_\mathrm{PH}(t\rightarrow\infty) \simeq 63\,\mathrm{Glyr}$, but this value is in *comoving coordinates*, i.e. the coordinates that expand along with the Universe. These coordinates aren't "physical"; physical coordinates are what you would measure if you magically froze the Universe and laid out measuring rods. They do however have units of distance, and are defined by
$$
r\_\mathrm{phy} = a(t)\,r\_\mathrm{com},
$$
where $a(t)$ is the "scale factor" of the Universe, a number that describes the expansion.

By definition, $a$ is set to $1$ today, so today physical and comoving coordinates coincide. When in the past $a$ was, say, $0.5$, all galaxies were closer to each other in *physical* coordinates, but their comoving coordinates were (almost) the same.

In comoving coordinates we can write the distance to the PH as the [conformal time](https://en.wikipedia.org/?title=Conformal_time) $\eta$, times the speed of light $c$:
$$
\begin{array}{rcl}
r\_\mathrm{PH,com}(t) & = & c \eta(t) \\
& = & c \int\_0^t \frac{dt'}{a(t')} \\
& = & c \int\_{0}^{t\_0}\frac{dt'}{a(t')}
+ c \int\_{t\_0}^t \frac{dt'}{a(t')} \\
& = & c \int\_{0}^{t\_0}\frac{dt'}{a(t')}
- c \int\_t^{t\_0}\frac{dt'}{a(t')}
\end{array}
$$

In the last line, I written the integral as the distance to the PH *today* ("$t\_0$"), minus the comoving distance to a light source seen today that emitted a photon at time $t$. I will use this expression in the program below.

### The past

Going back in time, the size, and hence mass, of the observable Universe shrinks to $\sim 0$, since right after the Big Bang, light hadn't had time to travel anywhere.

### The future

So, the observable Universe expands because 1. the Universe expands ($a$ increases), and 2. light from more distant regions have had the time to reach us. And according to our current undestanding of cosmology, $a\rightarrow\infty$, so although $r\_\mathrm{PH,com}$ reaches 63 Glyr asymptotically, $r\_\mathrm{PH,phy}$ increases without bounds.

Calculating the mass inside the observable Universe at a time $t$ is most easily done in comoving coordinates, because in these coordinates densities of stuff that isn't redshifted or otherwise changes properties stay constant, and is equal to the density today,
$$
\rho\_\mathrm{m,0} = \rho\_\mathrm{c,0}\,\Omega\_\mathrm{m,0},
$$
where $\rho\_\mathrm{c,0}$ is the total density of all mass and energy today, and $\Omega\_\mathrm{m,0}\simeq0.3$ is the fraction of that which is mass (dark+baryonic). That is, we factor out the expansion (point 1 above), and only consider the increasing distance from time going (point 2 above).

In the plot below you see the evolution of the mass of the observable Universe. In the zoom-in, you can see that after around $t\simeq100\,\mathrm{Gyr}$, the observable Universe won't increase much more in mass, only slowly approaching a limit of $\sim1.2\times10^{24}M\_\odot$ (that's only $\sim2.5$ times the current mass, reflecting that fact that the ratio of the future max volume to the current volume is $\simeq (63/46)^3 \simeq 2.5$):

[![mass](https://i.sstatic.net/BBdzo.png)](https://i.sstatic.net/BBdzo.png)

### The code

You can make the figure yourself using Python's `astropy` module, but note that its `age` function doesn't work well for very early ages:

```
from astropy.cosmology import Planck18
from astropy import units as u
import numpy as np
import matplotlib.pyplot as plt

def particle_horizon_comoving(z,cosmo,zinf=2e6):
    """
    Comoving distance to the particle horizon at redshift z.
    dinf is calculated using `comoving_distance`, which involves an integral
    that doesn't converge for z > ~1e6-1e7, depending on cosmology. For
    WMAP/Planck cosmologies, z ~ 2e7 is okay, but for H0=68-73 and Om0=28-32,
    there's an unphysical dip to <0 around z ~ 1e6. The value z = 2e6 doesn't
    give errors for a wide range of cosmologies, so that's what I use for 'z =
    inf'.  This means that this function shouldn't be trusted for z > ~1e6.

    dP increases from ~0 at z~inf, to ~46.3 Glyr at z=0, to ~63 Glyr at z=-1.
    """
    d   = cosmo.comoving_distance(z)    # Distance to an object at z
    dBB = cosmo.comoving_distance(zinf) # Distance to an object at z=inf, i.e. dP today
    return dBB - d
#------------------------------------------------------------------------------

def plot_mass(cosmo=Planck18):
    z    = np.concatenate([np.logspace(4,-2,61),
                           np.linspace(0,-1,101)])      # Redshift from t=0 to t=inf
    t    = cosmo.age(z)                                 # Age of Universe
    rhom = cosmo.critical_density0 * cosmo.Om0          # Current mass density
    dph  = particle_horizon_comoving(z,cosmo)           # Radius of observable Universe
    v    = 4*np.pi/3 * dph**3                           # Volume -"-
    mass = (rhom * v).to(u.Msun)                        # Mass   -"- in Solar masses

    #Values today:
    t0   = cosmo.age(0)
    dph0  = particle_horizon_comoving(0,cosmo)
    v0    = 4*np.pi/3 * dph0**3
    mass0 = (rhom * v0).to(u.Msun)

    plt.clf()
    plt.xscale('log')
    plt.yscale('log')
    plt.xlabel('Age of Universe in giga-years',fontsize=14)
    plt.ylabel('Mass of observable Universe in Solar masses',fontsize=14)
    plt.plot(t,mass,'-b',lw=3)
    plt.scatter([t0.value],[mass0.value],color='r',s=200,zorder=10)
    plt.annotate('Today',[t0.value*2,mass0.value/2],color='r',fontsize=14)

```

> **Comments:**
> **username_2**: I'm not following why if $a \rightarrow \infty$ and $r_{\rm com} \rightarrow 63$ Gly, your relationship (1st eqn) doesn't lead to $r_{\rm phy} \rightarrow 0$ ? Is something the wrong way around?  
> **username_1**: @username_2 That's because I accidentally flipped the "com" and "phy" subscripts. Thanks!  
> **username_0**: Does it take the drop in density of DM/matter into account (i.e. the newly added observable volume will be of lower density than the current universe)?  
> **username_1**: @username_0 Yes, because I do the calculation in comoving coordinates, where the density is constant, not lower. In com. coords. the mass always increases, because we receive light from a constantly expanding bubble. Expanding not because of the Universe's expansion (the Universe doesn't expand in com. coords.), but because light from increasingly distant region reaches us.  
> **username_1**: When we say that we asymptotically reach a comoving radius of 63 Glyr, that means that the max region we will see is 63 Glyr in radius _today_. The mass inside that region is 1e24 Msun _today_, and it was 1e24 Msun yesterday and 10 billion years ago. But it is not yet inside our observable Universe. Our obs. Uni. is 46 Glyr in radius, so today we only see (46/63)^3 = 39% of it.  

---

