Chemical Reaction Rates¶
Class providing rates for chemical reactions among gas-phase species (e.g. H\(_2\) formation and photodissociation, HD, HeH\(^+\)). Given local conditions—column density for self-shielding, gas temperature, chemical abundances, a clumping factor, and the ambient radiation field—each implementation returns the net reaction rates (in consistent volumetric units) for each tracked chemical species. These rates drive the non-equilibrium evolution of the chemical network and are particularly relevant for modeling the formation of molecular gas and cooling in the early universe and in low-metallicity IGM gas.
Default implementation: chemicalReactionRateZero
Methods¶
ratesReturn the collisional excitation cooling rate , in units of J/m\(^3\)/s, for ion of given
atomicNumberandelectronNumberat temperatureT(in Kelvin).double precision lengthColumn[in]double precision temperature[in]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
chemicalReactionRateHydrogenNetwork¶
A chemical reaction rate class that computes rates using the network of reactions and fitting functions from Abel et al. (1997) and Tegmark et al. (1997). The parameter [fast] controls the approximations made. If set true then H\(^-\) is assumed to be at equilibrium abundance, H\(_2^+\) reactions are ignored and other slow reactions are ignored (see Abel et al. 1997).
Methods
rateH_Electron_to_Hplus_2ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H} + \hbox{e}^- \rightarrow \hbox{H}^+ + 2\hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateHplus_Electron_to_H_PhotonComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}^+ + \hbox{e}^- \rightarrow \hbox{H} + \gamma\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH_Electron_to_Hminus_PhotonComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H} + \hbox{e}^- \rightarrow \hbox{H}^- + \gamma\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH_Hminus_to_H2_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H} + \hbox{H}^- \rightarrow \hbox{H}_2 + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH_Hplus_to_H2plus_PhotonComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H} + \hbox{H}^+ \rightarrow \hbox{H}_2^+ + \gamma\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2plus_H_to_H2_HplusComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \hbox{H} \rightarrow \hbox{H}_2 + \hbox{H}^+\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2_Hplus_to_H2plus_HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2 + \hbox{H}^+ \rightarrow \hbox{H}_2^+ + \hbox{H}\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2_Electron_to_2H_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2 + \hbox{e}^- \rightarrow 2\hbox{H} + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2_H_to_3HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2 + \hbox{H} \rightarrow 3\hbox{H}\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateHminus_Electron_to_H_2ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \hbox{H} \rightarrow \hbox{H}_2 + \hbox{H}^+\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateHminus_H_to_2H_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}^- + \hbox{H} \rightarrow 2 \hbox{H} + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateHminus_Hplus_to_2HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \hbox{H} \rightarrow \hbox{H}_2 + \hbox{H}^+\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateHminus_Hplus_to_H2plus_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}^- + \hbox{H}^+ \rightarrow \hbox{H}_2^+ + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2plus_Electron_to_2HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \hbox{e}^- \rightarrow 2\hbox{H}\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH2plus_Hminus_to_H2_HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \hbox{H}^- \rightarrow \hbox{H}_2 + \hbox{H}\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]double precision factorClumping[in]type(chemicalAbundances) chemicalRates[inout]
rateH_Gamma_to_Hplus_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H} + \gamma \rightarrow \hbox{H}^+ + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateHminus_Gamma_to_H_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}^- + \gamma \rightarrow \hbox{H} + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateH2_Gamma_to_H2plus_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2 + \gamma \rightarrow \hbox{H}_2^+ + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateH2plus_Gamma_to_H_HplusComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \gamma \rightarrow \hbox{H} + \hbox{H}^+\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateH2plus_Gamma_to_2Hplus_ElectronComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \gamma \rightarrow 2\hbox{H}^+ + \hbox{e}^-\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateH2_Gamma_to_H2star_to_2HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2^+ + \gamma \rightarrow 2\hbox{H}^+ + \hbox{e}^-\).
double precision lengthColumn[in]double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
rateH2_Gamma_to_2HComputes the rate (in units of cm\(^{-3}\) s\(^{-1}\)) for the reaction \(\hbox{H}_2 + \gamma \rightarrow 2\hbox{H}\).
double precision temperature[in]class(radiationFieldClass) radiation[inout]type(chemicalAbundances) chemicalDensity[in]type(chemicalAbundances) chemicalRates[inout]type(treeNode) node[inout]
Parameters
[fast](boolean; default.true.) — Specifies whether or not to use simplifying assumptions to speed the hydrogen network calculation. If true, H\(^-\) is assumed to be at equilibrium abundance, H\(_2^+\) reactions are ignored and other slow reactions are ignored (see Abel et al. 1997).[includeSelfShielding](boolean; default.false.) — If true, include estimates of self-shielding when computing reaction rates involving the radiation field.
chemicalReactionRateZero¶
A null implementation of the chemical reaction rate class that returns zero rates for all reactions and all chemical species. Useful for disabling chemistry while testing other physical processes or in models that do not require chemical evolution.
(Default implementation)