예제 #1
0
Eg_list = np.logspace(-2, 12, 1000)/6.24e11
temp = np.zeros([len(Eg_list), 4])
EgeV_list = Eg_list*6.24e11

dm_data = np.genfromtxt('PPPC4DM/AtProductionNoEW_positrons.dat', names=True)
def get_electron_spec(e=5):
    '''
    Returns the electron energy specrum
    '''
    return 10**dm_data['Log10x'][dm_data['mDM']==e], dm_data['q'][dm_data['mDM']==e]

def ICon30CMB(EgeV_list, E0, z):
    return (EgeV_list/1e9)**0.5*5e-2 *(np.exp(-(EgeV_list/1e9*3.4e3*(1e9/E0/((1.+z)/61)**0.5)**2)))


cosmo = Cosmology.setCosmology('planck15')

# z_list_ann = z_list.copy()
# boost_ann = 1+rho_dm_2[:]
# boost_ann = CLfit(z_list)

# Eg_list = np.logspace(-6, 12, 1000)/6.24e11
nu_list = Eg_list / (hbar*2*np.pi)
EgeV_list = Eg_list*6.24e11
z_start = 10000.0
z_step = 0.01
z_list = np.array([0])
f = (Eg_list[1]/Eg_list[0])**1
double_shift = int(np.ceil(np.log(2.0)/np.log(f)))
for i in range(1000):
    z_list = np.append(z_list, f*(1.+z_list[-1])-1.0)
예제 #2
0
파일: plot.py 프로젝트: chzruan/gotetra
import os.path as path
import colossus.Cosmology as cosmology
import scipy.stats as stats

dir = "data"
fs = ["h63_rad.dat", "h125_rad.dat", "h250_rad.dat",
      "h500_rad.dat"]
fs = [path.join(dir, f) for f in fs]
Ls = [62.5, 125, 250, 500]

lo_exps = [10, 10, 10, 10]
hi_exps = [19, 20, 18, 16]

params = {"flat":True, "H0":70, "Om0":0.27,
          "Ob0":0.0469, "sigma8":0.82, "ns":0.95}
cosmo = cosmology.setCosmology("meowCosmo", params)

cs = ["m", "g", "r", "b"]

for i in xrange(len(Ls)):
    #if i == 0: continue
    mp = cosmo.rho_m(0) * 1e9 * Ls[i]**3 / 1024**3
    rows = zip(*np.loadtxt(fs[i], usecols=(2, 3, 4, 5, 6, 7, 8)))
    m_sp, r_sp, r_min, r_max, r_200m, m_200c, gamma = map(np.array, rows)

    plt.figure(0)
    plt.plot(gamma, r_sp / r_200m, ".", c=cs[i], alpha=0.5)

for i in xrange(len(Ls)):
    #if i == 0: continue
    mp = cosmo.rho_m(0) * 1e9 * Ls[i]**3 / 1024**3
예제 #3
0
def get_electron_spec(e=5):
    '''
    Returns the electron energy specrum
    '''
    return 10**dm_data['Log10x'][dm_data['mDM'] == e], dm_data['q'][
        dm_data['mDM'] == e]


def ICon30CMB(EgeV_list, E0, z):
    return (EgeV_list /
            1e9)**0.5 * 5e-2 * (np.exp(-(EgeV_list / 1e9 * 3.4e3 *
                                         (1e9 / E0 /
                                          ((1. + z) / 61)**0.5)**2)))


cosmo = Cosmology.setCosmology('planck15')

# z_list_ann = z_list.copy()
# boost_ann = 1+rho_dm_2[:]
# boost_ann = CLfit(z_list)

# Eg_list = np.logspace(-6, 12, 1000)/6.24e11
nu_list = Eg_list / (hbar * 2 * np.pi)
EgeV_list = Eg_list * 6.24e11
z_start = 10000.0
z_step = 0.01
z_list = np.array([0])
f = (Eg_list[1] / Eg_list[0])**1
double_shift = int(np.ceil(np.log(2.0) / np.log(f)))
for i in range(1000):
    z_list = np.append(z_list, f * (1. + z_list[-1]) - 1.0)