Hello Paolo, Hello everyone, in this thread I asked in September last year (2024) about the theory behind the implementation of the local pseudopotential and how to treat the G=0 limit. Now, I have an additional question that is also concerned about the implementation of the local pseudopotential. This is why I write an e-mail in this thread instead of starting a new thread.
I would like to know why for the local pseudopotential in upflib/vloc_mod (https://github.com/QEF/q-e/blob/develop/upflib/vloc_mod.f90) the term erf(r)/r is added in G-space and subtracted in real space. I understand that this is a totally valid implementation and theoretically sound. But, from my understanding, one could also add and subtract 1/r (or any function that behaves like 1/r for large r, erf(r)/r being one of them) and end up with the same numerical values for the local pseudopotential since this would also make the function short-ranged in real space. Is there a specific reason why erf(r)/r, instead of e.g. 1/r, was chosen in the Quantum ESPRESSO implementation to calculate the local pseudopotential? Best regards Erik -----Ursprüngliche Nachricht----- Von: Paolo Giannozzi <[email protected]> Gesendet: Montag, 9. September 2024 18:48 An: Schultheis, Erik <[email protected]> Cc: [email protected] Betreff: Re: AW: AW: [QE-users] [SPAM] Fourier Transform of Local Pseudopotential and G=0 limit On 09/09/2024 14:49, [email protected] wrote: > But, similarly, why would one calculate the G=0 limit of V(r) + Z erf(r)/r? One would not: it is useless. The correct G=0 limit is computed instead > This comment in the source code ... is just a reminder of what I just wrote, in case one is puzzled by the difference between the G=0 term and the finite-G (or finite-q, whatever you prefer) term > !! q = 0 case, continuous for q -> 0 > !! NOT THE SAME AS THE G=0 TERM, computed below Paolo > Also explicitly differentiates between q and G but both are momentum vectors > and q=0 should implicate G=0. > > Best regards > Erik > > -----Ursprüngliche Nachricht----- > Von: Paolo Giannozzi <[email protected]> > Gesendet: Freitag, 23. August 2024 12:36 > An: Schultheis, Erik <[email protected]> > Cc: [email protected] > Betreff: Re: AW: [QE-users] [SPAM] Fourier Transform of Local > Pseudopotential and G=0 limit > > Yes, exactly. > > Paolo > > > On 23/08/2024 11:47, [email protected] wrote: >> Hi Paolo, >> >> Thanks for your quick answer. >> >> Point 2 is clear to me since it only applies to G!=0. >> After thinking what you wrote in Point 1 and finding further information in >> Warren E. Picketts " Pseudopotential Methods in Condensed Matter >> Applications" >> (https://www.sciencedirect.com/science/article/pii/0167797789900026), >> especially around equation (5.20), I now have an idea what might happen here. >> >> You are saying that the local potential V_loc plus the Hartree potential >> yield the "alpha Z" term for G=0. In the work of Pickett he writes that the >> formally divergent terms in the ion-ion interaction, the coulomb interaction >> of the electrons, and the local pseudopotential combine to give the finite >> Ewald energy (which is clear to me) and the "alpha Z" term. From this, I >> guess that the electronic background, i.e. the coulomb interaction of the >> electrons, cancels the -Z/r behavior of the local pseudopotential V_loc. But >> since V_loc is not exactly -Z/r only its -Z/r part is canceled and the >> remaining (non-Coulomb) part is still to be calculated in the G=0 limit. >> Let's write V_loc(r) = V_loc(r) - (-Z/r) + (-Z/r) = (V_loc(r) + Z/r) - Z/r. >> Then the first term is the non-Coulomb part of V_loc and the second term >> (-Z/r) is the Coulomb part of V_loc. The second term is cancelled by the >> electronic background (Hartree potential) while the first term is not. So >> the G=0 limit of (V_loc(r) + Z/r), i.e. the "alpha Z" term, has to be >> calculated to get the correct G=0 limit of V_loc. >> >> Is this the correct reasoning behind the "alpha Z" term? >> >> Best regards >> Erik >> >> -----Ursprüngliche Nachricht----- >> Von: Paolo Giannozzi <[email protected]> >> Gesendet: Donnerstag, 22. August 2024 18:35 >> An: Schultheis, Erik <[email protected]> >> Cc: Quantum ESPRESSO users Forum <[email protected]> >> Betreff: Re: [QE-users] [SPAM] Fourier Transform of Local >> Pseudopotential and G=0 limit >> >> You are mixing up two different aspects: >> 1. V(G=0) for the local+Hartree potential is not divergent and yields the >> "alpha Z" term. Of course, one sets V_H(G=0)=0. >> 2. The local potential V(r) behaves as -Ze^2/r for large r, making direct >> computation of V(G) problematic. One removes the long-range behavior by >> adding to V(r) a function f(r)=Ze^2 erf(r)/r in real space; performs the >> Fourier transform; subtracts out f(G)=4\pi Z e^2 exp(-G^2)/\Omega G^2 or >> something like that from V(G). All this applies to G!=0. >> >> Paolo >> >> On 20/08/2024 11:54, Erik Schultheis via users wrote: >>> 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/de3035747f5d8f2ec9a67869827341ebb43 >>> f 5b12/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/de3035747f5d8f2ec9a67869827341ebb43 >>> f 5b12/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 >>> >>> [email protected] <mailto:[email protected]> | LinkedIn >>> <https://www.linkedin.com/in/erik-schultheis-930549243/> >>> >>> >>> _______________________________________________ >>> The Quantum ESPRESSO community stands by the Ukrainian people and >>> expresses its concerns about the devastating effects that the >>> Russian military offensive has on their country and on the free and >>> peaceful scientific, cultural, and economic cooperation amongst >>> peoples _______________________________________________ >>> Quantum ESPRESSO is supported by MaX (www.max-centre.eu) users >>> mailing list [email protected] >>> https://lists.quantum-espresso.org/mailman/listinfo/users >> > > -- > Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche, > Univ. Udine, via delle Scienze 206, 33100 Udine Italy, +39-0432-558216 > X SCUOLA ENERGIE RINNOVABILI 16-21/9/2024 - PRE-ISCRIZIONE > https://agenda.infn.it/event/39573/ -- Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche, Univ. Udine, via delle Scienze 206, 33100 Udine Italy, +39-0432-558216 X SCUOLA ENERGIE RINNOVABILI 16-21/9/2024 _______________________________________________________________________________ The Quantum ESPRESSO Foundation stands in solidarity with all civilians worldwide who are victims of terrorism, military aggression, and indiscriminate warfare. -------------------------------------------------------------------------------- Quantum ESPRESSO is supported by MaX (www.max-centre.eu) users mailing list [email protected] https://lists.quantum-espresso.org/mailman/listinfo/users
