Radiative Transfer Photon Packets¶
Class providing photon packets for Monte Carlo radiative transfer calculations—discrete bundles of photon energy that are launched from sources and propagated through the computational domain, interacting with matter via absorption and scattering. Each packet carries a wavelength (in AA), a wavelength range, a luminosity (in \(L_\odot\)), a 3-D position, a direction of propagation, and a weight tracking how much of the original energy remains. The packet’s trajectory through the grid determines the local radiation field and drives the ionization and heating of the matter.
Default implementation: radiativeTransferPhotonPacketSimple
Methods¶
wavelengthSet→voidSet the wavelength (in AA) of the photon packet.
double precision, intent(in ) :: wavelength
wavelength→double precisionGet the wavelength (in AA) of the photon packet.
wavelengthMinimumSet→voidSet the minimum wavelength (in AA) of the photon packet.
double precision, intent(in ) :: wavelength
wavelengthMinimum→double precisionGet the minimum wavelength (in AA) of the photon packet.
wavelengthMaximumSet→voidSet the maximum wavelength (in AA) of the photon packet.
double precision, intent(in ) :: wavelength
wavelengthMaximum→double precisionGet the maximum wavelength (in AA) of the photon packet.
luminositySet→voidSet the luminosity (in \(L_\odot\)) of the photon packet.
double precision, intent(in ) :: luminosity
luminosity→double precisionGet the luminosity (in \(L_\odot\)) of the photon packet.
positionSet→voidSet the position of the photon packet.
double precision, intent(in ), dimension(3) :: position
position→double precision, dimension(3)Get the position of the photon packet.
directionSet→voidSet the direction of the photon packet.
double precision, intent(in ), dimension(3) :: direction
direction→double precision, dimension(3)Get the direction of the photon packet.
sourceType→integerGet a integer type describing the source of the photon packet.
sourceTypeSet→voidSet an integer type describing the source of the photon packet.
integer, intent(in ) :: sourceType
radiativeTransferPhotonPacketSimple¶
A simple photon packet class for Monte Carlo radiative transfer that tracks the minimum required properties: wavelength, luminosity, three-dimensional position, and propagation direction. The initial wavelength and luminosity of each packet are set by [wavelength] and [luminosity], with wavelength bounds given by [wavelengthMinimum] and [wavelengthMaximum].
(Default implementation)
Methods
calculationReset— Reset memoized calculations.
Parameters
[wavelength](real; default1.0d4) — The wavelength of the photon packet (in AA).[wavelengthMinimum](real; default0.5d4) — The minimum wavelength of the photon packet (in AA).[wavelengthMaximum](real; default2.0d4) — The maximum wavelength of the photon packet (in AA).[luminosity](real; default1.0d0) — The luminosity of the photon packet (in \(L_\odot\)).