Playing with CAMB


In [1]:
%pylab inline
import numpy as np
import camb
from camb import model, initialpower


Populating the interactive namespace from numpy and matplotlib

Setup cosmological model


In [2]:
pars = camb.CAMBparams()
#one massive neutrino and helium set using BBN consistency
pars.set_cosmology(H0=67.5, ombh2=0.022, omch2=0.122, mnu=0.06, omk=0, tau=0.06)
pars.InitPower.set_params(As=2e-9,ns=0.965, r=0)


Out[2]:
<camb.initialpower.InitialPowerParams at 0x1150296a8>

In [3]:
pars.set_matter_power(redshifts=[0.,2.0,5.0], kmax=10.0)
#Linear spectra
pars.NonLinear = model.NonLinear_none
results = camb.get_results(pars)
kh, zs, pk = results.get_matter_power_spectrum(minkh=1e-4, maxkh=10, npoints = 200)
s8 = np.array(results.get_sigma8())
print(s8)


Note: redshifts have been re-sorted (earliest first)
[ 0.16997738  0.33506916  0.80266669]

Plot matter power spectrum


In [4]:
from matplotlib import pyplot as plt

In [5]:
for i, z in enumerate(zs):
    plt.loglog(kh, pk[i,:],label='z = '+str(int(z)))
plt.xlabel('k [h/Mpc]')
plt.ylabel('P(k) [Mpc/h]')
plt.legend(loc='lower left')
plt.title('Matter power at different redshifts')


Out[5]:
<matplotlib.text.Text at 0x1167bac88>

In [7]:
z=2.25
results.hubble_parameter(z)


Out[7]:
229.79162843739516

In [8]:
results.angular_diameter_distance(z)


Out[8]:
1734.611130325552

In [9]:



---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-3ccf96d5ca9e> in <module>()
----> 1 results.angular_diameter_distance2(z)

TypeError: angular_diameter_distance2() missing 1 required positional argument: 'z2'

In [ ]: