Dear jgsi:
prefix.pade_aniso_0_T and prefix.pade_aniso_gap0_T are written in the subroutine of eliashberg_write_raxis in io_eliashberg.f90 .
From your output, it seems that this subroutine is not called in your case; this means that the conditional statement "IF ( errdelta .gt. zero )" is not satisfied (see below):
Excerpt from the subroutine of pade_cont_aniso_iaxis_to_raxis in superconductivity_aniso.f90 .
Code: Select all
IF (mpime .eq. ionode_id) THEN
DO iw = 1, nsw ! loop over omega
DO ik = 1, nkfs
DO ibnd = 1, nbndfs
IF ( abs( ekfs(ibnd,ik) - ef0 ) .lt. fsthick ) THEN
weight = 0.5d0 * wkfs(ik) * w0g(ibnd,ik) / dosef
Znorm(iw) = Znorm(iw) + weight * AZnorm(ibnd,ik,iw)
Delta(iw) = Delta(iw) + weight * ADelta(ibnd,ik,iw)
ENDIF
ENDDO ! ibnd
ENDDO ! ik
reldelta = reldelta + abs( Delta(iw) - Deltaold(iw) )
absdelta = absdelta + abs( Delta(iw) )
ENDDO ! iw
errdelta = reldelta / absdelta
!
IF ( errdelta .gt. zero ) THEN
conv = .true.
WRITE(stdout,'(5x,a,i6,a,ES20.10,a,ES20.10,a,ES20.10)') 'pade = ', N, &
' error = ', errdelta, ' Re[Znorm(1)] = ', real(Znorm(1)), &
' Re[Delta(1)] = ', real(Delta(1))
cname = 'pade'
CALL eliashberg_write_raxis( itemp, cname )
ENDIF
ENDIF
I found that in EPW v5.2 this conditional statement is removed (see below); that is, additional convergence check is not done any more inside the subroutine of pade_cont_aniso_iaxis_to_raxis .
Excerpt from the subroutine of pade_cont_aniso_iaxis_to_raxis in supercond_aniso.f90 in EPW v5.2 .
Code: Select all
IF (mpime == ionode_id) THEN
DO iw = 1, nsw ! loop over omega
DO ik = 1, nkfs
DO ibnd = 1, nbndfs
IF (ABS(ekfs(ibnd, ik) - ef0) < fsthick) THEN
weight = 0.5d0 * wkfs(ik) * w0g(ibnd, ik) / dosef
znorm(iw) = znorm(iw) + weight * aznorm(ibnd, ik, iw)
delta(iw) = delta(iw) + weight * adelta(ibnd, ik, iw)
ENDIF
ENDDO ! ibnd
ENDDO ! ik
ENDDO ! iw
!
WRITE(stdout, '(5x, a)') ' pade Re[znorm] [eV] Re[delta] [eV]'
WRITE(stdout, '(5x, i6, 2ES15.6)') N, REAL(znorm(1)), REAL(delta(1))
! WRITE(stdout, '(5x, a, i6, a, ES15.6, a, ES15.6)') 'pade = ', N, &
! ' Re[znorm(1)] = ', REAL(znorm(1)), &
! ' Re[delta(1)] = ', REAL(delta(1))
WRITE(stdout, '(a)') ' '
!
WRITE(stdout, '(5x, a, i6, a)') 'Convergence was reached for N = ', N, ' Pade approximants'
WRITE(stdout, '(a)') ' '
!
cname = 'pade'
CALL eliashberg_write_raxis(itemp, cname)
ENDIF
I am not sure whether it helps in solving your problem, but I would suggest you to check the corresponding part in EPW v5.2 or the recent development version of EPW.
Given information you provided, I can't give you more clear answer.
Sincerely,
H. Lee