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.