Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Rocket Nozzle Flow Separation

ASecurity

Use when you must predict flow separation in an overexpanded rocket nozzle: apply the separation-pressure-ratio criterion (wall static pressure falling to K_SEP times ambient, K_SEP 0.4) to decide whether the wall flow separates, find the separation-station area ratio from the isentropic area-Mach relation at the separation pressure, estimate the separation altitude where the nozzle un-separates, and compute the separated-thrust loss and the side-load flag. Produces the separation verdict, se...

2 stars
0 votes
0 copies
0 views
Added 9/27/2026
ai-agentspythonrustperformance

Works with

claude code

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add ashfordeOU/aero-agent-skills --skill rocket-nozzle-flow-separation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rocket Nozzle Flow Separation?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Rocket Nozzle Flow Separation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-rocket-nozzle-flow-separation/badge)](https://www.skillsdirectory.com/skills/ashfordeou-rocket-nozzle-flow-separation)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: rocket-nozzle-flow-separation
description: "Use when you must predict flow separation in an overexpanded rocket nozzle: apply the separation-pressure-ratio criterion (wall static pressure falling to K_SEP times ambient, K_SEP 0.4) to decide whether the wall flow separates, find the separation-station area ratio from the isentropic area-Mach relation at the separation pressure, estimate the separation altitude where the nozzle un-separates, and compute the separated-thrust loss and the side-load flag. Produces the separation verdict, separation-station area ratio, separation altitude, corrected thrust and side-load flag. Trigger: rocket-nozzle-flow-separation, separation-pressure-ratio, summerfield-criterion, overexpanded-nozzle, separation-altitude, separated-thrust-loss, side-load-regime."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: ecss
    reference-only: true
gated: false
domain: propulsion
pack: rocket
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: propulsion
  subdomain: rocket
  tags: [rocket-nozzle-flow-separation, separation-pressure-ratio, summerfield-criterion, overexpanded-nozzle, separation-altitude, separated-thrust-loss, side-load-regime]
  version: 0.1.0
  author: AeroSkills
---

# Rocket Nozzle Flow Separation (propulsion/rocket/rocket-nozzle-flow-separation)

Use when you must predict wall flow separation inside an overexpanded
rocket nozzle operating below its design altitude. This leaf applies the
separation-pressure-ratio criterion (Summerfield class) to decide whether
the nozzle wall flow separates, locates the separation station on the
divergent section through the isentropic area-Mach relation, finds the
altitude at which the nozzle un-separates as the ambient pressure falls,
and reports the separated-thrust correction and the side-load regime flag
that gate off-design nozzle operation. Pure Python, stdlib only. It pairs
with propulsion/rocket/nozzle-design, which owns the ideal attached-flow
sizing envelope from the chamber conditions, and with
propulsion/rocket/combustion-chamber-design for the chamber-side
performance that feeds the nozzle.

## Domain quick reference

- Separation criterion: wall separation occurs when the local wall static
  pressure falls to p_sep = K_SEP * pa with K_SEP = 0.4 (sea-level anchor,
  documented model constant), pa the ambient pressure in Pa.
- Separation Mach number: M_sep = sqrt(((pc/p_sep)**((gamma-1)/gamma) - 1)
  * 2/(gamma-1)), from the chamber pressure pc and the separation pressure.
- Separation station: A_sep/At from the isentropic area-Mach relation at
  M_sep; the flow separates when the exit area ratio Ae_At exceeds
  A_sep/At, and stays attached when Ae_At <= A_sep/At.
- Area-Mach relation: A/A* = (1/M) * ((2/(gamma+1)) * (1 + (gamma-1)/2 *
  M**2))**((gamma+1)/(2*(gamma-1))); at M = 1 the ratio is exactly 1 (the
  throat), and the supersonic branch is monotonic.
- Separation altitude: the altitude where the ISA ambient pressure equals
  the design exit pressure pe_design (bisection over 0 to 20000 m, 100
  iterations), the un-separation altitude for a nozzle designed for
  pe_design; results clamp to the bracket ends.
- ISA pressure: p(h) = 101325 * (1 - 0.0065*h/288.15)**5.2561 below
  11000 m and the isothermal form above, with module data R = 287.0 and
  G0 = 9.80665; the troposphere base is 101325 Pa at 0 m.
- Side-load regime: separated flow with the nozzle overexpanded (design
  exit pressure pe_design below the ambient pressure pa) is where
  asymmetric separation side loads occur.
- Model notes: the corrected thrust in separated_thrust_loss evaluates the
  momentum and the pressure term at the separation station and neglects
  the pressure term beyond it, so the loss is measured against the
  design-point reference m_dot * v_exit at perfect expansion (exit
  pressure matched to ambient); when pe_design is omitted the side-load
  flag follows the separation verdict because reaching p_sep below the
  ambient pressure already means the nozzle runs overexpanded.
- Units are SI throughout: pressures in Pa, temperature in K, areas in
  m^2, flow rate in kg/s, thrust in N, altitude in m.
- ECSS frames the launch-vehicle propulsion context; the relations above
  are standard engineering methodology, summary-only.

## Workflow

1. Fix the operating point: chamber pressure pc, ambient pressure pa,
   specific heat ratio gamma, exit-to-throat area ratio Ae_At, and the
   design exit pressure pe_design. Use GAMMA_DEFAULT 1.2 for hot
   combustion products when gamma is unknown.
2. Get the separation pressure with separation_pressure_ratio(pa): the
   wall static pressure that triggers separation at this ambient pressure.
3. Compute the separation Mach number with separation_mach(pc, p_sep,
   gamma) and the station area ratio with
   separation_station_area_ratio(pc, pa, gamma).
4. Judge the nozzle with separated_verdict(Ae_At, A_sep_At): True means
   the exit lies downstream of the separation station and the flow
   separates at this ambient pressure.
5. Find the un-separation altitude with separation_altitude(pe_design),
   where the ISA ambient pressure equals the design exit pressure, and
   read the ambient pressure at any flight altitude with isa_pressure.
6. Size the thrust impact with separated_thrust_loss(pc, Tc, At, pa,
   gamma, Ae_At): chamber temperature Tc and throat area At scale the
   choked flow; the dict carries the design-point thrust, the corrected
   thrust, the loss and the relative loss.
7. Flag the side-load regime with side_load_flag(separated, pc, pa,
   pe_design): True only when the flow separates while the nozzle runs
   overexpanded at that ambient pressure.
8. Confirm the deterministic checks with the contract test
   scripts/test_rocket_nozzle_flow_separation.py.

## Worked example

pc = 10 MPa, pa = 101325 Pa (sea level), gamma = 1.2, Ae_At = 40,
pe_design = 40 kPa; the thrust-loss scale uses Tc = 3500 K and
At = 0.1 m^2:

- Separation pressure: p_sep = 0.4 * 101325 = 40530 Pa.
- Separation Mach number: M_sep = 3.8787 (3.8787 within 1e-3 of the spec
  anchor at pc/p_sep = 246.7).
- Separation station area ratio: A_sep/At = 23.797 (module output
  23.79742), so the sea-level station sits well upstream of the Ae_At = 40
  exit.
- Verdict: separated_verdict(40, 23.797) is True, the nozzle wall flow
  separates at sea level; a nozzle with Ae_At = 20 stays attached.
- Separation altitude: separation_altitude(40000) = 7185 m (module
  7185.16 m, within 1 percent of 7185 m); isa_pressure(9000) = 30741 Pa
  and isa_pressure(10000) = 26435 Pa bracket the flight corridor.
- Un-separation: at 7185 m the ambient pressure has fallen to the 40 kPa
  design exit pressure and the verdict flips to attached flow.
- Side-load flag: side_load_flag(True, 1e7, 101325, 40000) is True at sea
  level, the separated and overexpanded regime; an un-separated nozzle
  never flags.
- Thrust impact: the design-point thrust is 1.8008 MN and the corrected
  (separation-capped) thrust is 1.5965 MN, a loss of 204.2 kN, 11.34
  percent of the design point. A mild nozzle with Ae_At = 10 stays
  attached and shows zero loss.

## Verification

- Confirm separation_station_area_ratio(1e7, 101325, 1.2) returns
  23.79742, within the spec bound of 23.797, and that the station area
  ratio grows as the ambient pressure falls (higher altitude, less
  separation).
- Confirm separated_verdict(40, 23.797) is True and that a nozzle whose
  Ae_At stays at or below the separation station area ratio is attached.
- Confirm area_ratio_from_mach(1.0, gamma) equals 1.0 for gamma 1.2 and
  1.4, and that separation_altitude(40000) lands within 1 percent of
  7185 m with an ISA pressure round trip back to 40000 Pa.
- Confirm the separated case reports a design-point thrust above the
  corrected thrust with a positive loss, and the attached case reports
  equal thrusts with zero loss.
- Confirm every non-physical input raises ValueError: pc <= 0, pa <= 0,
  gamma <= 1, Ae_At <= 1, pe_design <= 0, negative altitude, negative
  Mach, and a separation pressure at or above the chamber pressure.
- Run the contract test offline: python3
  scripts/test_rocket_nozzle_flow_separation.py (35 tests, deterministic,
  under a second).

## Related leaves

- propulsion/rocket/nozzle-design: the ideal attached-flow nozzle sizing
  envelope from the chamber conditions; this leaf adds the off-design
  separation correction that nozzle-design does not model.
- propulsion/rocket/combustion-chamber-design: chamber-side performance
  that supplies the chamber pressure and temperature inputs used here.
- propulsion/rocket/thrust-vector-control: actuated thrust deflection,
  whose side loads interact with the separated flow regime flagged here.

## Pitfalls

- Reading the separation pressure as an exit pressure: p_sep = K_SEP * pa
  (40530 Pa at sea level) locates a station inside the divergent section;
  the wall flow separates there, so A_sep/At (23.8) is well below the
  Ae_At = 40 exit in the separated case.
- Inverting the verdict: separated means Ae_At exceeds A_sep/At, the exit
  farther downstream than the separation station; an equal or smaller exit
  area ratio keeps the flow attached, and the exact-equal boundary is
  attached.
- Treating the separation altitude as a direct root of the A_sep_At =
  Ae_At crossing: separation_altitude returns the altitude where the ISA
  pressure equals the design exit pressure (bisection over 0 to 20000 m,
  clamped at the ends), the design-point un-separation marker; the verdict
  flips somewhere at or below it on the ascent.
- Confusing the side-load regime with plain separation: side loads need
  separation AND an overexpanded state (pe_design < pa); a separated
  nozzle running at or above its design point does not flag.
- Comparing the corrected thrust against the attached-flow estimate:
  dropping the exit-side pressure deficit of an overexpanded nozzle would
  raise the estimate above the corrected value, which inverts the loss;
  the correction is measured against the design-point reference m_dot *
  v_exit, where the pressure term vanishes.
- Forgetting the flow scale: separated_thrust_loss needs the chamber
  temperature Tc and the throat area At to size the choked flow; without
  them only the area-ratio statements of the criterion are available.

## Behavior contract (gate 3)

Run the deterministic contract test (stdlib unittest, offline):

    python3 scripts/test_rocket_nozzle_flow_separation.py

The test must pass with exit 0 and covers the worked-example anchors
(p_sep = 40530 Pa, M_sep = 3.8787 within 1e-3, A_sep/At = 23.797,
separation_altitude(40000) near 7185 m within 1 percent, ISA pressures at
9000, 10000 and 11000 m), the area-Mach identity at M = 1 for gamma 1.2
and 1.4, the verdict truth table including the exact-equal boundary, the
growth of the separation station as the ambient pressure falls, the
verdict flip at the separation altitude, the side-load flag across
separated, un-separated and design-above-ambient states, the separated
thrust correction (design point above corrected with a positive loss) and
the attached zero-loss case, the ISA round trip, bracket clamping,
determinism, and ValueError rejection of every non-physical input listed
in the spec.

## Contract test

Run the contract test from the repo root:

    python3 skills/propulsion/rocket/rocket-nozzle-flow-separation/scripts/test_rocket_nozzle_flow_separation.py

Stdlib unittest only, deterministic, offline, 35 test methods, exit 0 in
about a second. The test imports the sibling logic module
rocket_nozzle_flow_separation_logic from its own scripts directory, so no
install or path configuration is needed.

## Compliance

- Standards referenced, not reproduced: ECSS frames the launch-vehicle
  propulsion context; the Summerfield-class separation criterion, the
  isentropic relations and the ISA standard atmosphere above are standard
  engineering methodology, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

Attribution

ashfordeOUashfordeOU
View sourceMore from ashfordeOU →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →