FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Re-implement DFT-D3 against the s-dftd3 reference by Growl1234 · Pull Request #7830 · deepmodeling/abacus-develop · GitHub

Re-implement DFT-D3 against the s-dftd3 reference - #7830

Open
Growl1234 wants to merge 1 commit into
deepmodeling:developfrom
Growl1234:dftd3
Open

Re-implement DFT-D3 against the s-dftd3 reference#7830
Growl1234 wants to merge 1 commit into
deepmodeling:developfrom
Growl1234:dftd3

Conversation

Growl1234 commented Aug 18, 2026
edited
Loading

Copy link
Copy Markdown

This PR re-implements the internal DFT-D3 module with s-dftd3 as the reference, while keeping the implementation fully ABACUS-native without introducing an external s-dftd3 dependency.

The legacy D3 evaluator and manually maintained parameter tables are replaced with a substantially simplified implementation that:

  • separates the ABACUS-facing Vdwd3 wrapper from the standalone D3 numerical evaluator, so vdwd3.cpp now mainly handles input, structure adaptation, and unit conversion, while vdwd3_evaluator.cpp contains the actual D3 model;
  • follows the s-dftd3 reference model for coordination numbers, C6 interpolation, D3(0), D3(BJ), and ATM;
  • uses a single evaluator for energy, forces, and virial instead of maintaining separate energy and derivative code paths;
  • generates reference data and damping parameters from a pinned s-dftd3 version;
  • separates coordination-number, two-body, and three-body cutoffs, with smooth-cutoff support;
  • simplifies periodic image handling and analytic derivative evaluation;
  • introduces shared vdW XC-name normalization for D3 and D4;
  • preserves automatic XC detection and user parameter overrides.

The new implementation is validated against s-dftd3 reference energies for molecular, periodic, zero-damping, BJ-damping, ATM, and actinide cases, together with finite-difference checks for gradients and virials.

Copilot AI lite review requested due to automatic review settings August 18, 2026 00:46

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Growl1234 closed this Aug 18, 2026
Growl1234 reopened this Aug 18, 2026
mohanchen added Refactor Refactor ABACUS codes Feature Discussed The features will be discussed first but will not be implemented soon labels Aug 19, 2026
Growl1234 force-pushed the dftd3 branch 8 times, most recently from 96953f4 to ddb089b Compare August 26, 2026 10:19

Copy link
Copy Markdown
Author

I changed the default of vdw_cutoff_width3 to 0.0 according to the (late) explanation in cp2k/cp2k#5143 (comment), since CP2K is the first place to introduce smooth cutoff scheme.

Copy link
Copy Markdown
Collaborator

What's s-dftd3?

Copy link
Copy Markdown
Author

Simple-dftd3 (https://github.com/dftd3/simple-dftd3), the library implementation of DFT-D3 maintained by Grimme's team. (I realized I forgot to link to it, sorry for causing confusion) Since dftd3 package is discontinued, s-dftd3 should be considered as reference implementation; there were some issues that are addressed with simple-dftd3 but are not working in dftd3.

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

Labels

Feature Discussed The features will be discussed first but will not be implemented soon Refactor Refactor ABACUS codes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants


Back | FazBrowse Home | New Git URL