Skip to content
/ dh Public

A trial to implement doubly-hybrid interface to PySCF

License

Notifications You must be signed in to change notification settings

ajz34/dh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dh

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.

Usage

Energy evaluation

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.

Geometric optimization

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

Polarizability

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.

Install

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.

Availibility and Limitations

  • Supported features: Res/Unrestricted single point energy, gradient, polarizability for XYG3-like and B2PLYP-like doubly functionals
  • Supported doubly hybrid functionals (and MP2):

Default functional is XYG3 currently.

Near Future Plans

  • Quadrupole;
  • Rectify APIs, and more formal logging and timing;
  • API document and user document;
  • Efficiency benchmarking;
  • D3(BJ) dispersion derivative properties.

Future Plans?

  • 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 ...

Bibliography

  • 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.

About

A trial to implement doubly-hybrid interface to PySCF

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages