[WIP] Feat: Implement Voronoi-based Constrained DFT (CDFT) with Microiterations #581
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.
This PR introduces an initial implementation of Constrained DFT (CDFT) for Unrestricted Kohn-Sham (UKS) calculations on GPU. The implementation is based on the Voronoi partitioning scheme for defining atomic populations and utilizes the Nested-loop (Microiterations) algorithm for optimizing Lagrange multipliers.
This is a Work in Progress (WIP). The core logic is functional, but further refinement is needed.
Completed:
[x] Basic CDFT logic with charge and spin constraints.
[x] Voronoi projector construction on GPU.
[x] Nested-loop optimization using scipy.
[x] Correct energy definition for variational stability.
To-Do (Upcoming):
[ ] Unit Tests: Add comprehensive tests for N2 dissociation and other benchmark systems.
[ ] Convergence Stability: Modify DIIS implementations.
[ ] Code Cleanup: Optimize memory usage during eval_ao and standardize API interfaces.