.. _physics-radiativeTransferSpectrum: Radiative Transfer Spectra ========================== Class providing spectral energy distributions of sources for Monte Carlo radiative transfer calculations---the luminosity (in :math:`L_\odot` \AA\ :math:`^{-1}`) as a function of wavelength and the integrated luminosity over a wavelength range, used to initialize photon packet energies and to draw photon wavelengths from the source spectrum. Implementations include blackbody spectra, stellar population SEDs, and AGN power-law spectra, and determine the energy budget of photon packets launched into the computational domain. **Default implementation:** ``radiativeTransferSpectrumBlackBody`` Methods ------- ``luminosity`` → ``double precision`` Return the luminosity in the given wavelength range. * ``double precision, intent(in ) :: wavelengthMinimum, wavelengthMaximum`` ``spectrum`` → ``double precision`` Return the spectrum (in units of :math:`L_\odot` \AA\ :math:`^{-1}`) of the source at the given ``wavelength``. * ``double precision, intent(in ) :: wavelength`` .. _physics-radiativeTransferSpectrumAccretionDisk: ``radiativeTransferSpectrumAccretionDisk`` ------------------------------------------ A photon spectrum class that computes the spectral luminosity of radiation emitted by an accreting black hole accretion disk in radiative transfer calculations. The black hole mass and Eddington-scaled accretion rate are set by the ``[blackHoleMass]`` and ``[accretionRateEddington]`` parameters. **Parameters** * ``[massBlackHole]`` (default ``1.0d6``) — The mass of the black hole at the center of the accretion disk. * ``[accretionRateEddington]`` (default ``1.0d-1``) — Accretion rate onto the black hole in units of the Eddington rate. .. _physics-radiativeTransferSpectrumBandPassFilter: ``radiativeTransferSpectrumBandPassFilter`` ------------------------------------------- A photon spectrum class that applies a wavelength band-pass filter to another photon spectrum, returning zero luminosity outside the specified wavelength range. The passband is controlled by the ``[wavelengthMinimum]`` and ``[wavelengthMaximum]`` parameters (in units of \AA). **Parameters** * ``[wavelengthMinimum]`` (default ``0.0d0``) — The minimum wavelength (in units of \AA) to pass the spectrum. * ``[wavelengthMaximum]`` (default ``huge(0.0d0)``) — The maximum wavelength (in units of \AA) to pass the spectrum. .. _physics-radiativeTransferSpectrumBlackBody: ``radiativeTransferSpectrumBlackBody`` -------------------------------------- A photon spectrum class that computes the spectral luminosity of a thermal blackbody source for use in radiative transfer calculations, scaling the Planck function to a specified bolometric luminosity. The blackbody temperature and total bolometric luminosity are set by the ``[temperature]`` (in Kelvin) and ``[luminosityBolometric]`` (in :math:`L_\odot`) parameters. **(Default implementation)** **Methods** * ``temperature`` — Return the temperature of the black-body radiation field. **Parameters** * ``[temperature]`` (default ``5.0d3``) — The temperature of the black body spectrum (in Kelvin). * ``[luminosityBolometric]`` (default ``1.0d0``) — The bolometric luminosity of the black body spectrum (in :math:`L_\odot`). * ``[temperature]`` — The temperature (in Kelvin) of the blackbody radiation field, which sets the peak wavelength and total emitted flux via the Planck function. .. _physics-radiativeTransferSpectrumPowerLaw: ``radiativeTransferSpectrumPowerLaw`` ------------------------------------- A photon spectrum class for power law spectra of the form .. math:: L_\lambda (\lambda) = \begin{array}{cc} A (\lambda/\lambda_\mathrm{min})^\alpha & \hbox{if } \lambda_\mathrm{min} \le \lambda < \lambda_\mathrm{max} \\ 0 & \hbox{otherwise,} \end{array} where :math:`A=`\ ``normalization``, :math:`\alpha=`\ ``exponent``, :math:`\lambda_\mathrm{min}=`\ ``wavelengthMinimum``, and :math:`\lambda_\mathrm{max}=`\ ``wavelengthMaximum``. **Parameters** * ``[exponent]`` (default ``1.73d0``) — Exponent of the differential luminosity function. * ``[rateHydrogenIonizingPhotonsMinimum]`` (default ``1.0d48``) — The minimum ionizing photon production rate (:math:`Q_\mathrm{H,min}`, in photons/s) below which the power-law HII region luminosity function is truncated to zero. * ``[rateHydrogenIonizingPhotonsMaximum]`` (default ``huge(0.0d0)``) — The maximum ionizing photon production rate (:math:`Q_\mathrm{H,max}`, in photons/s) above which the power-law HII region luminosity function is truncated to zero. * ``[exponent]`` (default ``1.0d0``) — Halo masses will be (pseudo-)uniformly distributed in :math:`[\log(M)]^{1/(1+\alpha)}` where :math:`\alpha=`\ ``exponent``. * ``[wavelengthMinimum]`` — The minimum wavelength (in units of \AA) for the power-law spectrum. * ``[wavelengthMaximum]`` — The maximum wavelength (in units of \AA) for the power-law spectrum. * ``[exponent]`` — The exponent of the power-law spectrum. * ``[normalization]`` — The normalization (in units of :math:`L_\odot / \AA`) of the power-law spectrum. * ``[normalization]`` — Parameter :math:`\sigma_{12}` appearing in model for random errors in the halo mass function. * ``[fractionalErrorHighMass]`` — Parameter :math:`\sigma_\infty` appearing in model for random errors in the halo mass function. * ``[exponent]`` — Parameter :math:`\gamma` appearing in model for random errors in the halo mass function. Specifically, the fractional error is given by :math:`\sigma(M) = \left[ \sigma^2_{12} \left({M_\mathrm{halo} \over 10^{12}\mathrm{M}_\odot}\right)^{2\gamma} + \sigma^2_\infty \right]^{1/2}`, where :math:`\sigma_{12}=`\ ``[normalization]`` and :math:`\gamma=`\ ``[exponent]``. * ``[correlationModelTrivial]`` (default ``.true.``) — If true, the correlation between mass errors of pairs of halos is unity for halos with identical mass and time, and zero otherwise. If false, a power-law correlation model in mass ratio and expansion factor ratio is used instead. * ``[correlationNormalization]`` (default ``0.0d0``) — Variable :math:`C_0` in the model for the correlation between halo mass errors: :math:`C_{12} = C_0 [M_2/M_1]^\alpha [(1+z_2)/(1+z_1)]^\beta`. * ``[correlationMassExponent]`` (default ``0.0d0``) — Variable :math:`\alpha` in the model for the correlation between halo mass errors: :math:`C_{12} = C_0 [M_2/M_1]^\alpha [(1+z_2)/(1+z_1)]^\beta`. * ``[correlationRedshiftExponent]`` (default ``0.0d0``) — Variable :math:`\beta` in the model for the correlation between halo mass errors: :math:`C_{12} = C_0 [M_2/M_1]^\alpha [(1+z_2)/(1+z_1)]^\beta`. * ``[radiusLow]`` (default ``+0.0154d0``) — The low-mass limit of the characteristic scale radius :math:`r_0` (in Mpc) in the power-law scale radius model, giving the scale radius normalization for low-mass halos as a function of peak height and expansion factor. * ``[radiusHigh]`` (default ``+0.0962d0``) — The high-mass limit of the characteristic scale radius :math:`r_1` (in Mpc) in the power-law scale radius model, giving the scale radius normalization for high-mass halos. * ``[radiusTransition]`` (default ``+1.2137d0``) — The peak height :math:`\nu` at which the characteristic scale radius transitions between its low-mass and high-mass limiting values in the power-law scale radius model. * ``[radiusWidth]`` (default ``+0.5482d0``) — The parameter :math:`\Delta r` in the power-law scale radius model. * ``[massLow]`` (default ``+0.3895d0``) — The parameter :math:`\alpha_0` in the power-law scale radius model. * ``[massHigh]`` (default ``+0.2984d0``) — The parameter :math:`\alpha_1` in the power-law scale radius model. * ``[massTransition]`` (default ``-0.2583d0``) — The parameter :math:`\alpha_\nu` in the power-law scale radius model. * ``[massWidth]`` (default ``+16.6050d0``) — The parameter :math:`\Delta \alpha` in the power-law scale radius model. * ``[expansionFactorLow]`` (default ``-0.6977d0``) — The parameter :math:`\beta_0` in the power-law scale radius model. * ``[expansionFactorHigh]`` (default ``+0.7972d0``) — The parameter :math:`\beta_1` in the power-law scale radius model. * ``[expansionFactorTransition]`` (default ``+0.5395d0``) — The parameter :math:`\beta_\nu` in the power-law scale radius model. * ``[expansionFactorWidth]`` (default ``+0.4282d0``) — The parameter :math:`\Delta \beta` in the power-law scale radius model. * ``[scatter]`` (default ``+0.1513d0``) — The scatter (in dex) in the scale radius at fixed halo mass and redshift in the power-law scale radius model, representing the intrinsic halo-to-halo variation in concentration. * ``[index]`` (default ``0.9649d0``) — The index of the power-law primordial power spectrum. * ``[running]`` (default ``0.0d0``) — The running, :math:`\d n_\mathrm{s} / \d \ln k`, of the power spectrum index. * ``[runningRunning]`` (default ``0.0d0``) — The running-of-the-running, :math:`\d^2 n_\mathrm{s} / \d \ln k^2`, of the power spectrum index. * ``[wavenumberReference]`` (default ``1.0d0``) — When a running power spectrum index is used, this is the wavenumber, :math:`k_\mathrm{ref}`, at which the index is equal to ``[index]``. * ``[runningSmallScalesOnly]`` (default ``.false.``) — If ``true`` then the index runs only for :math:`k > k_\mathrm{ref}`, for smaller :math:`k` the index is constant.