Intergalactic Medium State

Class providing the thermal and ionization state of the IGM—the hydrogen and helium neutral, singly-ionized, and doubly-ionized fractions, the electron fraction, the temperature, and the electron-scattering optical depth as functions of cosmic time. These quantities evolve through the epoch of reionization and affect the cooling rates, photo-ionization suppression, and the UV background modelled elsewhere in Galacticus. The instantaneous Jeans mass computed from the IGM temperature governs the filtering mass scale for baryon accretion onto low-mass halos.

Default implementation: intergalacticMediumStateRecFast

Methods

electronFractiondouble precision

Return the electron fraction (relative to hydrogen) in the IGM at the given time.

  • double precision, intent(in ) :: time

neutralHydrogenFractiondouble precision

Return the neutral fraction of hydrogen in the IGM at the given time.

  • double precision, intent(in ) :: time

singlyIonizedHydrogenFractiondouble precision

Return the singly-ionized fraction of hydrogen in the IGM at the given time.

  • double precision, intent(in ) :: time

neutralHeliumFractiondouble precision

Return the neutral fraction of helium in the IGM at the given time.

  • double precision, intent(in ) :: time

singlyIonizedHeliumFractiondouble precision

Return the singly-ionized fraction of helium in the IGM at the given time.

  • double precision, intent(in ) :: time

doublyIonizedHeliumFractiondouble precision

Return the doubly-ionized fraction of helium in the IGM at the given time.

  • double precision, intent(in ) :: time

metallicitydouble precision

Return the metallicity (mass fraction) in the IGM at the given time.

  • double precision, intent(in ) :: time

temperaturedouble precision

Return the temperature (in Kelvin) of the IGM at the given time.

  • double precision, intent(in ) :: time

massJeansdouble precision

Return the instantaneous Jeans mass (in \(\mathrm{M}_\odot\)) at the given time.

  • double precision, intent(in ) :: time

electronScatteringOpticalDepthdouble precision

Return the electron scattering optical depth from the present day back to the given time in the IGM.

  • double precision, intent(in ) :: time

  • logical , intent(in ), optional :: assumeFullyIonized

electronScatteringTimedouble precision

Return the cosmological time at which the given electron scattering opticalDepth is reached (integrating from the present day) in the IGM.

  • double precision, intent(in ) :: opticalDepth

  • logical , intent(in ), optional :: assumeFullyIonized

intergalacticMediumStateFile

An IGM state class which reads the state of the intergalactic medium from a file and interpolates in the tabulated results. The HDF5 file containing the table should have the following form:

HDF5 "igmState.hdf5" {
GROUP "/" {
   ATTRIBUTE "fileFormat" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SCALAR
      DATA {
      (0): 1
      }
   }
   GROUP "Parameters" {
      ATTRIBUTE "HubbleConstant" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 67.8
         }
      }
      ATTRIBUTE "OmegaBaryon" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 0.0484
         }
      }
      ATTRIBUTE "OmegaDarkEnergy" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 0.692
         }
      }
      ATTRIBUTE "OmegaMatter" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 0.308
         }
      }
      ATTRIBUTE "Y_He" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 0.22
         }
      }
      ATTRIBUTE "temperatureCMB" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 2.725
         }
      }
   }
   DATASET "electronFraction" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 10000 ) / ( 10000 ) }
   }
   DATASET "hIonizedFraction" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 10000 ) / ( 10000 ) }
   }
   DATASET "heIonizedFraction" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 10000 ) / ( 10000 ) }
   }
   DATASET "matterTemperature" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 10000 ) / ( 10000 ) }
      ATTRIBUTE "units" {
         DATATYPE  H5T_STRING {
            STRSIZE 6;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_ASCII;
            CTYPE H5T_C_S1;
         }
         DATASPACE  SCALAR
         DATA {
         (0): "Kelvin"
         }
      }
      ATTRIBUTE "unitsInSI" {
         DATATYPE  H5T_IEEE_F64LE
         DATASPACE  SCALAR
         DATA {
         (0): 1
         }
      }
   }
   DATASET "redshift" {
      DATATYPE  H5T_IEEE_F64LE
      DATASPACE  SIMPLE { ( 10000 ) / ( 10000 ) }
   }
}
}

