rizer.io.generate_janev_hydrogen_cross_section#
Generates Janev hydrogen cross sections in LXCat format and related rate coefficients.
Data and analytic fits are from [JanevHydrogen] (Sec. 2.1, Eqs. 4–9, 14–16, 21–22, 25;
Tables 1–3), stored in YAML under data/kin/janev_cross_section_parameters/Hy.
Attributes#
Classes#
Janev cross sections and rates for atomic hydrogen H(nl) and H+. |
Module Contents#
- rizer.io.generate_janev_hydrogen_cross_section.RY_EV = 13.6#
- rizer.io.generate_janev_hydrogen_cross_section.A0_BOHR_CM = 5.29177210544e-09#
- class rizer.io.generate_janev_hydrogen_cross_section.JanevHydrogenCrossSection(energy_min: float = 0.0001, energy_max: float = 1000.0, number_of_points: int = 500)#
Janev cross sections and rates for atomic hydrogen H(nl) and H+.
Fits from [JanevHydrogen] Section 2.1 (electron impact on H and H+).
- LX#
- load_all_cross_sections() None#
Load excitation and ionization cross sections into the LXCat database.
- load_reaction_rates() dict[str, dict]#
Load radiative and three-body recombination parameters.
- Returns:
Keys
radiative, each mapping reaction strings to parameter dicts for Cantera extensible rates.- Return type:
- static load_yaml(path: pathlib.Path) dict#
- static remove_electron_from_reaction(reaction: str) str#
Normalize
e + A -> B + etoA -> B(same rules as CHy Janev loader).
- static compute_cross_section_excitation_1s_to_2l(a: float, b: float, c: float, A: list[float], E_th: float, sigma_0: float, E_piecewise_mid: float, E_piecewise_high: float, E: numpy.ndarray) numpy.ndarray#
Excitation 1s → 2l cross section ([JanevHydrogen] Eq. 4a–c, Table 1).
- Parameters:
a (
float) – Low- and mid-energy coefficients (Eq. 4a–b).b (
float) – Low- and mid-energy coefficients (Eq. 4a–b).c (
float) – Low- and mid-energy coefficients (Eq. 4a–b).E_th (
float) – Threshold (eV) and normalization (10-16 cm2 scale).sigma_0 (
float) – Threshold (eV) and normalization (10-16 cm2 scale).E_piecewise_mid (
float) – Upper bounds for regimes 4a and 4b (eV).E_piecewise_high (
float) – Upper bounds for regimes 4a and 4b (eV).E (
numpy.ndarray) – Electron energy (eV).
- Returns:
Cross section in cm2.
- Return type:
- static compute_cross_section_excitation_eq5(DeltaE: float, alpha: float, A: list[float], sigma_0: float, E: numpy.ndarray) numpy.ndarray#
Excitation cross section ([JanevHydrogen] Eq. 5, Table 2).
Used for 1s → n=3,4 and 2l → n=3 transitions.
- Parameters:
- Returns:
Cross section in cm2.
- Return type:
- classmethod compute_cross_section_excitation_johnson_nm(n: int, m: int, E: numpy.ndarray) numpy.ndarray#
Excitation n → m (n ≥ 2, m ≥ 4) ([JanevHydrogen] Eqs. 9–13).
- Parameters:
n (
int) – Principal quantum number of the initial state.m (
int) – Principal quantum number of the final state.E (
numpy.ndarray) – Electron energy (eV).
- Returns:
Cross section in cm2.
- Return type:
- static g_j_ionization(n: int) tuple[float, float, float]#
Coefficients \(g_j(n)\) in [JanevHydrogen] Eqs. (13a–e).
Used for excitation and ionization from n ≥ 4.
- static compute_cross_section_excitation_2s_to_2p(E: numpy.ndarray) numpy.ndarray#
2s → 2p excitation ([JanevHydrogen] Eq. 8).
- Parameters:
E (
numpy.ndarray) – Electron energy (eV).- Returns:
Cross section in cm2.
- Return type:
- static compute_cross_section_ionization_eq14(A: list[float], In: float, E_th: float, E: numpy.ndarray) numpy.ndarray#
Ionization cross section ([JanevHydrogen] Eq. 14, Table 3).
Used for ionization of H(n=1), H(n=2) and H(n=3).
- Parameters:
In (
float) – Ionization threshold (eV).E_th (
float) – Threshold energy (eV).E (
numpy.ndarray) – Electron energy (eV).
- Returns:
Cross section in cm2.
- Return type:
- classmethod compute_cross_section_ionization_johnson(n: int, In: float, E: numpy.ndarray) numpy.ndarray#
Ionization from n ≥ 4 ([JanevHydrogen] Eqs. 15–16, 13).
Used for ionization from n ≥ 4.
- Parameters:
n (
int) – Principal quantum number.In (
float) – Ionization threshold (eV).E (
numpy.ndarray) – Electron energy (eV).
- Returns:
Cross section in cm2.
- Return type:
- static compute_rate_radiative_recombination_eq21(T_eV: float | numpy.ndarray, n: int, Anl: float, chi_nl: float) float | numpy.ndarray#
Radiative recombination rate ([JanevHydrogen] Eq. 21).
Used for radiative recombination from H+ to H(1s) and H(2s)/H(2p).
Returns cm3/s for electron temperature T in eV.
- Parameters:
T_eV (
floatornumpy.ndarray) – Electron temperature (eV).n (
int) – Principal quantum number.Anl (
float) – Constant.chi_nl (
float) – Constant.
- Returns:
Radiative recombination rate in cm3/s.
- Return type:
- static compute_rate_radiative_recombination_eq22(T_eV: float | numpy.ndarray, n: int) float | numpy.ndarray#
Radiative recombination to n ≥ 3 ([JanevHydrogen] Eq. 22).
- Parameters:
T_eV (
floatornumpy.ndarray) – Electron temperature (eV).n (
int) – Principal quantum number.
- Returns:
Radiative recombination rate in cm3/s.
- Return type:
- classmethod compute_rate_radiative_recombination_eq23(T_eV: float | numpy.ndarray, n: int) float | numpy.ndarray#
Radiative recombination (l-unresolved) ([JanevHydrogen] Eq. 23).
Used for capture into H(n=2) when 2s and 2p are not treated separately. Schlömilch integrals \(E_{j+1}\) are evaluated via
scipy.special.expn.- Parameters:
T_eV (
floatornumpy.ndarray) – Electron temperature (eV).n (
int) – Principal quantum number.
- Returns:
Radiative recombination rate in cm3/s.
- Return type:
- load_excitation_cross_sections(yaml_path: pathlib.Path) None#
Load excitation cross sections from YAML into LXCat.
- Parameters:
yaml_path (
pathlib.Path) – Path to the YAML file.
- load_ionization_cross_sections(yaml_path: pathlib.Path) None#
Load ionization cross sections from YAML into LXCat.
- Parameters:
yaml_path (
pathlib.Path) – Path to the YAML file.