6 subroutine wfmtsv(tsh,lrstp,is,ias,nst,idx,ngp,apwalm,evecfv,evecsv,ld,wfmt)
11 logical,
intent(in) :: tsh
12 integer,
intent(in) :: lrstp,is,ias,nst,idx(*),ngp(nspnfv)
13 complex(8),
intent(in) :: apwalm(ngkmax,apwordmax,lmmaxapw,natmtot,nspnfv)
14 complex(8),
intent(in) :: evecfv(nmatmax,nstfv,nspnfv),evecsv(nstsv,nstsv)
15 integer,
intent(in) :: ld
16 complex(8),
intent(out) :: wfmt(ld,nspinor,nst)
19 integer io,ilo,ispn,jspn
20 integer nr,nri,nro,iro,np,npi
21 integer l,lm,lma,lmb,nm
22 integer n,p,i,j,k,nthd
25 complex(8) x(nstfv,nspnfv),y(nlmwf(is),nspinor,nst),z(2*lmaxo+1)
27 complex(8),
external :: zdotu
58 lma=l**2+1; lmb=lma+2*l
67 x(j,jspn)=zdotu(n,evecfv(:,j,jspn),1,apwalm(:,io,lm,ias,jspn),1)
75 k=merge(j,idx(j),tasv)
76 y(p,1,j)=zdotu(nstfv,evecsv(1,k),1,x,1)
79 y(p,2,j)=zdotu(nstfv,evecsv(nstfv+1,k),1,x(1,jspn),1)
86 k=merge(j,idx(j),tasv)
87 y(p,1,j)=zdotu(ngp(1),evecfv(:,k,1),1,apwalm(:,io,lm,ias,1),1)
96 wfmt(1:np,1:nspinor,j)=0.d0
107 if (
ssdph) z(1:nm)=z(1:nm)*zq(ispn)
109 call zfzrf(nm,nri,
apwfr(1,1,io,l,ias),z,
lmmaxi,wfmt(lma,ispn,j))
111 call zfzrf(nm,nro,
apwfr(iro,1,io,l,ias),z,
lmmaxo,wfmt(npi+lma,ispn,j))
123 do lm=l**2+1,(l+1)**2
129 x(1:nstfv,jspn)=evecfv(n+i,1:nstfv,jspn)
133 k=merge(j,idx(j),tasv)
134 y(p,1,j)=zdotu(nstfv,evecsv(1,k),1,x,1)
137 y(p,2,j)=zdotu(nstfv,evecsv(nstfv+1,k),1,x(1,jspn),1)
143 k=merge(j,idx(j),tasv)
144 y(p,1,j)=evecfv(ngp(1)+i,k,1)
161 if (
ssdph) z(1:nm)=z(1:nm)*zq(ispn)
163 call zfzrf(nm,nri,
lofr(1,1,ilo,ias),z,
lmmaxi,wfmt(lma,ispn,j))
165 call zfzrf(nm,nro,
lofr(iro,1,ilo,ias),z,
lmmaxo,wfmt(npi+lma,ispn,j))
168 if (.not.tsh)
call zbshtip(nr,nri,wfmt(:,ispn,j))
177 pure subroutine zfzrf(m,n,rf,z,ld,zf)
180 integer,
intent(in) :: m,n
181 real(8),
intent(in) :: rf(lrstp,n)
182 complex(8),
intent(in) :: z(m)
183 integer,
intent(in) :: ld
184 complex(8),
intent(inout) :: zf(ld,n)
188 zf(i,1:n)=zf(i,1:n)+z(i)*rf(1,1:n)
pure subroutine zfzrf(n, ld1, rf, ld2, zf)
integer, dimension(maxspecies) npcmt
integer, dimension(maxspecies) nlorb
integer, dimension(:,:,:), allocatable idxlo
real(8), dimension(:,:,:,:), allocatable lofr
integer, dimension(maxspecies) npmt
complex(8), dimension(:), allocatable zqss
subroutine zbshtip(nr, nri, zfmt)
integer, dimension(0:maxlapw, maxspecies) apword
integer, dimension(maxspecies) npcmti
subroutine holdthd(nloop, nthd)
real(8), dimension(:,:,:,:,:), allocatable apwfr
integer, dimension(maxspecies) nrcmt
integer, dimension(maxspecies) nrcmti
integer, dimension(maxspecies) npmti
integer, dimension(maxlorb, maxspecies) lorbl
subroutine wfmtsv(tsh, lrstp, is, ias, nst, idx, ngp, apwalm, evecfv, evecsv, ld, wfmt)
integer, dimension(maxspecies) nrmti
integer, dimension(2) jspnfv
integer, dimension(maxspecies) nrmt