Skip to content

Add the framework of DFPT in plane wave basis#7356

Open
mohanchen wants to merge 2 commits into
deepmodeling:developfrom
mohanchen:DFPT-pw
Open

Add the framework of DFPT in plane wave basis#7356
mohanchen wants to merge 2 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
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.

3 participants