Based on an idea that has earlier been proposed for Hartree-Fock calculations [88,89], a general empirical dispersion correction has been proposed by Stefan Grimme for density functional calculations . A modified version of the approach with extension to more elements and more functionals has been published in ref. . The most recent implementation  is less empirical, i.e. the most important parameters are computed by first principles, and it provides a consistent description across the whole periodic system.
The first version (DFT-D1) can be invoked by the keyword $olddisp in the
control file. The second version (DFT-D2) is used if the keyword $disp is found.
For the usage of DFT-D3 just add keyword $disp3 to the control file. Only one of the three keywords is expected to be present.
If DFT-D3 is used, the total energy is given by
where EKS-DFT is the usual self-consistent Kohn-Sham energy as obtained from the chosen functional and Edisp is a dispersion correction given by the sum of two- and three-body energies
with the dominating two-body term
The first sum runs over all atom pair, CnAB denotes the nth-order dispersion coefficient for atom pair AB, rAB is their interatomic distance, and fd,n is a damping function.
Becke-Johnson (BJ) damping can be invoked by adding the option bj or -bj to the $disp3 keyword: $disp bj If you use this damping option please also cite .
The three-body term can be switched on by adding abc to the $disp3 input line, i.e. to use it in combination with Becke-Johnson damping just add $disp3 bj abc
It is also possible not to use the functional name given in the control file but to tell the DFT-D3 routines to use the parameters which have been fitted to a specific functional. Just as in the original DFT-D3 routines, this can be selected by adding the func option, for example $disp3 bj func pbe0. It is recommeded to use this option as the last one in the $disp3 input line.
Please have look at DFT-D3 homepage, Grimme group Bonn for more detailed information.