Source: https://guthlabs.ai/docs/instruments/converging-diverging-nozzle-area-ratio-calculator/implementation/

instrument implementation / implementation-contract

# Converging-Diverging Nozzle Area-Ratio Calculator implementation

A source-bound implementation contract for Converging-Diverging Nozzle Area-Ratio Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-with-binding-errata

**Evidence ID**: t6-085

**Effect**: Computation or source lookup only

## Input and validation requirements

The specified formula has an undefined gamma=1 input that requires explicit rejection, and the back-pressure ratio convention is not defined well enough to guarantee a unique operating-regime result.

## Required corrections

````
[
  {
    "vector": "1,2,3",
    "field": "critical_choking_pressure_ratio_Pb_over_P0",
    "wrong": 0.528282,
    "correct": "0.93716 for AR=2 (p at the subsonic-exit solution; per-AR for others)",
    "cause": "ships the throat ratio (2/(g+1))^(g/(g-1)) as the choking BACK pressure — the classic misconception; a C-D nozzle chokes when Pb drops below the subsonic-branch exit pressure, not p*/P0 (v4 with AR=1 coincidentally agrees)"
  }
]
````

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "area_ratio_A_over_Astar": 2,
    "back_pressure_ratio_Pb_over_P0": 0.05,
    "gamma": 1.4
  },
  "expected_outputs": {
    "subsonic_M": 0.305904,
    "supersonic_M": 2.1972,
    "exit_supersonic_pressure_ratio_Pe_over_P0": 0.093934,
    "critical_choking_pressure_ratio_Pb_over_P0": 0.528282,
    "shock_at_exit_pressure_ratio_Pb_over_P0": 0.5135,
    "operating_regime": "supersonic"
  },
  "working": "For gamma=1.4, A/A*=(1/M)[(5/6)(1+0.2M^2)]^3. Newton solve on g(M)=-ln(M)+3ln[(5/6)(1+0.2M^2)]-ln(2), with g'(M)=-1/M+1.2M/(1+0.2M^2). Subsonic branch: M0=0.300000; g(M0) is approximately +0.01738, g'(M0)=-2.97970, so M1=0.300000-(+0.01738)/(-2.97970)=0.305834. Second iteration gives M2 approximately 0.305904; subsequent iterations give M=0.305904. Supersonic branch: M0=2.00000; g(M0)=-0.169899, g'(M0)=0.833333, so M1=2.00000-(-0.169899)/(0.833333)=2.20388. Second iteration gives M2 approximately 2.19724; subsequent iterations give M=2.19720. Check: for M=2.19720, M^2=4.82768; (5/6)(1+0.2M^2)=(5/6)(1.965536)=1.637947; 1.637947^3/2.19720 approximately 2.00000. Exit pressure: Pe/P0=(1+0.2M^2)^(-gamma/(gamma-1))=1.965536^(-3.5)=0.093934. Choking limit: (2/(gamma+1))^(gamma/(gamma-1))=(5/6)^3.5=0.528282. Normal-shock pressure multiplier at M=2.19720 is 1+[2gamma/(gamma+1)](M^2-1)=1+(7/6)(3.82768)=5.46563; shock-at-exit Pb/P0=0.093934 times 5.46563 approximately 0.5135. Since Pb/P0=0.05 is below the design exit pressure ratio, the ideal flow is supersonic through the diverging section, with any adjustment shock outside the nozzle."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/converging-diverging-nozzle-area-ratio-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/converging-diverging-nozzle-area-ratio-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/converging-diverging-nozzle-area-ratio-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `tranche errata record`
