jaxrts.ionization.solve_ionization

jaxrts.ionization.solve_ionization(element_list, T_e, ion_number_densities, balance_terms)[source]

Solve for the ionization state of a plasma given pre-computed balance terms.

Callers should normally use one of the convenience wrappers (solve_saha(), solve_gen_saha(), solve_BU()) which construct balance_terms automatically.

Parameters:
  • element_list (list[Element]) – Ion species.

  • T_e (Quantity) – Temperature.

  • ion_number_densities (Quantity) – Total number density per species.

  • balance_terms (list[BalanceTerm]) – One BalanceTerm per element (same order as element_list). Each term supplies a coeff array (the ratio \(n_{i+1} n_e / n_i\)) and a boolean mask array indicating which transitions are still bound.

Returns:

  • ionised_number_densities (Quantity) – Per-level densities ordered as [n(Ion0,0+), n(Ion0,1+), ..., n(Ion1,0+), ...].

  • n_e (Quantity) – Self-consistent free-electron density.

  • Z_mean (Quantity) – Mean ionization of each species.