6 subroutine genwfsvp_sp(tsh,tgp,nst,idx,ngridg_,igfft_,vpl,ngp,igpig,wfmt,ld, &
11 logical,
intent(in) :: tsh,tgp
12 integer,
intent(in) :: nst,idx(*),ngridg_(3),igfft_(*)
13 real(8),
intent(in) :: vpl(3)
14 integer,
intent(out) :: ngp(nspnfv),igpig(ngkmax,nspnfv)
15 complex(4),
intent(out) :: wfmt(npcmtmax,natmtot,nspinor,nst)
16 integer,
intent(in) :: ld
17 complex(4),
intent(out) :: wfir(ld,nspinor,nst)
22 real(8) vgpl(3,ngkmax,nspnfv),vgpc(3,ngkmax),gpc(ngkmax)
24 complex(8),
allocatable :: sfacgp(:,:),apwalm(:,:,:,:,:)
25 complex(8),
allocatable :: evecfv(:,:,:),evecsv(:,:)
26 allocate(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))
56 call genwfsv_sp(tsh,tgp,nst,idx,ngridg_,igfft_,ngp,igpig,apwalm,evecfv,evecsv, &
58 deallocate(apwalm,evecfv,evecsv)
subroutine getevecsv(fext, ikp, vpl, evecsv)
pure subroutine gensfacgp(ngp, vgpc, ld, sfacgp)
subroutine genwfsvp_sp(tsh, tgp, nst, idx, ngridg_, igfft_, vpl, ngp, igpig, wfmt, ld, wfir)
subroutine getevecfv(fext, ikp, vpl, vgpl, evecfv)
subroutine match(ngp, vgpc, gpc, sfacgp, apwalm)
real(8), dimension(3) vqlss
real(8), dimension(:,:), allocatable vgc
subroutine genwfsv_sp(tsh, tgp, nst, idx, ngridg_, igfft_, ngp, igpig, apwalm, evecfv, evecsv, wfmt, ld, wfir)
real(8), dimension(3, 3) bvec
integer, dimension(:,:), allocatable ivg
real(8), dimension(3) vqcss
pure subroutine gengkvec(ngv, ivg, vgc, vkl, vkc, gkmax, ngkmax, ngk, igkig, vgkl, vgkc, gkc)