I am reading the code of EPW (version 4.3) recently and confused by a section of the subroutine "evaluate_a2f_lambda" in the file "eliashberg_setup.f90". In the lines between 238 and 280, some loops are used to compute anisotropic Eliashberg spectrum. Part of the code reads:
Code: Select all
DO iq = 1, nqfs(ik)
! iq0 - index of q-point on the full q-mesh
iq0 = ixqfs(ik,iq)
DO jbnd = 1, nbndfs
IF ( abs( ekfs(jbnd,ixkqf(ik,iq0)) - ef0 ) .lt. fsthick ) THEN
weight = wkfs(ik) * wqf(iq) * w0g(ibnd,ik) * w0g(jbnd,ixkqf(ik,iq0))
lambda_eph = 0.d0
In my opinion, the wqf(iq), which appears in the last but one line of the above code, should be replaced by wqf(iq0), because the array "wqf" is the weight of the q point on the full q-mesh, and the index iq0 is no other than the index of q-point on the full q-mesh. So I think the index iq should be replaced by iq0.
Can anyone help me to clarify my the confusion?
Bests!