tardis.plasma.properties.continuum_processes module

class tardis.plasma.properties.continuum_processes.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.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.BoundFreeOpacity(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes
chi_bfpandas.DataFrame, dtype float

Bound-free opacity corrected for stimulated emission.

calculate(photo_ion_cross_sections, t_electrons, phi_ik, level_number_density, lte_level_number_density, boltzmann_factor_photo_ion)[source]
latex_name = ('\\chi^{\\textrm{bf}}',)
outputs = ('chi_bf',)
class tardis.plasma.properties.continuum_processes.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.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.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.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.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.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.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.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.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.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.PhotoIonEstimatorsNormFactor(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

static calculate(time_simulation, volume)[source]
latex_name = ('\\frac{1}{t_\\textrm{simulation volume h}}',)
outputs = ('photo_ion_norm_factor',)
class tardis.plasma.properties.continuum_processes.PhotoIonRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes
gammapandas.DataFrame, dtype float

The rate coefficient for radiative ionization.

calculate(photo_ion_cross_sections, gamma_estimator, photo_ion_norm_factor, photo_ion_block_references, photo_ion_index, t_rad, w, level2continuum_idx)[source]
static calculate_from_dilute_bb(photo_ion_cross_sections, photo_ion_block_references, photo_ion_index, t_rad, w)[source]
latex_name = ('\\gamma',)
outputs = ('gamma',)
class tardis.plasma.properties.continuum_processes.PhotoIonRateCoeffEstimator[source]

Bases: Input

Attributes
gamma_estimatorpandas.DataFrame, dtype float

Unnormalized MC estimator for the rate coefficient for radiative ionization.

latex_name = ('\\gamma_\\textrm{estim}',)
outputs = ('gamma_estimator',)
class tardis.plasma.properties.continuum_processes.RawCollIonTransProbs(plasma_parent)[source]

Bases: TransitionProbabilitiesProperty, IndexSetterMixin

Attributes
p_coll_ionpandas.DataFrame, dtype float

The unnormalized transition probabilities for collisional ionization.

p_coll_recombpandas.DataFrame, dtype float

The unnormalized transition probabilities for collisional recombination.

cool_rate_coll_ionpandas.DataFrame, dtype float

The collisional ionization cooling rates of the electron gas.

calculate(coll_ion_coeff, coll_recomb_coeff, nu_i, photo_ion_idx, electron_densities, energy_i, level_number_density)[source]
latex_name = ('p^{\\textrm{coll ion}}', 'p^{\\textrm{coll recomb}}', 'C^{\\textrm{ion}}')
outputs = ('p_coll_ion', 'p_coll_recomb', 'cool_rate_coll_ion')
transition_probabilities_outputs = ('p_coll_ion', 'p_coll_recomb', 'cool_rate_coll_ion')
class tardis.plasma.properties.continuum_processes.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.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.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.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.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.SpontRecombRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes
alpha_sppandas.DataFrame, dtype float

The rate coefficient for spontaneous recombination.

calculate(photo_ion_cross_sections, t_electrons, photo_ion_block_references, photo_ion_index, phi_ik, boltzmann_factor_photo_ion)[source]
latex_name = ('\\alpha^{\\textrm{sp}}',)
outputs = ('alpha_sp',)
class tardis.plasma.properties.continuum_processes.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.StimRecombRateCoeff(plasma_parent)[source]

Bases: ProcessingPlasmaProperty

Attributes
alpha_stimpandas.DataFrame, dtype float

The rate coefficient for stimulated recombination.

calculate(photo_ion_cross_sections, alpha_stim_estimator, photo_ion_norm_factor, photo_ion_block_references, photo_ion_index, t_rad, w, phi_ik, t_electrons, boltzmann_factor_photo_ion, level2continuum_idx)[source]
static calculate_from_dilute_bb(photo_ion_cross_sections, photo_ion_block_references, photo_ion_index, t_rad, w, t_electrons, boltzmann_factor_photo_ion)[source]
latex_name = ('\\alpha^{\\textrm{stim}}',)
outputs = ('alpha_stim',)
class tardis.plasma.properties.continuum_processes.StimRecombRateCoeffEstimator[source]

Bases: Input

Attributes
alpha_stim_estimatorpandas.DataFrame, dtype float

Unnormalized MC estimator for the rate coefficient for stimulated recombination.

latex_name = ('\\alpha^{\\textrm{stim}}_\\textrm{estim}',)
outputs = ('alpha_stim_estimator',)
class tardis.plasma.properties.continuum_processes.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.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',)