.. _physics-accretionDiskSpectra: Accretion Disk Spectra ====================== Class providing the spectral energy distribution (in :math:`L_\odot` Hz\ :math:`^{-1}`) of circumnuclear accretion disks around supermassive black holes, as a function of wavelength. The spectrum depends on the black hole accretion rate and radiative efficiency, and is used to compute AGN contributions to the UV background, photoionization of the :term:`IGM`, and other radiative effects. **Default implementation:** ``accretionDiskSpectraHopkins2007`` Methods ------- ``spectrumNode`` → ``double precision`` Returns the spectrum (in units of :math:`L_\odot` Hz\ :math:`^{-1}`) of the accretion disk at the given wavelength (in units of \AA) for ``node``. * ``type (treeNode), intent(inout) :: node`` * ``double precision , intent(in ) :: wavelength`` ``spectrumMassRate`` → ``double precision`` Returns the spectrum (in units of :math:`L_\odot` Hz\ :math:`^{-1}`) of the accretion disk at the given wavelength (in units of \AA) for a specified accretion rate, and radiative efficiency. * ``double precision, intent(in ) :: accretionRate, efficiencyRadiative, wavelength`` ``wavelengths`` → ``void`` Return a tabulation of wavelengths at which accretion disk spectra are defined. * ``integer , intent( out) :: wavelengthsCount`` * ``double precision, allocatable, dimension(:), intent( out) :: wavelengths`` .. _physics-accretionDiskSpectraFile: ``accretionDiskSpectraFile`` ---------------------------- Accretion disk spectra are computed by interpolating from tabulated data read from a file specified by ``[fileName]``. The tables provide spectral energy distributions as a function of physical parameters, enabling efficient lookup of accretion disk emission across a range of conditions. **Methods** * ``readFile`` — Read the named power spectrum file. **Parameters** * ``[forceZeroMetallicity]`` (default ``.false.``) — Force the use of zero metallicity (or lowest metallicity available) for all stellar populations. * ``[fileName]`` — The path to the HDF5 file containing the tabulated stellar population spectra, with datasets for ages (Gyr), metallicities (log Solar), wavelengths (\AA), and spectra (:math:`L_\odot\,\mathrm{Hz}^{-1}`); see the ``scripts/ssps`` folder for conversion scripts. * ``[fileName]`` — The name of the file which contains fit coefficients for the time per tree fitting function. * ``[fileName]`` (default ``inputPath(pathTypeDataStatic)//'stellarAstrophysics/stellarPropertiesCompilationStandard.xml'``) — The name of the XML file from which to read stellar properties (ejected masses, yields, etc.). * ``[fileName]`` (default ``inputPath(pathTypeDataStatic)//'stellarAstrophysics/Stellar_Tracks_Padova.hdf5'``) — The name of the HDF5 file from which to read stellar tracks. * ``[fileName]`` — The name of the file from which to read intergalactic medium state data. * ``[fileName]`` — The name of the file from which to read intergalactic background light properties. * ``[fileName]`` — The name of a file from which to read tabulated spectra of accretion disks. * ``[fileName]`` — The name of the file from which to read a tabulated transfer function. .. _physics-accretionDiskSpectraHopkins2007: ``accretionDiskSpectraHopkins2007`` ----------------------------------- Accretion disk spectra using the model of :cite:t:`hopkins_observational_2007`. **(Default implementation)** **Methods** * ``buildFile`` — Build the tabulation file containing AGN spectra. .. _physics-accretionDiskSpectraThinDisk: ``accretionDiskSpectraThinDisk`` -------------------------------- Accretion disk spectra computed intrinsically for a three-component thin-disk AGN SED based on the model of :cite:t:`done_intrinsic_2012` and comprising (1) a multitemperature blackbody disk following the :cite:t:`shakura_black_1973` temperature profile, (2) a soft Comptonized warm corona, and (3) a hard Comptonized hot corona extending to hard X-rays. Strict energy closure is enforced: fractions ``[fractionHot]`` and ``[fractionWarm]`` of the bolometric luminosity are allocated to the hot and warm coronae respectively, with the remainder :math:`(1 - f_\mathrm{hot} - f_\mathrm{warm})` going to the disk. The disk temperature normalization is derived self-consistently from energy conservation so that the SED integrates exactly to the bolometric luminosity. Specifically, the disk temperature profile follows that for a :cite:t:`shakura_black_1973` disk (their equation 2.6): .. math:: T^4(x) = T_0^4 x^{-3} (1-x^{-1/2}), where :math:`x=R/R_\mathrm{ISCO}`. Integrating the thermal emission over the disk from the ISCO to infinity and setting this equal to the disk luminosity gives .. math:: 2 \times 2 \pi R_\mathrm{ISCO}^2 \sigma T_0^4 \int_1^\infty \mathrm{d}x x^{-2} (1-x^{-1/2}) = L_\mathrm{disk}, where :math:`\sigma` is the Stefan-Boltzmann constant, and the first factor of 2 on the left arises from that fact that the disk has upper and lower surfaces. This results in .. math:: T_0^4 = \frac{3 L_\mathrm{disk}}{4 \pi \sigma R_\mathrm{ISCO}^2}. The warm and hot corona spectra are power laws with exponential cutoffs, normalized by the upper incomplete gamma function to achieve the same strict closure. This functional form is commonly used to model hot coronae :cite:p:`fabian_properties_2015`, and is used here as a phenomenological model for the warm bump also. The model uses only the thin-disk luminosity, and returns zero outside the thin-disk regime. **Methods** * ``calculationReset`` — Reset the cached SED. * ``computeSED`` — Compute the SED for given BH properties and populate the cache. **Parameters** * ``[fractionHot]`` (default ``0.02d0``) — The fraction of the bolometric luminosity allocated to the hot Comptonized corona. * ``[fractionWarm]`` (default ``0.05d0``) — The fraction of the bolometric luminosity allocated to the warm Comptonized corona. * ``[temperatureHot]`` (default ``200.0d0``) — The exponential cutoff energy (in keV) of the hot corona power-law spectrum. * ``[temperatureWarm]`` (default ``0.2d0``) — The exponential cutoff energy (in keV) of the warm corona power-law spectrum. * ``[spectralIndexHot]`` (default ``1.9d0``) — The photon spectral index :math:`\Gamma` of the hot corona power-law spectrum, so that :math:`S_\nu \propto \nu^{-\Gamma}`. * ``[spectralIndexWarm]`` (default ``2.6d0``) — The photon spectral index :math:`\Gamma` of the warm corona power-law spectrum. * ``[energyMinimumHot]`` (default ``0.1d0``) — The minimum seed-photon energy (in keV) below which the hot corona spectrum is set to zero. * ``[energyMinimumWarm]`` (default ``1.0d-2``) — The minimum seed-photon energy (in keV) below which the warm corona spectrum is set to zero. * ``[massBlackHoleFiducial]`` (default ``1.0d8``) — The fiducial black hole mass (in :math:`\mathrm{M}_\odot`) used when ``spectrumMassRate`` is called without a specific node (i.e.\ when only the accretion rate and radiative efficiency are available). * ``[spinBlackHoleFiducial]`` (default ``0.5d0``) — The fiducial dimensionless black hole spin used when ``spectrumMassRate`` is called without a specific node.