fix: update cppdlr symmetric grid dependency - #51
Open
weiyiguo9 wants to merge 1 commit into
Open
Conversation
weiyiguo9
marked this pull request as ready for review
August 11, 2026 15:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
6f3f2d836d43da7a01b4e53292ad49f896a19667from Include self-symmetric fixed points in symmetrized DLR grids flatironinstitute/cppdlr#20 so symmetric DLR grids include the self-symmetric fixed points.c2py::c2pytarget when NDA/h5 has already provided c2py, avoiding duplicate top-level FetchContent setup.Build and unit-test validation
wg-devworktree configured, built, and installed successfully with the exact cppdlr commit above.test_iaft_dlr,test_iaft(2/2).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).4x4x4, 150 bandsdFock = 4.90e-8,dSigma = 6.85e-85x5x5, 200 bandsdFock = 1.47e-7,dSigma = 5.46e-75x5x5, 200 bands, spin-polarizedFor 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-4anddSigma = 2.84e-3and 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-6threshold. 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-6threshold. 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