[QE-users] [SPAM] Fourier Transform of Local Pseudopotential and G=0 limit
Erik.Schultheis at dlr.de
Erik.Schultheis at dlr.de
Tue Aug 20 11:54:08 CEST 2024
Hello everyone,
In /upflib/vloc_mod.f90<https://github.com/QEF/q-e/blob/de3035747f5d8f2ec9a67869827341ebb43f5b12/upflib/vloc_mod.f90> the Fourier transform of the local pseudopotential V_loc is calculated. My question is about how one can derive the G=0 term<https://github.com/QEF/q-e/blob/de3035747f5d8f2ec9a67869827341ebb43f5b12/upflib/vloc_mod.f90#L160>.
Now I will describe how I understand the G=0 term and how this differs from what is implemented.
Since the local potential is long-ranged, which results in problems when performing the Fourier transformation, the long-range part is subtracted in real-space and added back in reciprocal space.
We then calculate the Fourier transform of [V_loc(r) + erf(r)/r] - erf(r)/r. The Fourier transform of the term in []-parentheses is the integral over (r V_loc(r)+erf(r)) sin(Gr)/G where we integrate r from 0 to infinity. The G=0 case for this integral is no problem since the function is continuous in the G -> 0 limit, where sin(Gr)/G becomes r. This is implemented in this loop<https://github.com/QEF/q-e/blob/de3035747f5d8f2ec9a67869827341ebb43f5b12/upflib/vloc_mod.f90#L133>.
The Fourier transform of the remaining -Ze^2 erf(r)/r is implemented in this loop<https://github.com/QEF/q-e/blob/de3035747f5d8f2ec9a67869827341ebb43f5b12/upflib/vloc_mod.f90#L296>, which is
4 pi/V 1/G^2 e^(-G^2/4).
There the G -> 0 limit is explicitly excluded and should, in my opinion, be the G = 0 term calculated here<https://github.com/QEF/q-e/blob/de3035747f5d8f2ec9a67869827341ebb43f5b12/upflib/vloc_mod.f90#L157> but is not. The limit G -> 0 of the above term is (using the series expansion of the exponential)
lim G -> 0 (4 pi/V 1/G^2 - pi/V) which is divergent
But, the G = 0 term implemented is the integral over r^2 (V_loc(r)+1/r), also called the "alpha Z" energy term in the code documentation, where I do not understand where the 1/r term comes from and, if added here, where it is subtracted again to not change the local potential. This suggests that something like [V_loc(r) + 1/r] - 1/r is used for the G=0 term but the subtracted -1/r term is never calculated.
I thought that this can be explained by 4 pi/V 1/G^2 from the above limit which is the Fourier transform of 1/r, but then the V_loc(r) term is missing. As you see, I am confused.
Further, I could not find any literature about calculating the Fourier transform of the local pseudopotential. The only reference I found that also mentions this "alpha Z" energy term is Phys. Rev. B 69, 075101<https://journals.aps.org/prb/abstract/10.1103/PhysRevB.69.075101> in equation (12). Since they do not provide a motivation of this term besides that it is "the non-Coulomb part of the pseudopotential at q=0", I cannot understand where this term comes from.
Can anyone help me understand the origin of the G=0 term implemented in QuantumEspresso?
Best regards
Erik Schultheis
#CallMeByMyFirstName
German Aerospace Center (DLR)
Institute of Materials Research
Linder Höhe | 51147 Cologne
Erik Schultheis M. Sc.
Metallic and Hybrid Materials
Telephone: +49 (0) 2203 601 1311
erik.schultheis at dlr.de<mailto:erik.schultheis at dlr.de> | LinkedIn<https://www.linkedin.com/in/erik-schultheis-930549243/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20240820/9eea9abe/attachment.html>
More information about the users
mailing list