Plot both branches and inspect their structures
A real comparison starts by opening the competing phase structures, checking their state identities, and plotting each energy-volume or enthalpy-pressure branch over the same range. At a chosen pressure, inspect the minimizing volume on both branches and the pressure-volume contribution before locating a crossing. Compare the pressure range and phase candidates with the relevant literature through visual tools and literature sources.
Optional common-pressure exercise: both phase branches are invented conceptual data. Use them only after inspecting two accepted real branches; the script tests common-pressure bookkeeping and cannot support a material phase boundary or stability claim.
Use this fixture after two phase branches have been fitted over a common supported pressure interval. It checks the common-pressure operation with invented analytic alpha and beta branches; it is not a material calculation.
From the repository root, print the complete sampled enthalpy report:
python3 examples/practical-guides/eos_phase_enthalpy.py
The output contains the fixture crossing and sampled enthalpy records. Inspect both branches, not only the reported crossing.
Minimize each phase independently
At every external pressure , evaluate
Alpha and beta normally minimize at different volumes. They must use the same pressure, energy convention, and cell or formula-unit normalization. The fixture converts GPa to eV per cubic angstrom with ASE 3.29.0 before adding .
Confirm in each sample that the pressure is common, the minimizing volume is phase-specific, and has energy units. Comparing both phases at one arbitrary common volume is not this calculation.
Locate and challenge the crossing
The invented beta branch begins eV per abstract cell above alpha at zero pressure but has a smaller equilibrium volume. In the fixture it is lower in enthalpy by 6 GPa, and bisection finds equality near 2.6209 GPa.
Treat that value as a regression target. For real phase curves, repeat the minimization across accepted EOS forms, fit windows, numerical settings, and candidate branches. A crossing is usable only when both minimizing volumes lie inside supported data ranges and each phase retains its intended structural and electronic identity.
Claim boundary
A crossing satisfies
for the represented branches. Report the accepted pressure range, both minimizing volumes, phase-set scope, and sensitivity. If a third phase lies lower, or fit and numerical variation are comparable to the claimed resolution, the two-phase transition is unresolved or pre-empted.
The fixture contains no DFT run, pathway, barrier, nucleation model, phonons, elastic tensor, finite-temperature contribution, or experimental pressure calibration. It verifies common-pressure minimization, unit conversion, bracketing, and sign change only.