Radiative Transfer Outputters¶
Class providing outputters for Monte Carlo radiative transfer calculations—routines that collect and record photon packet statistics as packets propagate through the computational domain. Methods handle escaped photon packets (recording their wavelength, direction, and weight), output properties of the source distribution, and optionally record intermediate quantities such as the local radiation field or ionization state. Implementations write results to HDF5 output groups for subsequent analysis of the emergent spectrum or radiation field.
Default implementation: radiativeTransferOutputterNull
Methods¶
reset→voidReset the outputter to its initial state, clearing any accumulated photon packet statistics in preparation for a new iteration or output epoch.
sourceProperties→voidOutput properties of the source distribution.
class(radiativeTransferSourceClass), intent(inout) :: radiativeTransferSource_type (hdf5Object ), intent(inout) :: outputGroup
photonPacketEscapes→voidHandle cases where a photon packet escapes the computational domain.
class(radiativeTransferPhotonPacketClass), intent(inout) :: photonPacket
finalize→voidFinalize any calculations output.
output→voidPerform final output.
type (hdf5Object), intent(inout) :: outputGroup
radiativeTransferOutputterContinuuaRates¶
A radiative transfer outputter class that records the ionizing photon emission rates in the photoionization continua of all specified chemical elements, enabling tracking of the Lyman continuum and other ionizing fluxes. The list of elements to track is specified via the [elements] parameter.
Parameters
[elements]— The names of the elements to be tracked.
radiativeTransferOutputterLymanContinuumRate¶
A radiative transfer outputter class which outputs the Lyman continuum photon emission rate.
radiativeTransferOutputterMulti¶
A radiative transfer outputter class which combines multiple other outputters.
Methods
columnDescriptions— Return a description of the columns.elementCount— Return the number of properties in the tuple.extractDouble— Extract the double properties from the givennode.extractInteger— Extract the integer properties from the givennode.names— Return the names of the properties extracted.descriptions— Return descriptions of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.ranks— Return the ranks of the properties extracted.metaData— Populate a hash with meta-data for the property.
radiativeTransferOutputterNull¶
A null (no-op) radiative transfer outputter that performs no output operations, used as a placeholder or default when radiative transfer results do not need to be written out.
(Default implementation)
Parameters
[dimensionless](default.true.) — If true the null profile is considered to be dimensionless.
radiativeTransferOutputterSpectrum¶
A radiative transfer outputter class that records wavelength-binned spectra of both the total emitted and emergent photon luminosities, allowing comparison of intrinsic and attenuated radiation. The wavelength range and resolution are set by [wavelengthMinimum], [wavelengthMaximum], and [wavelengthsPerDecade].
Parameters
[wavelengthMinimum](default0.3d4) — The minimum wavelength at which to compute spectra.[wavelengthMaximum](default10.0d4) — The maximum wavelength at which to compute spectra.[wavelengthCountPerDecade](default10_c_size_t) — The number of wavelengths per decade at which to compute spectra.[thetaMinimum](default0.0d0) — The minimum angle \(\theta\) at which to bin the emergent spectrum.[thetaMaximum](default+Pi) — The maximum angle \(\theta\) at which to bin the emergent spectrum.[countThetas](default1_c_size_t) — The number of bins in angle \(\theta\) at which to compute spectra.