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