6 pure subroutine dhmlalo(is,ias,ngp,ngpq,apwalm,apwalmq,dapwalm,dapwalmq,ld,dh)
11 integer,
intent(in) :: is,ias,ngp,ngpq
16 integer,
intent(in) :: ld
17 complex(8),
intent(inout) :: dh(ld,*)
21 integer lm1,lm3,lma,lmb
26 do lm1=l1**2+1,(l1+1)**2
31 if (mod(l1+l3,2) == 0) then; l0=0; else; l0=1;
end if 32 do lm3=l3**2+1,(l3+1)**2
36 lma=l2**2+1; lmb=lma+2*l2
37 z1=z1+sum(
gntyyy(lma:lmb,lm3,lm1)*
dhloa(lma:lmb,io,l3,ilo,ias))
39 if (abs(z1%re)+abs(z1%im) > 1.d-12)
then 41 dh(i,j0)=dh(i,j0)+conjg(z1*apwalmq(i,io,lm3))
44 dh(i0,j)=dh(i0,j)+z1*apwalm(j,io,lm3)
50 if (ias ==
iasph)
then 52 if (mod(l1+l3,2) == 0) then; l0=0; else; l0=1;
end if 53 do lm3=l3**2+1,(l3+1)**2
57 lma=l2**2+1; lmb=lma+2*l2
58 z1=z1+sum(
gntyry(lma:lmb,lm3,lm1)*
hloa(lma:lmb,io,l3,ilo,ias))
60 if (abs(z1%re)+abs(z1%im) > 1.d-12)
then 62 dh(i,j0)=dh(i,j0)+conjg(z1*dapwalmq(i,io,lm3))
65 dh(i0,j)=dh(i0,j)+z1*dapwalm(j,io,lm3)
integer, dimension(maxspecies) nlorb
integer, dimension(:,:,:), allocatable idxlo
complex(8), dimension(:,:,:,:,:), allocatable dhloa
real(8), dimension(:,:,:), allocatable gntyyy
integer, dimension(0:maxlapw, maxspecies) apword
complex(8), dimension(:,:,:), allocatable gntyry
real(8), dimension(:,:,:,:,:), allocatable hloa
integer, dimension(maxlorb, maxspecies) lorbl
pure subroutine dhmlalo(is, ias, ngp, ngpq, apwalm, apwalmq, dapwalm, dapwalmq, ld, dh)