|
|
|
@ -58,6 +58,10 @@ def main(): |
|
|
|
burn1_nu = None |
|
|
|
burn1_nu = None |
|
|
|
burn1_radius = -1.0 |
|
|
|
burn1_radius = -1.0 |
|
|
|
burn1_v = -1.0 |
|
|
|
burn1_v = -1.0 |
|
|
|
|
|
|
|
burn1_a = -1.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
burn1_post_sma = -1.0 |
|
|
|
|
|
|
|
burn1_post_v = -1.0 |
|
|
|
|
|
|
|
|
|
|
|
burn2_time = -1.0 |
|
|
|
burn2_time = -1.0 |
|
|
|
burn2_pos = None |
|
|
|
burn2_pos = None |
|
|
|
@ -72,6 +76,7 @@ def main(): |
|
|
|
# Check if first burn executed |
|
|
|
# Check if first burn executed |
|
|
|
if sim1.maneuvers[0].executed and burn1_time < 0: |
|
|
|
if sim1.maneuvers[0].executed and burn1_time < 0: |
|
|
|
burn1_time = sim1.maneuvers[0].executed_time |
|
|
|
burn1_time = sim1.maneuvers[0].executed_time |
|
|
|
|
|
|
|
burn1_a = craft1.orbit.a |
|
|
|
br1 = sim1.maneuvers[0].burn_result |
|
|
|
br1 = sim1.maneuvers[0].burn_result |
|
|
|
burn1_pos = br1.position |
|
|
|
burn1_pos = br1.position |
|
|
|
burn1_vel = br1.velocity |
|
|
|
burn1_vel = br1.velocity |
|
|
|
@ -88,6 +93,15 @@ def main(): |
|
|
|
print(f"// pos = ({b1x:.4f}, {b1y:.4f}, {b1z:.4f}) m") |
|
|
|
print(f"// pos = ({b1x:.4f}, {b1y:.4f}, {b1z:.4f}) m") |
|
|
|
print(f"// vel = ({b1vx:.4f}, {b1vy:.4f}, {b1vz:.4f}) m/s") |
|
|
|
print(f"// vel = ({b1vx:.4f}, {b1vy:.4f}, {b1vz:.4f}) m/s") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Capture post-burn+60s-propagation state (what the test reads) |
|
|
|
|
|
|
|
burn1_post_sma = craft1.orbit.a |
|
|
|
|
|
|
|
burn1_post_v = vmag(craft1.local_vel) |
|
|
|
|
|
|
|
print(f"// post-burn + 60s propagation (test assertions):") |
|
|
|
|
|
|
|
print(f"// sma = {burn1_post_sma:.15f} m") |
|
|
|
|
|
|
|
print(f"// velocity = {burn1_post_v:.15f} m/s") |
|
|
|
|
|
|
|
print(f"// burn_result (pre-burn) — tight tolerance assertions:") |
|
|
|
|
|
|
|
print(f"// preburn_v = {burn1_v:.15f} m/s") |
|
|
|
|
|
|
|
|
|
|
|
# Check if second burn executed |
|
|
|
# Check if second burn executed |
|
|
|
if sim1.maneuvers[1].executed and burn2_time < 0: |
|
|
|
if sim1.maneuvers[1].executed and burn2_time < 0: |
|
|
|
burn2_time = sim1.maneuvers[1].executed_time |
|
|
|
burn2_time = sim1.maneuvers[1].executed_time |
|
|
|
@ -184,6 +198,11 @@ def main(): |
|
|
|
print(f"// burn1_true_anomaly (pre-burn) = {burn1_nu:.15f}") |
|
|
|
print(f"// burn1_true_anomaly (pre-burn) = {burn1_nu:.15f}") |
|
|
|
print(f"// burn1_pos = ({b1x:.4f}, {b1y:.4f}, {b1z:.4f}) m") |
|
|
|
print(f"// burn1_pos = ({b1x:.4f}, {b1y:.4f}, {b1z:.4f}) m") |
|
|
|
print(f"// burn1_vel = ({b1vx:.4f}, {b1vy:.4f}, {b1vz:.4f}) m/s") |
|
|
|
print(f"// burn1_vel = ({b1vx:.4f}, {b1vy:.4f}, {b1vz:.4f}) m/s") |
|
|
|
|
|
|
|
print(f"// burn1_a (post-burn) = {burn1_a:.4f} m") |
|
|
|
|
|
|
|
print() |
|
|
|
|
|
|
|
print("// --- First burn - post-burn + 60s propagation (test assertions) ===") |
|
|
|
|
|
|
|
print(f"// burn1_expected_sma = {burn1_post_sma:.15f}") |
|
|
|
|
|
|
|
print(f"// burn1_expected_v = {burn1_post_v:.15f}") |
|
|
|
print() |
|
|
|
print() |
|
|
|
|
|
|
|
|
|
|
|
if burn2_time >= 0: |
|
|
|
if burn2_time >= 0: |
|
|
|
|