Source: https://guthlabs.ai/docs/instruments/mollier-h-s-diagram-plotter/mechanism/

instrument mechanism / verified-clean

# Mollier (h-s) Diagram Plotter mechanism

The inspectable method record for Mollier (h-s) Diagram Plotter, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The instrument concept is valid, but the specification is incomplete. Add explicit IF97 region-selection rules, independent-variable units, interpolation or full-equation behavior, admissible phase constraints, process-path equations, extrapolation policy, and a precision/rounding policy before implementation.

- The specification gives only a data source, not a complete algorithm. It must define how pressure, temperature, quality, and phase-region inputs are converted into h and s using IAPWS-IF97.

- The phrase 'derived from steam table h,s pairs along isobars/isotherms/quality lines' is insufficient: interpolation rules, grid resolution, and property-consistency rules are unspecified.

- The process-line algorithm is unspecified. A straight line between start and end h-s coordinates is not generally the thermodynamic path for an isobaric, isothermal, isentropic, throttling, or turbine-expansion process.

- Quality-line calculations require the explicit formulas h = hf + x(hg-hf) and s = sf + x(sg-sf), with 0 <= x <= 1.

- The implementation must distinguish IAPWS-IF97 regions, including compressed liquid, superheated vapor, two-phase mixture, and the critical/saturation boundaries.

## Units and conventions

- Pressure is absolute, not gauge pressure; test vectors use kPa or MPa as explicitly stated.

- Specific enthalpy h is in kJ/kg and specific entropy s is in kJ/(kg·K).

- Temperature is in degrees Celsius for table lookup, with Kelvin used only where an entropy or thermodynamic equation explicitly requires absolute temperature.

- Steam-table values are IAPWS-IF97 values rounded to the displayed precision; interpolation of rounded values reproduces the displayed test results, not necessarily full-precision IF97 results.

- The plotted horizontal coordinate is s and the vertical coordinate is h.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "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."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

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.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/mollier-h-s-diagram-plotter/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/mollier-h-s-diagram-plotter/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/mollier-h-s-diagram-plotter/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-tranche7/tranche7-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
