コード例 #1
0
def run():
    G = Constants_NFW.G
    t0 = Constants_NFW.t0 #Myr
    mg = gmc.mg
    rc = Constants_NFW.R_C
    arktan = np.arctan
    lahg = np.log
    squirt = np.sqrt
    pie = np.pi
    infall_time = [1000.*it for it in [0.891330358, 3.732341011, 3.739695459, 7.891740613, 7.990821877, 8.019273007,
                                       8.033063371, 8.173075479, 11.06888207, 11.10294465, 11.24332792, 11.65254351]]
    t_s = [t0 + it for it in infall_time]
    for t in t_s:
        Mtot = nfwso.galaxy_mass(mg['1'], t)
        eff_rad = get_eff_rad(t)
        sigma = sigma_eff_rad(t)
        args = (eff_rad, rc, G, Mtot, sigma, arktan, lahg, squirt, pie)

        #Estimate rh from scipy.optimize.newton built-in method
        rh0 = 10000.
        rh = get_rh_from_python_newton(rh0, rc, eff_rad, args)
        print(Mtot, eff_rad, rh, se.get_sigma_far(rh, eff_rad, rc, G, Mtot, init_guess=0., arktan=arktan, lahg=lahg, squirt=squirt,
                                    pie=pie), sigma)

        #Estimate rh from my own newton method, and count how many iterations it takes to converge
        rh0 = 10000.
        rh, i = get_rh_from_my_own_newton(rh0, *args)

        print(Mtot, eff_rad, rh, i, se.get_sigma_far(rh, eff_rad, rc, G, Mtot, init_guess=0., arktan=arktan, lahg=lahg, squirt=squirt,
                                    pie=pie), sigma, '\n')
コード例 #2
0
def sigma_eff_rad(t):
    z = nfwso.get_z(t)
    sm = stellar_mass(t)
    return 190.*(sm/1.e11)**0.2*(1.+z)**0.47
コード例 #3
0
def get_eff_rad(t):
    z = nfwso.get_z(t)
    sm = stellar_mass(t)
    return 2500*(sm/1.e11)**0.73*(1.+z)**-0.98