tardis.transport.montecarlo.modes.nonhomologous.rad_packet_transport module

Non-homologous mode rad packet transport - line-only without continuum processes.

tardis.transport.montecarlo.modes.nonhomologous.rad_packet_transport.trace_packet(r_packet: RPacket, numba_radial_1d_geometry: NumbaRadial1DGeometry, opacity_state: OpacityStateNumba, estimators_line: EstimatorsLine, opacity_electron: float, enable_full_relativity: bool, disable_line_scattering: bool) → tuple[float, InteractionType, int][source]

Traces the RPacket through the ejecta and stops when an interaction happens.

Non-homologous mode: only handles line interactions and electron scattering.

Parameters:
r_packetRPacket

The radiative packet being transported

numba_radial_1d_geometryNumbaRadial1DGeometry

Radial 1D geometry of the model

opacity_stateOpacityStateNumba

Opacity state containing line list and tau sobolev

estimators_lineEstimatorsLine

Line-level radiation field estimators

opacity_electronfloat

Electron scattering opacity

enable_full_relativitybool

Flag to enable full relativistic calculations

disable_line_scatteringbool

Flag to disable line scattering

Returns:
tuple[float, InteractionType, int]

(distance, interaction_type, delta_shell)

tardis.transport.montecarlo.modes.nonhomologous.rad_packet_transport.update_line_ids(r_packet: RPacket, line_list_nu: ndarray[tuple[Any, ...], dtype[float64]], comov_nu: float) → None[source]

Update the line IDs bracketing a packet’s comoving frequency.

Parameters:
r_packetRPacket

Radiative packet whose line IDs are updated.

line_list_nunumpy.ndarray

Line frequencies in descending order.

comov_nufloat

Packet frequency in the comoving frame.