Skip to content

fix: update cppdlr symmetric grid dependency - #51

Open
weiyiguo9 wants to merge 1 commit into
AbInitioQHub:developfrom
weiyiguo9:fix/cppdlr-sym-pr
Open

fix: update cppdlr symmetric grid dependency#51
weiyiguo9 wants to merge 1 commit into
AbInitioQHub:developfrom
weiyiguo9:fix/cppdlr-sym-pr

Conversation

@weiyiguo9

@weiyiguo9 weiyiguo9 commented Aug 11, 2026

Copy link
Copy Markdown

Summary

This PR integrates the upstream symmetric-DLR mesh fix from flatironinstitute/cppdlr#20, following the divergence reported in flatironinstitute/cppdlr#19 for GW/GF2 calculations.

Build and unit-test validation

  • The corresponding Snellius wg-dev worktree configured, built, and installed successfully with the exact cppdlr commit above.
  • Focused tests passed: test_iaft_dlr, test_iaft (2/2).
  • The installed Python-enabled CoQui build was then used for the material calculations below.

Material validation

All calculations used the PR build with a high-precision DLR basis, beta = 300, Lambda = 10000, and fresh (restart = false) SCGW runs. The PR20 mesh was reported as (nt_f, nt_b, nw_f, nw_b) = (89, 89, 90, 89).

Case Mesh / bands Iteration scheme Result
SrVO3 4x4x4, 150 bands commutator DIIS, mixing 0.6, warmup 2, subspace 6 Converged at iteration 12: dFock = 4.90e-8, dSigma = 6.85e-8
fcc Al 5x5x5, 200 bands commutator DIIS, mixing 0.10, warmup 2, subspace 6 Converged at iteration 9: dFock = 1.47e-7, dSigma = 5.46e-7
bcc Fe (FM) 5x5x5, 200 bands, spin-polarized commutator DIIS, mixing 0.20, warmup 2, subspace 6 Did not fully converge through iteration 11; the bounded oscillations, occasional spike, and subsequent recovery are qualitatively similar to the existing IR behavior

For SrVO3, a separate damped PR20-DLR run without DIIS also followed a smooth IR-like trajectory rather than the old DLR divergence. After 24 iterations it reached dFock = 4.65e-4 and dSigma = 2.84e-3 and remained stable throughout.

The Fe test is intentionally reported as preliminary rather than converged. Its residuals decreased during warmup, oscillated after DIIS extrapolation, showed a spike at iteration 9, and recovered after DIIS history eviction, but did not establish a trend toward the 1e-6 threshold. This resembles the previous difficulty in fully converging the corresponding IR calculation and does not indicate a return of the old symmetric-DLR mesh pathology.

The material tests were also repeated across topology-aware MPI layouts. The first-iteration physical values agreed across legal layouts. SrVO3 correctly rejected an oversized 384-rank processor grid because its 150-band dimension cannot support a grid axis of 192; this is a CoQui distributed-array layout constraint, not a cppdlr failure.

Why this is ready to merge

The focused DLR tests pass, and the same PR build now converges both SrVO3 and Al real-material scGW controls below the 1e-6 threshold. An additional Al GF2 direct-term control converged in 18 iterations with essentially the same residual trajectory and final result as IR, confirming that the PR20 symmetric-grid fix also applies to GF2. The separate damped SrVO3 run also remains stable without DIIS, showing that the result is not dependent on DIIS hiding the old symmetric-grid instability. FM Fe does not fully converge, but its oscillation and recovery are qualitatively similar to the existing IR behavior and do not reproduce the old DLR-specific divergence. Together, these results show that the upstream cppdlr fix addresses the reported regression without requiring an additional CoQui-side DLR workaround. I therefore believe this dependency update is ready to merge; further Fe iteration-algorithm tuning can be handled independently.

Acknowledgement

This bug detection and comparison is also suggested by Xiansheng Cai

@weiyiguo9 weiyiguo9 changed the title [WIP] fix: update cppdlr symmetric grid dependency fix: update cppdlr symmetric grid dependency Aug 11, 2026
@weiyiguo9
weiyiguo9 marked this pull request as ready for review August 11, 2026 15:06
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