The electronFraction, hIonizedFraction, heIonizedFraction, and matterTemperature datasets contain the relevant quantity for each redshift in the redshift dataset.

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 (\(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.

intergalacticMediumStateInstantReionization

The intergalactic medium is assumed to be instantaneously and fully reionized at a fixed redshift, and heated to a fixed temperature. Prior to that, the reionization state is provided by some other class.

Parameters

  • [electronScatteringOpticalDepth] — The optical depth to reionization in the instantReionization IGM state model.

  • [reionizationRedshift] (default 9.97d0) — The redshift of reionization in the instantReionization IGM state model.

  • [reionizationTemperature] (default 1.0d4) — The post-reionization temperature (in units of Kelvin) in the instantReionization IGM state model.

  • [presentDayTemperature] (default 1.0d3) — The present day temperature (in units of Kelvin) in the instantReionization IGM state model.

intergalacticMediumStateInternal

The state of the intergalactic medium is solved for internally.

Parameters

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

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

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

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

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

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

intergalacticMediumStateMetallicityAstraeusV

An IGM state class which provides a fit to the metallicity evolution of the IGM reported by Ucci et al. (2023).

intergalacticMediumStateMetallicityFixed

An intergalactic medium state decorator class that overrides the metallicity of an underlying IGM state object with a single constant value given by [metallicity], while passing all other state properties through unchanged. This enables simple models where the IGM metallicity is assumed to be uniform and time-independent.

Parameters

  • [mass] (default 100.0d0) — The fixed mass (in \(\mathrm{M}_\odot\)) assigned to all newly-formed seed black holes in this implementation, representing the initial black hole mass when a halo first forms a central black hole.

  • [spin] (default 0.0d0) — The dimensionless spin parameter (between \(-1\) and \(+1\)) assigned to all newly-formed seed black holes, where \(0\) corresponds to a non-rotating Schwarzschild black hole and \(\pm 1\) to a maximally rotating Kerr black hole.

  • [fraction] (default 0.01d0) — The fixed fraction \(f_\mathrm{outflow}\) of the stellar energy input rate (normalized to a canonical \(1\,\mathrm{M}_\odot\) population) that drives gas outflows, setting the mass loading factor for stellar feedback in the galaxy.

  • [escapeFraction] (default 0.006d0) — Escape fraction of ionizing photons from young HII regions.

  • [ageLimit] (default 0.03d0) — The age beyond which all ionizing photons are assumed to escape from HII regions.

  • [timescale] (default 1.0d0) — The timescale for star formation in the fixed timescale model.

  • [rateStarFormation] (default 1.0d9) — The rate of star formation in units of \(\mathrm{M}_\odot \hbox{Gyr}^{-1}\).

  • [proposalSize] — The fixed value of the proposal scaling parameter \(\gamma\) used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals.

  • [exponentValue] — The fixed value of the temperature-scaling exponent \(\alpha\) by which the proposal size \(\gamma\) is scaled as \(\gamma \propto T^{\alpha}\) in tempered differential evolution runs.

  • [massResolution] (default 5.0d9) — The mass resolution to use when building merger trees.

  • [rootVariance] — The root variance of the random error distribution.

  • [velocityRadial] (default -0.90d0) — The radial velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).

  • [velocityTangential] (default 0.75d0) — The tangential velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).

  • [rateCoefficient] — The rate coefficient (in units of cm\(^3\) s\(^{-1}\)) for radiative recombination.

  • [gamma] (default 0.67d0) — The multiplicative factor, \(\gamma\), used to compute the cooling coefficient.

  • [fractionLossAngularMomentum] (default 0.3d0) — Specifies the fraction of angular momentum that is lost from cooling/infalling gas.

  • [concentration] — The fixed NFW concentration parameter \(c = r_\mathrm{virial}/r_\mathrm{scale}\) assigned to all halos regardless of mass or redshift, representing the ratio of the virial radius to the scale radius of the dark matter density profile.

  • [metallicity] — The metallicity (relative to Solar) of the IGM.

  • [factor] (default sqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm. This will be applied to any component for which no component-specific value is provided.

  • [factorDisk] (default sqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for disks. This will override the generic value supplied by [factor] for disks.

  • [factorSpheroid] (default sqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for spheroids. This will override the generic value supplied by [factor] for spheroids.

  • [radiusFixed] (default var_str('virial')) — The radius to use in the “fixed” galactic structure radius solver algorithm. Allowed options are “virial” and “turnaround”.

  • [overdensity] — The fixed linear overdensity \(\delta\) of the large-scale environment assigned uniformly to all halos; a positive value places halos in an overdense region, while negative values simulate voids.

  • [radiusEnvironment] (default 0.0d0) — The radius of the sphere used to determine the variance in the environmental density.

  • [massEnvironment] (default 1.0d15) — The mass within the sphere sphere used to determine the variance in the environmental density.

  • [densityContrastValue] (default 200.0d0) — The virial density contrast to use in the fixed value model.

  • [densityType] (default var_str('critical')) — The reference density to use in the fixed value virial density contrast model. Either of critical and mean are allowed.

  • [turnAroundOverVirialRadius] (default 2.0d0) — The ratio of the turnaround to virial radii in the fixed value model.

  • [criticalOverdensity] (default (3.0d0/20.0d0)*(12.0d0*Pi)**(2.0d0/3.0d0)) — The value to use for the critical overdensity for collapse of dark matter halos when using a fixed value.

intergalacticMediumStateMetallicityPolynomial

An intergalactic medium state decorator class that overrides the metallicity of an underlying IGM state with a redshift-dependent polynomial, \(Z(z)/Z_\odot = 10^{\sum_i c_i [\log_{10}(1+z)]^i}\), where the polynomial coefficients \(c_i\) are provided via [coefficients]. All other state properties are passed through unchanged.

Parameters

  • [zeroPoint] — The zero-point of the property value used in the polynomial systematic offset property operator class.

  • [coefficient] — The coefficients in the polynomial systematic offset property operator class.

  • [zeroPoint] — The zero-point of the property value used in the polynomial random error distribution class.

  • [coefficient] — The coefficients in the polynomial random error distribution class.

  • [errorMinimum] — The minimum error in the polynomial random error distribution class.

  • [errorMaximum] — The maximum error in the polynomial random error distribution class.

  • [coefficients] — The polynomial coefficients, \(c_i\), in the function \(Z(z)/Z_\odot = 10^{\sum_{i=0}^N c_i [\log_{10}(1+z)]^i}\).

intergalacticMediumStateRecFast

An IGM state class which computes the state of the intergalactic medium using the RecFast code Seager et al. (2000), Wong et al. (2008). The RecFast code will be downloaded and run to compute the intergalactic medium state as needed, which will then be stored for future use.

(Default implementation)

intergalacticMediumStateSimple

An IGM state class which implements a simple model of reionization in which the universe is assumed to be fully neutral prior to the redshift given by [reionizationRedshift] and fully ionized thereafter. The temperature is given by [preReionizationTemperature] before reionization, and [reionizationTemperature] thereafter.

Methods

  • calculationReset — Reset memoized calculations.

Parameters

  • [efficiencyWind] (default 2.2157d-3) — The coupling efficiency of the black hole accretion-driven wind, defined as the fraction of the accreted rest-mass energy that is deposited as kinetic or thermal energy into the surrounding gas via AGN-driven outflows.

  • [redshiftReionization] (default 9.97d0) — The redshift of reionization below which baryonic accretion onto halos is suppressed due to the ionizing background heating the intergalactic medium and preventing gas from accreting onto low-mass halos.

  • [opticalDepthReionization] — The optical depth to electron scattering below which baryonic accretion is suppressed.

  • [velocitySuppressionReionization] (default 35.0d0) — The velocity scale below which baryonic accretion is suppressed.

  • [accretionNegativeAllowed] (default .true.) — Specifies whether negative accretion (mass loss) is allowed in the simple halo accretion model.

  • [accretionNewGrowthOnly] (default .false.) — Specifies whether accretion from the IGM is allowed only when a halo is growing past its previous greatest mass.

  • [acceptedStateCount] (default 100) — The number of states to use in acceptance rate statistics.

  • [timeStepRelative] (default 0.1d0) — The maximum allowed relative change in time for a single step in the evolution of a node.

  • [timeStepAbsolute] (default 1.0d0) — The maximum allowed absolute change in time (in Gyr) for a single step in the evolution of a node.

  • [timeStepMinimum] (default 1.0d-6) — The smallest timestep to use in profiling ODE solver steps.

  • [timeStepMaximum] (default 1.0d+1) — The largest timestep to use in profiling ODE solver steps.

  • [timeStepPointsPerDecade] (default 3) — The number of bins per decade of timestep to use when profiling ODE solver steps.

  • [wavelength] (default 1.0d4) — The wavelength of the photon packet (in AA).

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

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

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

  • [massRatioMajorMerger] (default 0.25d0) — The mass ratio above which mergers are considered to be “major”.

  • [destinationGasMinorMerger] (default var_str('spheroid')) — The component to which satellite galaxy gas moves to as a result of a minor merger.

  • [destinationStarsMinorMerger] (default var_str('spheroid')) — The component to which satellite galaxy stars move to as a result of a minor merger.

  • [degreesOfFreedom] (default 3.0d0) — Number of degrees of freedom to assume when computing the energy density of cooling gas in the “simple” cooling time class.

  • [timeScale] (default 1.0d0) — The timescale (in Gyr) for cooling in the simple cooling rate model.

  • [reionizationRedshift] (default 9.97d0) — The redshift of reionization in the simple IGM state model.

  • [reionizationTemperature] (default 1.0d4) — The post-reionization temperature (in units of Kelvin) in the simple IGM state model.

  • [preReionizationTemperature] (default 10.0d0) — The pre-reionization temperature (in units of Kelvin) in the simple IGM state model.

  • [useFormationHalo] (default .false.) — Specifies whether or not the “formation halo” should be used when solving for the radii of galaxies.

  • [solveForInactiveProperties] (default .true.) — If true, galactic structure is solved for during evaluation of inactive property integrals. Otherwise, structure is not solved for during this phase—this should only be used if the inactive property integrands do not depend on galactic structure.

  • [rateFractionalMaximum] (default 10.0d0) — The maximum fractional mass loss rate per dynamical time in the simple model of mass loss due to tidal stripping.

  • [beta] (default 1.0d0) — The scaling factor which multiplies the tidal mass loss rate.

  • [OmegaMatter] (default 0.3153d0) — The density of matter in the Universe in units of the critical density.

  • [OmegaBaryon] (default 0.04930d0) — The density of baryons in the Universe in units of the critical density.

  • [OmegaDarkEnergy] (default 0.6847d0) — The density of dark energy in the Universe in units of the critical density.

  • [temperatureCMB] (default 2.72548d0) — The present day temperature of the CMB in units of Kelvin.

  • [HubbleConstant] (default 67.36d0) — The present day value of the Hubble parameter in units of km/s/Mpc.