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_packetprobability 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_densitywith the rows ofcoll_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
levelswith 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_cooland includes fields such astransition_typeandphotoionization_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
itok.- 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
kto leveli.- 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
kto leveli.- 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_densitywith the rows ofcoll_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
itok.- 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
kto leveli.- 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
kto leveli.- photoionization_data_level_energiespd.Series
Energies of levels with bound-free transitions.
- Returns:
- pd.DataFrame
DataFrame containing unnormalized recombination probabilities for internal transitions.