def get_theta( z_max ): #set the theta min and theta max for each redshift to a physical range of 0.3Mpc - 2.5Mpc theta_min = [] theta_max = [] for red in range(0, 25): d1 = cosmo.comoving_distance([z_max[red]]) thetamin = 0.3 * 180 / (numpy.pi * d1.value) thetamax = 2.5 * 180 / (numpy.pi * d1.value) theta_min.append(thetamin) theta_max.append(thetamax) return (theta_min, theta_max)
def _initialize_cosmology(): """Initlized internal __core__ variables storing the trend of redshift vs comoving distance. Default cosmology is from WMAP5. ---------------------------------------------------------------------------- Args: None Returns: None """ # TODO: # Talk to someone about this. Are globals the best way to do this. redshift_array = np.linspace(0.0, 10.0, 1000) comov_array = WMAP5.comoving_distance(redshift_array) global _comov_dist_to_redshift_spline _comov_dist_to_redshift_spline = iu_spline(comov_array, redshift_array) global _initilized_cosmology _initilized_cosmology = True return None
# Planck13.comoving_distance(ar_z)) # # plt.plot(ar_z, Planck13.comoving_distance(ar_z) / Planck13.comoving_distance(ar_z)) # plt.plot(ar_z, Planck13.comoving_distance(ar_z + ar_delta_z_planck13 - ar_delta_z_wmap7) / # Planck13.comoving_distance(ar_z)) # plt.show() # print(scipy.misc.derivative(func=Planck13.comoving_distance, x0=2, dx=0.1)) # ar_dcmv_dz_planck13 = np.array([scipy.misc.derivative( # func=lambda x: Planck13.comoving_distance(x).value, x0=z, dx=0.01) for z in ar_z]) # ar_dcmv_dz_wmap7 = np.array([scipy.misc.derivative( # func=lambda x: WMAP7.comoving_distance(x).value, x0=z, dx=0.01) for z in ar_z]) # plt.plot(ar_z, -(ar_dcmv_dz_planck13 - ar_dcmv_dz_wmap7) * ar_delta_z_planck13) # plt.show() del scipy.misc ar_base_cmvd_planck13 = Planck13.comoving_distance(ar_z) ar_true_planck13_cmvd = Planck13.comoving_distance(ar_z + ar_delta_z_planck13) ar_base_cmvd_wmap5 = WMAP5.comoving_distance(ar_z) ar_wmap5_apparent_cmvd = WMAP5.comoving_distance(ar_z + ar_delta_z_planck13) ar_base_cmvd_wmap7 = WMAP7.comoving_distance(ar_z) ar_wmap7_apparent_cmvd = WMAP7.comoving_distance(ar_z + ar_delta_z_planck13) ar_base_cmvd_wmap9 = WMAP9.comoving_distance(ar_z) ar_wmap9_apparent_cmvd = WMAP9.comoving_distance(ar_z + ar_delta_z_planck13) plt.plot(ar_z, ar_true_planck13_cmvd - ar_base_cmvd_planck13) plt.plot(ar_z, ar_wmap5_apparent_cmvd - ar_base_cmvd_wmap5) plt.plot(ar_z, ar_wmap7_apparent_cmvd - ar_base_cmvd_wmap7) plt.plot(ar_z, ar_wmap9_apparent_cmvd - ar_base_cmvd_wmap9) # plt.plot(ar_z, ar_wmap7_apparent_cmvd - ar_true_planck13_cmvd) plt.show()
def M0_to_kg(M0): return M0 * 1.98847e30 if action == 'redshiftcalc': H0 = 70 distance = float(form.getfirst("distance", "")) redshift = round((distance * H0) / (const.c * 1e-3), 4) # const.c is in meters, converting to km print(json.dumps({'redshift': redshift})) elif action == 'distancecalc': redshift = float(form.getfirst("redshift", "")) distance = WMAP5.comoving_distance(redshift) print(json.dumps({'distance': distance})) elif action == 'orbitalsepcalc': orbital_p = float(form.getfirst("orbital_p", "")) total_m = float(form.getfirst("total_m", "")) orbital_s = s_to_yrs( np.sqrt((4 * (const.pi**2) * (pc_to_m(orbital_s) / 2)**3) / (const.G * M0_to_kg(total_m)))) print(json.dumps({'orbital_s': orbital_s})) elif action == 'orbitalpercalc':