.. _physics-powerSpectrumPrimordialTransferred: Transferred Primordial Power Spectrum ===================================== Class providing the transferred primordial power spectrum :math:`T^2(k)P_\mathrm{prim}(k,t)`---the product of the primordial power spectrum :math:`P_\mathrm{prim}(k) \propto k^{n_s}` with the linear transfer function squared :math:`T^2(k)`, which encodes the suppression of power on small scales by radiation pressure before matter-radiation equality. The transferred spectrum is the starting point for computing the late-time matter power spectrum :math:`P(k,t) = D^2(t) T^2(k) P_\mathrm{prim}(k)` used in the mass variance, halo mass function, and clustering predictions. **Default implementation:** ``powerSpectrumPrimordialTransferredSimple`` Methods ------- ``power`` → ``double precision`` Return the (unnormalized) power in the transferred primordial power spectrum at the given ``wavenumber`` (specified in units of Mpc\ :math:`^{-1}`). * ``double precision, intent(in ) :: wavenumber, time`` ``logarithmicDerivative`` → ``double precision`` Return the logarithmic derivative with respect to wavenumber of the transferred primordial power spectrum at the given ``wavenumber`` (specified in units of Mpc\ :math:`^{-1}`). * ``double precision, intent(in ) :: wavenumber, time`` ``growthIsWavenumberDependent`` → ``logical`` Return true if the growth of the power spectrum is wavenumber-dependent. .. _physics-powerSpectrumPrimordialTransferredFile: ``powerSpectrumPrimordialTransferredFile`` ------------------------------------------ A transferred primordial spectrum class which reads the power spectrum from file and interpolates in it. The HDF5 file containing the data should have the following structure: .. code-block:: none HDF5 "powerSpectrum.hdf5" { GROUP "/" { ATTRIBUTE "description" { DATATYPE H5T_STRING { STRSIZE 71; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } ATTRIBUTE "fileFormat" { DATATYPE H5T_STD_I32LE DATASPACE SCALAR } ATTRIBUTE "extrapolationWavenumber" { DATATYPE H5T_STRING { STRSIZE 11; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } ATTRIBUTE "extrapolationRedshift" { DATATYPE H5T_STRING { STRSIZE 11; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } GROUP "parameters" { ATTRIBUTE "HubbleConstant" { DATATYPE H5T_STRING { STRSIZE 4; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } ATTRIBUTE "OmegaBaryon" { DATATYPE H5T_STRING { STRSIZE 6; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } ATTRIBUTE "OmegaDarkEnergy" { DATATYPE H5T_STRING { STRSIZE 5; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } ATTRIBUTE "OmegaMatter" { DATATYPE H5T_STRING { STRSIZE 5; STRPAD H5T_STR_NULLTERM; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SCALAR } } DATASET "wavenumber" { DATATYPE H5T_IEEE_F64LE DATASPACE SIMPLE { ( 1000 ) / ( 1000 ) } } DATASET "redshift" { DATATYPE H5T_IEEE_F64LE DATASPACE SIMPLE { ( 10 ) / ( 10 ) } } DATASET "power" { DATATYPE H5T_IEEE_F64LE DATASPACE SIMPLE { ( 10 ) / ( 10 ), ( 1000 ) / ( 1000 ) } } } } The `power` dataset should tabulate the transferred power spectrum as a function of :math:`(z,k)` where :math:`z` is redshift and :math:`k` is wavenumber. **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-powerSpectrumPrimordialTransferredSimple: ``powerSpectrumPrimordialTransferredSimple`` -------------------------------------------- Implements a simple transferred primordial power spectrum. **(Default implementation)** **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 :term:`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 :math:`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 :term:`IGM` state model. * ``[reionizationTemperature]`` (default ``1.0d4``) — The post-reionization temperature (in units of Kelvin) in the simple :term:`IGM` state model. * ``[preReionizationTemperature]`` (default ``10.0d0``) — The pre-reionization temperature (in units of Kelvin) in the simple :term:`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 :term:`CMB` in units of Kelvin. * ``[HubbleConstant]`` (default ``67.36d0``) — The present day value of the Hubble parameter in units of km/s/Mpc.