AeroForge — Starship Aero & Aerothermal Toolkit

Outcome Contract

← Back to outcome

Outcome Contract — AeroForge (Starship Aero & Aerothermal Toolkit)

Outcome statement

A reproducible, dependency-free engineering-level toolkit that predicts the external compressible-flow aerodynamics and stagnation-point aerothermal environment of a two-stage Starship-class vehicle from subsonic through hypersonic, exposes a common interface across Python / Node / MATLAB / shell, runs as a mostly automated workflow, and reconciles pre-flight predictions against post-flight data — with every analytic core validated against published authoritative references.

MUST_PASS success criteria (verified by verify.py)

  1. Isentropic relations match NACA Report 1135 tabulated values

(p/p0, T/T0, ρ/ρ0, A/A*) at M = 0.5, 1.0, 2.0, 3.0, 4.0 within 1e-3 relative error.

  1. Normal-shock relations match NACA 1135 (M2, p2/p1, ρ2/ρ1, T2/T1,

p02/p01) at M1 = 2, 3, 4 within 1e-3 relative error.

  1. Prandtl–Meyer ν(M) matches NACA 1135 (M = 2 → 26.38°, M = 3 → 49.76°).
  2. Oblique shock θ–β–M solver reproduces the published weak-shock solution

(M = 2, θ = 10° → β ≈ 39.31°) within 0.1°.

  1. U.S. Standard Atmosphere 1976 T and p match published values at 0, 11,

20, 32 km (geopotential) within 0.5 %.

  1. Modified Newtonian stagnation pressure coefficient approaches the correct

hypersonic limit (Cp,max → 1.839 for γ = 1.4 as M → ∞) and the classic Newtonian limit equals 2.0.

  1. Watertight geometry: the area-weighted outward-normal surface integral of

the closed sphere-cone body is ≈ 0 (closed-surface identity) within tolerance.

  1. Aero database is internally consistent (CD > 0, drag rises through the

transonic rise, monotonic Newtonian behavior in hypersonic regime).

  1. Inverse round-trips are self-consistent (M↔ν and supersonic M↔A/A*).
  2. Trajectory mapping produces a physical dynamic-pressure peak and a

positive integrated aeroheating load along a reentry profile.

Common interface (cross-language)

  • py -m aeroforge <flow|shock|atmos|aerodb|trajectory|postprocess|report> — JSON in/out.
  • node scripts/aeroforge.mjs <cmd> — Node wrapper over the same CLI/JSON contract.
  • matlab/load_aerodb.m — MATLAB reader for the aero-database JSON schema.
  • scripts/aeroforge.sh — Linux/Unix shell driver for the automated workflow.

Disclosed seams (NOT live / engineering approximations)

  • DISCLOSED_SEAM — high-fidelity CFD not executed. This is a *lower-order,

engineering-level* tool (Newtonian / perfect-gas / analytic). It interfaces with and is meant to bracket high-fidelity CFD (FUN3D, Loci/CHEM, DPLR) but does not run a Navier–Stokes solver, mesh generator, or Tecplot/ParaView.

  • DISCLOSED_SEAM — synthetic post-flight data. The post-flight telemetry

used in the reconciliation report is representative/synthetic, not real SpaceX flight data.

  • DISCLOSED_SEAM — perfect-gas, inviscid. Real-gas chemistry, viscous

boundary layers, transition, and ablation are not modeled.

  • DISCLOSED_SEAM — analytic paneling, not a CAD/grid generator. The

"watertight" body is an analytic axisymmetric panelization, not a true watertight CAD model or unstructured CFD grid.

  • DISCLOSED_SEAM — MATLAB reader not executed. load_aerodb.m is provided

against the shared JSON contract but is not run here (no MATLAB runtime).

Out of scope

Flight-validated coefficients, wind-tunnel test data reduction from raw DAQ, GNC closed-loop simulation, and structural FEA. The toolkit produces *inputs* to those activities.