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