Skip to content
Apex
All recipes
Aerospace

Run an ascent CFD trajectory through transonic and supersonic

Mach 0.8 → Mach 2.4 ascent on a reusable launcher. Stream the trajectory with drag, lift, base-pressure as it climbs. Validates against flight-test data on the way up.

Artefact returned
Pressure contours · drag polar · base-pressure history
Typical runtime
~8 h wall · 1,800 CU
Cost
≈ $5.8k per ascent + Pro seat
01 · The recipe

The expanded snippet.

The version that lands in production — with the annotations a colleague would want when picking up the work. Copy-paste, swap in your inputs, run.

from apex import Aether

simos = Aether(api_key=os.environ["APEX_API_KEY"])

# Mach 0.8 -> Mach 2.4 ascent on a reusable launcher. Stream the trajectory
# with drag, lift, base-pressure. The model validates each time-step against
# the supplied flight-test data and surfaces divergence with a margin estimate.
ascent = simos.simulate(
    domain="cfd",
    geometry=open("launcher.step", "rb").read(),
    geometry_format="step",
    regime={
        "mach": [0.8, 2.4],
        "altitude_km": [0, 18],
        "alpha_deg": [-2, 4],
    },
    physics=["cfd", "turbulence:sst"],
    materials={"atmosphere": "us_standard_1976"},
    flight_data="s3://my-bucket/flight_007.csv",
    validation={"target_drag_error_pct": 3.0},
    stream=True,
)

for step in ascent:
    print(
        f"t={step.time:5.2f}s  "
        f"M={step.mach:.3f}  "
        f"Cd={step.cd:.4f}  "
        f"Pb={step.base_pressure_pa:.0f} Pa"
    )
    if step.divergence_from_flight_pct > 5:
        print("  divergence > 5% — opening a margin report")
02 · Reproduction notes

The numbers in this recipe are real.

What we ran. What we used for inputs. Where the reproduction kit lives, and what reproduces within published bounds.

  • 01Geometry: any external launcher STEP file. The cookbook repo ships an open reusable-launcher STEP under CC-BY.
  • 02Flight data: a CSV of (t, Mach, alpha, Cd, base_pressure). The cookbook repo ships an open flight test under CC-BY.
  • 03Reproduces drag-polar error within published bounds vs ground-test data.
  • 04Wall time scales with mesh resolution; estimate uses 18M cells.
03 · How to adapt this

Make it your workload.

The recipe is a starting point. The four variations below are the ones we get asked about most. Anything else, write to docs@apexworldlabs.com.

  • Different regime: any Mach range from subsonic to hypersonic. For Mach > 6 use the hypersonic cookbook variant.
  • Add boost-back: pass trajectory_segments=[...] and the runtime stages the simulation across flight phases.
  • Validate against ground test: replace flight_data with wind_tunnel_data; the same validation framework applies.

Adapt this to your stack.

Swap in your geometry / target / repo and run it. If your workload is novel, send it and we will co-author the recipe with you.