def test_compare_kerr_and_schwarzschild_metric():
    r = 99.9
    theta = 5 * np.pi / 6
    Rs = 9e-3
    # Kerr metric would reduce to Schwarzschild metric under limits a=0
    mk = kerr_utils.metric(_c, r, theta, Rs, 0.0)
    ms = schwarzschild_utils.metric(_c, r, theta, Rs)
    assert_allclose(mk, ms, rtol=1e-8)
def test_compare_kerr_and_schwarzschild_metric():
    r = 99.9
    theta = 5 * np.pi / 6
    M = 6.73317655e26
    # Kerr metric would reduce to Schwarzschild metric under limits a=0
    mk = kerr_utils.metric(r, theta, M, 0.0)
    ms = schwarzschild_utils.metric(r, theta, M)
    assert_allclose(mk, ms, rtol=1e-8)
Ejemplo n.º 3
0
def test_calculate_trajectory(coords, time, M, start_lambda, end_lambda,
                              OdeMethodKwargs):
    cl = Schwarzschild.from_spherical(coords, M, time)
    ans = cl.calculate_trajectory(
        start_lambda=start_lambda,
        end_lambda=end_lambda,
        OdeMethodKwargs=OdeMethodKwargs,
    )
    ans = ans[1]
    testarray = list()
    for i in ans:
        g = schwarzschild_utils.metric(i[1], i[2], M.value)
        testarray.append(g[0][0] * (i[4]**2) + g[1][1] * (i[5]**2) + g[2][2] *
                         (i[6]**2) + g[3][3] * (i[7]**2))
    testarray = np.array(testarray, dtype=float)
    comparearray = np.ones(shape=ans[:, 4].shape, dtype=float)
    assert_allclose(testarray, comparearray, 1e-4)
Ejemplo n.º 4
0
def test_calculate_trajectory(pos_vec, vel_vec, time, M, start_lambda,
                              end_lambda, OdeMethodKwargs):
    cl = Schwarzschild.from_spherical(pos_vec, vel_vec, time, M)
    ans = cl.calculate_trajectory(
        start_lambda=start_lambda,
        end_lambda=end_lambda,
        OdeMethodKwargs=OdeMethodKwargs,
    )
    _c, _scr = constant.c.value, schwarzschild_radius(M).value
    ans = ans[1]
    testarray = list()
    for i in ans:
        g = schwarzschild_utils.metric(_c, i[1], i[2], _scr)
        testarray.append(g[0][0] * (i[4]**2) + g[1][1] * (i[5]**2) + g[2][2] *
                         (i[6]**2) + g[3][3] * (i[7]**2))
    testarray = np.array(testarray, dtype=float)
    comparearray = np.ones(shape=ans[:, 4].shape, dtype=float)
    assert_allclose(testarray, comparearray, 1e-4)