6subroutine genolpq(nst,expqmt,ngpq,igpqig,wfmt,wfir,wfmtq,wfgpq,oq)
11integer,
intent(in) :: nst
12complex(8),
intent(in) :: expqmt(npcmtmax,natmtot)
13integer,
intent(in) :: ngpq(nspnfv),igpqig(ngkmax,nspnfv)
14complex(8),
intent(in) :: wfmt(npcmtmax,natmtot,nspinor,nst)
15complex(8),
intent(in) :: wfir(ngtc,nspinor,nst)
16complex(8),
intent(in) :: wfmtq(npcmtmax,natmtot,nspinor,nst)
17complex(8),
intent(in) :: wfgpq(ngkmax,nspinor,nst)
18complex(8),
intent(out) :: oq(nst,nst)
21integer is,ias,nrc,nrci,npc
22integer ld1,ld2,igpq,nthd
25complex(8) wfmt1(npcmtmax),wfir1(ngtc),z(ngkmax)
26ld1=npcmtmax*natmtot*nspinor
45 wfir1(1:ngtc)=wfir(1:ngtc,ispn,jst)*
cfrc(1:ngtc)
49 z(igpq)=wfir1(
igfc(igpqig(igpq,jspn)))
51 call zgemv(
'C',ngpq(jspn),nst,
zone,wfgpq(1,ispn,1),ld2,z,1,
zone,oq(1,jst),1)
57oq(1:nst,1:nst)=t0*oq(1:nst,1:nst)
71 wfmt1(1:npc)=expqmt(1:npc,ias)*wfmt(1:npc,ias,ispn,jst)
75 call zgemv(
'C',npc,nst,
zone,wfmtq(1,ias,ispn,1),ld1,wfmt1,1,
zone, &
subroutine genolpq(nst, expqmt, ngpq, igpqig, wfmt, wfir, wfmtq, wfgpq, oq)
real(8), dimension(:), allocatable cfrc
integer, dimension(3) ngdgc
integer, dimension(maxspecies) nrcmt
complex(8), parameter zone
integer, dimension(:), allocatable igfc
integer, dimension(maxatoms *maxspecies) idxis
real(8), dimension(:,:), allocatable wr2cmt
integer, dimension(maxspecies) npcmt
integer, dimension(2) jspnfv
integer, dimension(maxspecies) nrcmti