syrte
10/23/2017 - 5:10 AM

Test calcosmo

%pylab inline
from __future__ import division
from calcosmo import Cosmo
from astropy.cosmology import FlatLambdaCDM
from colossus.cosmology.cosmology import setCosmology


c0 = FlatLambdaCDM(H0=71, Om0=0.268, Tcmb0=2.73, Ob0=0.045)
c1 = Cosmo(omegam0=0.268, omegal0=None, omegab0=0.045,
              h0=0.71, sigma8=0.85, ns=1., Tcmb=2.73)
c2 = setCosmology('custom', {'flat': True, 'H0': 71, 'Om0': 0.268, 'Ob0': 0.045, 'sigma8': 0.85, 'ns': 1})


# age
a = np.logspace(-1, 0, 100)
z = 1/a - 1
t0 = c0.age(z=z).value
t1 = c1.age(a=a)
t2 = c2.age(z=z)

subplot(121)
loglog(a, t0)
loglog(a, t1, ls='--')
loglog(a, t2, ls=':')

subplot(122)
semilogx(a, t1/t0-1)
semilogx(a, t2/t0-1)


# peak height
for z in [0, 1, 2, 3]:
    a = 1/(z+1)
    M = logspace(9, 15, 21)

    nu1 = c1.nu_M(M, a=a)
    nu2 = c2.peakHeight(M, z=z)

    semilogx(M, nu1)
    semilogx(M, nu2, ls='--')


for z in [0, 1, 2, 3]:
    a = 1/(z+1)
    M = logspace(9, 15, 21)

    nu1 = c1.nu_M(M, a=a)
    nu2 = c2.peakHeight(M, z=z)

    semilogx(M, nu1/nu2-1)