tardis.transport.montecarlo.interaction module¶
- tardis.transport.montecarlo.interaction.adiabatic_cooling(r_packet)[source]¶
 Adiabatic cooling - equivalent to destruction of the packet
- Parameters:
 - r_packet: tardis.transport.montecarlo.r_packet.RPacket
 
- tardis.transport.montecarlo.interaction.bf_cooling(r_packet, time_explosion, opacity_state, enable_full_relativity)[source]¶
 Bound-Free Cooling - Determine and run bf emission from cooling
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 
- tardis.transport.montecarlo.interaction.bound_free_emission(r_packet, time_explosion, opacity_state, continuum_id, enable_full_relativity)[source]¶
 Bound-Free emission - set the frequency from photo-ionization
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 - continuum_idint
 
- tardis.transport.montecarlo.interaction.continuum_event(r_packet, time_explosion, opacity_state, chi_bf_tot, chi_ff, chi_bf_contributions, current_continua, enable_full_relativity)[source]¶
 continuum event handler - activate the macroatom and run the handler
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 - continuumtardis.transport.montecarlo.numba_interface.Continuum
 
- tardis.transport.montecarlo.interaction.determine_bf_macro_activation_idx(opacity_state, nu, chi_bf_contributions, active_continua)[source]¶
 Determine the macro atom activation level after bound-free absorption.
- Parameters:
 - nufloat
 Comoving frequency of the r-packet.
- chi_bf_contributionsnumpy.ndarray, dtype float
 Cumulative distribution of bound-free opacities at frequency
nu.- active_continuanumpy.ndarray, dtype int
 Continuum ids for which absorption is possible for frequency
nu.
- Returns:
 - float
 Macro atom activation idx.
- tardis.transport.montecarlo.interaction.determine_continuum_macro_activation_idx(opacity_state, nu, chi_bf, chi_ff, chi_bf_contributions, active_continua)[source]¶
 Determine the macro atom activation level after a continuum absorption.
- Parameters:
 - nufloat
 Comoving frequency of the r-packet.
- chi_bfnumpy.ndarray, dtype float
 Bound-free opacity.
- chi_bfnumpy.ndarray, dtype float
 Free-free opacity.
- chi_bf_contributionsnumpy.ndarray, dtype float
 Cumulative distribution of bound-free opacities at frequency
nu.- active_continuanumpy.ndarray, dtype int
 Continuum ids for which absorption is possible for frequency
nu.
- Returns:
 - float
 Macro atom activation idx.
- tardis.transport.montecarlo.interaction.free_free_emission(r_packet, time_explosion, opacity_state, enable_full_relativity)[source]¶
 Free-Free emission - set the frequency from electron-ion interaction
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 
- tardis.transport.montecarlo.interaction.get_current_line_id(nu, line_list)[source]¶
 Get the line id corresponding to a frequency nu in a line list
- Parameters:
 - nufloat
 - line_listnp.ndarray
 
- tardis.transport.montecarlo.interaction.line_emission(r_packet, emission_line_id, time_explosion, opacity_state, enable_full_relativity)[source]¶
 Sets the frequency of the RPacket properly given the emission channel
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - emission_line_idint
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 
- tardis.transport.montecarlo.interaction.line_scatter(r_packet, time_explosion, line_interaction_type, opacity_state, enable_full_relativity)[source]¶
 Line scatter function that handles the scattering itself, including new angle drawn, and calculating nu out using macro atom
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - line_interaction_typeenum
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 
- tardis.transport.montecarlo.interaction.macro_atom_event(destination_level_idx, r_packet, time_explosion, opacity_state, enable_full_relativity)[source]¶
 Macroatom event handler - run the macroatom and handle the result
- Parameters:
 - destination_level_idxint
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 - opacity_statetardis.transport.montecarlo.numba_interface.OpacityState
 
- tardis.transport.montecarlo.interaction.sample_nu_free_bound(opacity_state, shell, continuum_id)[source]¶
 - Attributes:
 - nu_fb_samplerfloat
 Frequency of the free-bounds emission process
- tardis.transport.montecarlo.interaction.sample_nu_free_free(opacity_state, shell)[source]¶
 - Attributes:
 - nu_ff_samplerfloat
 Frequency of the free-free emission process
- tardis.transport.montecarlo.interaction.thomson_scatter(r_packet, time_explosion, enable_full_relativity)[source]¶
 Thomson scattering — no longer line scattering
get the doppler factor at that position with the old angle
convert the current energy and nu into the comoving frame with the old mu
Scatter and draw new mu - update mu
Transform the comoving energy and nu back using the new mu
- Parameters:
 - r_packettardis.transport.montecarlo.r_packet.RPacket
 - time_explosionfloat
 time since explosion in seconds