jaxrts.ionization

Module to model the ionization state of a plasma. It contains functions to solve the Saha-equation, linking the temperature of a plasma to its ionization.

The central solver is solve_ionization(), which accepts a BalanceTerm – an object that supplies per-transition coefficients and the corresponding “still-bound” mask.

BalanceTerm s can be created with the factories provided, e.g. saha_balance_term(), gen_balance_term(), or bu_balance_term().

Functions

bu_balance_term(element, ipd, T_e, n_e, chem_pot)

Bethe-Uhlenbeck balance term using Planck-Larkin partition sums.

calculate_charge_state_distribution(plasma_state)

Calculates the charge state distribution in fractions using the Saha-Boltzmann equation assuming thermal equilibrium.

calculate_mean_free_charge_BU(plasma_state)

Mean ionization charge per species via the Bethe-Uhlenbeck equation.

calculate_mean_free_charge_more(plasma_state)

Uses the finite Temperature Thomas Fermi Charge State fits provided by [More, 1985] p.

calculate_mean_free_charge_saha(plasma_state)

Mean ionization charge per species via Saha-Boltzmann.

gen_balance_equation(part_i, part_j, T_e, ...)

Generic balance relation expressed in terms of partition functions.

gen_saha_balance_term(element, ipd, T_e, ...)

Generalised (degenerate) Saha balance term.

gen_saha_equation(gi, gj, T_e, n_e, ...)

Generic Saha equation, using jaxrts.plasma_physics.chem_pot_sommerfeld_fermi_interpolation() calculate the chemical potential which is plugged into the equation

planck_larkin_partition_sum(g, E, T)

Planck-Larkin partition sum with a cutoff for negative energies.

saha_balance_term(element, ipd, T_e)

Classic (non-degenerate) Saha balance term.

saha_equation(gi, gj, T_e, energy_diff)

Classic (non-degenerate) Saha balance relation.

solve_BU(element_list, T_e, n_e, ...[, ...])

Solve the Bethe-Uhlenbeck equation using Planck-Larkin partition sums.

solve_gen_saha(element_list, T_e, n_e, ...)

Solve the generalised (degenerate) Saha equation.

solve_ionization(element_list, T_e, ...)

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

solve_saha(element_list, T_e, ...[, ...])

Solve the classic (non-degenerate) Saha equation.

Classes

BalanceTerm(coeff, mask)

Per-element data produced by a balance-term factory.