Transferred Primordial Power Spectrum

Class providing the transferred primordial power spectrum \(T^2(k)P_\mathrm{prim}(k,t)\)—the product of the primordial power spectrum \(P_\mathrm{prim}(k) \propto k^{n_s}\) with the linear transfer function squared \(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 \(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

powerdouble precision

Return the (unnormalized) power in the transferred primordial power spectrum at the given wavenumber (specified in units of Mpc\(^{-1}\)).

  • double precision, intent(in ) :: wavenumber, time

logarithmicDerivativedouble precision

Return the logarithmic derivative with respect to wavenumber of the transferred primordial power spectrum at the given wavenumber (specified in units of Mpc\(^{-1}\)).

  • double precision, intent(in ) :: wavenumber, time

growthIsWavenumberDependentlogical

Return true if the growth of the power spectrum is wavenumber-dependent.

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:

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 \((z,k)\) where \(z\) is redshift and \(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.

powerSpectrumPrimordialTransferredSimple

Implements a simple transferred primordial power spectrum.

(Default implementation)

Methods

  • calculationReset — Reset memoized calculations.