tardis.opacities.macro_atom.macroatom_continuum_transitions module

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_deexc_to_k_packet(coll_deexc_coeff: DataFrame, electron_densities: Series, delta_E_yg: Series) tuple[DataFrame, DataFrame][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_coeff

Collisional de-excitation coefficients indexed by transition.

electron_densities

Electron number densities per zone.

delta_E_yg

Energy differences between upper and lower state for the transitions.

Returns:
p_coll_down_to_k_packet

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

coll_down_to_k_packet_metadata

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

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_excitation_internal(coll_exc_coeff: DataFrame, electron_densities: Series, energies_lower: Series) tuple[DataFrame, DataFrame][source]

Build collisional internal-up transition probabilities and metadata.

Parameters:
coll_exc_coeff

Collisional excitation coefficients indexed by transitions.

electron_densities

Electron number densities per zone.

energies_lower

Energy values of the lower levels.

Returns:
p_coll_up_internal

Unnormalized collisional excitation to macro transition probabilities.

coll_up_internal_metadata

Metadata for the collisional internal up transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_internal_down(coll_deexc_coeff: DataFrame, electron_densities: Series, energies_lower: Series) tuple[DataFrame, DataFrame][source]

Build collisional internal-down transition probabilities and metadata.

Parameters:
coll_deexc_coeff

Collisional de-excitation coefficients indexed by transitions.

electron_densities

Electron number densities per zone.

energies_lower

Energy values of the lower levels.

Returns:
p_coll_internal_down

Unnormalized collisional internal down transition probabilities.

coll_internal_down_metadata

Metadata for the collisional internal down transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_ionization_internal(coll_ion_coeff: DataFrame, electron_densities: Series, energies_coll_lower_states: Series) tuple[DataFrame, DataFrame][source]

Build collisional ionization internal probabilities and metadata.

Parameters:
coll_ion_coeff

Collisional ionization coefficients.

electron_densities

Electron number densities.

energies_coll_lower_states

Energies of the lower states in the transitions.

Returns:
p_coll_ionization_internal

Unnormalized collisional ionization internal probabilities.

coll_ionzation_internal_metadata

Metadata for collisional ionization internal transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_recombination_internal(coll_recomb_coeff: DataFrame, electron_densities: Series, energies_coll_lower_states: Series) tuple[DataFrame, DataFrame][source]

Build collisional recombination internal probabilities and metadata.

Parameters:
coll_recomb_coeff

Collisional recombination coefficients.

electron_densities

Electron number densities.

energies_coll_lower_states

Energies of the lower states in the transitions.

Returns:
p_coll_recomb_internal

Unnormalized collisional recombination internal probabilities.

coll_recomb_internal

Metadata for collisional recombination internal transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.collisional_transition_recombination_to_k_packet(coll_recomb_coeff: DataFrame, electron_densities: Series, energies_diff_bound_free: Series) tuple[DataFrame, DataFrame][source]

Build collisional recombination emission probabilities and metadata.

Parameters:
coll_recomb_coeff

Collisional recombination coefficients.

electron_densities

Electron number densities.

energies_diff_bound_free

Energy differences of the states involved in ionization.

Returns:
p_coll_recomb_to_k_packet

Unnormalized collisional recombination emission probabilities.

coll_recomb_to_k_packet_metadata

Metadata for collisional recombination emission transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_adiabatic_cooling(electron_densities: Series, t_electrons: Series, time_explosion: float) tuple[Series, DataFrame][source]

Calculate the adiabatic cooling rate.

Parameters:
electron_densities

Electron densities.

t_electrons

Electron temperatures.

time_explosion

Time since explosion.

Returns:
p_adiabatic_cool

Unnormalized adiabatic cooling rates.

adiabatic_cool_metadata

Metadata DataFrame describing the cooling transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.continuum_transition_photoionization_internal(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_coeff

Corrected photoionization rate coefficient from level i to k.

photoionization_data_level_energies

Energies of the states involved in photoionization.

Returns:
p_photoion_internal

DataFrame containing photoionization probabilities.

photoion_internal_metadata

DataFrame containing metadata for the photoionization transitions.

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

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

Parameters:
spontaneous_recombination_coeff

Rate coefficient for spontaneous recombination from k to level i.

energies_diff_bound_free

Energy differences of the states involved in ionization

Returns:
p_photo_recomb_emission

DataFrame containing unnormalized recombination emission probabilities.

recombination_emission_metadata

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_coeff

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_level_energies

Energies of levels with bound-free transitions.

Returns:
p_recombination

DataFrame containing recombination probabilities.

recombination_metadata

DataFrame containing metadata for the recombination transitions.

tardis.opacities.macro_atom.macroatom_continuum_transitions.create_coll_excitation_cooling_metadata(transition_starting_index: int, coll_exc_cool_probs_arr: ndarray, internal_up_destinations: Series) DataFrame[source]

Create metadata for free-bound (radiative recombination) cooling transitions.

Parameters:
transition_starting_index

The starting index for the cooling transitions to be created.

coll_exc_cool_probs_arr

Array containing collisional excitation cooling probabilities. Shape is (n_zones, n_levels).

Returns:
pd.DataFrame

Metadata DataFrame describing the collisional excitation cooling transitions for each bound level.

tardis.opacities.macro_atom.macroatom_continuum_transitions.create_coll_ionization_cooling_metadata(transition_starting_index: int, coll_ion_cool_probs_arr: ndarray) DataFrame[source]

Create metadata for collisional ionization cooling transitions.

Parameters:
transition_starting_index

The starting index for the cooling transitions to be created.

coll_ion_cool_probs_arr

Array containing collisional ionization cooling probabilities. Shape is (n_zones, n_levels).

Returns:
pd.DataFrame

Metadata DataFrame describing the collisional ionization cooling transitions for each bound level.

tardis.opacities.macro_atom.macroatom_continuum_transitions.create_free_bound_cooling_metadata(transition_starting_index: int, fb_cool_probs_arr: ndarray) DataFrame[source]

Create metadata for free-bound (radiative recombination) cooling transitions.

Parameters:
transition_starting_index

The starting index for the cooling transitions to be created.

fb_cool_probs_arr

Array containing free-bound cooling probabilities. Shape is (n_zones, n_bound_levels).

Returns:
pd.DataFrame

Metadata DataFrame describing the free-bound cooling transitions for each bound level.

tardis.opacities.macro_atom.macroatom_continuum_transitions.create_free_free_cooling_metadata(transition_starting_index: int) DataFrame[source]

Create metadata for free-free (bremsstrahlung) cooling transitions.

Parameters:
transition_starting_index

The starting index for the cooling transition to be created.

Returns:
pd.DataFrame

Metadata DataFrame describing the free-free cooling transition.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_adiabatic_cooling(electron_densities: DataFrame, t_electrons: Series, time_explosion: float) DataFrame[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_densities

Electron number densities (per shell / spatial zone).

t_electrons

Electron temperatures (same index/shape as electron_densities).

time_explosion

Time since explosion (seconds).

Returns:
p_adiabatic_cool

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: DataFrame, electron_densities: Series, delta_E_yg: Series) DataFrame[source]

Calculate collisional de-excitation to k packet probabilities.

Parameters:
coll_deexc_coeff

Collisional de-excitation coefficients.

electron_densities

Electron densities.

delta_E_yg

Energy differences between upper and lower state.

Returns:
p_coll_down_to_k_packet

DataFrame containing collisional de-excitation to k packet probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_exc_internal(coll_exc_coeff: DataFrame, electron_densities: Series, energies_lower: Series) DataFrame[source]

Calculate collisional internal up probabilities.

Parameters:
coll_exc_coeff

Collisional excitation coefficients.

electron_densities

Electron densities.

energies_lower

Energy values of the lower levels.

Returns:
p_coll_exc_internal

DataFrame containing collisional internal up probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_internal_down(coll_deexc_coeff: DataFrame, electron_densities: Series, energies_lower: Series) DataFrame[source]

Calculate collisional internal de-excitation probabilities.

Parameters:
coll_deexc_coeff

Collisional de-excitation coefficients.

electron_densities

Electron densities.

energies_lower

Energy values of the lower levels.

Returns:
p_coll_internal_down

DataFrame containing collisional de-excitation probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_ionization_internal(coll_ion_coeff: DataFrame, electron_densities: Series, energies_coll_lower_states: Series) DataFrame[source]

Calculate collisional ionization internal probabilities.

Parameters:
coll_ion_coeff

Collisional ionization coefficients.

electron_densities

Electron number densities.

energies_coll_lower_states

Energies of the lower states in the transitions.

Returns:
p_coll_ionization_internal

Unnormalized collisional ionization internal probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_recombination_internal(coll_recomb_coeff: DataFrame, electron_densities: Series, energies_coll_lower_states: Series) DataFrame[source]

Calculate collisional recombination internal probabilities.

Parameters:
coll_recomb_coeff

Collisional recombination coefficients.

electron_densities

Electron number densities.

energies_coll_lower_states

Energies of the lower states in the transitions.

Returns:
p_coll_recomb_internal

Unnormalized collisional recombination internal probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_collision_recombination_to_k_packet(coll_recomb_coeff: DataFrame, electron_densities: Series, energies_diff_bound_free: Series) DataFrame[source]

Calculate collisional recombination emission probabilities.

Parameters:
coll_recomb_coeff

Collisional recombination coefficients.

electron_densities

Electron number densities.

energies_diff_bound_free

Energy differences of the states involved in ionization.

Returns:
p_coll_recomb_to_k_packet

Unnormalized collisional recombination emission probabilities.

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

Calculate photoionization probability unnormalized.

Parameters:
stim_recomb_corrected_photoionization_rate_coeff

Corrected photoionization rate coefficient from level i to k.

photoionization_data_level_energies

Energies of the states involved in photoionization.

Returns:
p_photoion_internal

DataFrame containing photoionization probabilities.

tardis.opacities.macro_atom.macroatom_continuum_transitions.probability_recombination_emission(spontaneous_recombination_coeff: DataFrame, energies_diff_bound_free: Series) DataFrame[source]

Calculate unnormalized probabilities of radiative recombination emission transitions.

Parameters:
spontaneous_recombination_coeff

Rate coefficient for spontaneous recombination from k to level i.

energies_diff_bound_free

Energy differences of the states involved in ionization.

Returns:
p_photo_recomb_emission

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_coeff

Rate coefficient for spontaneous recombination from k to level i.

photoionization_data_level_energies

Energies of levels with bound-free transitions.

Returns:
p_recomb_internal

DataFrame containing unnormalized recombination probabilities for internal transitions.