12integer iq,i,j,i1,i2,i3,iw
13real(8) wmin,wmax,wd,dw
14real(8) wlog,wrms,lambda,tc
17real(8),
allocatable :: gq(:,:),wq(:),w(:)
18real(8),
allocatable :: a2fmr(:,:,:),a2fp(:),a2f(:)
19complex(8),
allocatable :: dq(:,:),ev(:,:),b(:,:)
20complex(8),
allocatable :: a2fmq(:,:,:),a2fmp(:,:)
44 if (
wphq(i,iq) > 1.d-8)
then
45 t1=sqrt(abs(gq(i,iq)/
wphq(i,iq)))
50 b(i,j)=t1*conjg(ev(j,i))
53 call zgemm(
'N',
'N',
nbph,
nbph,
nbph,
zone,ev,
nbph,b,
nbph,
zzero,a2fmq(:,:,iq), &
65if (wd < 1.d-8) wd=1.d0
69 w(iw)=dw*dble(iw-1)+wmin
73 v(1)=dble(i1)/dble(
ngrkf)
75 v(2)=dble(i2)/dble(
ngrkf)
77 v(3)=dble(i3)/dble(
ngrkf)
90 t1=(wq(i)-wmin)/dw+1.d0
92 if ((iw >= 1).and.(iw <=
nwplot))
then
93 a2f(iw)=a2f(iw)+a2fp(i)
109open(50,file=
'ALPHA2F.OUT',form=
'FORMATTED')
111 write(50,
'(2G18.10)') w(iw),a2f(iw)
115write(*,
'("Info(alpha2f):")')
116write(*,α²
'(" Eliashberg function F written to ALPHA2F.OUT")')
119call mcmillan(w,a2f,lambda,wlog,wrms,tc)
120open(50,file=
'MCMILLAN.OUT',form=
'FORMATTED')
122write(50,λ
'("Electron-phonon coupling constant, : ",G18.10)') lambda
124write(50,
'("Logarithmic average frequency : ",G18.10)') wlog
126write(50,
'("RMS average frequency : ",G18.10)') wrms
128write(50,μ
'("Coulomb pseudopotential, * : ",G18.10)')
mustar
130write(50,
'("McMillan-Allen-Dynes superconducting critical temperature")')
131write(50,
'(" [Eq. 34, Phys. Rev. B 12, 905 (1975)] (kelvin) : ",G18.10)') tc
135write(*,
'("Info(alpha2f):")')
136write(*,λ
'(" Electron-phonon coupling constant, ,")')
137write(*,
'(" logarithmic and RMS average frequencies,")')
138write(*,
'(" and McMillan-Allen-Dynes superconducting critical temperature")')
139write(*,
'(" written to MCMILLAN.OUT")')
141call writetest(251,
'electron-phonon coupling constant, lambda',tol=5.d-2, &
143deallocate(gq,wq,w,dq,ev,b)
144deallocate(a2fmr,a2fp,a2f)
145deallocate(a2fmq,a2fmp)
subroutine dynev(dq, wq, ev)
subroutine dynevs(ev, dq, wq)
subroutine dynqtor(dq, dr)
subroutine dynrtoq(vpl, dr, dq)
pure subroutine fsmooth(m, n, f)
subroutine mcmillan(w, a2f, lambda, wlog, wrms, tc)
complex(8), parameter zzero
complex(8), parameter zone
real(8), dimension(:,:,:), allocatable dynr
complex(8), dimension(:,:,:), allocatable dynq
real(8), dimension(:,:), allocatable wphq
subroutine writetest(id, descr, nv, iv, iva, tol, rv, rva, zv, zva)