Пример #1
0
def test_outputs_xi_nfw_at_r():
    #List vs. numpy.array
    npt.assert_array_equal(xi.xi_nfw_at_r(ra, Mass, conc, Omega_m),
                           xi.xi_nfw_at_r(ra.tolist(), Mass, conc, Omega_m))
    #Single value vs numpy.array
    arrout = xi.xi_nfw_at_r(ra, Mass, conc, Omega_m)
    for i in range(len(ra)):
        npt.assert_equal(xi.xi_nfw_at_r(ra[i], Mass, conc, Omega_m), arrout[i])
Пример #2
0
def test_rho_vs_xi_nfw():
    #Note: testing fractional precision to avoid numerical issues
    arr1 = density.rho_nfw_at_r(R_arr, Mass, conc, Omega_m)
    arr2 = xi.xi_nfw_at_r(R_arr, Mass, conc, Omega_m)
    arr2 = rhom * (1 + arr2)
    arr2 = arr2 / arr1
    ones = np.ones_like(arr1)
    npt.assert_array_equal(ones, arr2)
Пример #3
0
def test_combination():
    xinfw = xi.xi_nfw_at_r(ra, Mass, conc, Omega_m)
    ximm = xi.xi_mm_at_r(ra, knl, pnl)
    from cluster_toolkit import bias
    b = bias.bias_at_M(Mass, klin, plin, Omega_m)
    xi2h = xi.xi_2halo(b, ximm)
    xihm = xi.xi_hm(xinfw, xi2h)
    xihm2 = xi.xi_hm(xinfw, xi2h, combination='max')
    npt.assert_array_equal(xihm, xihm2)
    xihm2 = xi.xi_hm(xinfw, xi2h, combination='sum')
    npt.assert_raises(AssertionError, npt.assert_array_equal, xihm, xihm2)
    with pytest.raises(Exception):
        xi.xi_hm(xinfw, xi2h, combination='blah')
out_pk_file = '/home/xkchen/figs/pk_arr.dat'
khnl, pknl = pk_at_r(R, z0, out_pk_file)

# pk_file = '/home/xkchen/figs/pk_arr.dat'
# xi_mm = integ_pk_func( R, pk_file,)

# plt.figure()
# plt.plot( R, xi_mm, 'r-', alpha = 0.5,)
# plt.xscale('log')
# plt.yscale('log')
# plt.savefig('/home/xkchen/xi-mm_view.png', dpi = 300)
# plt.show()

### check xi_2h
xi_mm = xi.xi_mm_at_r(R / 1e3, khnl, pknl)
xi_nfw = xi.xi_nfw_at_r(R / 1e3, 1e14, c_mass, Omega_m)

xi_2h = xi_2h_func(R, 1, z0)  ## set bias = 1

plt.figure()
plt.plot(R, xi_2h, 'r-', alpha=0.5)
plt.plot(R, xi_mm, 'b--', alpha=0.5)
plt.xscale('log')
plt.yscale('log')
plt.show()

xi_hm = xi_hm_func(R, z0, c_mass, Mh0, bias, v_m)
xi_2h = xi_2h_func(R, bias, z0)
xi_1h = xi_1h_func(R, z0, c_mass, Mh0, v_m)

plt.figure()
Пример #5
0
def test_nfw_mass_dependence():
    masses = np.array([1e13, 1e14, 1e15])
    for i in range(len(masses) - 1):
        xi1 = xi.xi_nfw_at_r(ra, masses[i], conc, Omega_m)
        xi2 = xi.xi_nfw_at_r(ra, masses[i + 1], conc, Omega_m)
        npt.assert_array_less(xi1, xi2)
Пример #6
0
def test_exceptions_xi_nfw_at_r():
    with pytest.raises(TypeError):
        xi.xi_nfw_at_r()  #No args
        xi.xi_nfw_at_r(r, Mass, conc)  #Too few args
        xi.xi_nfw_at_r(r, Mass, conc, Omega_m, Omega_m)  #Too many args
        xi.xi_nfw_at_r("a string", Mass, conc, Omega_m, Omega_m)  #Wrong type