Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

Mollier (h-s) Diagram Plotter implementation

A source-bound implementation contract for Mollier (h-s) Diagram Plotter; deployment and executable qualification remain separate.

Status: VERIFIED_CLEANLifecycle: 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-clean
Evidence ID
t7-043
Effect
Computation or source lookup only

Input and validation requirements

The critical-point input makes the standard quality formula evaluate to 0/0, so a quality-based implementation must explicitly reject or special-case it. Inputs just above quality one also expose an invalid two-phase extrapolation unless the plotter switches to a superheated lookup branch. Process-direction conventions can additionally reverse the reported signed changes.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

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

{
  "inputs": {
    "process_type": "saturation_dome_boundary",
    "start_state": {
      "phase": "saturated_liquid",
      "temperature_C": 100
    },
    "end_state": {
      "phase": "saturated_vapor",
      "temperature_C": 100
    }
  },
  "expected_outputs": {
    "start_point": {
      "h_kJ_per_kg": 419.04,
      "s_kJ_per_kg_K": 1.307
    },
    "end_point": {
      "h_kJ_per_kg": 2675.54,
      "s_kJ_per_kg_K": 7.354
    },
    "process_polyline": [
      {
        "s_kJ_per_kg": 1.307,
        "h_kJ_per_kg": 419.04
      },
      {
        "s_kJ_per_kg": 7.354,
        "h_kJ_per_kg": 2675.54
      }
    ]
  },
  "reference_data": {
    "saturation_row_100C": {
      "temperature_C": {
        "value": 100,
        "source_convention": "IAPWS-IF97 saturation relation; widely tabulated standard value"
      },
      "saturation_pressure_kPa": {
        "value": 101.325,
        "source_convention": "IAPWS-IF97; widely memorized standard value for water boiling at 100 C"
      },
      "hf_kJ_per_kg": {
        "value": 419.04,
        "source_convention": "IAPWS-IF97 steam tables; widely tabulated standard value"
      },
      "hg_kJ_per_kg": {
        "value": 2675.54,
        "source_convention": "IAPWS-IF97 steam tables; widely tabulated standard value"
      },
      "sf_kJ_per_kg_K": {
        "value": 1.307,
        "source_convention": "IAPWS-IF97 steam tables; widely tabulated standard value"
      },
      "sg_kJ_per_kg_K": {
        "value": 7.354,
        "source_convention": "IAPWS-IF97 steam tables; widely tabulated standard value"
      }
    }
  },
  "working": "1. At 100 C, the saturation pressure is 101.325 kPa, so both states lie on the saturation boundary at the same absolute pressure. 2. Saturated-liquid point: h = hf = 419.04 kJ/kg; s = sf = 1.3070 kJ/(kg K). 3. Saturated-vapor point: h = hg = 2675.54 kJ/kg; s = sg = 7.3540 kJ/(kg K). 4. Therefore the plotted endpoints are (s,h) = (1.3070,419.04) and (7.3540,2675.54), with the displayed process polyline joining them."
}

Other records

Sources and evidence

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

  • VERIFIED_LEDGER.json
  • evidence-tranche7/tranche7-results.json