Esempio n. 1
0
def test_ehnobao():
    t = Transfer(transfer_model="EH")
    tnobao = Transfer(transfer_model="EH_NoBAO")

    assert np.isclose(t._unnormalised_lnT[0],
                      tnobao._unnormalised_lnT[0],
                      rtol=1e-5)
Esempio n. 2
0
def test_updates():
    t = Transfer()
    t2 = Transfer()
    for k, v in {
            "z": 0.1,
            "sigma_8": 0.82,
            "n": 0.95,
            "cosmo_params": {
                "H0": 68.0
            }
    }.items():
        yield check_update, t, t2, k, v
Esempio n. 3
0
def hmf_halofit():
   #https://github.com/steven-murray/hmf/blob/master/development/halofit_testing.ipynb
   from hmf.transfer import Transfer


   teh_nl_tk = Transfer(transfer_model="EH", takahashi=True, z=0.0)
   teh_nl_ntk = Transfer(transfer_model="EH", takahashi=False, z=0.0)

   teh_nl_tk.update(z=0)


   #plt.plot(teh_nl_tk.k, np.abs(teh_nl_ntk.nonlinear_power/teh_nl_tk.nonlinear_power -1))
   ax0.loglog(teh_nl_ntk.k, teh_nl_ntk.nonlinear_power, 'k--')
   ax0.loglog(teh_nl_ntk.k, teh_nl_ntk.power, 'k-.')
Esempio n. 4
0
def test_updates():
    t = Transfer()
    t2 = Transfer()
    for k, v in {
            "z": 0.1,
            "wdm_mass": 10.0,
            "transfer_options": {
                "initial_mode": 2,
                "lAccuracyBoost": 1.5,
                "AccuracyBoost": 1.5
            },
            "sigma_8": 0.82,
            "n": 0.95,
            "H0": 68.0
    }.iteritems():
        yield check_update, t, t2, k, v
Esempio n. 5
0
def test_updates():
    t = Transfer()
    t2 = Transfer()
    for k, v in {
            "z": 0.1,
            "transfer_params": {
                "lAccuracyBoost": 1.5,
                "AccuracyBoost": 1.5
            },
            "sigma_8": 0.82,
            "n": 0.95,
            "cosmo_params": {
                "H0": 68.0
            }
    }.iteritems():
        yield check_update, t, t2, k, v
Esempio n. 6
0
def test_data():
    t = Transfer(cosmo_model=LambdaCDM(Om0=0.3, Ode0=0.7, H0=70.0, Ob0=0.05),
                 sigma_8=0.8,
                 n=1,
                 transfer_params={
                     "transfer__k_per_logint": 0,
                     "transfer__kmax": 100.0
                 },
                 lnk_min=np.log(1e-11),
                 lnk_max=np.log(1e11))
    tdata = np.genfromtxt(LOCATION + "/data/transfer_for_hmf_tests.dat")
    pdata = np.genfromtxt(LOCATION + "/data/power_for_hmf_tests.dat")
    assert rms(t._unnormalised_lnT - np.log(tdata[:, 1])
               ) < 0.05  # Does better than 0.001 on my system...
    diff = t.power - pdata[:, 1]
    print t._unnormalised_lnT[400], t._unnormalised_power[400], t._power0[400]
    assert rms(t.power - pdata[:, 1]) < 0.001
Esempio n. 7
0
def test_data():
    t = Transfer(omegab=0.05,
                 omegac=0.25,
                 omegav=0.7,
                 omegan=0.0,
                 H0=70.0,
                 sigma_8=0.8,
                 n=1,
                 transfer_options={
                     "transfer__k_per_logint": 0,
                     "transfer__kmax": 100.0
                 },
                 lnk_min=np.log(1e-11),
                 lnk_max=np.log(1e11))
    tdata = np.genfromtxt(LOCATION + "/data/transfer_for_hmf_tests.dat")
    pdata = np.genfromtxt(LOCATION + "/data/power_for_hmf_tests.dat")
    assert rms(np.exp(t._unnormalised_lnT) -
               tdata[:, 1]) < 0.05  # Does better than 0.001 on my system...
    assert rms(np.exp(t.power) - pdata[:, 1]) < 0.001
Esempio n. 8
0
plt.legend(loc = "lower left")
plt.show()
#plt.savefig('plots/hmf_OmegaM', bbox_inches='tight')



# Check if log scale is working properly
plt.figure(10)
plt.plot(Mass)
plt.plot(Mass[::10], 'o')
plt.yscale('log')
plt.show()


from hmf.transfer import Transfer


teh_nl_tk = Transfer(transfer_model="EH", takahashi=True, z= 8.0)
teh_nl_ntk = Transfer(transfer_model="EH", takahashi=False, z=8.0)

teh_nl_tk.update(z=0)


plt.plot(teh_nl_tk.k, np.abs(teh_nl_ntk.nonlinear_power/teh_nl_tk.nonlinear_power -1))
#plt.plot(teh_nl_ntk.k, teh_nl_ntk.nonlinear_power)
#plt.plot(teh_nl_ntk.k, teh_nl_ntk.power)

plt.xscale('log')
#plt.yscale('log')
plt.grid(True)
Esempio n. 9
0
def test_halofit():
    t = Transfer(lnk_min=-20, lnk_max=20, dlnk=0.05, transfer_fit="EH")
    assert abs(t.power[0] - t.nonlinear_power[0]) < 1e-5
    assert 5 + t.power[-1] < t.nonlinear_power[-1]
Esempio n. 10
0
def test_halofit():
    t = Transfer(lnk_min=-20, lnk_max=20, dlnk=0.05, transfer_model="EH")
    print EH_BAO._defaults
    print "in test_transfer, params are: ", t.transfer_params
    assert np.isclose(t.power[0], t.nonlinear_power[0])
    assert 5 * t.power[-1] < t.nonlinear_power[-1]
Esempio n. 11
0
def test_bondefs():
    t = Transfer(transfer_model="BondEfs")
    print(np.exp(t._unnormalised_lnT))
    assert np.isclose(np.exp(t._unnormalised_lnT[0]), 1, rtol=1e-5)