The Elk Code
dolpalo.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2013 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 pure subroutine dolpalo(is,ias,ngp,ngpq,dapwalm,dapwalmq,ld,od)
7 use modmain
8 use modphonon
9 implicit none
10 ! arguments
11 integer, intent(in) :: is,ias,ngp,ngpq
12 complex(8), intent(in) :: dapwalm(ngkmax,apwordmax,lmmaxapw)
13 complex(8), intent(in) :: dapwalmq(ngkmax,apwordmax,lmmaxapw)
14 integer, intent(in) :: ld
15 complex(8), intent(inout) :: od(ld,*)
16 ! local variables
17 integer ilo,io,l,lm,i,j,k
18 real(8) t1
19 if (ias /= iasph) return
20 do ilo=1,nlorb(is)
21  l=lorbl(ilo,is)
22  do lm=l**2+1,(l+1)**2
23  k=idxlo(lm,ilo,ias)
24  i=ngpq+k
25  j=ngp+k
26  do io=1,apword(l,is)
27  t1=oalo(io,ilo,ias)
28  od(1:ngpq,j)=od(1:ngpq,j)+t1*conjg(dapwalmq(1:ngpq,io,lm))
29  od(i,1:ngp)=od(i,1:ngp)+t1*dapwalm(1:ngp,io,lm)
30  end do
31  end do
32 end do
33 end subroutine
34 
integer, dimension(maxspecies) nlorb
Definition: modmain.f90:786
integer, dimension(:,:,:), allocatable idxlo
Definition: modmain.f90:855
real(8), dimension(:,:,:), allocatable oalo
Definition: modmain.f90:857
integer lmmaxapw
Definition: modmain.f90:199
integer ngkmax
Definition: modmain.f90:499
integer iasph
Definition: modphonon.f90:15
integer, dimension(0:maxlapw, maxspecies) apword
Definition: modmain.f90:758
integer apwordmax
Definition: modmain.f90:760
integer, dimension(maxlorb, maxspecies) lorbl
Definition: modmain.f90:796
pure subroutine dolpalo(is, ias, ngp, ngpq, dapwalm, dapwalmq, ld, od)
Definition: dolpalo.f90:7