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

wavelengthSetvoid

Set the wavelength (in AA) of the photon packet.

  • double precision, intent(in ) :: wavelength

wavelengthdouble precision

Get the wavelength (in AA) of the photon packet.

wavelengthMinimumSetvoid

Set the minimum wavelength (in AA) of the photon packet.

  • double precision, intent(in ) :: wavelength

wavelengthMinimumdouble precision

Get the minimum wavelength (in AA) of the photon packet.

wavelengthMaximumSetvoid

Set the maximum wavelength (in AA) of the photon packet.

  • double precision, intent(in ) :: wavelength

wavelengthMaximumdouble precision

Get the maximum wavelength (in AA) of the photon packet.

luminositySetvoid

Set the luminosity (in \(L_\odot\)) of the photon packet.

  • double precision, intent(in ) :: luminosity

luminositydouble precision

Get the luminosity (in \(L_\odot\)) of the photon packet.

positionSetvoid

Set the position of the photon packet.

  • double precision, intent(in ), dimension(3) :: position

positiondouble precision, dimension(3)

Get the position of the photon packet.

directionSetvoid

Set the direction of the photon packet.

  • double precision, intent(in ), dimension(3) :: direction

directiondouble precision, dimension(3)

Get the direction of the photon packet.

sourceTypeinteger

Get a integer type describing the source of the photon packet.

sourceTypeSetvoid

Set 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; default 1.0d4) — The wavelength of the photon packet (in AA).

  • [wavelengthMinimum] (real; default 0.5d4) — The minimum wavelength of the photon packet (in AA).

  • [wavelengthMaximum] (real; default 2.0d4) — The maximum wavelength of the photon packet (in AA).

  • [luminosity] (real; default 1.0d0) — The luminosity of the photon packet (in \(L_\odot\)).