예제 #1
0
def test_true_anom():
    r""" Test for True Anomaly Function
    """

    r_vector = [1, 2, 3]
    h_vector = [-3, 6, -3]
    e_vector = [2, 3, 4]
    actual_out = RV2COE.true_anom(r_vector, h_vector, e_vector)
    expected_out = -0.12186756768575521

    np.testing.assert_allclose(actual_out, expected_out)
예제 #2
0
        r_input = [r_i, r_j, r_k]
        v_input = [v_i, v_j, v_k]

        Line_1 = ("The mu Constant: \n\t", str(mu), "\n", 'Radius {} (km)\n\t{}\n'.format(count+1,r_input))
        Line_2 = ('Velocity {} (km/s)\n\t{}\n'.format(count+1,v_input))
        r"""Inner Workings, Pulling outside functions"""
        h_input = RV2COE.ang_momentum(r_input, v_input)

        e_vector = RV2COE.eccentricity(mu, r_input, v_input, h_input)

        n_vector = RV2COE.line_of_nodes(RV2COE.unit_vector(h_input))

        p = RV2COE.semi_latus_rectum(mu, h_input)

        theta = RV2COE.true_anom(r_input, h_input, e_vector)

        i = RV2COE.inclination(RV2COE.unit_vector(h_input))

        a = RV2COE.semi_major_axis(p, np.linalg.norm(e_vector))

        raan = RV2COE.R_A_A_N(n_vector)

        w = RV2COE.arg_of_periapsis(n_vector, e_vector, h_input)

        r_p = RV2COE.rad_peri(p, np.linalg.norm(e_vector))

        r_a = RV2COE.rad_apo(p, np.linalg.norm(e_vector))

        gamma = RV2COE.flight_ang(np.linalg.norm(e_vector), theta)