10integer,
intent(in) :: ik
11real(8),
intent(inout) :: gwf2mt(npmtmax,natmtot),gwf2ir(ngtot)
13integer ispn,jspn,nst,ist,jst
14integer is,ia,ias,nrc,nrci,npc
20complex(8) gwfmt(npcmtmax,3),zfmt(npcmtmax)
22complex(8),
allocatable :: apwalm(:,:,:,:,:),evecfv(:,:),evecsv(:,:)
23complex(8),
allocatable :: wfmt(:,:,:,:),wfgk(:,:,:)
24complex(8),
allocatable :: zfft(:)
29 call match(
ngk(ispn,ik),
vgkc(:,:,ispn,ik),
gkc(:,ispn,ik),
sfacgk(:,:,ispn,ik),&
44call genwfsv(.true.,.true.,nst,idx,
ngdgc,
igfc,
ngk(:,ik),
igkig(:,:,ik),apwalm, &
45 evecfv,evecsv,wfmt,
ngkmax,wfgk)
62 wfmt(:,ias,ispn,ist),npcmtmax,gwfmt)
65 call zbsht(nrc,nrci,gwfmt(:,i),zfmt)
67 gwf2mt(1:npc,ias)=gwf2mt(1:npc,ias) &
68 +wo*(dble(zfmt(1:npc))**2+aimag(zfmt(1:npc))**2)
90 zfft(ifg)=
vgkc(i,igk,jspn,ik)*
zi*z1
94 +wo*(dble(zfft(1:
ngtc))**2+aimag(zfft(1:
ngtc))**2)
subroutine genwfsv(tsh, tgp, nst, idx, ngridg_, igfft_, ngp, igpig, apwalm, evecfv, evecsv, wfmt, ld, wfir)
subroutine getevecfv(fext, ikp, vpl, vgpl, evecfv)
subroutine getevecsv(fext, ikp, vpl, evecsv)
subroutine gradwf2(ik, gwf2mt, gwf2ir)
subroutine gradzfmt(nr, nri, ri, wcr, zfmt, ld, gzfmt)
subroutine match(ngp, vgpc, gpc, sfacgp, apwalm)
real(8), dimension(:,:,:,:), allocatable vgkc
real(8), dimension(:), allocatable wkpt
real(8), dimension(:,:,:), allocatable gkc
integer, dimension(3) ngdgc
integer, dimension(maxspecies) natoms
integer, dimension(maxatoms, maxspecies) idxas
integer, dimension(:,:), allocatable ngk
integer, dimension(:,:,:), allocatable igkig
integer, dimension(maxspecies) nrcmt
integer, dimension(:), allocatable igfc
real(8), dimension(:,:,:), allocatable rlcmt
real(8), dimension(:,:,:), allocatable wcrcmt
real(8), dimension(:,:,:,:), allocatable vgkl
integer, dimension(maxspecies) npcmt
integer, dimension(2) jspnfv
real(8), dimension(:,:), allocatable vkl
complex(8), dimension(:,:,:,:), allocatable sfacgk
integer, dimension(maxspecies) nrcmti
real(8), dimension(:,:), allocatable occsv
subroutine zbsht(nr, nri, zfmt1, zfmt2)
subroutine zfftifc(nd, n, sgn, z)