tardis.transport.montecarlo.modes.classic.rad_packet_transport module

Classic mode rad packet transport - line-only without continuum processes.

tardis.transport.montecarlo.modes.classic.rad_packet_transport.move_packet_across_shell_boundary(packet: RPacket, delta_shell: int, no_of_shells: int) None[source]

Move packet across shell boundary - realizing if we are still in the simulation or have moved out through the inner boundary or outer boundary and updating packet status.

Parameters:
packetRPacket

Radiative packet object

delta_shellint

Change in shell index (+1 if moving outward or -1 if moving inward)

no_of_shellsint

Number of shells in TARDIS simulation

tardis.transport.montecarlo.modes.classic.rad_packet_transport.move_r_packet(r_packet: RPacket, distance: float, time_explosion: float, estimators_bulk: EstimatorsBulk, enable_full_relativity: bool) None[source]

Move packet a distance and recalculate the new angle mu.

Parameters:
r_packetRPacket

Radiative packet object

distancefloat

Distance to move in cm

time_explosionfloat

Time since explosion in seconds

estimators_bulkEstimatorsBulk

Cell-level bulk radiation field estimators

enable_full_relativitybool

Flag to enable full relativistic calculations

tardis.transport.montecarlo.modes.classic.rad_packet_transport.trace_packet(r_packet: RPacket, numba_radial_1d_geometry: NumbaRadial1DGeometry, time_explosion: float, 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.

Classic 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

time_explosionfloat

Time since explosion in seconds

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)