Payload

Iteratively converge on LEO-deliverable payload mass for the Astrodyne Argo Epsilon single-booster first stage (RP-1/LOX) and Delta second stage (LH2/LOX) stack:

#!/usr/bin/env python3
import math
S1_WET = 46357.2
S1_DRY = 3708.6
S1_ISP = 280.0
S2_WET = 19322.5
S2_DRY = 2318.7
S2_ISP = 430.0
TARGET_DV = 7800.0
G0 = 9.80665
def stage_dv(wet, dry, payload, isp):
    m0 = wet + payload
    m1 = dry + payload
    return isp * G0 * math.log(m0 / m1)
def total_dv(payload):
    dv2 = stage_dv(
        S2_WET,
        S2_DRY,
        payload,
        S2_ISP,
    )
    stage2_stack = S2_WET + payload

    dv1 = stage_dv(
        S1_WET,
        S1_DRY,
        stage2_stack,
        S1_ISP,
    )
    return dv1, dv2, dv1 + dv2
low = 0.0
high = 100000.0
for _ in range(60):
    payload = (low + high) / 2
    dv1, dv2, total = total_dv(payload)
    if total > TARGET_DV:
        low = payload
    else:
        high = payload
payload = (low + high) / 2
dv1, dv2, total = total_dv(payload)
print(f"Target delta-v : {TARGET_DV:10.1f} m/s")
print(f"Payload        : {payload:10.1f} kg")
print(f"Stage 1 Δv     : {dv1:10.1f} m/s")
print(f"Stage 2 Δv     : {dv2:10.1f} m/s")
print(f"Total Δv       : {total:10.1f} m/s")

Unknown's avatar

About Linuxgal

Need a spiritual home? Consider joining us at Mary Queen of the Universe Latter-day Buddhislamic Free Will Christian UFO Synagogue of Vishnu
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a comment