예제 #1
0
def Mass_peak(x):
    r=cosmo.sigma(dc0/x,z=0,inverse=True)
    M=peaks.lagrangianM(r)#/h
    return np.log10(M)
예제 #2
0
        0.1, 0.18, 0.195, 0.2, 0.22, 0.23, 0.265, 0.27, 0.3, 0.31, 0.4, 0.52
    ]
else:
    print('snapshot not valid\naborting...')
    sys.exit()
sig_intervals = 1 / (10**np.array(log1sig_intervals))
#sig_bins = (sig_intervals[1:] + sig_intervals[:-1])/2
sig_bins = [(sig_intervals[0] + sig_intervals[1]) / 2,
            (sig_intervals[1] + sig_intervals[2]) / 2,
            (sig_intervals[3] + sig_intervals[4]) / 2,
            (sig_intervals[5] + sig_intervals[6]) / 2,
            (sig_intervals[7] + sig_intervals[8]) / 2,
            (sig_intervals[9] + sig_intervals[10]) / 2]
print(sig_bins)
R_intervals = cosmo.sigma(sig_intervals, z=z_snap, inverse=True)
M_intervals = peaks.lagrangianM(R_intervals) / h
print(log1sig_intervals)

interval0 = ((log1_sigf_1 <= log1sig_intervals[1]))
interval1 = ((log1_sigf_1 <= log1sig_intervals[2]) &
             (log1_sigf_1 > log1sig_intervals[1]))
interval2 = ((log1_sigf_1 <= log1sig_intervals[4]) &
             (log1_sigf_1 > log1sig_intervals[3]))
interval3 = ((log1_sigf_1 <= log1sig_intervals[6]) &
             (log1_sigf_1 > log1sig_intervals[5]))
interval4 = ((log1_sigf_1 <= log1sig_intervals[8]) &
             (log1_sigf_1 > log1sig_intervals[7]))
interval5 = ((log1_sigf_1 <= log1sig_intervals[10]) &
             (log1_sigf_1 > log1sig_intervals[9]))

low = min(xoff)
예제 #3
0
def Mass_sigma(x):
    r=cosmo.sigma(1.68/x,z=0,inverse=True)
    M=peaks.lagrangianM(r)/h
    return np.log10(M)
def sigma_mass(x):
    sig = 1 / 10**x
    r = cosmo.sigma(sig, z=z_snap, inverse=True)  #Mpc/h
    M = peaks.lagrangianM(r)  #Msun/h
    mas = np.log10(M)
    return mas
예제 #5
0
def Mass_sigma(x):
    r = cosmo.sigma(1 / (10**x), z=0, inverse=True)
    M = peaks.lagrangianM(r) / cosmo.Hz(z=0) * 100
    return np.log10(M)
예제 #6
0
def Mass_sigma(x):
    r = cosmo.sigma(1 / 10**x, z=z_snap, inverse=True)
    M = peaks.lagrangianM(r)  #/h
    return np.log10(M)
예제 #7
0
path_2_snapshot_data0_4 = os.path.join(dir_0_4, 'distinct_1.0.fits')
zpl = np.array([1 / 1.0 - 1, 1 / 0.6565 - 1, 1 / 0.4922 - 1, 1 / 0.353 - 1])
colors = ['b', 'r', 'c', 'm']
print(colors[0])

aexp = float(os.path.basename(path_2_snapshot_data[0][:-8]).split('_')[1])
z_snap = 1 / aexp - 1
print('z=%.3g' % (z_snap))
cosmo = cosmology.setCosmology('multidark-planck')
h = cosmo.Hz(0) / 100
E_z = cosmo.Ez(z=z_snap)
Vol1 = (4e3 / (1 + z_snap))**3
dc = peaks.collapseOverdensity(z=z_snap)
rho_m = cosmo.rho_m(z=z_snap) * 1e9
R = cosmo.sigma(1 / 10**(-0.1), z=0, inverse=True)
M = peaks.lagrangianM(R)
print(M / h)
R = cosmo.sigma(1 / 10**(0.19), z=0, inverse=True)
M = peaks.lagrangianM(R)
print(M / h)
#sys.exit()

print('1e15 Msun is log1_sigma = ',
      np.log10(1 / cosmo.sigma(peaks.lagrangianR(1e15 * h), z=z_snap)))
print('1e14 Msun is log1_sigma = ',
      np.log10(1 / cosmo.sigma(peaks.lagrangianR(1e14 * h), z=z_snap)))
print('1e13 Msun is log1_sigma = ',
      np.log10(1 / cosmo.sigma(peaks.lagrangianR(1e13 * h), z=z_snap)))

print('reading data...')
hd1 = fits.open(path_2_snapshot_data[0])
예제 #8
0
    R3 = peaks.lagrangianR(mass3_)
    sigma3 = cosmo.sigma(R3,z=z_snap)
    log1_sigma3 = np.log10(1/sigma3)
    logxoff_data3 = np.log10(hd3[1].data['Xoff']/hd3[1].data['Rvir'])
    log_spin3 = np.log10(hd3[1].data['Spin'])


    #fsigma1
    s_low_HMD = s_low_list_HMD[i]
    print('s_low_HMD = ',s_low_HMD)
    s_low_BigMD = s_low_list_BigMD[i]
    print('s_low_BigMD = ',s_low_BigMD)
    s_low_MDPL = s_low_list_MDPL[i]
    print('s_low_MDPL = ',s_low_MDPL)
    r_low_HMD = cosmo.sigma(1/10**s_low_HMD, z=z_snap, inverse = True)
    mass_low_HMD = peaks.lagrangianM(r_low_HMD)/h
    print('mass low HMD = %.3g M sun'%(mass_low_HMD))
    r_low_BigMD = cosmo.sigma(1/10**s_low_BigMD, z=z_snap, inverse = True)
    mass_low_BigMD = peaks.lagrangianM(r_low_BigMD)/h
    print('mass low BigMD = %.3g M sun'%(mass_low_BigMD))
    r_low_MDPL = cosmo.sigma(1/10**s_low_MDPL, z=z_snap, inverse = True)
    mass_low_MDPL = peaks.lagrangianM(r_low_MDPL)/h
    print('mass low MDPL = %.3g M sun'%(mass_low_MDPL))
    s_edges1 = np.arange(s_low_HMD,0.5,diff_sigma1)
    mass1 = np.log10(mass1_)
    counts_f1 = np.histogram(log1_sigma1,bins=s_edges1)[0]
    print('from 4Gpc = ', np.sum(counts_f1),'halos')
    s_bins1 = (s_edges1[:-1]+s_edges1[1:])/2
    Runo = cosmo.sigma(1/10**s_bins1,inverse=True,z=z_snap)
    Runo_ = cosmo.sigma(1/10**s_edges1,inverse=True,z=z_snap)
    M1 = peaks.lagrangianM(Runo)