|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from classy import Class |
|
|
|
get_ipython().run_line_magic('matplotlib', 'inline') |
|
import matplotlib.pyplot as plt |
|
from math import pi |
|
import numpy as np |
|
|
|
|
|
|
|
|
|
|
|
|
|
LambdaCDM = Class() |
|
|
|
LambdaCDM.set({'omega_b':0.0223828,'omega_cdm':0.1201075,'h':0.67810,'A_s':2.100549e-09,'n_s':0.9660499,'tau_reio':0.05430842}) |
|
LambdaCDM.set({'output':'tCl,pCl,lCl,mPk','analytic_nowiggle':'yes','numerical_nowiggle':'yes','lensing':'yes'}) |
|
LambdaCDM.set({'P_k_max_1/Mpc':3.0,'z_max_pk':1.1}) |
|
LambdaCDM.set({'non_linear':'HMcode','hmcode_version':'2020'}) |
|
|
|
LambdaCDM.compute() |
|
|
|
|
|
|
|
|
|
|
|
kk = np.logspace(-4,np.log10(3),1000) |
|
h = LambdaCDM.h() |
|
Pk = [] |
|
Pk_lin = [] |
|
Pk_nw = [] |
|
Pk_an_nw = [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
z=0 |
|
for k in kk: |
|
Pk_lin.append(LambdaCDM.pk_lin(k*h,z)*h**3) |
|
Pk_nw.append(LambdaCDM.pk_numerical_nw(k*h,z)*h**3) |
|
Pk_an_nw.append(LambdaCDM.pk_analytic_nw(k*h)*h**3) |
|
Pk.append(LambdaCDM.pk(k*h,z)*h**3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plt.xscale('log');plt.yscale('log') |
|
|
|
plt.xlim(1.e-3,0.5) |
|
plt.ylim(200,3e4) |
|
plt.xlabel(r'$k \,\,\,\, [h/\mathrm{Mpc}]$') |
|
plt.ylabel(r'$P(k) \,\,\,\, [\mathrm{Mpc}/h]^3$') |
|
plt.plot(kk,Pk_nw,'k-') |
|
plt.plot(kk,Pk_an_nw,'r-') |
|
plt.plot(kk,Pk_lin,'g-') |
|
plt.savefig('test_hmcode.pdf',bbox_inches='tight') |
|
|
|
|