Skip to content

Plane-Wave Mode - #161

Merged
sunqm merged 47 commits into
pyscf:masterfrom
kylebystrom:pwscf_pr
Mar 3, 2026
Merged

sunqm merged 47 commits into
pyscf:masterfrom
kylebystrom:pwscf_pr

Conversation

@kylebystrom

Copy link
Copy Markdown
Contributor

The pyscf.pbc.pwscf module provides experimental support for Hartree-Fock (HF),
density functional theory (DFT), second-order Møller-Plesset perturbation theory (MP2),
and coupled cluster singles doubles (CCSD) in a plane-wave basis.
The CCECP and GTH pseudopotentials are supported for these methods,
and SG15 pseudopotentials are supported for HF and DFT calculations.
Occupation smearing and symmetry reduction of k-point meshes are implemented for HF and DFT.

@hongzhouye wrote the initial version of the plane-wave mode with Hartree-Fock, MP2, and CCSD.

Feature Overview

The following self-consistent field (SCF) calculations are supported:

  • Hartree-fock (Restricted and Unrestricted)
  • Kohn-Sham DFT (Restricted and Unrestricted), with LDA, GGA, MGGA, and global hybrid functionals

Currently, the Davidson algorithm is implemented for the effective Hamiltonian diagonalization.
There are two mixing schemes for the effective potential, "Simple" and "Anderson" (DIIS).
Symmetry reduction of k-points is supported for SCF calculations, along with occupation
smearing. The default plane-wave basis set and integration grid are determined by cell.mesh,
but these can be customized using the energy cutoffs ecut_wf and ecut_rho or by setting
meshes directly using PWKSCF.set_meshes().

The following post-SCF calculations are supported:

  • MP2 (Restricted and Unrestricted)
  • CCSD (Restricted only)

K-point symmetry and occupation smearing are currently not supported for post-SCF
methods. The PWKSCF.get_cpw_virtual() method can be used to create virtual
molecular orbitals in a GTO basis for use in post-SCF calculations.

Plane-wave calculations can be performed with GTH or CCECP pseudopotentials
(or all-electron for very small atoms). There is also basic support for SG15
norm-conserving pseudopotentials. The post-SCF methods have been tested with GTH
and CCECP but not SG15, while the SCF methods have been tested with GTH, CCECP, and SG15.

Comment thread pyscf/pbc/pwscf/ncpp_cell.py Outdated
Comment thread examples/pwscf/README.md
Comment thread pyscf/pbc/pwscf/test/__init__.py Outdated
Comment thread examples/pwscf/sg15.py Outdated
Comment thread pyscf/pbc/pwscf/ao2mo/molint.py Outdated
Comment thread pyscf/pbc/pwscf/pw_helper.py Outdated
Comment thread pyscf/pbc/pwscf/kpt_symm.py Outdated
Comment thread pyscf/pbc/pwscf/krks.py Outdated
Comment thread pyscf/pbc/pwscf/krks.py
Comment thread examples/pwscf/kccsd.py
* docs, warnings, and a bug fix for sg15
* refactor init_jk and init_pp and build functions
* convergence check for CCSD
* damping factor for Anderson mixing
* update unit tests for pyscf 2.11
* remove unneeded __init__.py
* other minor fixes for code review
@fishjojo

Copy link
Copy Markdown
Collaborator

need attributes like max_cycle and conv_tol to control the CC iterations.

@sunqm sunqm mentioned this pull request Feb 14, 2026
@sunqm
sunqm merged commit 68e6e09 into pyscf:master Mar 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants