Releases: ajz34/dh
Releases · ajz34/dh
Additional Functional and Efficiency for Non-consistent Functionals
This extension has been utilized for benchmarking recently. It seems haven't experienced errors or faulty results, and I'm quite satisfied with efficiency (given enough memory though).
I think algorithms of RI-JK reference RI-PT2 doubly hybrid polarizability and gradient could freeze here. Space of efficiency improvement is probably limited.
New functionals:
- DSD family with D3(BJ) dispersion correction (version 2013): DSD-PBEP86-D3, DSD-PBEPBE-D3, DSD-BLYP-D3, DSD-PBEB95-D3
- B2PLYP-D3
- Non-consistent functionals: HF-B3LYP, HF-PBE0 (no PT2 contribution, which was previously supported for calculation, but not defined as a keyword)
Other features:
- Non-consistent functionals energy, gradient, polarizability calculation now won't call any PT2 modules, and auxiliary basis integrals for PT2 will not be generated.
- Change default dft integral engine to LibXC. For most cases of mine, LibXC performs more efficient, and LibXC supports more functionals; but subtle errors are more likely to happen. BLYP and PBE based functionals seems no problems, so most GGA based doubly functionals is probably okay.
- Gradient contribution from GGA functional now directly calls PySCF's utilities, which is faster than my previous implementation.
Possible bugs:
- P86 correlation functional energy value have very subtle difference compared to other softwares.
Algorithm Change
Change default gradient_gga engine to PySCF's hessian.rks._get_vxc_deriv1
and grad.rks.get_vxc
Minor add functionality
Added more functionals since last update:
- revXYG3, XYG5, XYG6, XYG7, revXYGJ-OS, XYGJ-OS5
- B2GPPLYP, LS1DH-PBE
Added setup.py and updated README.md
Initial release
Ability:
- Restricted and unrestricted available
- Single point energy, gradient, polarizability
- Currently only RI-JK density-fitting is fully supported
- Supported functionals:
- MP2
- XYG3
- XYGJ-OS (not in LT-SOS form)
- xDH-PBE0 (not in LT-SOS form)
- B2PLYP
- mPW2PLYP
- PBE0-DH
- PBE-QIDH
- PBE0-2
- Other functionals is still possible to be defined manually by
xc
argument, if functional is XYG3-like or B2PLYP-like, and the gga parts could be evaluated by libxc (energy, gradient) and xcfun (polarizability)