Radiation Fields

Class providing radiation fields—the specific intensity (flux per unit frequency per steradian, in units of ergs cm\(^{-2}\) s\(^{-1}\) Hz\(^{-1}\) ster\(^{-1}\)) of a radiation background as a function of wavelength and cosmic time. Radiation fields are used to compute photoionization and photodissociation rates in the IGM and CGM by integrating the flux weighted by relevant cross-sections over wavelength. Implementations include the cosmic microwave background, ultraviolet and X-ray ionizing backgrounds, and stellar radiation fields.

Default implementation: radiationFieldNull

Methods

fluxdouble precision

Return the flux (in units of ergs cm\(^{-2}\) s\(^{-1}\) Hz\(^{-1}\) ster\(^{-1}\)) of the given radiation field.

  • double precision , intent(in ) :: wavelength

  • type (treeNode), intent(inout) :: node

integrateOverCrossSectiondouble precision

Integrates the flux (in units of ergs cm\(^{-2}\) s\(^{-1}\) Hz\(^{-1}\) ster\(^{-1}\)) of the given radiation structure between the wavelengths given in wavelengthRange over a cross section specified by the function crossSectionFunction.

  • double precision , dimension(2), intent(in ) :: wavelengthRange

  • procedure (crossSectionFunctionTemplate), pointer :: crossSectionFunction

  • type (treeNode ) , intent(inout) :: node

timedouble precision

Return the time for which the radiation field is currently set.

timeSetvoid

Set the cosmic time (in Gyr) at which the radiation field properties—such as the CMB temperature or the UV background intensity—should be evaluated for subsequent flux queries.

  • double precision, intent(in ) :: time

timeDependentOnlylogical

Return true if the radiation field depends upon time, but upon no other variables.

radiationFieldBlackBody

A radiation field class that models thermal blackbody radiation, computing the photon flux at a given wavelength and redshift using the Planck function. The radiation field intensity is controlled by the [temperature] parameter specifying the blackbody temperature in Kelvin.

Methods

  • temperature — Return the temperature of the black-body radiation field.

Parameters

  • [temperature] (real) — The temperature (in Kelvin) of the blackbody radiation field, which sets the peak wavelength and total emitted flux via the Planck function.

radiationFieldCosmicMicrowaveBackground

A radiation field class for the cosmic microwave background (CMB), modelled as a blackbody with temperature \(T_\mathrm{CMB}(z) = T_0\,(1+z)\) that evolves with redshift according to the adopted cosmology.

Parameters

  • [temperature] (real) — The temperature (in Kelvin) of the blackbody radiation field, which sets the peak wavelength and total emitted flux via the Planck function. (inherited from radiationFieldBlackBody)

radiationFieldIntergalacticBackground

An abstract radiation field class for intergalactic background light.

Methods

  • tabulate — Tabulate the virial density contrast as a function of mass and time.

  • restoreTable — Restore a tabulated solution from file.

  • storeTable — Store a tabulated solution to file.

radiationFieldIntergalacticBackgroundFile

A radiation field class for intergalactic background light with properties read from file. The flux is determined by linearly interpolating to the required time and wavelength. The XML or HDF5 file to read is specified by [fileName]. An example of the required file structure for XML files is:

<spectrum>
  <URL>http://adsabs.harvard.edu/abs/1996ApJ...461...20H</URL>
  <description>Cosmic background radiation spectrum from quasars alone.</description>
  <reference>Haardt, F. & Madau, P. 1996, ApJ, 461, 20</reference>
  <source>Francesco Haardt on Aug 6 2005, via Cloudy 08.00</source>
  <wavelengths>
    <datum>0.0002481</datum>
    <datum>0.001489</datum>
    .
    .
    .
    <units>Angstroms</units>
  </wavelengths>
  <spectra>
    <datum>7.039E-49</datum>
    <datum>8.379E-48</datum>
    <datum>1.875E-39</datum>
    <datum>7.583E-38</datum>
    .
    .
    .
    <redshift>0</redshift>
    <units>erg cm^-2 s^-1 Hz^-1 sr^-1</units>
  </spectra>
</spectrum>

The optional URL, description, reference and source elements can be used to give the provenance of the data. The wavelengths element should contain a set of datum elements each containing a wavelength (in increasing order) at which the spectrum will be tabulated. Wavelengths must be given in Angstroms. Multiple spectra elements can be given, each specifying the spectrum at a redshift as given in the redshift element. Each spectra element must contain an array of datum elements that gives the spectrum at each wavelength listed in the wavelength element. Spectra must be in units of erg cm\(^{-2}\) s\(^{-1}\) Hz\(^{-1}\) sr\(^{-1}\).

Methods

  • readFile — Read the named power spectrum file.

Parameters

  • [fileName] (string) — The name of the file from which to read a tabulated transfer function.

radiationFieldIntergalacticBackgroundInternal

A radiation field class that computes the intergalactic background radiation field internally, tracking the buildup of ultraviolet and infrared photons from stellar and other sources across cosmic time. The wavelength grid is controlled by [wavelengthsPerDecade], [wavelengthMinimum], and [wavelengthMaximum], while the time resolution is set by [timesPerDecade].

Parameters

  • [wavelengthCountPerDecade] (integer; default 10) — The number of bins per decade of wavelength to use for calculations of the cosmic background radiation.

  • [wavelengthMinimum] (real; default 100.0d0) — The minimum wavelength (in units of AA) to use in calculations of the cosmic background radiation.

  • [wavelengthMaximum] (real; default 100000.0d0) — The maximum wavelength (in units of AA) to use in calculations of the cosmic background radiation.

  • [timeCountPerDecade] (integer; default 10) — The number of bins per decade of time to use for calculations of the cosmic background radiation.

  • [redshiftMinimum] (real; default 0.0d0) — The minimum redshift to use in calculations of the cosmic background radiation.

  • [redshiftMaximum] (real; default 30.0d0) — The maximum redshift to use in calculations of the cosmic background radiation.

radiationFieldNull

A radiation field class that returns zero flux at all wavelengths and positions, used as a placeholder when no radiation background is present or as a default in pipelines that do not require a radiation field.

(Default implementation)

radiationFieldSummation

A radiation field class that computes the total flux as the sum of contributions from a list of constituent radiationFieldClass objects, enabling composite radiation backgrounds to be assembled from individual components.

Methods

  • list — Return a list of all sub-components.

radiationFieldSwitchOn

A radiation field class that wraps another radiation field and switches it on at a specified cosmic epoch, returning zero flux before the switch-on redshift. The redshift at which the field activates is controlled by the [redshiftSwitchOn] parameter.

Parameters

  • [redshiftSwitchOn] (real) — The redshift at which the wrapped radiation field is switched on; at cosmic times corresponding to higher redshifts (earlier times) the field returns zero flux, and at later times it returns the flux of the underlying radiationFieldClass object.