tardis.plasma.equilibrium.rates.photoionization_strengths module

class tardis.plasma.equilibrium.rates.photoionization_strengths.AnalyticPhotoionizationCoeffSolver(photoionization_cross_sections)[source]

Bases: SpontaneousRecombinationCoeffSolver

calculate_mean_intensity_photoionization_df(dilute_blackbody_radiationfield_state)[source]

Calculates the mean intensity of the radiation field at each photoionization frequency.

Parameters:
dilute_blackbody_radiationfield_stateDilutePlanckianRadiationField

The radiation field.

Returns:
pd.DataFrame

DataFrame of mean intensities indexed by photoionization levels and columns of cells.

calculate_photoionization_rate_coeff(mean_intensity_photoionization_df)[source]

Calculate the photoionization rate coefficient.

Parameters:
dilute_blackbody_radiationfield_stateDiluteBlackBodyRadiationFieldState

A dilute black body radiation field state.

Returns:
pd.DataFrame

The calculated photoionization rate coefficient.

Notes

Equation 16 in Lucy 2003.

calculate_stimulated_recombination_rate_coeff(mean_intensity_photoionization_df, photoionization_boltzmann_factor)[source]

Calculate the photoionization rate coefficient.

Parameters:
mean_intensity_photoionization_dfpd.DataFrame

Mean intensity at each photoionization frequency.

photoionization_boltzmann_factornp.ndarray

Boltzmann factor for each photoionization frequency.

Returns:
pd.DataFrame

The stimulated recombination rate coefficient.

Notes

Equation 15 in Lucy 2003.

solve(dilute_blackbody_radiationfield_state, electron_temperature)[source]

Prepares the ionization and recombination coefficients by grouping them for ion numbers.

Parameters:
dilute_blackbody_radiationfield_stateDiluteBlackBodyRadiationFieldState

The dilute black body radiation field state.

electron_temperatureu.Quantity

Electron temperature in each shell.

Returns:
photoionization_rate_coeff

Photoionization rate coefficient grouped by atomic number and ion number.

recombination_rate_coeff

Radiative recombination rate coefficient grouped by atomic number and ion number.

class tardis.plasma.equilibrium.rates.photoionization_strengths.EstimatedPhotoionizationCoeffSolver(level2continuum_edge_idx)[source]

Bases: object

solve(radfield_mc_estimators, time_simulation, volume)[source]

Solve for the continuum properties.

Parameters:
radfield_mc_estimatorsRadiationFieldMCEstimators

The Monte Carlo estimators for the radiation field.

time_simulationfloat

The simulation time.

volumefloat

The volume of the cells.

Returns:
ContinuumProperties

The calculated continuum properties.

class tardis.plasma.equilibrium.rates.photoionization_strengths.SpontaneousRecombinationCoeffSolver(photoionization_cross_sections)[source]

Bases: object

calculate_photoionization_boltzmann_factor(electron_temperature)[source]

Calculate the Boltzmann factor at each photoionization frequency

Parameters:
electron_temperatureQuantity

Electron temperature in each shell.

Returns:
numpy.ndarray

The Boltzmann factor per shell per photoionization frequency.

property common_prefactor

Used to multiply with both spontaneous recombination and photoionization coefficients.

Returns:
pd.DataFrame

A dataframe of the prefactor.

solve(electron_temperature)[source]

Calculate the spontaneous recombination rate coefficient.

Parameters:
electron_temperatureu.Quantity

Electron temperature in each cell.

Returns:
pd.DataFrame

The calculated spontaneous recombination rate coefficient.

Notes

Equation 13 in Lucy 2003.