The Elk Code
zfshtip.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2023 J. K. Dewhurst and S. Sharma.
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 zfshtip(nr,nri,zfmt)
7 use modmain
8 implicit none
9 ! arguments
10 integer, intent(in) :: nr,nri
11 complex(8), intent(inout) :: zfmt(*)
12 ! local variables
13 integer nro,npi,npo,i
14 ! automatic arrays
15 complex(8) f(max(lmmaxi*nri,lmmaxo*(nr-nri)))
16 ! transform the inner part of the muffin-tin function in-place
17 npi=lmmaxi*nri
18 f(1:npi)=zfmt(1:npi)
19 call zgemm('N','N',lmmaxi,nri,lmmaxi,zone,zfshti,lmmaxi,f,lmmaxi,zzero,zfmt, &
20  lmmaxi)
21 ! transform the outer part of the muffin-tin function in-place
22 nro=nr-nri
23 npo=lmmaxo*nro
24 i=npi+1
25 f(1:npo)=zfmt(i:npi+npo)
26 call zgemm('N','N',lmmaxo,nro,lmmaxo,zone,zfshto,lmmaxo,f,lmmaxo,zzero,zfmt(i),&
27  lmmaxo)
28 end subroutine
29 
complex(8), parameter zone
Definition: modmain.f90:1240
subroutine zfshtip(nr, nri, zfmt)
Definition: zfshtip.f90:7
complex(8), dimension(:,:), allocatable zfshti
Definition: modmain.f90:575
complex(8), parameter zzero
Definition: modmain.f90:1240
complex(8), dimension(:,:), allocatable zfshto
Definition: modmain.f90:579