The Metagalactic UV Background¶
If you haven’t yet looked at the The Metagalactic Lyman-Werner Background example, that might be a good place to start as the setup here is very similar, and as a result, we’ll skip over a few of the details.
Note
By ‘’UV background’’ here we really mean the ionizing background, which, granted, is a little confusing given that the Lyman-Werner band is technically in the UV spectrum as well. This distinction between LW and UV is adopted throughout the code. Sorry about that!
The main difference between the ionizing background and the LW background is that the latter is unaffected by the bound-free opacity of the IGM, only experiencing the ‘’sawtooth modulation’’ associated with bound-bound absorption in the Lyman series. The ionizing background has a sawtooth modulation of its own, in the band between the HeII Ly-\(\alpha\) line and the HeII ionization threshold, \(40.8 \leq h\nu / \mathrm{eV} \leq 54.4\).
This is the topic of extensive study in the last \(\sim 20\) years, e.g., in
- Haardt & Madau (1996)
- Haardt & Madau (2012)
- Several others!
First things first:
import ares
import numpy as np
import matplotlib.pyplot as pl
Now, let’s set some parameters that define the properties of the source population (very similar to those set in the The Metagalactic Lyman-Werner Background example):
# Initialize radiation background
pars = \
{
# Source properties
'pop_type': 'galaxy',
'pop_sfrd': lambda z: 0.1,
'pop_sed': 'pl',
'pop_alpha': 1.0,
'pop_Emin': 13.6,
'pop_Emax': 1e2,
'pop_EminNorm': 13.6,
'pop_EmaxNorm': 1e2,
'pop_yield': 1e57,
'pop_yield_units': 'photons/msun',
# Solution method
'pop_solve_rte': True,
'pop_tau_Nz': 400,
'include_H_Lya': False,
'sawtooth_nmax': 8,
'pop_sawtooth': True,
'initial_redshift': 7.,
'final_redshift': 3.,
}
To summarize these inputs, we’ve got :
- A constant SFRD of \(0.1 \ M_{\odot} \ \mathrm{yr}^{-1} \ \mathrm{cMpc}^{-3}\), given by the
pop_sfrd
parameter. - A flat spectrum (power-law with index \(\alpha=0\)), given by
pop_sed
andpop_alpha
. - A yield of \(10^{57} \ \mathrm{photons} \ M_{\odot}^{-1}\) of star-formation in the \(13.6 \leq h\nu / \mathrm{eV} \leq 100\) band, set by
pop_EminNorm
,pop_EmaxNorm
,pop_yield
, andpop_yield_units
. - The emission now extends from the Lyman-limit all the way up to 100 eV, which is set by
pop_Emin
andpop_Emax
.
See Population Parameters for a complete listing of parameters relevant to ares.populations.GalaxyPopulation
objects.
Initialize the simulation object:
mgb = ares.simulations.MetaGalacticBackground(**pars)
Now, let’s run the thing:
mgb.run()
We’ll pull out the evolution of the background just as we did in the The Metagalactic Lyman-Werner Background example:
z, E, flux = mgb.get_history(flatten=True)
and plot up the result:
from ares.physics.Constants import erg_per_ev
pl.semilogy(E, flux[-1] * E * erg_per_ev, color='k')
pl.xlabel(ares.util.labels['E'])
pl.ylabel(ares.util.labels['flux_E'])
You should be able to see the LW sawtooth at the left edge of the plot, and a new sawtooth due to the HeII Lyman series at \(40.8 \leq h\nu / \mathrm{eV} \leq 54.4\).
The Opacity of the Clumpy IGM¶
This is not currently implemented. Check back soon!
Recombination Emissivity¶
This is not currently implemented. Check back soon!