def galaxy_bias(model, f_NL, **cosmo): #------ cosmo parameters ---------------------- omega_M_0 = cosmo['omega_M_0']; omega_b_0 = cosmo['omega_b_0']; omega_lambda_0 = cosmo['omega_lambda_0'] #----: redshift !! z = model_check(model)[0]; b_g = cc.b_0 * sqrt(1 + z) TT = 3/5 * cc.zk**2 * pini.transfer_func("BBKS") * grwoth_factor(model, **cosmo)[0] bias = b_g + 3 * (b_g - 1) * f_NL * cc.delta_c * omega_M_0/TT delta_bias = 3 * (b_g - 1) * f_NL * cc.delta_c * omega_M_0/TT return bias, delta_bias
def Delta_m(model): z, w_x, c2_x, PP, gamma, model_name = model_check(model) label1 = model_name + 'z = %s,' %z + ' $w_x$ = %s,' %w_x + ' $c^2_x$ = %s,' %c2_x + ' $\Gamma$ = %s' %gamma Delta_m = var.perturb_vars(model)[0] semilogx(cc.k, Delta_m, next(linecycler), linewidth = 2, label = label1) legend(loc = 'best', prop = {'size':9}) xlim((cc.k_min, cc.k_max)) xlabel('k') ylabel('$\Delta_m$(k, a = 1)')
def h(model): z, w_x, c2_x, PP, gamma, model_name = model_check(model) label1 = model_name + 'z = %s,' %z + ' $w_x$ = %s,' %w_x + ' $c^2_x$ = %s,' %c2_x + ' $\Gamma$ = %s' %gamma h = var.back_vars(model)[2] loglog(cc.a, h, next(linecycler), linewidth = 2, label = label1) legend(loc = 'best', prop = {'size':9}) xlim((10**-1, 1.0)) ylim(( 1.0, 0.2 * 10**2)) xlabel('a') ylabel('h(a)')
def Phi_ini(model, **cosmo): z, w_x, c2_x, PP, gamma, model_name = model_check(model) label1 = model_name + 'z = %s,' %z + ' $w_x$ = %s,' %w_x + ' $c^2_x$ = %s,' %c2_x + ' $\Gamma$ = %s' %gamma Phi_ini = var.perturb_vars_ini(model, **cosmo)[4] conv = 1/(cc.CH_0**(3/2)) semilogx(cc.k, Phi_ini, next(linecycler), linewidth = 2, label = label1) legend(loc = 'best', prop = {'size':9}) xlim((cc.k_min, cc.k_max)) xlabel('k') ylabel('$\Phi$(k, a = 1)')
def omega_m(model): z, w_x, c2_x, PP, gamma, model_name = model_check(model) label1 = model_name + 'z = %s,' %z + ' $w_x$ = %s,' %w_x + ' $c^2_x$ = %s,' %c2_x + ' $\Gamma$ = %s' %gamma omega_m = var.back_vars(model)[0]; omega_x = var.back_vars(model)[1] semilogx(cc.a, omega_m, next(linecycler), linewidth = 2, label = label1 + ' :: $\Omega_m$' ) semilogx(cc.a, omega_x, next(linecycler),linewidth = 2, label = label1 + ' :: $\Omega_x$') legend(loc = 'best', prop = {'size':9}) #, ncol = 3 xlabel('a') xlim((4 * 10**-2, 1.0)) ylim((-0.05 , 1.05))
def P_Delta_m(model, lcdm_model, **cosmo): z, w_x, c2_x, PP, gamma, model_name = model_check(model) label1 = model_name + 'z = %s,' %z + ' $w_x$ = %s,' %w_x + ' $c^2_x$ = %s,' %c2_x + ' $\Gamma$ = %s' %gamma P_Delta_m = var.power_spectra_linear(model, lcdm_model, **cosmo) loglog(cc.k, P_Delta_m, next(linecycler), linewidth = 2, label = label1) legend(loc = 'best', prop = {'size':9}) axvline(x = 0.17 * 10**-2, color='r', ls = '--') # vertical line at k_eq axvline(x = 0.14 * 10**-1, color='b', ls = '-.') # vertical line at k_eq xlim((cc.k_min, cc.k_max)) xlabel('k') ylabel('$P_m$(k, a = 1)')
def vars_ini(model, BP, i, **cosmo): #---: file name !! name_of_file_pert_ini = model + "_PERT_ini" completeName_pert_ini = os.path.join(save_path_ini, name_of_file_pert_ini + ".npy") #------ cosmo parameters ---------------------- omega_M_0 = cosmo['omega_M_0']; omega_b_0 = cosmo['omega_b_0']; omega_lambda_0 = cosmo['omega_lambda_0'] #------ Primordial Conditions ------------------ AA = 50/9 * pi**2 * cc.delta_H**2 * cc.A**2 # scaling constant & A is added Phi_p = sqrt(AA) * (cc.k)**(-3/2) * (cc.zk)**((cc.n-1)/2) * omega_M_0 # change the sign of the init with respect to the convension (v), it could take +/- since sqrt(P^inf_phi). #--: Background Initial conditions z, w_x, c2_x, PP, gamma, model_name = model_check(model) #--: Setteing Initial Conditions !! if BP == 0: h_ini = 1; omega_m_ini = omega_M_0; omega_x_ini = 1 - omega_M_0; ww_x_ini = -1.0 phi_ini = 10**-2; phi_dash_ini = 10**-2 elif BP == 1: h_ini = var.back_vars_ini(model)[2]; omega_m_ini = var.back_vars_ini(model)[0] omega_x_ini = var.back_vars_ini(model)[1]; ww_x_ini = 0.0 phi_ini = 10**-2; phi_dash_ini = 10**-2 elif BP == 2: h_ini = var.back_vars_ini(model)[2]; omega_m_ini = var.back_vars_ini(model)[0] omega_x_ini = var.back_vars_ini(model)[1]; ww_x_ini = 0.0 phi_ini = 10**-2; phi_dash_ini = 10**-2 else: print "Invalid Input !!" #--: Interaction model !! # change sign + --> - if cc.Inrct == "DMT": Q_m_ini = gamma * omega_m_ini; Q_x_ini = - Q_m_ini elif cc.Inrct == "DXT": Q_m_ini = - gamma * omega_x_ini; Q_x_ini = - Q_m_ini # change sign here elif cc.Inrct == "VARSPHI": Q_m_ini = cc.beta0 * exp(cc.beta11 * phi_ini); Q_x_ini = - Q_m_ini else: print "Enter Valid Interaction Term" #--: Perturb Initial conditions w_m_eff_ini = - Q_m_ini/(3 * h_ini * omega_m_ini) w_x_eff_ini = w_x - Q_x_ini/(3 * h_ini * omega_x_ini) rhodash_mx_ini = (omega_x_ini/omega_m_ini) * (1 + w_x_eff_ini)/(1 + w_m_eff_ini) # check(v) mu_delta = rhodash_mx_ini/(1 - rhodash_mx_ini) # check(v) Phi_ini = 9/10 * Phi_p * transfer_func("BBKS") # change sign for metric convention !! Delta_m_ini = 2/3 * (cc.zk/(cc.a_init * h_ini))**2 * Phi_ini/omega_m_ini * (1 + mu_delta) Delta_x_ini = 2/3 * (cc.zk/(cc.a_init * h_ini))**2 * Phi_ini/omega_x_ini * mu_delta * PP #u_m_ini = cc.a_init * h_ini * omega_m_ini/(cc.zk**2) * (1 + rhodash_mx_ini)/(1 + w_x * omega_x_ini) * Delta_m_ini u_m_ini = 2/3 * 1/((1 + w_x * omega_x_ini) * h_ini) * Phi_ini u_x_ini = PP * u_m_ini perturb_vars_ini = Delta_m_ini, Delta_x_ini, u_m_ini, u_x_ini, Phi_ini #--: Saving initial conditions !! save(completeName_pert_ini, perturb_vars_ini) return array([ omega_m_ini, omega_x_ini, h_ini, ww_x_ini, Delta_m_ini[i] * BP, Delta_x_ini[i] * BP, u_m_ini[i] * BP, u_x_ini[i] * BP, Phi_ini[i] * BP, phi_ini, phi_dash_ini ])
def modulle_sol(model, BP, **cosmo): """ """ #---: file name !! name_of_file_back = model + "_BACK" name_of_file_back_ini = model + "_BACK_ini" name_of_file_pert = model + "_PERT" completeName_back_ini = os.path.join(save_path_ini, name_of_file_back_ini + ".npy") completeName_back = os.path.join(save_path, name_of_file_back + ".npy") completeName_pert = os.path.join(save_path, name_of_file_pert + ".npy") #--: Model Parameters defs z, w_x, c2_x, PP, gamma, model_name = model_check(model) #--: Model def printing !! print "Model:", model print "Background:", cosmo #____ Timing: Start ________ t_init = time() #------- Redshift ----------------------------- a_q = 1.0/(1.0 + z) aa_q = linspace(cc.a_init, a_q, cc.nn) print 'Redshift:', z, '-', 'Scalar Factor:', a_q #------ Solving diff_sys ---------------------- if BP == 0: vars = odeint(module, vars_ini(model, BP, 0, **cosmo), cc.a_revs, args = (cc.zk[0], BP, model), mxstep = cc.n_step) #------ Variable definitions ------------------ Omega_m = vars[:,0]; Omega_x = vars[:,1]; h = vars[:,2]; ww_x = vars[:,3] back_vars_ini = Omega_m[-1], Omega_x[-1], h[-1], ww_x[-1] #------ Variable Save ------------------ save(completeName_back_ini, back_vars_ini) elif BP == 1: vars = odeint(module, vars_ini(model, BP, 0, **cosmo), cc.a, args = (cc.zk[0], BP, model), mxstep = cc.n_step) #------ Variable definitions ------------------ Omega_m = vars[:,0]; Omega_x = vars[:,1]; h = vars[:,2]; ww_x = vars[:,3] phi = vars[:,9]; Lambda = vars[:,10] back_vars = Omega_m, Omega_x, h, ww_x #------ Variable Save ------------------ save(completeName_back, back_vars) elif BP == 2: vars = [odeint(module, vars_ini(model, BP, i, **cosmo), aa_q, args = (cc.zk[i], BP, model), mxstep = cc.n_step) for i in range(cc.nn)] # i for k #------ Variable definitions ------------------ Delta_m = array([vars[j][:,4][-1] for j in range(cc.nn)]) Delta_x = array([vars[j][:,5][-1] for j in range(cc.nn)]) u_m = array([vars[j][:,6][-1] for j in range(cc.nn)]) u_x = array([vars[j][:,7][-1] for j in range(cc.nn)]) Phi = array([vars[j][:,8][-1] for j in range(cc.nn)]) perturb_vars = Delta_m, Delta_x, u_m, u_x, Phi #------ Variable Save ------------------ save(completeName_pert, perturb_vars) else: print "Invalid Input !!" #_______ Timing: Final _________ print 'Time Elapsed: ', (time() - t_init)/60.0, 'Mins' return