Transfer Module Source file:results


Module for matter transfer function/matter power spectrum

Classes

Dependencies

Interfaces Expand Interfaces

  • Transfer_GetMatterPower
    • Transfer_GetMatterPowerD
    • Transfer_GetMatterPowerS
Subroutines
  • MatterPower21cm_k(PK, itf, k, monopole, vv, vd)
    Get monopole and velocity power at particular k by interpolation
    • MatterPowerData   :: PK
    • integer intent(in) :: itf
    • real (dl) intent(in) :: k
    • real(dl) intent(out) :: monopole
    • real(dl) intent(out) :: vv
    • real(dl) intent(out) :: vd
  • MatterPowerdata_Free(PK_data)
  • MatterPowerdata_getsplines(PK_data)
  • MatterPowerdata_getsplines21cm(PK_data)
  • MatterPowerData_Load(fname, PK_data)
    Loads in kh, P_k from file for one redshiftr and one initial power spectrum Not redshift is not stored in file, so not set correctly Also note that output _matterpower file is already interpolated, so re-interpolating is probs not a good idea Get total matter power spectrum in units of (h Mpc^{-1})^3 ready for interpolation. Here there definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k)
  • Transfer_Allocate(MTrans, State)
  • Transfer_Get21cmCls(MTrans, State, FileNames)
  • Transfer_Get21cmPowerData(MTrans, State, PK_data, z_ix)
    In terms of k, not k/h, and k^3 P_k /2pi rather than P_k
  • Transfer_Get_sigma8(State, MTrans, R, var1, var2)
    Calculate MTrans%sigma_8^2 = int dk/k win**2 T_k**2 P(k), where win is the FT of a spherical top hat of radius R h^{-1} Mpc set va1, var2 e.g. to get the value from some combination of transfer functions rather than total
    • CAMBdata   :: State
    • MatterTransferData   :: MTrans
    • real(dl) intent(in), optional :: R
    • integer intent(in), optional :: var1
    • integer intent(in), optional :: var2
  • Transfer_Get_SigmaR(State, MTrans, R, var1, var2, root, outvals)
    Calculate MTrans%sigma_8^2 = int dk/k win**2 T_k**2 P(k), where win is the FT of a spherical top hat of radius R h^{-1} Mpc, for all requested redshifts set va1, var2 e.g. to get the value from some combination of transfer functions rather than total
    • CAMBdata   :: State
    • MatterTransferData   :: MTrans
    • real(dl) intent(in) :: R
    • integer intent(in), optional :: var1
    • integer intent(in), optional :: var2
    • logical intent(in), optional :: root if true, give sigma8, otherwise sigma8^2
    • real(dl) intent(out) :: outvals(:)
  • Transfer_Get_sigmas(State, MTrans, R, var_delta, var_v)
    Get sigma8 and sigma_{delta v} (for growth, like f sigma8 in LCDM)
    • CAMBdata   :: State
    • MatterTransferData   :: MTrans
    • real(dl) intent(in), optional :: R
    • integer intent(in), optional :: var_delta
    • integer intent(in), optional :: var_v
  • Transfer_GetMatterPowerD(MTrans, itf_PK, npoints, outpower, minkh, dlnkh, var1, var2)
    Allows for non-smooth priordial spectra if CP%Nonlinear/ = NonLinear_none includes non-linear evolution Get total matter power spectrum at logarithmically equal intervals dlnkh of k/h starting at minkh in units of (h Mpc^{-1})^3. Here there definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k) We are assuming that Cls are generated so any baryonic wiggles are well sampled and that matter power sepctrum is generated to beyond the CMB k_max
    • MatterTransferData intent(in)  :: MTrans
    • integer intent(in) :: itf_PK
    • integer intent(in) :: npoints
    • real(dl) intent(out) :: outpower(npoints)
    • real(dl) intent(in) :: minkh
    • real(dl) intent(in) :: dlnkh
    • integer intent(in), optional :: var1
    • integer intent(in), optional :: var2
  • Transfer_GetMatterPowerData(State, MTrans, PK_data, itf_only, var1, var2)
    Does *NOT* include non-linear corrections Get total matter power spectrum in units of (h Mpc^{-1})^3 ready for interpolation. Here the definition is < Delta^2(x) > = 1/(2 pi)^3 int d^3k P_k(k) We are assuming that Cls are generated so any baryonic wiggles are well sampled and that matter power spectrum is generated to beyond the CMB k_max
  • Transfer_GetMatterPowerS(MTrans, itf, npoints, var1, var2, outpower, minkh, dlnkh)
    • MatterTransferData intent(in)  :: MTrans
    • integer intent(in) :: itf
    • integer intent(in) :: npoints
    • integer intent(in), optional :: var1
    • integer intent(in), optional :: var2
    • real intent(out) :: outpower(*)
    • real intent(in) :: minkh
    • real intent(in) :: dlnkh
  • Transfer_GetNonLinRatio_index(M, State, ratio, itf)
  • Transfer_GetSigmaRArray(State, MTrans, R, redshift_ix, var1, var2)
    Get array of SigmaR at (by default) redshift zero, for all values of R (in h^{-1}Mpc units)
    • CAMBdata target  :: State
    • MatterTransferData   :: MTrans
    • real(dl) intent(in) :: R(:)
    • integer intent(in), optional :: redshift_ix
    • integer intent(in), optional :: var1
    • integer intent(in), optional :: var2
  • Transfer_GetUnsplinedNonlinearPower(M, State, PK, var1, var2, hubble_units)
    Get 2pi^2/k^3 T_1 T_2 P_R(k) after re-scaling for non-linear evolution (if turned on)
    • MatterTransferData intent(in)  :: M
    • CAMBdata   :: State
    • real(dl) intent(inout) :: PK(:,:)
    • integer optional, intent(in) :: var1
    • integer optional, intent(in) :: var2
    • logical optional, intent(in) :: hubble_units
  • Transfer_GetUnsplinedPower(M, State, PK, var1, var2, hubble_units)
    Get 2pi^2/k^3 T_1 T_2 P_R(k)
    • MatterTransferData   :: M
    • CAMBdata   :: State
    • real(dl) intent(inout) :: PK(:,:)
    • integer optional, intent(in) :: var1
    • integer optional, intent(in) :: var2
    • logical optional, intent(in) :: hubble_units
  • Transfer_output_Sig8(MTrans, State)
  • Transfer_SaveMatterPower(MTrans, State, FileNames, all21cm)
    • MatterTransferData intent(in)  :: MTrans
    • CAMBdata   :: State
    • character(LEN=Ini_max_string_len) intent(IN) :: FileNames(*)
    • logical intent(in), optional :: all21cm
  • Transfer_SaveToFiles(MTrans, State, FileNames)
Functions
  • real(dl)
    Get21cmCl_l(Vars, kin)
    Direct integration with j^2/r, etc.
  • real(dl)
    Get21cmCl_l_avg(Vars, kin)
    Asymptotic results where we take <cos^2>=1/2 assuming smooth power spectrum
  • real(dl)
    MatterPowerData_k(PK, itf, kh, index_cache)
    Get matter power spectrum at particular k/h by interpolation
    • MatterPowerData   :: PK
    • integer intent(in) :: itf
    • real (dl) intent(in) :: kh
    • integer optional :: index_cache