def findMax_Iso(r, v_inf, r_h): for i in range(len(r)): if vel_h_iso(r[i] * 1000, v_inf, r_h * 1000) == max(vel_h_iso(r * 1000, v_inf, r_h * 1000)): x_Max = r[i] / r_h return x_Max
if vel_h_NFW(r[i] * 1000, rho, r_h * 1000) == max(vel_h_NFW(r * 1000, rho, r_h * 1000)): x_Max = r[i] / r_h return x_Max ################################################################################ ################################################################################ ################################################################################ ################################################################################ # Isothermal Model V_inf = 100 plt.plot(roh, vel_h_iso(r * 1000, V_inf, r_halo * 1000)) plt.xlabel('r/$R_h$') plt.ylabel('$v_{rot}$') plt.legend() plt.grid(b=True) print(findMax_Iso(r, V_inf, r_halo)) half_max = findMax_Iso(r, V_inf, r_halo) / 2 print(half_max) print(vel_h_iso(half_max * 1000, V_inf, r_halo)) V_inf = 200 plt.plot(roh, vel_h_iso(r * 1000, V_inf, r_halo * 1000)) plt.xlabel('r/$R_h$') plt.ylabel('$v_{rot}$') plt.legend() plt.grid(b=True)
r_h * 1000) == max(vel_h_NFW(r * 1000, rho, r_h * 1000)): x_Max = r[i] / r_h return x_Max ################################################################################ ################################################################################ ################################################################################ ################################################################################ # Isothermal Model V_inf = 100 plt.plot(roh, vel_h_iso(r * 1000, V_inf, r_halo * 1000), color='brown', label='$V_{inf}$ = 100 km/s') plt.xlabel('r/$R_h$') plt.ylabel('$v_{rot}$') plt.legend() plt.grid(b=True) print(findMax_Iso(r, V_inf, r_halo)) half_max = findMax_Iso(r, V_inf, r_halo) / 2 print(half_max) print(vel_h_iso(half_max * 1000, V_inf, r_halo)) V_inf = 200 plt.plot(roh, vel_h_iso(r * 1000, V_inf, r_halo * 1000), color='blue',
vel_tot_iso_nb,\ vel_tot_NFW_nb,\ vel_tot_bur_nb # range of radii r = np.linspace(0.1, 55, 10) # Disk plt.plot(np.array(r), disk_vel(r * 1000, 1048, 5000), label='disk') plt.title('Disk') plt.legend() plt.show() # Isothermal halo # integral version plt.plot(np.array(r), vel_h_iso(r * 1000, 130, 30000), 'o', label='integral') plt.title('Isothermal') plt.legend() #plt.show() # no integral version plt.plot(np.array(r), halo_vel_iso(r * 1000, 8e-4, 30000), '*', label='no-integral') plt.title('Isothermal') plt.legend() plt.show() # NFW halo # integral version plt.plot(np.array(r), vel_h_NFW(r * 1000, 8e-4, 30000), 'o', label='integral') plt.title('NFW')