tardis.transport.montecarlo.montecarlo_main_loop module

tardis.transport.montecarlo.montecarlo_main_loop.montecarlo_main_loop(packet_collection: PacketCollection, geometry_state_numba: NumbaRadial1DGeometry, time_explosion: float, opacity_state_numba: OpacityStateNumba, montecarlo_configuration: MonteCarloConfiguration, estimators: RadiationFieldMCEstimators, spectrum_frequency_grid: ndarray, rpacket_trackers: List, number_of_vpackets: int, show_progress_bars: bool)[source]

Main loop of the Monte Carlo radiative transfer routine.

This function generates the packet objects from the packet collection and propagates them through the ejecta, performing interactions and collecting statistics for the radiative transfer simulation.

Parameters:
packet_collectionPacketCollection

Collection containing initial packet properties (positions, directions, frequencies, energies, and seeds)

geometry_stateNumbaRadial1DGeometry

Numba-compiled simulation geometry containing shell boundaries and velocity information

time_explosionfloat

Time since explosion in seconds, used for relativistic calculations

opacity_stateOpacityStateNumba

Numba-compiled opacity state containing line opacities, continuum opacities, and atomic data required for interactions

montecarlo_configurationMonteCarloConfiguration

Configuration object containing Monte Carlo simulation parameters and flags for various physics modules

estimatorsRadfieldMCEstimators

Estimator object for collecting radiation field statistics during packet propagation

spectrum_frequency_gridnumpy.ndarray

Frequency grid array for virtual packet spectrum calculation

rpacket_trackersnumba.typed.List

List of packet trackers for detailed packet interaction logging

number_of_vpacketsint

Number of virtual packets to spawn per real packet interaction

show_progress_barsbool

Flag to enable/disable progress bar updates during simulation

Returns:
tuple

A tuple containing: - v_packets_energy_hist : numpy.ndarray

Energy histogram of virtual packets binned by frequency

  • last_interaction_trackerLastInteractionTracker

    Object tracking the last interaction properties for each packet

  • vpacket_trackerVPacketCollection

    Consolidated virtual packet collection containing all virtual packet information from the simulation