11 integer,
intent(in) :: ik
12 complex(8),
intent(out) :: amn(num_bands,num_wann)
14 integer ispn,ist,is,ias
19 complex(8) f(-3:3),g(7),zsm
21 complex(8),
allocatable :: apwalm(:,:,:,:,:),evecfv(:,:,:),evecsv(:,:)
22 complex(8),
allocatable :: wfmt(:,:,:)
29 call match(
ngk(ispn,ik),
vgkc(:,:,ispn,ik),
gkc(:,ispn,ik),
sfacgk(:,:,ispn,ik),&
47 call wfmtsv(.true.,
lradstp,is,ias,num_bands,
idxw90,
ngk(:,ik),apwalm,evecfv, &
56 sm=sum(abs(wfmt(lm:lm+ni:
lmmaxi,ispn,ist))*
wr2cmt(1:nrci,is))
57 zsm=sum(wfmt(lm:lm+ni:
lmmaxi,ispn,ist)*
wr2cmt(1:nrci,is))
63 sm=sm+sum(abs(wfmt(i:i+no:
lmmaxo,ispn,ist))*
wr2cmt(irco:nrc,is))
64 zsm=zsm+sum(wfmt(i:i+no:
lmmaxo,ispn,ist)*
wr2cmt(irco:nrc,is))
85 deallocate(apwalm,evecfv,evecsv,wfmt)
92 integer,
intent(in) :: l
93 complex(8),
intent(in) :: f(-3:3)
94 complex(8),
intent(out) :: g(7)
96 real(8),
parameter :: c1=0.7071067811865475244d0
103 g(3)=-c1*
zi*(f(-1)+f(1))
108 g(5)=c1*
zi*(f(2)-f(-2))
113 g(7)=-c1*
zi*(f(-3)+f(3))
integer, dimension(maxspecies) npcmt
subroutine getevecsv(fext, ikp, vpl, evecsv)
subroutine getevecfv(fext, ikp, vpl, vgpl, evecfv)
subroutine match(ngp, vgpc, gpc, sfacgp, apwalm)
complex(8), dimension(:,:,:,:), allocatable sfacgk
integer, dimension(:,:), allocatable ngk
real(8), dimension(:,:,:,:), allocatable vgkl
integer, dimension(:), allocatable idxw90
real(8), dimension(maxspecies) rmt
integer, dimension(:,:,:), allocatable prjwn
real(8), dimension(:,:,:,:), allocatable vgkc
real(8), dimension(:,:), allocatable vkl
real(8), dimension(:,:), allocatable wr2cmt
integer, dimension(maxspecies) npcmti
integer, dimension(maxatoms *maxspecies) idxis
real(8), dimension(:,:,:), allocatable gkc
real(8), parameter fourpi
subroutine projkw90(ik, amn)
integer, dimension(maxspecies) nrcmt
integer, dimension(maxspecies) nrcmti
subroutine wfmtsv(tsh, lrstp, is, ias, nst, idx, ngp, apwalm, evecfv, evecsv, ld, wfmt)
integer, dimension(maxspecies) lprojw90
pure subroutine ftogw90(l, f, g)