darkhistory.history.tla.get_history¶
-
darkhistory.history.tla.get_history(rs_vec, init_cond=None, baseline_f=False, baseline_struct=False, inj_particle=None, f_H_ion=None, f_H_exc=None, f_heating=None, DM_process=None, mDM=None, sigmav=None, lifetime=None, z_td=None, struct_boost=None, injection_rate=None, reion_switch=False, reion_rs=None, reion_method=None, heat_switch=False, DeltaT=0, alpha_bk=1.0, photoion_rate_func=None, photoheat_rate_func=None, xe_reion_func=None, helium_TLA=False, f_He_ion=None, mxstep=1000, rtol=0.0001)¶ Returns the ionization and thermal history of the IGM.
Parameters: - rs_vec : ndarray
Abscissa for the solution.
- init_cond : array, optional
Array containing [initial temperature, initial xHII, initial xHeII, initial xHeIII]. Defaults to standard values if None.
- baseline_f : bool
If True, uses the baseline f values with no backreaction returned by
f_std(). Default is False.- baseline_struct : bool
If True, uses the default structure formation with the baseline f values. Default is False.
- inj_particle : {‘elec’, ‘phot’}, optional
Specifies which set of f to use: electron/positron or photon.
- f_H_ion : function or float, optional
f(rs, x_HI, x_HeI, x_HeII) for hydrogen ionization. Treated as constant if float.
- f_H_exc : function or float, optional
f(rs, x_HI, x_HeI, x_HeII) for hydrogen Lyman-alpha excitation. Treated as constant if float.
- f_heating : function or float, optional
f(rs, x_HI, x_HeI, x_HeII) for heating. Treated as constant if float.
- DM_process : {‘swave’, ‘decay’}, optional
Dark matter process to use. Default is None.
- sigmav : float, optional
Thermally averaged cross section for
DM_process == 'swave'. Default is None.- lifetime : float, optional
Decay lifetime for
DM_process == 'decay'. Default is None.- struct_boost : function, optional
Energy injection boost factor due to structure formation. Default is None.
- injection_rate : function or float, optional
Injection rate of DM as a function of redshift. Treated as constant if float. Default is None.
- reion_switch : bool
Reionization model included if True.
- reion_rs : float, optional
Redshift 1+z at which reionization effects turn on.
- reion_method : {‘Puchwein’, ‘early’, ‘middle’, ‘late’}, optional
Specify which reionization model
- heat_switch : True or False, optional
If True, include photoheating from reionization sources; if False, only include photoionization.
- photoion_rate_func : tuple of functions, optional
Functions take redshift 1+z as input, return the photoionization rate in s-1of HI, HeI and HeII respectively. If not specified, defaults to darkhistory.history.reionization.photoion_rate.
- photoheat_rate_func : tuple of functions, optional
Functions take redshift 1+z as input, return the photoheating rate in eV s-1of HI, HeI and HeII respectively. If not specified, defaults to darkhistory.history.reionization.photoheat_rate.
- xe_reion_func : function, optional
Specifies a fixed ionization history after reion_rs. The argument of this function should be a float.
- helium_TLA : bool, optional
Specifies whether to track helium before reionization.
- f_He_ion : function or float, optional
f(rs, x_HI, x_HeI, x_HeII) for helium ionization. Treated as constant if float. If None, treated as zero.
- mxstep : int, optional
The maximum number of steps allowed for each integration point. See scipy.integrate.odeint for more information.
- rtol : float, optional
The relative error of the solution. See scipy.integrate.odeint for more information.
Returns: - list of ndarray
[temperature solution (in eV), xHII solution, xHeII, xHeIII].
Notes
The actual differential equation that we solve is expressed in terms of y = arctanh(f*(x - f)), where f = 0.5 for x = xHII, and f = nHe/nH * 0.5 for x = xHeII or xHeIII, where nHe/nH is approximately 0.083.
