Experiments · E164

Do the two DFT codes agree closely enough to mix their data without a correction?

Partly. Energy differences agreed to 0.8 meV/atom for TaW but differed by 6.8 for VW, so a per-code correction term was adopted.

In the log: Mixing VASP and Quantum ESPRESSO data: the prior art, and the mechanism it fixes

mixedDate not stated in the log; it was written between the commit of 2026-09-16 19:06 and the first commit that contains it, 2026-09-19 08:35rung 4 · DFT0 predictions · 1 result paragraphEXPERIMENTS.md lines 10601–10641, lines 10643–10655, lines 10741–10774
exp E164 diagram
What E164 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E164.svg).

Pre-registration

The pre-registration, as written

E164, the settings on each side, read rather than assumed.

RHEA (VASP)   PBE; PAW with semicore (W/V/Mo/Nb/Ti/Zr/Hf `_sv`, Cr/Ta `_pv`); ENCUT 500 eV;
              Methfessel-Paxton order 1, σ = 0.1 eV; KSPACING 0.15 (2π/Å); EDIFF 1e-6; no spin
ours (QE)     PBE; pslibrary 1.0.0 PAW with semicore (`spn`, V `spnl`); 50 / 400 Ry;
              Marzari-Vanderbilt, degauss 0.02 Ry = 0.27 eV; 6x6x6 on 16-atom cells; no spin

Same functional, same potential class with semicore states on both sides — the case the Δ-gauge rates at ~1 meV/atom. Two things do not match and the anchor runs correct them: the smearing (MV 0.27 eV against MP1 0.1 eV — a different free-energy functional at a different width, worth meV on a metal) and the k-spacing. Chromium has no local pseudopotential, so the Δ-check covers eight elements and the flywheel's refusal on Cr stands until one is fetched.

Results

EXPERIMENTS.md · line 10741

E164 result — the Δ-check as designed was invalid; the part of it that is valid gives 0.8 / 3.2 / 6.8 meV/atom.

The full table read a cross-code residual of +69.4 ± 16.3 meV/atom on six binaries. That number is mine, not the codes': the VASP elemental reference attached to each element anchor was the raw rattled 54-atom RHEA cell (the only pure-element VASP energy in the database), while the QE reference was the ideal 2-atom cell I built for the run — a rattle energy of tens of meV/atom, largest for W and Ta, and the residual pattern sits exactly there (TaW, VW ≈ +80; TaV ≈ +47). I broke the standing rule on matched references inside the instrument meant to test it. The "under 2 meV/atom" prediction was not tested by that table, and the +69 is withdrawn as a measurement of anything but my reference mismatch.

What the same runs do measure cleanly: each binary was computed at two lattice constants in both codes on identical structures, so the energy difference between its two volumes cancels every reference — the Δ-gauge's own quantity, over ~12% strain rather than ACWF's ±6%:

pair    E(a_hi) − E(a_lo), VASP    QE     residual (meV/atom)
TaV            −63.8            −60.6      3.2
TaW            −33.6            −34.4      0.8
VW              −8.9             −2.1      6.8

Under 2 holds for TaW; TaV is between; VW crosses the 5 meV/atom line that was set as the trigger for a per-source term. Vanadium is the one element here whose pseudopotential is a different flavour (spnl, with an extra semicore projector) — a named suspect, not a verdict, on one pair at one strain.

