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

instrument / verified-clean

Phase Diagram Lever Rule Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Area
Chemistry & Materials
Tranche
tranche-7
Evidence ID
t7-044
Ledger rows
1

No ledger note is attached.

Review findings

The arithmetic method is standard and valid after selecting a valid two-phase equilibrium tie line. The specification needs separate α+liquid and α+β formulas, explicit phase-field selection, composition basis, interpolation rules, boundary handling, and a defined convention for invariant points before it can receive PASS.

Formula and scope findings

  • The stated formula fraction_α=(C_L-C_0)/(C_L-C_α) is correct only for an α+liquid two-phase field, with all compositions expressed on the same basis and C_α≤C_0≤C_L.
  • The specification also claims α/β calculations, but the formula uses C_L and does not define the β fraction. For an α+β field, the required formula is fraction_α=(C_β-C_0)/(C_β-C_α), with fraction_β=(C_0-C_α)/(C_β-C_α).
  • The temperature is not used directly by the arithmetic; it must select a valid equilibrium tie line from the phase-diagram dataset. The spec does not define interpolation, phase-field validation, or behavior at invariant points such as the eutectic.
  • The requested tie-line diagram overlay cannot be verified from the stated arithmetic alone; plotting coordinates, axes, composition basis, and temperature-axis units must be specified.

Unit assumptions

  • All compositions in these vectors are weight percent Sn, wt% Sn, on a Pb-Sn binary alloy basis; C0, Cα, and Cβ must use the same composition basis.
  • Temperature is in degrees Celsius and selects the Pb-Sn eutectic tie-line. The tabulated eutectic values are used as the limiting α+β tie line just below the eutectic temperature.
  • Phase fractions are dimensionless mass fractions and must sum to 1.0.
  • The vectors exercise the α+β form of the lever rule, not the α+liquid form written in the specification.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The formula produces an undefined 0/0 result when C_L equals C_alpha, and naive application outside the two-phase interval produces nonphysical fractions below zero or above one. Reversing endpoint or composition-axis conventions can also silently swap phase labels.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "system": "Pb-Sn",
    "temperature_C": 182.99,
    "overall_composition_wt_percent_Sn": 61.9,
    "phase_field": "alpha+beta",
    "C_alpha_wt_percent_Sn": 18.3,
    "C_beta_wt_percent_Sn": 97.8
  },
  "expected_outputs": {
    "phase_fractions": {
      "alpha": 0.451572327,
      "beta": 0.548427673
    },
    "sum": 1
  },
  "reference_data": {
    "eutectic_temperature_C": 183,
    "eutectic_composition_wt_percent_Sn": 61.9,
    "C_alpha_wt_percent_Sn_at_eutectic": 18.3,
    "C_beta_wt_percent_Sn_at_eutectic": 97.8,
    "source_convention": "Widely tabulated standard value; ASM Alloy Phase Diagrams textbook compilation"
  },
  "working": "Use the α+β lever rule. Denominator = Cβ − Cα = 97.8 − 18.3 = 79.5 wt% Sn. Alpha fraction = (Cβ − C0)/(Cβ − Cα) = (97.8 − 61.9)/79.5 = 35.9/79.5 = 359/795 = 0.451572327. Beta fraction = (C0 − Cα)/(Cβ − Cα) = (61.9 − 18.3)/79.5 = 43.6/79.5 = 436/795 = 0.548427673. Check: 0.451572327 + 0.548427673 = 1.000000000."
}

Related workflows

No source-defined multi-instrument workflow membership is recorded.

Sources and evidence

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

  • VERIFIED_LEDGER.json · VERIFIED_CLEAN
  • evidence-tranche7/tranche7-results.json
  • BOUNDARY_HAZARD_CATALOG.json