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