The elemental side cannot be made code-clean with what exists. A QE equation of state for Ta, V, W (cheap) would give QE's own equilibrium references, but the VASP side has no ideal pure cell — only rattled ones, or RHEA's corrected cells, which carry the MACE bridge and its ~12 meV/atom floor (E151). So a 2 meV/atom cross-code test of formation energies is out of reach without VASP access; only EOS-shape comparisons like the one above are. Branch adopted: the per-source point term in the eCE (E164's mechanism 2), which absorbs exactly a per-element per-code offset, and QE points enter training only through it — with the VW 6.8 carried as a stated uncertainty on any mixed-source ordering energy involving V.

The full record

This entry is written in 3 separate places in the log, shown here in log order.

EXPERIMENTS.md · lines 10601–10641

E164 — Mixing VASP and Quantum ESPRESSO data: the prior art, and the mechanism it fixes

The operator asked whether combining VASP and Quantum ESPRESSO data has a known common mechanism. It has, in two parts.

1. Precision across codes is measured, not assumed. The Δ-gauge (Lejaeghere et al., Science 351, aad3000, 2016; 15 codes, 71 elemental EOS) and its successor ACWF (Bosoni et al., Nat. Rev. Phys. 6, 45, 2024; 960 EOS, Z = 1-96, two all-electron references) find that modern VASP-PAW and Quantum ESPRESSO with SSSP reproduce the same PBE equation of state to ~0.3-1 meV/atom per element; codes with mutual Δ under 1-2 meV/atom are declared indistinguishable. ACWF also states that total energies must not be compared across different materials even within one code — their own reuse test was off by up to 1 eV/atom — because parameter choices are consistent along an EOS, not between systems. So what can cross codes is a difference under matched settings, and the only legitimate bridge is each code referenced to its own elements, which is what ece_flywheel.py already refuses to proceed without (E77). The residual after that referencing is of order Δ, i.e. ~1 meV/atom when both sides use current potentials at converged cutoffs — not the ~5 the flywheel's comment assumed.

2. When sources differ by more than Δ, the field does not rerun — it conditions. MatPES measured PBE against r2SCAN at 107 meV/atom average on identical structures. Three mechanisms handle that: a learned residual model between sources (arXiv:2607.24327, GNN, 14.3 meV/atom MAE PBE→r2SCAN); multi-fidelity training with a per-source one-hot or trainable embedding (Chen, Zuo, Ye & Ong, Nat. Comput. Sci. 2021; SevenNet-MF, arXiv:2409.07947; Oerder, Schmieden & Hamaekers 2025 — the embedding in the readout layer, a per-source element-wise constant, cut the r2SCAN data needed by 10x); and Materials Project-style compatibility corrections (fitted per-element offsets on anchors). For a cluster expansion the embedding is a per-source point term, which the singlets absorb exactly — a one-line change in the eCE, not a new model.

The mechanism this project adopts (P4, now with names):

  • both sides PBE; VASP-PAW (RHEA) against QE with a current SSSP/pslibrary set at converged cutoff and k-grid — checked, not assumed (below);
  • every source referenced to its own corrected pure elements (done for RHEA in E151's follow-up; owed for QE — Hf, Ti, Zr have no stable bcc and need the same treatment);
  • a Δ-check on ~20 shared anchor structures — the nine elemental bcc cells and B2 binaries RHEA already holds in VASP, recomputed in QE — reporting the per-element residual after referencing. Predicted: under 2 meV/atom; if so QE points join training with no further correction. Falsified above 5 meV/atom: then a per-source point term is added to the eCE (the multi-fidelity embedding) rather than any rerun, and the residual is carried as a stated uncertainty on every mixed-source energy.
EXPERIMENTS.md · lines 10643–10655

E164, the settings on each side, read rather than assumed.

RHEA (VASP)   PBE; PAW with semicore (W/V/Mo/Nb/Ti/Zr/Hf `_sv`, Cr/Ta `_pv`); ENCUT 500 eV;
              Methfessel-Paxton order 1, σ = 0.1 eV; KSPACING 0.15 (2π/Å); EDIFF 1e-6; no spin
ours (QE)     PBE; pslibrary 1.0.0 PAW with semicore (`spn`, V `spnl`); 50 / 400 Ry;
              Marzari-Vanderbilt, degauss 0.02 Ry = 0.27 eV; 6x6x6 on 16-atom cells; no spin

Same functional, same potential class with semicore states on both sides — the case the Δ-gauge rates at ~1 meV/atom. Two things do not match and the anchor runs correct them: the smearing (MV 0.27 eV against MP1 0.1 eV — a different free-energy functional at a different width, worth meV on a metal) and the k-spacing. Chromium has no local pseudopotential, so the Δ-check covers eight elements and the flywheel's refusal on Cr stands until one is fetched.

EXPERIMENTS.md · lines 10741–10774

E164 result — the Δ-check as designed was invalid; the part of it that is valid gives 0.8 / 3.2 / 6.8 meV/atom.

The full table read a cross-code residual of +69.4 ± 16.3 meV/atom on six binaries. That number is mine, not the codes': the VASP elemental reference attached to each element anchor was the raw rattled 54-atom RHEA cell (the only pure-element VASP energy in the database), while the QE reference was the ideal 2-atom cell I built for the run — a rattle energy of tens of meV/atom, largest for W and Ta, and the residual pattern sits exactly there (TaW, VW ≈ +80; TaV ≈ +47). I broke the standing rule on matched references inside the instrument meant to test it. The "under 2 meV/atom" prediction was not tested by that table, and the +69 is withdrawn as a measurement of anything but my reference mismatch.

What the same runs do measure cleanly: each binary was computed at two lattice constants in both codes on identical structures, so the energy difference between its two volumes cancels every reference — the Δ-gauge's own quantity, over ~12% strain rather than ACWF's ±6%:

pair    E(a_hi) − E(a_lo), VASP    QE     residual (meV/atom)
TaV            −63.8            −60.6      3.2
TaW            −33.6            −34.4      0.8
VW              −8.9             −2.1      6.8

Under 2 holds for TaW; TaV is between; VW crosses the 5 meV/atom line that was set as the trigger for a per-source term. Vanadium is the one element here whose pseudopotential is a different flavour (spnl, with an extra semicore projector) — a named suspect, not a verdict, on one pair at one strain.

The elemental side cannot be made code-clean with what exists. A QE equation of state for Ta, V, W (cheap) would give QE's own equilibrium references, but the VASP side has no ideal pure cell — only rattled ones, or RHEA's corrected cells, which carry the MACE bridge and its ~12 meV/atom floor (E151). So a 2 meV/atom cross-code test of formation energies is out of reach without VASP access; only EOS-shape comparisons like the one above are. Branch adopted: the per-source point term in the eCE (E164's mechanism 2), which absorbs exactly a per-element per-code offset, and QE points enter training only through it — with the VW 6.8 carried as a stated uncertainty on any mixed-source ordering energy involving V.

Related entries

Built with PRISMWebsite and visualizations made using Claude