def Sigma2(R, z=0, gf=1): if matterps.s8 == 0: matterps.sigma8() nint = 3000 sum1 = 0.0 sum2 = 0.0 sum3 = 0.0 if (z == 0 and gf == 1): d = 1 elif (z != 0 and gf == 1): d = growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0) elif (z == 0 and gf != 1): d = gf for i in range(1, nint): t = (float(i) - 0.5) / float(nint) k = -1 + 1.0 / t y = k dt2 = matterps.normalizedmp(k) * d**2 * k**3 / (2 * np.pi**2) x = k * R w1 = np.exp(-x * x) w2 = 2 * x * x * w1 w3 = 4 * x * x * (1 - x * x) * w1 sum1 = sum1 + w1 * dt2 / y / t / t sum2 = sum2 + w2 * dt2 / y / t / t sum3 = sum3 + w3 * dt2 / y / t / t sum1 = sum1 / float(nint) sum2 = sum2 / float(nint) sum3 = sum3 / float(nint) d1 = -sum2 / sum1 d2 = -sum2 * sum2 / sum1 / sum1 - sum3 / sum1 return np.array([sum1, d1, d2])
def Sigma2(R, z=0, gf=1): if matterps.s8 == 0: matterps.sigma8() nint = 3000 sum1 = 0.0 sum2 = 0.0 sum3 = 0.0 if (z == 0 and gf == 1): d = 1 elif (z != 0 and gf == 1): d = growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0) elif (z == 0 and gf != 1): d = gf for i in range(1, nint): t = (float(i) - 0.5) / float(nint) k = -1 + 1.0 / t y = k dt2 = matterps.normalizedmp(k) * d ** 2 * k ** 3 / (2 * np.pi ** 2) x = k * R w1 = np.exp(- x*x) w2 = 2 * x * x * w1 w3 = 4 * x * x * (1 - x * x) * w1 sum1 = sum1 + w1 * dt2 / y / t / t sum2 = sum2 + w2 * dt2 / y / t / t sum3 = sum3 + w3 * dt2 / y / t / t sum1 = sum1 / float(nint) sum2 = sum2 / float(nint) sum3 = sum3 / float(nint) d1 = -sum2 / sum1 d2 = -sum2 * sum2 / sum1 / sum1 - sum3 / sum1 return np.array([sum1, d1, d2])
def normCAMB_Pk(k, z=0): global f, s8 s8 = sigma8() p = CAMB_Pk(k) * (const.cosmo['sigma8'] / s8)**2 if z == 0: return p else: return p * (growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0))**2
def normalizedmpnw(k, z=0): global s8 sigma8() normalp = matterpsnw(k) * (s8_given / s8) ** 2 if z == 0: return normalp else: return normalp * (growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0)) ** 2
def normCAMB_Pk(k, z=0): global f, s8 s8 = sigma8() p = CAMB_Pk(k) * (const.cosmo['sigma8'] / s8) ** 2 if z == 0: return p else: return p * (growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0)) ** 2
def deltaq(k, z=0): # Two halo terms(A2) global om0, Rnl, neff, C, an, bn, cn global gamman, alphan, betan, mun, nun, f1, f2, f3 y = k * Rnl def funy(x): return x / 4 + x ** 2 / 8 d = growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0) deltal = camb_interp.CAMB_delta2(k) * d ** 2 deltaq = deltal * ((1 + deltal) ** betan / (1 + alphan * deltal)) * np.exp(- funy(y)) return deltaq
def deltaq(k, z=0): # Two halo terms(A2) global om0, Rnl, neff, C, an, bn, cn global gamman, alphan, betan, mun, nun, f1, f2, f3 y = k * Rnl def funy(x): return x / 4 + x**2 / 8 d = growthfactor.growfunc_z(z) / growthfactor.growfunc_z(0) deltal = camb_interp.CAMB_delta2(k) * d**2 deltaq = deltal * ((1 + deltal)**betan / (1 + alphan * deltal)) * np.exp(-funy(y)) return deltaq