6subroutine genwfsvp_sp(tsh,tgp,nst,idx,ngridg_,igfft_,vpl,ngp,igpig,wfmt,ld, &
11logical,
intent(in) :: tsh,tgp
12integer,
intent(in) :: nst,idx(*),ngridg_(3),igfft_(*)
13real(8),
intent(in) :: vpl(3)
14integer,
intent(out) :: ngp(nspnfv),igpig(ngkmax,nspnfv)
15complex(4),
intent(out) :: wfmt(npcmtmax,natmtot,nspinor,nst)
16integer,
intent(in) :: ld
17complex(4),
intent(out) :: wfir(ld,nspinor,nst)
22real(8) vgpl(3,ngkmax,nspnfv),vgpc(3,ngkmax),gpc(ngkmax)
24complex(8),
allocatable :: sfacgp(:,:),apwalm(:,:,:,:,:)
25complex(8),
allocatable :: evecfv(:,:,:),evecsv(:,:)
26allocate(sfacgp(ngkmax,natmtot))
31 vc(1:3)=
bvec(1:3,1)*vpl(1)+
bvec(1:3,2)*vpl(2)+
bvec(1:3,3)*vpl(3)
35 vl(1:3)=vl(1:3)+0.5d0*
vqlss(1:3)
36 vc(1:3)=vc(1:3)+0.5d0*
vqcss(1:3)
38 vl(1:3)=vl(1:3)-0.5d0*
vqlss(1:3)
39 vc(1:3)=vc(1:3)-0.5d0*
vqcss(1:3)
43 call gengkvec(
ngvc,
ivg,
vgc,vl,vc,
gkmax,ngkmax,ngp(ispn),igpig(:,ispn), &
44 vgpl(:,:,ispn),vgpc,gpc)
46 call gensfacgp(ngp(ispn),vgpc,ngkmax,sfacgp)
48 call match(ngp(ispn),vgpc,gpc,sfacgp,apwalm(:,:,:,:,ispn))
56call genwfsv_sp(tsh,tgp,nst,idx,ngridg_,igfft_,ngp,igpig,apwalm,evecfv,evecsv, &
58deallocate(apwalm,evecfv,evecsv)
pure subroutine gengkvec(ngv, ivg, vgc, vkl, vkc, gkmax, ngkmax, ngk, igkig, vgkl, vgkc, gkc)
subroutine genwfsv_sp(tsh, tgp, nst, idx, ngridg_, igfft_, ngp, igpig, apwalm, evecfv, evecsv, wfmt, ld, wfir)
subroutine genwfsvp_sp(tsh, tgp, nst, idx, ngridg_, igfft_, vpl, ngp, igpig, wfmt, ld, wfir)
real(8), dimension(3, 3) bvec
real(8), dimension(3) vqcss
integer, dimension(:,:), allocatable ivg
real(8), dimension(:,:), allocatable vgc
real(8), dimension(3) vqlss