Doubly hybrid methods for PySCF.
SCF must run in RI-JK currently. Correlation part (PT2 part) is definitely density fitting. Runs in disk-based way by default.
from pyscf import gto, dh
mol = gto.Mole(atom="O; H 1 0.94; H 1 0.94 2 104.5", basis="cc-pVDZ", verbose=0).build()
mf = dh.DFDH(mol, xc="XYG3").run()
print(mf.e_tot)
Name dh
refers to Doubly Hybrid.
DFDH
refers to Density Fitting Doubly Hybrid.
from pyscf import gto, dh
from pyscf.geomopt.berny_solver import optimize # or geometric_solver
mol = gto.Mole(atom="O; H 1 1.0; H 1 1.0 2 104.5", basis="cc-pVDZ", verbose=0).build()
mf = dh.DFDH(mol, xc="XYG3").nuc_grad_method()
mol_eq = optimize(mf) # optimized molecule object
from pyscf import gto, dh
mol = gto.Mole(atom="O; H 1 0.94; H 1 0.94 2 104.5", basis="cc-pVDZ", verbose=0).build()
mf = dh.DFDH(mol, xc="XYG3").polar_method().run()
print(mf.pol_tot)
Hessian is currently not implemented.
Refer to installation of PySCF Extension modules.
Declare PYSCF_EXT_PATH=$PYSCF_EXT_PATH:/path/to/dh
should work.
This extension overwhelmingly relies on pyscf-tblis.
Also recommands modifing EINSUM_MAX_SIZE
(in
tblis_einsum.py)
to much smaller value for dh
extension.
- Supported features: Res/Unrestricted single point energy, gradient, polarizability for XYG3-like and B2PLYP-like doubly functionals
- Supported doubly hybrid functionals (and MP2):
- MP2
- Early XYG3 family: XYG3, XYGJ-OS, xDH-PBE0
- xDH@B3LYP family: revXYG3, revXYGJ-OS, XYG5, XYGJ-OS5, XYG6, XYG7
- B2P family: B2PLYP, B2GPPLYP, mPW2PLYP
- PBE related: PBE0-DH, LS1DH-PBE, PBE0-2, PBE-QIDH
- Self-defined functionals (only supports pure HF or hybrid GGA functionals, if gradient/electric property is required)
Default functional is XYG3 currently.
- Quadrupole;
- Rectify APIs, and more formal logging and timing;
- API document and user document;
- Efficiency benchmarking;
- D3(BJ) dispersion derivative properties.
- Another independent module (maybe called
dheng
) handling only energy evaluation for more doubly-hybrid functionals, such as D3(BJ) dispersion, Laplace-transformation, long-range corrected PT2, renormalization based methods, random-phase-approximation (RPA) based methods, etc.; - Hessian and dipole-derivative;
- Frozen core;
- RIJONX, RICOSX and conventional SCF method supports;
- Laplace-transformation method derivatives;
- PBC energy;
- Other derivative properties ...
-
For functional energy evaluation, refers to the origin paper of those functionals.
-
For first order properties (atom nuclear gradient, dipole moment):
Neil Qiang Su, Igor Ying Zhang, Xin Xu. J. Comput. Chem. 2013, 34, 1759-1774. doi: 10.1002/jcc.23312
Analytic Derivatives for the XYG3 Type of Doubly Hybrid Density Functionals: Theory, Implementation, and Assessment
-
For second order properties (hessian of xDH obtained from conventional SCF/PT2 in Gaussian 09, where polarizability is also implemented) that relates to this work:
Yonghao Gu, Zhenyu Zhu, Xin Xu. submitted.
Predecessor of this work is Py_xDH.