Ejemplo n.º 1
0
def test_sigma8_z():

    z = numpy.linspace(0, 1, 100)
    c = Cosmology()

    s8_z = c.sigma8_z(z)
    D_z = c.scale_independent_growth_factor(z)
    assert_allclose(s8_z, D_z*c.sigma8, rtol=1e-3)
Ejemplo n.º 2
0
def test_sigma8_z():

    z = numpy.linspace(0, 1, 100)
    c = Cosmology()

    s8_z = c.sigma8_z(z)
    D_z = c.scale_independent_growth_factor(z)
    assert_allclose(s8_z, D_z * c.sigma8, rtol=1e-3)
Ejemplo n.º 3
0
def test_linear():

    # initialize the power
    c = Cosmology().match(sigma8=0.82)
    P = LinearPower(c, redshift=0, transfer='CLASS')

    # check velocity dispersion
    assert_allclose(P.velocity_dispersion(), 5.898, rtol=1e-3)

    # test sigma8
    assert_allclose(P.sigma_r(8.), c.sigma8, rtol=1e-5)

    # change sigma8
    P.sigma8 = 0.80
    c = c.match(sigma8=0.80)

    assert_allclose(P.sigma_r(8.), P.sigma8, rtol=1e-5)

    # change redshift and test sigma8(z)
    P.redshift = 0.55
    assert_allclose(P.sigma_r(8.), c.sigma8_z(P.redshift), rtol=1e-5)

    # desired wavenumbers (in h/Mpc)
    k = numpy.logspace(-3, 2, 500)

    # initialize EH power
    P1 = LinearPower(c, redshift=0., transfer="CLASS")
    P2 = LinearPower(c, redshift=0., transfer='EisensteinHu')
    P3 = LinearPower(c, redshift=0., transfer='NoWiggleEisensteinHu')

    # check different transfers (very roughly)
    Pk1 = P1(k)
    Pk2 = P2(k)
    Pk3 = P3(k)
    assert_allclose(Pk1 / Pk1.max(), Pk2 / Pk2.max(), rtol=0.1)
    assert_allclose(Pk1 / Pk1.max(), Pk3 / Pk3.max(), rtol=0.1)

    # also try scalar
    Pk = P(0.1)