tardis.plasma.equilibrium.rates.collisional_ionization_rates module
- class tardis.plasma.equilibrium.rates.collisional_ionization_rates.CollisionalIonizationRateSolver(photoionization_cross_sections: DataFrame)[source]
Bases:
objectSolver for collisional ionization and recombination rates.
Initialize the collisional ionization rate solver.
- Parameters:
- photoionization_cross_sectionspd.DataFrame
Photoionization cross sections indexed by atomic number, ion number, and level number.
- solve(electron_distribution: ThermalElectronEnergyDistribution, level_to_ion_population_factor: DataFrame, partition_function: DataFrame, level_boltzmann_factor: DataFrame, level_population: DataFrame | None = None, ion_population: DataFrame | None = None, approximation: str = 'seaton') tuple[DataFrame, DataFrame][source]
Solve the collisional ionization and recombination rates.
- Parameters:
- electron_distributionThermalElectronEnergyDistribution
Electron energy distribution per cell.
- level_to_ion_population_factorpd.DataFrame
The level to ion population factor for each cell, Lucy 2003 Eq 14. Indexed by atom number, ion number, level number.
- partition_functionpd.DataFrame
Partition function for each ion and cell.
- level_boltzmann_factorpd.DataFrame
Boltzmann factor for each level and cell.
- level_populationpandas.DataFrame, optional
Estimated level populations used instead of LTE fractions.
- ion_populationpandas.DataFrame, optional
Estimated ion populations used to normalize level populations.
- approximationstr, optional
The rate approximation to use, by default
"seaton".
- Returns:
- tuple[pd.DataFrame, pd.DataFrame]
Collisional ionization rates and collisional recombination rates.
- Raises:
- ValueError
If an unsupported approximation is requested.