.. _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** * ``[fileName]`` (string) — 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.