Experiments · E77

Can two DFT cells holding different elements be compared by subtracting their energies?

No. Each element adds its own huge constant, giving gaps like 629,552 meV/atom; comparing mixing energies against each element's own reference fixes it.

In the log: The DFT comparison was subtracting different atoms, and is withdrawn

recordedDate not stated in the log; it was written between the commit of 2026-09-13 08:16 and the first commit that contains it, 2026-09-16 02:04rung 4 · DFT0 predictions · 1 result paragraphEXPERIMENTS.md lines 4190–4227
exp E77 diagram
What E77 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E77.svg).

Results

EXPERIMENTS.md · line 4190

E77 — The DFT comparison was subtracting different atoms, and is withdrawn

The three reference structures finished. The comparison they were run for does not work, and the part of E75 that describes it as valid is withdrawn. The prediction it carries - that the two models agree within 30 meV/atom - is untested, not wrong; the instrument was.

composition MACE gap DFT gap
Mo0.62 Ta0.38 +212 meV/atom +629,552 meV/atom
Ta0.39 Mo0.34 W0.18 Nb0.08 -145 meV/atom -356,349 meV/atom

Six hundred thousand meV/atom is not a disagreement about chemistry.

A DFT total energy counts each atom's pseudopotential self-energy, which is hundreds of eV per atom and different for every element. It cancels when two cells hold the same atoms and only their arrangement differs - which is what the earlier occupancy work compared, and why it worked. It does not cancel here: the reference is 4 Mo, 4 Nb, 4 Ta, 4 W and the candidate is 10 Mo and 6 Ta. Subtracting them differences the pseudopotentials.

This is the references convention of the three-convention trap, on a path where it was not being looked for. The rung was built to match lattice, occupancies and relaxation, and it matches all three; it then compared two cells that do not contain the same elements. The guard written for exactly this failure lives in OffLattice.driving_force and never sees the DFT path.

The repair is the mixing energy, which is what every other rung already uses:

dE_mix(alloy) = E(alloy) - sum_i x_i E_i

with each model supplying its own elemental references, computed the same way - the same 16-atom cell filled with one element, the same lattice constant, the same cutoffs, the same k-grid. The pseudopotential zero-points then cancel inside the DFT number, MACE's own elemental energies cancel inside the MACE number, and the two are finally comparable. That is also the shared-lattice reference convention the cluster expansion uses, so the answer lands on the same footing as everything else in the record.

Cost of the repair: four elemental runs - Mo, Nb, Ta, W - which is why it was not free to skip them. The alloy runs took 16 to 23 SCF iterations at six MPI ranks.

The full record

EXPERIMENTS.md · lines 4190–4227

E77 — The DFT comparison was subtracting different atoms, and is withdrawn

The three reference structures finished. The comparison they were run for does not work, and the part of E75 that describes it as valid is withdrawn. The prediction it carries - that the two models agree within 30 meV/atom - is untested, not wrong; the instrument was.

composition MACE gap DFT gap
Mo0.62 Ta0.38 +212 meV/atom +629,552 meV/atom
Ta0.39 Mo0.34 W0.18 Nb0.08 -145 meV/atom -356,349 meV/atom

Six hundred thousand meV/atom is not a disagreement about chemistry.

A DFT total energy counts each atom's pseudopotential self-energy, which is hundreds of eV per atom and different for every element. It cancels when two cells hold the same atoms and only their arrangement differs - which is what the earlier occupancy work compared, and why it worked. It does not cancel here: the reference is 4 Mo, 4 Nb, 4 Ta, 4 W and the candidate is 10 Mo and 6 Ta. Subtracting them differences the pseudopotentials.

This is the references convention of the three-convention trap, on a path where it was not being looked for. The rung was built to match lattice, occupancies and relaxation, and it matches all three; it then compared two cells that do not contain the same elements. The guard written for exactly this failure lives in OffLattice.driving_force and never sees the DFT path.

The repair is the mixing energy, which is what every other rung already uses:

dE_mix(alloy) = E(alloy) - sum_i x_i E_i

with each model supplying its own elemental references, computed the same way - the same 16-atom cell filled with one element, the same lattice constant, the same cutoffs, the same k-grid. The pseudopotential zero-points then cancel inside the DFT number, MACE's own elemental energies cancel inside the MACE number, and the two are finally comparable. That is also the shared-lattice reference convention the cluster expansion uses, so the answer lands on the same footing as everything else in the record.

Cost of the repair: four elemental runs - Mo, Nb, Ta, W - which is why it was not free to skip them. The alloy runs took 16 to 23 SCF iterations at six MPI ranks.

Related entries

Built with PRISMWebsite and visualizations made using Claude