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, n_levels_bf_species_by_n_cells_tuple: tuple, spectrum_frequency_grid: ndarray, 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_collection

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

geometry_state_numba

Numba-compiled simulation geometry containing shell boundaries and velocity information

time_explosion

Time since explosion in seconds, used for relativistic calculations

opacity_state_numba

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

montecarlo_configuration

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

n_levels_bf_species_by_n_cells_tuple

Shape tuple for bound-free transitions (n_levels_bf_species, n_cells)

spectrum_frequency_grid

Frequency grid array for virtual packet spectrum calculation

trackers

List of packet trackers for detailed packet interaction logging

number_of_vpackets

Number of virtual packets to spawn per real packet interaction

show_progress_bars

Flag to enable/disable progress bar updates during simulation

Returns:
A tuple containing:
- v_packets_energy_histEnergy histogram of virtual packets binned by frequency
- vpacket_trackerConsolidated virtual packet collection containing all virtual

packet information from the simulation

- estimators_bulkUpdated bulk radiation field estimator object containing cell-level

statistics collected during packet propagation

- estimators_lineUpdated line radiation field estimator object containing line interaction

statistics collected during packet propagation

- estimators_continuumUpdated continuum estimator object containing continuum interaction

statistics collected during packet propagation