tardis.plasma.properties.continuum_processes.rates module

class tardis.plasma.properties.continuum_processes.rates.AdiabaticCoolingRate(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty

Attributes:
cool_rate_adiabaticpandas.DataFrame, dtype float

The adiabatic cooling rate of the electron gas.

calculate(electron_densities, t_electrons, time_explosion)[source]
latex_name = ('C_{\\textrm{adiabatic}}',)
outputs = ('cool_rate_adiabatic',)
transition_probabilities_outputs = ('cool_rate_adiabatic',)
class tardis.plasma.properties.continuum_processes.rates.BfHeatingRateCoeffEstimator[source]

Bases: Input

Attributes:
bf_heating_coeff_estimatorpandas.DataFrame, dtype float

Unnormalized MC estimator for the rate coefficient for bound-free heating.

latex_name = ('h_\\textrm{bf}_\\textrm{estim}',)
outputs = ('bf_heating_coeff_estimator',)
class tardis.plasma.properties.continuum_processes.rates.CollDeexcRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
coll_deexc_coeffpandas.DataFrame, dtype float

Rate coefficient for collisional deexcitation.

calculate(thermal_lte_level_boltzmann_factor, coll_exc_coeff)[source]
latex_name = ('c_{ul}',)
outputs = ('coll_deexc_coeff',)
class tardis.plasma.properties.continuum_processes.rates.CollExcRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
coll_exc_coeffpandas.DataFrame, dtype float

Rate coefficient for collisional excitation.

calculate(yg_interp, yg_index, t_electrons, delta_E_yg)[source]
latex_name = ('c_{lu}',)
outputs = ('coll_exc_coeff',)
class tardis.plasma.properties.continuum_processes.rates.CollIonRateCoeffSeaton(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Notes

The rate coefficient for collisional ionization in the Seaton approximation is calculated according to Eq. 9.60 in [1].

References

[1]

Hubeny, I. and Mihalas, D., “Theory of Stellar Atmospheres”. 2014.

Attributes:
coll_ion_coeffpandas.DataFrame, dtype float

The rate coefficient for collisional ionization in the Seaton approximation. Multiply with the electron density and the level number density to obtain the total rate.

calculate(photo_ion_cross_sections, t_electrons)[source]
latex_name = ('c_{\\textrm{i,}\\kappa}',)
outputs = ('coll_ion_coeff',)
class tardis.plasma.properties.continuum_processes.rates.CollRecombRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Notes

The collisional recombination rate coefficient is calculated from the collisional ionization rate coefficient based on the requirement of detailed balance.

Attributes:
coll_recomb_coeffpandas.DataFrame, dtype float

The rate coefficient for collisional recombination. Multiply with the electron density squared and the ion number density to obtain the total rate.

calculate(phi_ik, coll_ion_coeff)[source]
latex_name = ('c_{\\kappa\\textrm{i,}}',)
outputs = ('coll_recomb_coeff',)
class tardis.plasma.properties.continuum_processes.rates.CorrPhotoIonRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
gamma_corrpandas.DataFrame, dtype float

The rate coefficient for radiative ionization corrected for stimulated recombination.

calculate(gamma, alpha_stim, electron_densities, ion_number_density, level_number_density)[source]
latex_name = ('\\gamma_\\mathrm{corr}',)
outputs = ('gamma_corr',)
class tardis.plasma.properties.continuum_processes.rates.FreeBoundCoolingRate(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty

Attributes:
cool_rate_fb_totalpandas.DataFrame, dtype float

The total free-bound cooling rate of the electron gas.

cool_rate_fbpandas.DataFrame, dtype float

The individual free-bound cooling rates of the electron gas.

p_fb_deactivation: pandas.DataFrame, dtype float

Probabilities of free-bound cooling in a specific continuum (identified by its continuum_idx).

calculate(c_fb_sp, electron_densities, ion_number_density, level2continuum_idx)[source]
latex_name = ('C^{\\textrm{fb, tot}}', 'C^{\\textrm{fb}}')
outputs = ('cool_rate_fb_tot', 'cool_rate_fb', 'p_fb_deactivation')
transition_probabilities_outputs = ('cool_rate_fb_tot',)
class tardis.plasma.properties.continuum_processes.rates.FreeBoundEmissionCDF(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
fb_emission_cdfpandas.DataFrame, dtype float

The cumulative distribution function (CDF) for the frequencies of energy packets emitted in free-bound transitions. The tabulated CDF is used to sample packet frequencies in the Monte Carlo simulation. We use the same CDF for free-bound emission from k- and i-packets (in contrast to ARTIS).

calculate(photo_ion_cross_sections, t_electrons, photo_ion_block_references, photo_ion_index, nu_i, boltzmann_factor_photo_ion)[source]
latex_name = ('P(\\nu_{bf, emission}) \\leq \\nu)',)
outputs = ('fb_emission_cdf',)
class tardis.plasma.properties.continuum_processes.rates.FreeFreeCoolingRate(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty

Notes

This implementation uses a free-free Gaunt factor of one for all species and ionization stages, which is an approximation.

Attributes:
cool_rate_ffpandas.DataFrame, dtype float

The free-free cooling rate of the electron gas.

ff_cooling_factorpandas.Series, dtype float

Pre-factor needed in the calculation of the free-free cooling rate and the free-free opacity.

calculate(ion_number_density, electron_densities, t_electrons)[source]
latex_name = ('C^{\\textrm{ff}}',)
outputs = ('cool_rate_ff', 'ff_cooling_factor')
transition_probabilities_outputs = ('cool_rate_ff',)
class tardis.plasma.properties.continuum_processes.rates.LevelNumberDensityLTE(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
lte_level_number_densitypandas.DataFrame, dtype float
calculate(electron_densities, phi_ik, ion_number_density)[source]
latex_name = ('n_{\\textrm{i}}^*',)
outputs = ('lte_level_number_density',)
class tardis.plasma.properties.continuum_processes.rates.PhotoIonBoltzmannFactor(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
boltzmann_factor_photo_ionpandas.DataFrame, dtype float
static calculate(photo_ion_cross_sections, t_electrons)[source]
outputs = ('boltzmann_factor_photo_ion',)
class tardis.plasma.properties.continuum_processes.rates.RawCollisionTransProbs(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty, IndexSetterMixin

Attributes:
p_collpandas.DataFrame, dtype float

The unnormalized transition probabilities for collisional excitation.

calculate(coll_exc_coeff, coll_deexc_coeff, yg_idx, electron_densities, delta_E_yg, atomic_data, level_number_density)[source]
latex_name = ('p^{\\textrm{coll}}',)
outputs = ('p_coll',)
transition_probabilities_outputs = ('p_coll',)
class tardis.plasma.properties.continuum_processes.rates.RawPhotoIonTransProbs(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty, IndexSetterMixin

Attributes:
p_photo_ionpandas.DataFrame, dtype float

The unnormalized transition probabilities for radiative ionization.

calculate(gamma_corr, energy_i, photo_ion_idx)[source]
latex_name = ('p^{\\textrm{photo_ion}}',)
outputs = ('p_photo_ion',)
transition_probabilities_outputs = ('p_photo_ion',)
class tardis.plasma.properties.continuum_processes.rates.RawRecombTransProbs(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty, IndexSetterMixin

Attributes:
p_recombpandas.DataFrame, dtype float

The unnormalized transition probabilities for spontaneous recombination.

calculate(alpha_sp, nu_i, energy_i, photo_ion_idx)[source]
latex_name = ('p^{\\textrm{recomb}}',)
outputs = ('p_recomb',)
transition_probabilities_outputs = ('p_recomb',)
class tardis.plasma.properties.continuum_processes.rates.RawTwoPhotonTransProbs(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty, IndexSetterMixin

Attributes:
p_two_photonpandas.DataFrame, dtype float

The unnormalized transition probabilities for two photon decay.

calculate(two_photon_data, two_photon_idx, density)[source]
outputs = ('p_two_photon',)
transition_probabilities_outputs = ('p_two_photon',)
class tardis.plasma.properties.continuum_processes.rates.SpontRecombCoolingRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
c_fb_sppandas.DataFrame, dtype float

The rate coefficient for cooling by spontaneous recombination.

calculate(photo_ion_cross_sections, t_electrons, photo_ion_block_references, photo_ion_index, phi_ik, nu_i, boltzmann_factor_photo_ion)[source]
latex_name = ('c^{\\textrm{sp}}_{\\textrm{fb}}',)
outputs = ('c_fb_sp',)
class tardis.plasma.properties.continuum_processes.rates.StimRecombCoolingRateCoeffEstimator[source]

Bases: Input

Attributes:
stim_recomb_cooling_coeff_estimatorpandas.DataFrame, dtype float

Unnormalized MC estimator for the stimulated recombination cooling rate coefficient.

outputs = ('stim_recomb_cooling_coeff_estimator',)
class tardis.plasma.properties.continuum_processes.rates.TwoPhotonEmissionCDF(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
two_photon_emission_cdfpandas.DataFrame, dtype float

The cumulative distribution function (CDF) for the frequencies of energy packets emitted in two photon transitions. The tabulated CDF is used to sample packet frequencies in the Monte Carlo simulation.

calculate(two_photon_data)[source]
static calculate_j_nu(y, alpha, beta, gamma)[source]

Calculate two photon emissivity.

This function calculates the two photon emissivity in the frequency scale based on Eq. 2 and Eq. 3 in Nussbaumer & Schmutz (1984). The emissivity is not normalized since it is only used to calculate relative emission probabilities.

Parameters:
ynumpy.ndarray, dtype float

Emission frequency divided by that of the normal line transition corresponding to the two photon decay.

alphafloat

Fit coefficient.

betafloat

Fit coefficient.

gammafloat

Fit coefficient.

Returns:
numpy.ndarray, dtype float

Unnormalized two photon emissivity in the frequency scale.

outputs = ('two_photon_emission_cdf',)
class tardis.plasma.properties.continuum_processes.rates.TwoPhotonFrequencySampler(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes:
nu_two_photon_samplerfloat

Frequency of the two-photon emission process

calculate(two_photon_emission_cdf)[source]
outputs = ('nu_two_photon_sampler',)