I am trying to obtain band resolved Eliashberg spectral function, as a part of an attempt to have multi-band isotropic Eliashberg equation. I located a part of code in eliashberg_setup.f90. I hope to know if I can get band resolved Eliashberg spectral function by fixing ibnd and jbnd in following code. Thank you very much for your help.
Code: Select all
DO ik = lower_bnd, upper_bnd
[color=#FF0000]DO ibnd = 1, nbndfs[/color]
IF ( abs( ekfs(ibnd,ik) - ef0 ) .lt. fsthick ) THEN
DO iq = 1, nqfs(ik)
! iq0 - index of q-point on the full q-mesh
iq0 = ixqfs(ik,iq)
[color=#FF0000]DO jbnd = 1, nbndfs[/color]
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
DO imode = 1, nmodes
IF ( wf(imode,iq0) .gt. eps_acustic ) THEN
IF ( ismear .eq. 1 ) THEN
lambda_eph = lambda_eph + g2(ik,iq,ibnd,jbnd,imode) / wf(imode,iq0)
ENDIF
DO iwph = 1, nqstep
weightq = w0gauss( ( wsph(iwph) - wf(imode,iq0) ) / sigma, 0 ) / sigma
a2f(iwph,ismear) = a2f(iwph,ismear) + weight * weightq * g2(ik,iq,ibnd,jbnd,imode)
IF ( ismear .eq. 1 ) THEN
a2f_modeproj(imode,iwph) = a2f_modeproj(imode,iwph) +&
weight * weightq * g2(ik,iq,ibnd,jbnd,imode)
ENDIF
ENDDO ! iwph
ENDIF ! wf
ENDDO ! imode
IF ( ismear .eq. 1 .AND. lambda_eph .gt. 0.d0 ) THEN
l_sum = l_sum + weight * lambda_eph
weight = wqf(iq) * w0g(jbnd,ixkqf(ik,iq0))
lambda_k(ik,ibnd) = lambda_k(ik,ibnd) + weight * lambda_eph
IF ( lambda_eph .gt. lambda_max(my_pool_id+1) ) THEN
lambda_max(my_pool_id+1) = lambda_eph
ENDIF
ENDIF
ENDIF ! ekq
ENDDO ! jbnd
ENDDO ! iq
ENDIF ! ekk
ENDDO ! ibnd