{
  "capability_id": "physics.fluid.elbow_meter",
  "tool_id": "elbow-meter",
  "engine": "elbow-meter",
  "calculation_version": "1.0.0",
  "generated_at": "2026-09-18T11:10:25.556Z",
  "engine_build": "2026-09-18",
  "test_count": 5,
  "passed": 5,
  "failed": 0,
  "tests_summary": {
    "golden": {
      "total": 0,
      "passed": 0
    },
    "boundary": {
      "total": 0,
      "passed": 0
    },
    "property": {
      "total": 5,
      "passed": 5
    }
  },
  "engine_tested": true,
  "expert_reviewed": false,
  "internally_reviewed": false,
  "review_kind": null,
  "source_checked": true,
  "reviewed_by": null,
  "reviewer_role": null,
  "last_reviewed": null,
  "expert_review": {
    "status": "optional_not_performed",
    "reviewer": null,
    "scope": [
      "formula",
      "input semantics",
      "assumptions",
      "limitations",
      "sources",
      "tests"
    ],
    "note": "Domain expert review is optional under CVP (CVP-EXP-01). Absence does not block CVP Verified. See Review policy for supplemental domain assurance."
  },
  "internal_review": {
    "status": "not_applicable",
    "reviewer": null
  },
  "page": "https://www.calculatorx.com/calc/physics/elbow-meter",
  "api": "https://www.calculatorx.com/api/v1/calc/elbow-meter",
  "schema_input": "https://www.calculatorx.com/schemas/physics.fluid.elbow_meter.input.json",
  "schema_output": "https://www.calculatorx.com/schemas/physics.fluid.elbow_meter.output.json",
  "assumptions": [
    "90° elbow tap meter: Q = C A √(2Δp/ρ); C=√((R/D)/2); A=(π/4)D²; inner/outer radius taps; incompressible; C is reported, not an input",
    "R/D∈[1.0, 3.0]; D∈[25 mm, 600 mm]; 90° only; C from R/D, not a given Pitot C=1",
    "Not pipe-bend K=0.21 (θ/90)/√(R/D), not Pitot v=C√(2Δp/ρ), not venturi, not ISO 5167-6 wedge, not Q=Av, not Darcy f"
  ],
  "limitations": [
    "90° elbow tap meter: Q = C A √(2Δp/ρ); C=√((R/D)/2); A=(π/4)D²; inner/outer radius taps; incompressible; C is reported, not an input",
    "R/D∈[1.0, 3.0]; D∈[25 mm, 600 mm]; 90° only; C from R/D, not a given Pitot C=1",
    "Not pipe-bend K=0.21 (θ/90)/√(R/D), not Pitot v=C√(2Δp/ρ), not venturi, not ISO 5167-6 wedge, not Q=Av, not Darcy f"
  ],
  "boundary_conditions": [
    "missing D, R/rd, Δp, Q, or ρ when required → MISSING_REQUIRED_INPUT",
    "D outside [25 mm, 600 mm] or R/D outside [1.0, 3.0] → VALUE_OUT_OF_RANGE",
    "K, θ, C/C_d, A or v, Darcy f, tank H, wedge h, n_miters, β, kind=pitot or kind=bend → MIXED_INPUT_ENCODING",
    "mode=Cd or unknown mode → INVALID_MODE"
  ],
  "sources": [
    {
      "title": "ISO 80000-4 — Mechanics",
      "section": "Length, speed, pressure",
      "url": "https://www.iso.org/standard/31895.html",
      "supports": "D and R are lengths; Q is a volume flow; Δp is a pressure",
      "kind": "standard"
    },
    {
      "title": "Elbow tap meter — centrifugal Δp",
      "section": "C=√((R/D)/2) from inner/outer taps",
      "supports": "Q=C A √(2Δp/ρ) with C=√((R/D)/2); 90° only. Not pipe-bend K, not Pitot C=1, not venturi, not ISO 5167-6 wedge",
      "kind": "reference"
    }
  ],
  "methods": [],
  "fingerprint": "sha256:f1e4a74fd77d167a58a0a32c15be491f2653b7f4d77325394937dc72e22c8c2e",
  "tests": [
    {
      "id": "property-elb-C",
      "ok": true,
      "kind": "property",
      "detail": "C=√((R/D)/2)",
      "expect": 0.8660254037844386,
      "actual": 0.8660254037844386
    },
    {
      "id": "property-elb-Q",
      "ok": true,
      "kind": "property",
      "detail": "Q=C A √(2Δp/ρ)",
      "expect": 0.03041834006980209,
      "actual": 0.03041834006980209
    },
    {
      "id": "property-elb-not-pitot",
      "ok": true,
      "kind": "property",
      "detail": "C≠Pitot 1",
      "expect": 1,
      "actual": 0.8660254037844386
    },
    {
      "id": "property-elb-roundtrip-dP",
      "ok": true,
      "kind": "property",
      "detail": "Δp invert",
      "expect": 10000,
      "actual": 10000.000000000002
    },
    {
      "id": "property-elb-model",
      "ok": true,
      "kind": "property",
      "detail": "elbow_tap_90",
      "expect": true,
      "actual": "elbow_tap_90"
    }
  ],
  "tier": "engine_tested",
  "verification": {
    "tests": {
      "passed": 5,
      "total": 5,
      "golden": 0,
      "boundary": 0,
      "property": 5
    },
    "contract_checks": {
      "passed": 1,
      "total": 1
    }
  },
  "evidence_core_generated_at": "2026-09-18T10:34:57.880Z",
  "rendered_at": "2026-09-18T11:10:25.556Z",
  "release_integrity": {
    "status": "verified",
    "scope": "workspace",
    "production_attestation_required": true,
    "calculation_version": "1.0.0",
    "artifacts": {
      "engine": "1.0.0",
      "page": "1.0.0",
      "capability": "1.0.0",
      "evidence": "1.0.0",
      "input_schema": "1.0.0",
      "output_schema": "1.0.0",
      "mcp_contract": "1.0.0"
    },
    "digests": {
      "input_schema_sha256": "d165c2c6ae6fff639a9cfddb386dc3931489788dc28513c80e2dde8e26c66b4e",
      "output_schema_sha256": "9de1df83acdc3768f75be3c172b05aa4391a6a48e2ee2fbdaa0430972a1aa356",
      "evidence_sha256": "e9580171bda80160bab9565121d9f58249d3140ea42e06b017981ec16261ac34",
      "evidence_core_sha256": "e9580171bda80160bab9565121d9f58249d3140ea42e06b017981ec16261ac34",
      "capability_sha256": "5895cfa96bbb801c606328beb6406605fbfe182c0580a8db22789cd2219d99c1",
      "engine_sha256": "61964ab2a84504577218030392a5fed5eb849c2dcb5621ce0eda4b54ac249296",
      "mcp_contract_sha256": "ef16a59f033fcaf3b1b8ec34d4e34fb847c6a70f2083681ab825cb69f021aca3"
    },
    "contract_checks": {
      "total": 1,
      "passed": 1,
      "failed": 0,
      "items": [
        {
          "id": "release-artifacts-aligned",
          "status": "pass",
          "detail": "1.0.0"
        }
      ]
    },
    "report": "https://www.calculatorx.com/.well-known/calculatorx-release-integrity.json"
  }
}
