The Elk Code
olpaloq.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 subroutine olpaloq(is,ias,ngp,ngpq,apwalm,apwalmq,ld,oq)
7 use modmain
8 implicit none
9 ! arguments
10 integer, intent(in) :: is,ias
11 integer, intent(in) :: ngp,ngpq
12 complex(8), intent(in) :: apwalm(ngkmax,apwordmax,lmmaxapw)
13 complex(8), intent(in) :: apwalmq(ngkmax,apwordmax,lmmaxapw)
14 integer, intent(in) :: ld
15 complex(8), intent(inout) :: oq(ld,*)
16 ! local variables
17 integer ilo,io,l,lm
18 integer i0,j0,i,j
19 real(8) t1
20 do ilo=1,nlorb(is)
21  l=lorbl(ilo,is)
22  do lm=l**2+1,(l+1)**2
23  i=idxlo(lm,ilo,ias)
24  i0=ngpq+i
25  j0=ngp+i
26  do io=1,apword(l,is)
27  t1=oalo(io,ilo,ias)
28  do i=1,ngpq
29  oq(i,j0)=oq(i,j0)+t1*conjg(apwalmq(i,io,lm))
30  end do
31  do j=1,ngp
32  oq(i0,j)=oq(i0,j)+t1*apwalm(j,io,lm)
33  end do
34  end do
35  end do
36 end do
37 end subroutine
38 
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
subroutine olpaloq(is, ias, ngp, ngpq, apwalm, apwalmq, ld, oq)
Definition: olpaloq.f90:7
integer, dimension(0:maxlapw, maxspecies) apword
Definition: modmain.f90:758
integer, dimension(maxlorb, maxspecies) lorbl
Definition: modmain.f90:796