
add special G=0 treatement for HSE functional · 5117e207
Although G=0 is not divergent for HSE, the large changes near the origin cause problems in the numerical calculation of the nonlocal exchange energy. To correct this a "divergence" correction analogously to PBE0 is introduced. subtract exp(rcut^2*G^2)*V(G) to make Fourier transform stable near G=0 set all energy contributions of G=0 in main loop to 0 add divergence correction at the end modifying the PBE0 one appropriately new function in HSEFunctional is used to calculate the scaling of the HSE "divergence" relative to the PBE0 one InteractionPotential.h contains this additional function the integrals ~k^2 are not evaluated because they are of higher order (in PBE0 the potential is ~k^{2} near G=0, so that the k^2 terms are important, in HSE the potential is ~const. near G=0, so that the k^2 terms do not contribute a lot gitsvnid: http://qboxcode.org/svn/qb/branches/hsedev@1404 cba15fb0123940c8b41711db7ca47a34
Martin Schlipf committed