Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement VV10 non-local correlation #73

Open
susilehtola opened this issue Aug 24, 2023 · 2 comments
Open

Implement VV10 non-local correlation #73

susilehtola opened this issue Aug 24, 2023 · 2 comments
Labels
new-functionality Adds a capability to GauXC

Comments

@susilehtola
Copy link
Contributor

The Vydrov-van Voorhis non-local correlation model is used in many density functionals. Since it is evaluated from the density on a quadrature grid and does not depend on the basis set, the logical place to put it would be in GauXC.

$$ E_\text{nlc} = \frac 1 2 \int n({\bf r}) K({\bf r}, {\bf r}') n({\bf r}') {\rm d}^3r {\rm d}^3r' $$

Also other types of non-local correlation models might be implemented in GauXC. On the solid state side, libvdwxc provides implementations for many non-local correlation functionals but their implementations assume a uniform grid like is used in plane-wave and pseudo-atomic orbital approaches.

@wavefunction91
Copy link
Owner

Paper for future reference
Vydrov and Van Voorhis, J. Chem. Phys. 133, 244103 (2010) [doi:10.1063/1.3521275]

@susilehtola
Copy link
Contributor Author

It would be good to have both energies and gradients. VV10 is often evaluated non-self-consistently for single points, since the relaxation effect is small. The VV10 evaluation requires a 6D integral. Key to the efficiency of the approach is that both integrals are done on the same quadrature grid; this is not really well-described in the papers, and the typical - and erroneous - assumption is that the inner integral is done on the small grid and the outer is done on the XC grid. However, this turns out not to be necessary and the small grid is used for both the inner and outer integral.

@wavefunction91 wavefunction91 added the new-functionality Adds a capability to GauXC label Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new-functionality Adds a capability to GauXC
Projects
None yet
Development

No branches or pull requests

2 participants