6 subroutine gendmat(tspndg,tlmdg,lmin,lmax,ld,dmat)
12 logical,
intent(in) :: tspndg,tlmdg
13 integer,
intent(in) :: lmin,lmax,ld
14 complex(8),
intent(out) :: dmat(ld,nspinor,ld,nspinor,natmtot)
23 complex(8),
allocatable :: apwalm(:,:,:,:,:),evecfv(:,:,:),evecsv(:,:)
24 complex(8),
allocatable :: dmatk(:,:,:,:,:)
35 allocate(dmatk(ld,nspinor,ld,nspinor,nstsv))
43 sfacgk(:,:,ispn,ik),apwalm(:,:,:,:,ispn))
57 call gendmatk(tspndg,tlmdg,lmin,lmax,ias,nst,idx,
ngk(:,ik),apwalm,evecfv, &
63 dmat(:,:,:,:,ias)=dmat(:,:,:,:,ias)+wo*dmatk(:,:,:,:,ist)
69 deallocate(apwalm,evecfv,evecsv,dmatk)
74 n=((ld*nspinor)**2)*natmtot
75 call mpi_allreduce(mpi_in_place,dmat,n,mpi_double_complex,mpi_sum,
mpicom, &
subroutine getevecsv(fext, ikp, vpl, evecsv)
subroutine getevecfv(fext, ikp, vpl, vgpl, evecfv)
subroutine match(ngp, vgpc, gpc, sfacgp, apwalm)
complex(8), dimension(:,:,:,:), allocatable sfacgk
integer, dimension(:,:), allocatable ngk
real(8), dimension(:), allocatable wkpt
subroutine gendmat(tspndg, tlmdg, lmin, lmax, ld, dmat)
real(8), dimension(:,:,:,:), allocatable vgkl
real(8), dimension(:,:), allocatable occsv
subroutine symdmat(lmax, ld, dmat)
real(8), dimension(:,:,:,:), allocatable vgkc
subroutine gendmatk(tspndg, tlmdg, lmin, lmax, ias, nst, idx, ngp, apwalm, evecfv, evecsv, ld, dmat)
real(8), dimension(:,:), allocatable vkl
real(8), dimension(:,:,:), allocatable gkc
subroutine holdthd(nloop, nthd)