def test_arg_of_periapsis(): r""" Test for Argument of Periapsis Function """ r_vector = [1, 2, 3] h_vector = [-3, 6, -3] e_vector = [2, 3, 4] actual_out = RV2COE.arg_of_periapsis(r_vector, e_vector, h_vector) expected_out = 0.12186756768575521 np.testing.assert_allclose(actual_out, expected_out)
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) period = RV2COE.Orbit_Period(mu, a) if (theta < 0): theta = 2 * np.pi + theta else: theta = theta if (raan < 0): raan = 2 * np.pi + raan