tardis.opacities.macro_atom.macroatom_continuum_transitions module

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_deexc_to_k_packet(coll_deexc_coeff, electron_densities, delta_E_yg)[source]

Create collisional de-excitation and deactivation transitions to a ‘k’ packet.

This function wraps the probability_collision_deexc_to_k_packet probability calculation and produces a metadata DataFrame describing the resulting de-excitation transitions that deposit energy into the k-packet channel.

Parameters:
coll_deexc_coeffpd.DataFrame

Collisional de-excitation coefficients indexed by transition.

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

delta_E_ygpd.Series

Energy differences for the transitions.

Returns:
p_coll_down_to_k_packetpd.DataFrame

Unnormalized probabilities (rates) for de-excitation/deactivation.

coll_down_to_k_packet_metadatapd.DataFrame

Metadata for the de-excitation transitions; index matches p_coll_down_to_k_packet.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_excitation_cool(coll_exc_coeff, electron_densities, delta_E_yg, level_number_density, lower_indices)[source]

Build collisional excitation cooling transitions and metadata.

This function computes the collisional excitation cooling rates (an unnormalized probability) and packages them together with metadata describing the cooling transitions.

Parameters:
coll_exc_coeffpd.DataFrame

Collisional excitation coefficients indexed by transitions.

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

delta_E_ygpd.Series

Energy differences for the excitations.

level_number_densitypd.Series

Number density for the lower levels involved in the transitions.

lower_indicespd.Index

Index of lower level identifiers that aligns level_number_density with the rows of coll_exc_coeff.

Returns:
p_coll_excitation_coolpd.DataFrame

Unnormalized collisional excitation cooling rates.

coll_excitation_cool_metadatapd.DataFrame

Metadata for the excitation cooling transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_internal_down(coll_deexc_coeff, electron_densities, energies_lowers)[source]

Build collisional internal-down transition probabilities and metadata.

Parameters:
coll_deexc_coeffpd.DataFrame

Collisional de-excitation coefficients indexed by transitions.

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

energies_lowerspd.Series

Energy values of the lower levels.

Returns:
p_coll_internal_downpd.DataFrame

Unnormalized collisional internal down transition probabilities.

coll_internal_down_metadatapd.DataFrame

Metadata for the collisional internal down transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_internal_up(coll_exc_coeff, electron_densities, energies_lowers)[source]

Build collisional internal-up transition probabilities and metadata.

Parameters:
coll_exc_coeffpd.DataFrame

Collisional excitation coefficients indexed by transitions.

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

energies_lowersobject

Atomic data object providing levels with energy values.

Returns:
p_coll_internal_uppd.DataFrame

Unnormalized collisional internal up transition probabilities.

coll_internal_up_metadatapd.DataFrame

Metadata for the collisional internal up transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_adiabatic_cooling(electron_densities, t_electrons, time_explosion)[source]

Calculate the adiabatic cooling rate.

Parameters:
electron_densitiespd.DataFrame

Electron densities.

t_electronspd.DataFrame

Electron temperatures.

time_explosionfloat

Time since explosion.

Returns:
pd.DataFrame

DataFrame containing the adiabatic cooling rates.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_free_free_cooling(ion_number_density, electron_densities, t_electrons)[source]

Wrap free-free cooling rates with metadata for macro-atom use. NOTE: This I believe is a deactivation transition. It is not implemented or hooked up to the solver yet.

Parameters:
ion_number_densitypd.MultiIndex or pd.DataFrame index

Index or Series containing ion number densities (levelled by ion).

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

t_electronspd.DataFrame or pd.Series

Electron temperatures per zone.

Returns:
p_free_free_coolpd.DataFrame or pd.Series

Unnormalized free-free cooling rates.

free_free_cool_metadatapd.DataFrame

Metadata DataFrame describing the cooling transitions. The index matches p_free_free_cool and includes fields such as transition_type and photoionization_key_idx.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_transition_photoionization(stim_recomb_corrected_photoionization_rate_coeff: DataFrame, photoionization_data_level_energies: Series) tuple[DataFrame, DataFrame][source]

Calculate photoionization probability unnormalized.

Parameters:
stim_recomb_corrected_photoionization_rate_coeffpd.Series

Corrected photoionization rate coefficient from level i to k.

photoionization_data_level_energiespd.Series

Energies of the levels involved in photoionization.

Returns:
p_photoionizationpd.DataFrame

DataFrame containing photoionization probabilities.

photoionization_metadatapd.DataFrame

DataFrame containing metadata for the photoionization transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_transition_recombination_emission(spontaneous_recombination_coeff: DataFrame, photoionization_data_frequencies: Series) tuple[DataFrame, DataFrame][source]

Calculate unnormalized probabilities and metadata for radiative recombination emission transitions (continuum).

Parameters:
spontaneous_recombination_coeffpd.DataFrame

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_frequenciespd.Series

Ionization threshold frequencies for the levels.

Returns:
p_recomb_emissionpd.DataFrame

DataFrame containing unnormalized recombination emission probabilities.

recombination_emission_metadatapd.DataFrame

DataFrame containing metadata for the recombination emission transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_transition_recombination_internal(spontaneous_recombination_coeff: DataFrame, photoionization_data_level_energies: Series) tuple[DataFrame, DataFrame][source]

