# Maximum mass of the observable universe

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.

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 $$\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$$):

### 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)

• 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? Aug 29, 2022 at 17:59
• @ProfRob That's because I accidentally flipped the "com" and "phy" subscripts. Thanks!
– pela
Aug 30, 2022 at 6:23
• 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)? Aug 30, 2022 at 16:34
• @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
Aug 30, 2022 at 19:22
• 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
Aug 30, 2022 at 19:26