[QE-developers] Gygi-Baldereschi in exx_divergence
Colonna Nicola (PSI)
nicola.colonna at psi.ch
Fri Aug 20 11:35:18 CEST 2021
Dear QE developers,
I would like to better understanding the details of the "exx_divergence" routine and in particular the
implementation of the Gygi-Baldereschi scheme.
Following the paper by Nguyen and de Gironcoli (Phys. Rev. B 79, 205114) I understand the first part
of the routine where the reciprocal-space part of the Ewald sum for a single point charge in the
supercell is computed. As far as I understand this first part is the implementation of Eq. (17) in their paper.
What I do not understand is the last part of the routine (I paste it below for clarity) which as far as I understand
is not discussed in the paper (or at least it is not obvious to me).
Any hint and/or reference to help me understand it would be greately appreciated!
Thank you for your help and best regards,
Nicola Colonna
........
!
alpha = alpha / tpiba2
!
nqq = 100000
dq = 5.0d0 / SQRT(alpha) / nqq
aa = 0._dp
!
DO iq = 0, nqq
q_ = dq * (iq+0.5d0)
qq = q_ * q_
IF ( erfc_scrlen > 0 ) THEN
aa = aa -EXP( -alpha * qq) * EXP(-qq/4.d0/erfc_scrlen**2)*dq
ELSEIF ( erf_scrlen > 0 ) THEN
aa = 0._dp
ELSE
aa = aa - EXP( -alpha * qq) * yukawa / (qq + yukawa)*dq
ENDIF
ENDDO
!
aa = aa * 8.d0/fpi
aa = aa + 1._dp/SQRT(alpha*0.25d0*fpi)
IF ( erf_scrlen > 0) aa = 1._dp/SQRT((alpha+1._dp/4.d0/erf_scrlen**2)*0.25d0*fpi)
div = div - e2*omega * aa
!
exx_divergence = div * nqs
!
CALL stop_clock( 'exx_div' )
!
RETURN
-----------------------------------------------------
PAUL SCHERRER INSTITUT
Nicola S. Colonna
WHGA/150
CH-5232 Villigen-PSI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20210820/856bb625/attachment.html>
More information about the developers
mailing list