Calculate unnormalized probabilities of radiative recombination.

Parameters:
spontaneous_recombination_coeffpd.Series

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_level_energiespd.Series

Energies of levels with bound-free transitions.

Returns:
p_recombinationpd.DataFrame

DataFrame containing recombination probabilities.

recombination_metadatapd.DataFrame

DataFrame containing metadata for the recombination transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_adiabatic_cooling(electron_densities, t_electrons, time_explosion)[source]

Calculate the adiabatic cooling rate (unnormalized).

This function computes a simple adiabatic cooling term used as an unnormalized probability for macro-atom transitions that represent adiabatic losses.

Parameters:
electron_densitiespd.DataFrame or pd.Series

Electron number densities (per shell / spatial zone).

t_electronspd.DataFrame or pd.Series

Electron temperatures (same index/shape as electron_densities).

time_explosionfloat

Time since explosion (seconds).

Returns:
pd.DataFrame or pd.Series

Unnormalized adiabatic cooling rates with the same index as electron_densities / t_electrons.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_deexc_to_k_packet(coll_deexc_coeff, electron_densities, delta_E_yg)[source]

Calculate collisional de-excitation to k packet probabilities.

Parameters:
coll_deexc_coeffpd.DataFrame

Collisional de-excitation coefficients.

electron_densitiespd.DataFrame

Electron densities.

delta_E_ygpd.Series

Energy differences.

Returns:
pd.DataFrame

DataFrame containing collisional de-excitation to k packet probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_excitation_cool(coll_exc_coeff, electron_densities, delta_E_yg, level_number_density, lower_indices)[source]

Calculate collisional excitation cooling rates (unnormalized) and aggregate by destination level.

Parameters:
coll_exc_coeffpd.DataFrame

Collisional excitation coefficients indexed by transitions.

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

delta_E_ygpd.Series

Energy differences for the excitation transitions (level -> g).

level_number_densitypd.Series

Number density for the lower levels involved in the transitions.

lower_indicespd.Index

Index of lower level identifiers that aligns level_number_density with the rows of coll_exc_coeff.

Returns:
pd.DataFrame or pd.Series

Aggregated collisional excitation cooling rates grouped by destination_level_idx.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_internal_down(coll_deexc_coeff, electron_densities, energies_lowers)[source]

Calculate collisional internal de-excitation probabilities.

Parameters:
coll_deexc_coeffpd.DataFrame

Collisional de-excitation coefficients.

electron_densitiespd.DataFrame

Electron densities.

energies_lowerspd.Series

Energy values of the lower levels.

Returns:
pd.DataFrame

DataFrame containing collisional de-excitation probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_internal_up(coll_exc_coeff, electron_densities, energy_lowers)[source]

Calculate collisional internal up probabilities.

Parameters:
coll_exc_coeffpd.DataFrame

Collisional excitation coefficients.

electron_densitiespd.DataFrame

Electron densities.

energy_lowerspd.Series

Energy values of the lower levels.

Returns:
pd.DataFrame

DataFrame containing collisional internal up probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_free_free_cooling(ion_number_density, electron_densities, t_electrons)[source]

Calculate an unnormalized free-free (bremsstrahlung) cooling probability.

This routine estimates a free-free cooling rate used as an unnormalized probability for macro-atom cooling transitions. The implementation uses an approximate scaling with electron temperature and ion charge.

Parameters:
ion_number_densitypd.MultiIndex or pd.DataFrame index

Index or Series containing ion number densities (levelled by ion).

electron_densitiespd.DataFrame or pd.Series

Electron number densities per zone.

t_electronspd.DataFrame or pd.Series

Electron temperatures per zone.

Returns:
pd.DataFrame or pd.Series

Unnormalized free-free cooling rates with the same index as electron_densities / t_electrons.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_photoionization(stim_recomb_corrected_photoionization_rate_coeff: DataFrame, photoionization_data_level_energies: Series) DataFrame[source]

Calculate photoionization probability unnormalized.

Parameters:
stim_recomb_corrected_photoionization_rate_coeffpd.Series

Corrected photoionization rate coefficient from level i to k.

photoionization_data_level_energiespd.Series

Energies of the levels involved in photoionization.

Returns:
pd.DataFrame

DataFrame containing photoionization probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_recombination_cooling(spontaneous_recombination_cooling_coeff, electron_densities, ion_number_density)[source]
tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_recombination_emission(spontaneous_recombination_coeff: DataFrame, photoionization_data_frequencies: Series) DataFrame[source]

Calculate unnormalized probabilities of radiative recombination emission transitions.

Parameters:
spontaneous_recombination_coeffpd.DataFrame

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_frequenciespd.Series

Ionization threshold frequencies for the levels.

Returns:
pd.DataFrame

DataFrame containing unnormalized recombination emission probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_recombination_internal(spontaneous_recombination_coeff: DataFrame, photoionization_data_level_energies: Series) DataFrame[source]

Calculate unnormalized probabilities of radiative recombination (internal transitions).

Parameters:
spontaneous_recombination_coeffpd.DataFrame

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_level_energiespd.Series

Energies of levels with bound-free transitions.

Returns:
pd.DataFrame

DataFrame containing unnormalized recombination probabilities for internal transitions.