S. Grimme's dispersion correction for DFT, Hartree--Fock, and semi-empirical quantum chemical methods