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#

JanevHydrogenCrossSection

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:

dict

static load_yaml(path: pathlib.Path) dict#
static remove_electron_from_reaction(reaction: str) str#

Normalize e + A -> B + e to A -> 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).

  • A (list of float) – Six coefficients for Eq. 4c.

  • 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:

numpy.ndarray

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:
  • DeltaE (float) – Threshold energy (eV).

  • alpha (float) – Exponent.

  • A (list of float) – Coefficients.

  • sigma_0 (float) – Normalization.

  • E (numpy.ndarray) – Electron energy (eV).

Returns:

Cross section in cm2.

Return type:

numpy.ndarray

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:

numpy.ndarray

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.

Parameters:

n (int) – Principal quantum number.

Returns:

Coefficients \(g_j(n)\).

Return type:

tuple of float

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:

numpy.ndarray

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:
  • A (list of float) – Coefficients.

  • In (float) – Ionization threshold (eV).

  • E_th (float) – Threshold energy (eV).

  • E (numpy.ndarray) – Electron energy (eV).

Returns:

Cross section in cm2.

Return type:

numpy.ndarray

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:

numpy.ndarray

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 (float or numpy.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:

float or numpy.ndarray

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:
Returns:

Radiative recombination rate in cm3/s.

Return type:

float or numpy.ndarray

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:
Returns:

Radiative recombination rate in cm3/s.

Return type:

float or numpy.ndarray

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.

eval_radiative_rate(params: dict, T_eV: float) float#

Evaluate radiative recombination rate (cm³/s) at T_eV.