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

rates

Return the collisional excitation cooling rate , in units of J/m\(^3\)/s, for ion of given atomicNumber and electronNumber at temperature T (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_2Electron

Computes 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_Photon

Computes 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_Photon

Computes 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_Electron

Computes 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_Photon

Computes 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_Hplus

Computes 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_H

Computes 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_Electron

Computes 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_3H

Computes 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_2Electron

Computes 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_Electron

Computes 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_2H

Computes 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_Electron

Computes 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_2H

Computes 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_H

Computes 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_Electron

Computes 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_Electron

Computes 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_Electron

Computes 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_Hplus

Computes 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_Electron

Computes 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_2H

Computes 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_2H

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