projects / Periodic double-hybrid DFT

Periodic double-hybrid DFT

● active 2026 — python, pyscf github ↗
kdh cover art

Double-hybrid functionals replace part of a hybrid functional’s correlation with an MP2-style term built from its own orbitals, which makes them some of the most accurate DFT available. That MP2 step is exactly what most periodic codes lack, so double hybrids have stayed mostly molecular. kdh brings the family to k-point periodic calculations as an extension to PySCF.

Three drivers cover the common cases. KRDH handles k-point periodic systems on top of PySCF’s KMP2, with spin-component scaling and safety gates on the reference. RDFDH and UDFDH handle closed- and open-shell molecules, with an optional density-fitting path. A functional registry maps names like B2PLYP, XYG3, and the DSD family onto their exchange, correlation, and PT2 coefficients, and D3 dispersion is built in.

The closed-shell driver carries an analytic nuclear gradient, validated to 4e-7 Ha/bohr against finite differences. A 120-test suite passes on stock PySCF, and the periodic driver has been exercised in a lattice-constant validation campaign across twelve solids on HPC clusters.