6 subroutine genvmatk(vmt,vir,ngp,igpig,wfmt,ld,wfgp,vmat)
14 real(8),
intent(in) :: vmt(npcmtmax,natmtot),vir(ngtc)
15 integer,
intent(in) :: ngp(nspnfv),igpig(ngkmax,nspnfv)
16 complex(4),
intent(in) :: wfmt(npcmtmax,natmtot,nspinor,nstsv)
17 integer,
intent(in) :: ld
18 complex(4),
intent(in) :: wfgp(ld,nspinor,nstsv)
19 complex(8),
intent(out) :: vmat(nstsv,nstsv)
21 integer ist,jst,nj,ispn,jspn
22 integer is,ias,nrc,nrci,nrco
24 integer ld1,ld2,n,igp,nthd
26 complex(4) wfmt1(npcmtmax),wfmt2(npcmtmax)
27 complex(4) wfir(ngtc),c(ngkmax),y(nstsv)
29 real(4),
external :: sdot
30 ld1=npcmtmax*natmtot*nspinor
55 wfmt1(1:npc)=vmt(1:npc,ias)*wfmt(1:npc,ias,ispn,jst)
64 call cgemm(
'N',
'N',
lmmaxi,nrci,
lmmaxi,
cone,
vmatmti(1,1,1,1,ias), &
66 call cgemm(
'N',
'N',
lmmaxo,nrco,
lmmaxo,
cone,
vmatmto(1,1,1,1,ias), &
69 wfmt1(1:npc)=wfmt1(1:npc)+wfmt2(1:npc)
73 call cgemv(
'C',npc,nj,
cone,wfmt(1,ias,ispn,1),ld1,wfmt1,1,
czero,y,1)
74 vmat(1:nj,jst)=vmat(1:nj,jst)+y(1:nj)
75 vmat(jst,jst)=vmat(jst,jst)+sdot(npc2,wfmt(1,ias,ispn,jst),1,wfmt1,1)
92 wfir(
igfc(igpig(igp,jspn)))=wfgp(igp,ispn,jst)
96 wfir(1:ngtc)=vir(1:ngtc)*wfir(1:ngtc)
100 c(igp)=wfir(
igfc(igpig(igp,jspn)))
103 call cgemv(
'C',n,nj,
cone,wfgp(1,ispn,1),ld2,c,1,
czero,y,1)
104 vmat(1:nj,jst)=vmat(1:nj,jst)+y(1:nj)
105 vmat(jst,jst)=vmat(jst,jst)+sdot(n*2,wfgp(1,ispn,jst),1,c,1)
114 vmat(ist,jst)=conjg(vmat(jst,ist))
integer, dimension(maxspecies) npcmt
complex(4), dimension(:,:,:,:,:), allocatable vmatmti
complex(4), parameter czero
complex(4), parameter cone
subroutine cfftifc(nd, n, sgn, c)
complex(4), dimension(:,:,:,:,:), allocatable vmatmto
subroutine genvmatk(vmt, vir, ngp, igpig, wfmt, ld, wfgp, vmat)
integer, dimension(:), allocatable igfc
logical, dimension(:,:), allocatable tvmmt
real(8), dimension(:,:), allocatable wr2cmt
integer, dimension(maxspecies) npcmti
integer, dimension(maxatoms *maxspecies) idxis
integer, dimension(3) ngdgc
subroutine holdthd(nloop, nthd)
integer, dimension(maxspecies) nrcmt
integer, dimension(maxspecies) nrcmti
integer, parameter lmaxdm
pure subroutine cfcmtwr(nr, nri, wr, cfmt)
integer, dimension(2) jspnfv