SciPy

darkhistory.electrons.elec_cooling.get_elec_cooling_tf

darkhistory.electrons.elec_cooling.get_elec_cooling_tf(eleceng, photeng, rs, xHII, xHeII=0, raw_thomson_tf=None, raw_rel_tf=None, raw_engloss_tf=None, coll_ion_sec_elec_specs=None, coll_exc_sec_elec_specs=None, ics_engloss_data=None, check_conservation_eng=False, verbose=False)

Transfer functions for complete electron cooling through inverse Compton scattering (ICS) and atomic processes.

Parameters:
eleceng : ndarray, shape (m, )

The electron kinetic energy abscissa.

photeng : ndarray

The photon energy abscissa.

rs : float

The redshift (1+z).

xHII : float

Ionized hydrogen fraction, nHII/nH.

xHeII : float, optional

Singly-ionized helium fraction, nHe+/nH. Default is 0.

raw_thomson_tf : TransFuncAtRedshift, optional

Thomson ICS scattered photon spectrum transfer function. If None, uses the default transfer function. Default is None.

raw_rel_tf : TransFuncAtRedshift, optional

Relativistic ICS scattered photon spectrum transfer function. If None, uses the default transfer function. Default is None.

raw_engloss_tf : TransFuncAtRedshift, optional

Thomson ICS scattered electron net energy loss transfer function. If None, uses the default transfer function. Default is None.

coll_ion_sec_elec_specs : tuple of 3 ndarrays, shapes (m, m), optional

Normalized collisional ionization secondary electron spectra, order HI, HeI, HeII, indexed by injected electron energy by outgoing electron energy. If None, the function calculates this. Default is None.

coll_exc_sec_elec_specs : tuple of 3 ndarray, shapes (m, m), optional

Normalized collisional excitation secondary electron spectra, order HI, HeI, HeII, indexed by injected electron energy by outgoing electron energy. If None, the function calculates this. Default is None.

ics_engloss_data : EnglossRebinData

An EnglossRebinData object which stores rebinning information (based on eleceng and photeng) for speed. Default is None.

check_conservation_eng : bool

If True, lower=True, checks for energy conservation. Default is False.

verbose : bool

If True, prints energy conservation checks. Default is False.

Returns:
tuple

Transfer functions for electron cooling deposition and spectra.

Notes

The entries of the output tuple are (see Sec IIIC of the paper):

  1. The secondary propagating photon transfer function \(\overline{\mathsf{T}}_\gamma\);
  2. The low-energy electron transfer function \(\overline{\mathsf{T}}_e\);
  3. Energy deposited into ionization \(\overline{\mathbf{R}}_\text{ion}\);
  4. Energy deposited into excitation \(\overline{\mathbf{R}}_\text{exc}\);
  5. Energy deposited into heating \(\overline{\mathbf{R}}_\text{heat}\);
  6. Upscattered CMB photon total energy \(\overline{\mathbf{R}}_\text{CMB}\), and
  7. Numerical error away from energy conservation.

Items 2–5 are vectors that when dotted into an electron spectrum with abscissa eleceng, return the energy deposited/CMB energy upscattered for that spectrum.

Items 0–1 are TransFuncAtRedshift objects. For each of these objects tf and a given electron spectrum elec_spec, tf.sum_specs(elec_spec) returns the propagating photon/low-energy electron spectrum after cooling.

The default version of the three ICS transfer functions that are required by this function is provided in tf_data.

Previous topic

darkhistory.electrons.elec_cooling

Next topic

darkhistory.electrons.positronium

This Page