# DFT-NL¶

Code author: Daniel G. A. Smith and Holger Kruse

Section author: Holger Kruse

Non-local (NL), density based correlation energy from the VV10 kernel can be added to arbitrary functionals.

$E_{DFT-NL}=E_{DFT}+E_{NL}$

For pre-defined functionals (see Functional overview in this Table ) it is sufficient to add -NL to the functional name:

energy('b3lyp-nl')


Modification of the parameters b and C is done setting DFT_VV10_B and DFT_VV10_C. The C is usually left unchanged and the originally proposed value of C=0.0093 is used.

Adding DFT_VV10_B to any functional activates the calculation of the VV10 kernel. A BLYP-NL calculation can be set as follows:

set DFT_VV10_B 4.0
energy('blyp')


The default C parameter will be used.

Similar to DFT_DISPERSION_PARAMETERS the tuple NL_DISPERSION_PARAMETERS can used:

set NL_DISPERSION_PARAMTERS [4.0]
energy('blyp')


which is equivalent to the example above.

Further examples can be found in the respective regression test

## post-SCF time savings¶

Substantial time-savings for energy calculations are available by evaluating the VV10 kernel only at the converged electron density, i.e. in a post-SCF fashion. The deviations from the fully self-consistent treatment are usually minimal. To activate this set DFT_VV10_POSTSCF to true.