Skip to content

docs(nmr): record MgO ¹⁷O CG-resolvent ecut convergence (unblock oxides) - #526

Merged
wladerer merged 1 commit into
mainfrom
research/unblock-oxides-17o
Sep 27, 2026
Merged

wladerer merged 1 commit into
mainfrom
research/unblock-oxides-17o

Conversation

@wladerer

Copy link
Copy Markdown
Owner

Summary

Records the σ_iso(¹⁷O) ecut ladder that was left "pending the run" — proving the shipped matrix-free S-metric CG conduction resolvent (_SMetricResolventCG, response_backend="auto") closes the ecut-divergence of the bare ¹⁷O magnetic shielding on hard first-row anions.

The bare ¹⁷O shielding diverged with plane-wave ecut on the old dense-eigh S-orthonormal conduction resolvent (documented −1912 → −3758 ppm over 40 → 60 Ry; root cause = ill-conditioned augmentation overlap S(k), see analytic_uspp_ecut_divergence.md). The CG fix was shipped but its corrected numbers were never recorded.

Experiment

One fixed MgO ground state per rung, both backends run on the identical SCF + S-metric context (only the resolvent differs). asus @ main e23c776, PAW route (Mg Mg.pbe-n-kjpaw_psl.0.3.0 + committed O O.pbe-n-kjpaw_psl.1.0.0), 2×2×2, symmetry=False.

ecut/rho (Ry) cond(S)max dense bare O dense total O CG bare O CG total O
40 / 160 2186 −1871.95 −1519.44 −70.50 +282.01
50 / 200 4233 −3237.23 −2878.09 −72.02 +287.13
60 / 240 5588 −3779.03 −3418.69 −61.80 +298.54
70 / 280 6247 −3395.33 −3035.02 −57.37 +302.95

Verdict — UNBLOCKED

  • Dense (old): bare ¹⁷O swings over a ~1900 ppm range with no convergence and a non-monotonic turnover at 70 Ry — the ill-conditioned instability tracking cond(S) (2186 → 6247). The 60 → 70 Ry step alone moves it +384 ppm. Reproduces the documented divergence.
  • CG (auto): bare ¹⁷O plateaus (14.6 ppm over the whole 40 → 70 ladder, +4.4 ppm over the top two rungs); total ¹⁷O smoothly convergent. The 40 Ry CG values reproduce the §6 partial record (bare −70.5, total +282.0) exactly.

The bare ¹⁷O ecut divergence is closed by the CG backend. Oxides are unblocked.

Honest caveat (not a divergence): the CG total plateaus near +303 ppm, ~90 ppm above the ≈+215 ppm literature anchor. That residual is stable with ecut and reflects the pseudo choice (non-semicore Mg PAW; the semicore Mg.pbe-spnl of the original report is not on the box) + test-grade settings + frozen-core GIPAW. This PR demonstrates ecut-STABILITY (the blocker), not absolute-anchor agreement.

Contents

  • experiments/autoapw/mgo_17o_cg_convergence.py — driver (dense + CG × 4 rungs).
  • experiments/autoapw/mgo_17o_cg_convergence.md — writeup + verdict + provenance.
  • experiments/autoapw/data/mgo_17o_cg_convergence.json — raw results.
  • Cross-reference pointers added to gipaw_absolute_driver_validation.md and analytic_uspp_ecut_divergence.md.

Docs/experiment-only; no src/ change. ~2.95 h asus wall time.

🤖 Generated with Claude Code

The analytic-USPP bare ¹⁷O shielding diverged with ecut on the dense-eigh
S-orthonormal conduction resolvent (documented −1912 → −3758 ppm over 40 → 60
Ry; root cause in analytic_uspp_ecut_divergence.md: ill-conditioned augmentation
overlap S(k)). The matrix-free S-metric CG resolvent (_SMetricResolventCG,
response_backend="auto") was shipped but its corrected ¹⁷O numbers were never
recorded ("pending the run").

Recorded here on one fixed MgO ground state (asus @ main e23c776, PAW route:
Mg.pbe-n-kjpaw_psl.0.3.0 + committed O.pbe-n-kjpaw_psl.1.0.0, 2×2×2, both
backends over a 40/50/60/70 Ry ladder):

- dense bare ¹⁷O: −1872 → −3237 → −3779 → −3395 (~1900 ppm range, +384 ppm over
  60→70, non-monotonic — tracks cond(S) 2186 → 6247, no convergence).
- CG bare ¹⁷O: −70.5 → −72.0 → −61.8 → −57.4 (14.6 ppm over the whole ladder,
  +4.4 ppm over 60→70 — a converged plateau). Total ¹⁷O likewise stable
  (+282 → +303).

Verdict: UNBLOCKED. The CG backend closes the ecut divergence for hard
first-row anions. Absolute-anchor agreement (≈+215 ppm) is a separate, stable
convergence/pseudo matter and is not claimed here.

Adds the driver (mgo_17o_cg_convergence.py), the raw results JSON, the writeup
(mgo_17o_cg_convergence.md), and cross-reference pointers from the two docs that
marked this pending.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@wladerer
wladerer merged commit 6d6a5ec into main Sep 27, 2026
6 checks passed
@wladerer
wladerer deleted the research/unblock-oxides-17o branch September 27, 2026 17:37
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