Skip to content

Add the framework of DFPT in plane wave basis - #7356

Merged
mohanchen merged 4 commits into
deepmodeling:developfrom
mohanchen:DFPT-pw
Jun 8, 2026
Merged

Add the framework of DFPT in plane wave basis#7356
mohanchen merged 4 commits into
deepmodeling:developfrom
mohanchen:DFPT-pw

Conversation

@mohanchen

Copy link
Copy Markdown
Collaborator

Add the framework of DFPT in plane wave basis

abacus_fixer added 2 commits May 18, 2026 09:45
This commit adds the complete framework for a Density Functional Perturbation Theory (DFPT) solver for plane-wave basis set in ABACUS.

New files added:
- source/source_pw/module_dfpt/dfpt_pw.h/cpp - Main DFPT-PW interface (Pimpl pattern)
- source/source_pw/module_dfpt/dfpt_pw_data.h/cpp - PW-specific data container
- source/source_pw/module_dfpt/dfpt_pert.h/cpp - Perturbation construction
- source/source_pw/module_dfpt/dfpt_stern.h/cpp - Sternheimer equation solver
- source/source_pw/module_dfpt/dfpt_rho.h/cpp - First-order density handling
- source/source_pw/module_dfpt/dfpt_phon.h/cpp - Phonon/dynamical matrix
- source/source_pw/module_dfpt/dfpt_q0.h/cpp - q=0 special handling (dielectric, Born)
- source/source_pw/module_dfpt/dfpt_metal.h/cpp - Metal system handling
- source/source_pw/module_dfpt/CMakeLists.txt - Module build configuration
- source/source_pw/module_dfpt/README.md - Module documentation
- source/source_cell/qlist.h/cpp - q-point management
- source/source_esolver/esolver_dfpt_pw.h/cpp - DFPT energy solver

Modified files:
- CMakeLists.txt - Added module_dfpt to target_link_libraries
- source/source_pw/CMakeLists.txt - Added module_dfpt subdirectory
- source/source_cell/CMakeLists.txt - Added qlist.cpp and qlist.h
- source/source_esolver/CMakeLists.txt - Added esolver_dfpt_pw.cpp

Note: This code is in design phase and has not been put into production yet.
All implementation classes contain stub implementations that need to be filled in.
@mohanchen mohanchen added the DFPT Density Functional Perturbation Theory label May 18, 2026
@mohanchen
mohanchen requested a review from dyzheng May 18, 2026 02:03
@mohanchen mohanchen assigned dyzheng and PeizeLin and unassigned dyzheng and PeizeLin May 18, 2026
@mohanchen
mohanchen requested a review from PeizeLin May 18, 2026 02:03

@AsTonyshment AsTonyshment left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This PR establishes a foundational framework for the PW-based DFPT implementation. I have left a few inline comments, mostly regarding adding specific TODO or comments at critical mathematical steps to better guide the developers who will fill in the details. Overall LGTM.

Comment thread source/source_pw/module_dfpt/dfpt_pw.cpp
Comment thread source/source_pw/module_dfpt/dfpt_q0.cpp
abacus_fixer added 2 commits June 8, 2026 10:04
@mohanchen
mohanchen merged commit d0e0915 into deepmodeling:develop Jun 8, 2026
15 checks passed
@mohanchen
mohanchen deleted the DFPT-pw branch June 22, 2026 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DFPT Density Functional Perturbation Theory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants