Air volume of the Driver-Seegmiller backward-facing-step channel, parallel-roof case.
| File | Kind | Size |
|---|---|---|
| nasa-backstep-driver-seegmiller.step | STEP | 10 KB |
| nasa-backstep-driver-seegmiller.stl | STL | 6 KB |
contract.yaml (design contract)
Model the air volume (flow passage) of the Driver-Seegmiller backward-facing-step channel for the parallel-roof (0 degree divergence) case described in the attached NASA validation page, as ONE solid suitable for CFD meshing. Use the documented ratios and the step height H = 0.5 in = 12.7 mm: step height to tunnel exit (downstream) height 1:9, step height to tunnel width 1:12, so the upstream channel height is the downstream height minus H. Cover exactly the documented computational domain x/H = -105 to +50. Frame: +x streamwise with x = 0 at the step face (upstream is negative x), +y spanwise across the tunnel width with y = 0 at one side wall, +z vertical with z = 0 at the downstream floor (the upstream floor therefore sits at z = H). Expose H, the width, the two channel heights, the roof angle, and the upstream/downstream domain lengths as named parameters, and name the flow-boundary faces (inlet, outlet, roof, upstream floor, step face, downstream floor, side walls) in the contract so the mesher can find them. The measured reattachment location is a downstream validation target, not a geometry input; do not tune anything to it.
| Tier | Gate | Result | Evidence |
|---|---|---|---|
| A | contract_provenance Contract validates; every value carries provenance and a tolerance | PASS | designs/nasa-backstep-driver-seegmiller/contract.yaml: 7 parameters {'stated': 2, 'derived': 5} |
| A | envelope Bounding box of the exported STEP equals the contract envelope | PASS | results/nasa-backstep-driver-seegmiller/inspect.json bbox.max_error = 0.0 (tol 0.05) |
| A | mass_properties Volume, surface area and centre of mass within contract tolerance (independent STEP measurement) | PASS | results/nasa-backstep-driver-seegmiller/inspect.json volume = 31708968.84 vs 31708968.84 |
| A | features Every required feature, section and named face verified on the STEP | PASS | results/nasa-backstep-driver-seegmiller/inspect.json features: 6/6 ok; failed required []; failed optional []; unverified [] |
| A | reference_fidelity Deviation from the reference model within the contract band (when a reference exists) | n/a | results/nasa-backstep-driver-seegmiller/inspect.json deviation.p95 = None hausdorff = None silhouette_iou_min = None |
| B | export_agreement KCL (Zoo), STEP (OpenCascade) and STL (trimesh) volumes agree | PASS | results/nasa-backstep-driver-seegmiller/inspect.json agreement kcl=31708969.865576364 step=31708968.84 stl=31708969.4206439 (rel tol 0.002) |
| B | edit_robustness Declared parameter edits rebuild with the expected effect; baseline re-export hash unchanged | PASS | results/nasa-backstep-driver-seegmiller/edit.json 3/3 edit tests ok; restore.ok = True |
| B | source_hygiene KCL 2, mm, formatted, lint-clean, named parameters match the contract, asserts present | PASS | results/nasa-backstep-driver-seegmiller/verify.json hygiene: kcl2=True mm=True legacy=[] params_ok=True asserts=8 |
| C | export_integrity Deterministic STEP (two exports identical), valid B-rep, expected solid count, watertight STL (solid shells == solids) | PASS | results/nasa-backstep-driver-seegmiller/export.json step.deterministic = True sha256 c6a4901ad133; stl=present; glb=present |
| C | traceability Every stage JSON present with tool versions, git head, Codex thread ids, engine-call ledger; no --allow-errors | PASS | stages present: {'plan': True, 'model': True, 'verify': True, 'export': True, 'inspect': True, 'edit': True} |
| C | evidence_separation Contract agreement, reference agreement and physical validation are reported as separate verdicts | PASS | results/nasa-backstep-driver-seegmiller/inspect.json carries contract checks (volume/bbox/features) and a separate deviation block (reference = None) |
| C | independence The KCL is editable construction: no import of reference geometry, sketch blocks and features present | PASS | results/nasa-backstep-driver-seegmiller/verify.json hygiene.forbidden_imports = [] sketch_blocks = 2 feature_ops = 1 lines = 131 |