tardis.plasma.equilibrium.rates.photoionization_rates module

class tardis.plasma.equilibrium.rates.photoionization_rates.AnalyticPhotoionizationRateSolver(photoionization_cross_sections)[source]

Bases: object

Solve the photoionization and spontaneous recombination rates in the case where the radiation field is computed analytically.

compute_rates(photoionization_rate_coeff, stimulated_recombination_rate_coeff, spontaneous_recombination_rate_coeff, level_number_density, ion_number_density, electron_number_density, saha_factor)[source]

Compute the photoionization and spontaneous recombination rates

Parameters:
photoionization_rate_coeffpd.DataFrame

The photoionization rate coefficients for each transition. Columns are cells.

stimulated_recombination_rate_coeffpd.DataFrame

The stimulated recombination rate coefficients for each transition. Columns are cells.

spontaneous_recombination_rate_coeffpd.DataFrame

The spontaneous recombination rate coefficients for each transition. Columns are cells.

level_number_densitypd.DataFrame

The electron energy level number density. Columns are cells.

ion_number_densitypd.DataFrame

The ion number density. Columns are cells.

electron_number_densityu.Quantity

The free electron number density per cell.

saha_factorpd.DataFrame

The LTE population factor. Columns are cells.

Returns:
pd.DataFrame

Photoionization rate for each electron energy level. Columns are cells

pd.DataFrame

Spontaneous recombination rate for each electron energy level. Columns are cells

solve(dilute_blackbody_radiationfield_state, electron_energy_distribution, level_number_density, ion_number_density, saha_factor)[source]

Solve the photoionization and spontaneous recombination rates in the case where the radiation field is not estimated.

Parameters:
dilute_blackbody_radiationfield_stateDiluteBlackBodyRadiationFieldState

A dilute black body radiation field state.

electron_energy_distributionThermalElectronEnergyDistribution

Electron properties.

level_number_densitypd.DataFrame

Electron energy level number density. Columns are cells.

ion_number_densitypd.DataFrame

Ion number density. Columns are cells.

saha_factorpd.DataFrame

Saha factor: the LTE level number density divided by the LTE ion number density and the electron number density.

Returns:
pd.DataFrame

Photoionization rate. Columns are cells.

pd.DataFrame

Spontaneous recombination rate. Columns are cells.

class tardis.plasma.equilibrium.rates.photoionization_rates.EstimatedPhotoionizationRateSolver(photoionization_cross_sections, level2continuum_edge_idx)[source]

Bases: AnalyticPhotoionizationRateSolver

Solve the photoionization and spontaneous recombination rates in the case where the radiation field is estimated by Monte Carlo processes.

solve(electron_energy_distribution, radfield_mc_estimators, time_simulation, volume, level_number_density, ion_number_density, saha_factor)[source]

Solve the photoionization and spontaneous recombination rates in the case where the radiation field is estimated by Monte Carlo processes.

Parameters:
electron_energy_distributionThermalElectronEnergyDistribution

Electron properties.

radfield_mc_estimatorsRadiationFieldMCEstimators

Estimators of the radiation field properties.

time_simulationu.Quantity

Time of simulation.

volumeu.Quantity

Volume per cell.

level_number_densitypd.DataFrame

Electron energy level number density. Columns are cells.

ion_number_densitypd.DataFrame

Ion number density. Columns are cells.

saha_factorpd.DataFrame

Saha factor: the LTE level number density divided by the LTE ion number density and the electron number density.

Returns:
pd.DataFrame

Photoionization rate. Columns are cells.

pd.DataFrame

Spontaneous recombination rate. Columns are cells.