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

instrument mechanism / verified-clean

Van der Waals Real-Gas EOS Solver mechanism

The inspectable method record for Van der Waals Real-Gas EOS Solver, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The core EOS is correct, but the specification needs an unambiguous definition of deviation-from-ideal-gas percentage, explicit SI-unit handling, domain validation, and a deterministic policy for selecting among multiple cubic volume roots. Because those behaviors are unspecified, the instrument requires review before being labeled verified.

  • The stated Van der Waals equation of state is standard: (P + a n^2/V^2)(V - nb) = nRT.
  • For pressure, the implementation should explicitly use P = nRT/(V - nb) - a n^2/V^2.
  • For temperature, the implementation should explicitly use T = (P + a n^2/V^2)(V - nb)/(nR).
  • For volume, the cubic to solve is P V^3 - (Pnb + nRT)V^2 + a n^2 V - a n^3 b = 0.
  • The specified deviation-from-ideal-gas percentage is not defined. It must state whether it means 100(P_vdW - P_ideal)/P_ideal at fixed n,T,V, a compressibility-factor deviation, or another quantity.
  • Newton iteration alone is not sufficient for all Van der Waals volume cases: the cubic can have multiple positive roots, so phase/root selection and a physical-root policy are required.

Units and conventions

  • Use SI units: P in Pa, V in m^3, T in K, n in mol, a in Pa m^6 mol^-2, b in m^3 mol^-1, and R = 8.314462618 J mol^-1 K^-1.
  • The tabulated a and b values must correspond to the selected gas and the same unit convention.
  • The molar-volume constraint V > nb is required for finite positive pressure and temperature calculations.
  • The 10 L test input is converted as 10 L = 0.010 m^3 before applying the equation.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "gas": "CO2",
    "n_mol": 1,
    "T_K": 300,
    "V_L": 10,
    "a_Pa_m6_per_mol2": 0.364,
    "b_m3_per_mol": 0.0000427,
    "R_J_per_mol_K": 8.314462618
  },
  "expected_outputs": {
    "pressure_Pa": 246863.5286,
    "ideal_pressure_Pa": 249433.8785,
    "deviation_percent": -1.0304734
  },
  "reference_data": {
    "method": "P = nRT/(V-nb) - a n^2/V^2",
    "V_m3": 0.01
  },
  "working": "Convert volume: V = 10 L * 0.001 m^3/L = 0.01000000000 m^3. Compute nb = 1.0 * 0.0000427 = 0.0000427 m^3. Compute nRT = 1.0 * 8.314462618 * 300.0 = 2494.3387854 Pa m^3. Compute nRT/(V-nb) = 2494.3387854/(0.0100000000 - 0.0000427) = 2494.3387854/0.0099573 = 250503.5286 Pa. Compute a n^2/V^2 = 0.364/(0.0100000000^2) = 3640.0000 Pa. Therefore P = 250503.5286 - 3640.0000 = 246863.5286 Pa. Ideal pressure is P_ideal = nRT/V = 2494.3387854/0.0100000000 = 249433.8785 Pa. Deviation = 100*(246863.5286 - 249433.8785)/249433.8785 = -1.0304734%."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The specification leaves phase selection under the subcritical three-root regime unspecified, so a cubic/Newton solver may return an arbitrary liquid, unstable, or gas root. Exact singular inputs also require explicit rejection, and temperature-unit ambiguity can change the computed pressure from 2.243 MPa to a negative value.

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-tranche8/tranche8-results.json
  • BOUNDARY_HAZARD_CATALOG.json