Skip to content

Run the four levels that were only ever declared, and measure what they do - #17

Merged
Starlitnightly merged 1 commit into
mainfrom
verify-all-levels
Aug 4, 2026
Merged

Run the four levels that were only ever declared, and measure what they do#17
Starlitnightly merged 1 commit into
mainfrom
verify-all-levels

Conversation

@Starlitnightly

Copy link
Copy Markdown
Contributor

mace-mpa, mace-omat, chgnet and sevennet sat in BUILTIN_LEVELS with their reference functional, licence and units recorded — and none had a backend installed here. Four of twelve declared levels had never been executed at all. They are in the potentials extra now, and all twelve are reachable.

Nothing was wrong with their metadata — no repeat of matgl's stress-in-GPa. But running them turned up a quality signal, which is the point of running rather than declaring.

Forces must vanish by symmetry, and they span twelve orders of magnitude

In perfect diamond silicon every atom sits on a site whose symmetry forces the net force to be exactly zero. One energy evaluation to check:

level max force (eV/Å)
GPAW (real PBE) 8.9e-17
mace-mpa 1.1e-15
mace-omat 1.5e-15
sevennet 4.9e-08
tensornet 2.2e-07
chgnet 5.9e-06
orb 7.6e-04
m3gnet 5.3e-03

It explains an outlier I had recorded without an explanation

M3GNet returns 5 meV/Å where symmetry demands zero. That is the same failure as its silicon bulk modulus of 238 GPa, where TensorNet gives 86, ORB 82 and GPAW's real PBE 88.7. A model that cannot reproduce zero does not reproduce curvature either.

Both numbers are now on the level itself, so the weakest potential here says so before it is screened on rather than after.

The check is a test

Loose on purpose, at 0.02 eV/Å — it passes anything usable and fails a calculator that has broken a symmetry nobody asked it to break.

Verification

968 pass on py3.12 with all twelve levels reachable; 851 on py3.10. Contract-verified rate stays 165/165. Docs build.

🤖 Generated with Claude Code

https://claude.ai/code/session_016wh5NzNE9Wn49nuUm7zg2a

…ey do

mace-mpa, mace-omat, chgnet and sevennet were in BUILTIN_LEVELS with their
reference functional, licence and units recorded, and none of them had a
backend installed here. Four of twelve declared levels had never been executed
at all. They are in the potentials extra now, and all twelve are reachable.

Nothing was wrong with their metadata - no repeat of matgl's stress in GPa. But
running them turned up a quality signal worth having, which is the point of
running rather than declaring.

In perfect diamond silicon every atom sits on a site whose symmetry forces the
net force to be exactly zero. That costs one energy evaluation to check and the
answers span twelve orders of magnitude:

  mace-mpa   1.1e-15      sevennet   4.9e-08      orb      7.6e-04
  mace-omat  1.5e-15      tensornet  2.2e-07      m3gnet   5.3e-03
  chgnet     5.9e-06                              GPAW     8.9e-17

M3GNet returns 5 meV/A where symmetry demands zero, and that is the same
failure as its silicon bulk modulus of 238 GPa where TensorNet gives 86, ORB 82
and GPAW's real PBE 88.7 - an outlier I had recorded earlier without an
explanation. A model that cannot reproduce zero does not reproduce curvature
either. Both numbers are now on the level itself, so the weakest potential here
says so before it is screened on rather than after.

The check is a test. It is loose on purpose, at 0.02 eV/A, so it passes
anything usable and fails a calculator that has broken a symmetry nobody asked
it to break.

968 tests pass on py3.12 with all twelve levels reachable, 851 on py3.10.
Contract-verified rate stays 165/165, docs build.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016wh5NzNE9Wn49nuUm7zg2a
@Starlitnightly
Starlitnightly merged commit bb98757 into main Aug 4, 2026
6 checks passed
@Starlitnightly
Starlitnightly deleted the verify-all-levels branch August 4, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant