tardis.plasma.equilibrium.rates.collisional_ionization_rates module

class tardis.plasma.equilibrium.rates.collisional_ionization_rates.CollisionalIonizationRateSolver(photoionization_cross_sections)[source]

Bases: object

Solver for collisional ionization and recombination rates.

Initialize the collisional ionization rate solver.

Parameters:
photoionization_cross_sectionspd.DataFrame

Photoionization cross sections.

solve(electron_distribution, level_to_ion_population_factor, partition_function, level_boltzmann_factor, approximation='seaton')[source]

Solve the collisional ionization and recombination rates.

Parameters:
electron_distributionThermalElectronEnergyDistribution

Electron distribution per cell

level_to_ion_population_factorpandas.DataFrame, dtype float

The level to ion population factor for each cell, Lucy 2003 Eq 14. Indexed by atom number, ion number, level number.

approximationstr, optional

The rate approximation to use, by default “seaton”

Returns:
pd.DataFrame

Collisional ionization rates

pd.DataFrame

Collisional recombination rates

Raises:
ValueError

If an unsupported approximation is requested.