The Elk Code
zfsht.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 !BOP
7 ! !ROUTINE: zfsht
8 ! !INTERFACE:
9 subroutine zfsht(nr,nri,zfmt1,zfmt2)
10 ! !USES:
11 use modmain
12 ! !INPUT/OUTPUT PARAMETERS:
13 ! nr : number of radial mesh points (in,integer)
14 ! nri : number of points on the inner part of the muffin-tin (in,integer)
15 ! zfmt1 : input complex muffin-tin function in spherical coordinates
16 ! (in,complex(*))
17 ! zfmt2 : output complex muffin-tin function in spherical harmonics
18 ! (out,complex(*))
19 ! !DESCRIPTION:
20 ! Performs a forward spherical harmonic transform (SHT) on a complex
21 ! muffin-tin function in spherical coordinates to obtain a function expressed
22 ! in spherical harmonics. See also {\tt genshtmat} and {\tt zbsht}.
23 
24 ! !REVISION HISTORY:
25 ! Created October 2013 (JKD)
26 !EOP
27 !BOC
28 implicit none
29 ! arguments
30 integer, intent(in) :: nr,nri
31 complex(8), intent(in) :: zfmt1(*)
32 complex(8), intent(out) :: zfmt2(*)
33 ! local variables
34 integer i
35 ! transform the inner part of the muffin-tin
36 call zgemm('N','N',lmmaxi,nri,lmmaxi,zone,zfshti,lmmaxi,zfmt1,lmmaxi,zzero, &
37  zfmt2,lmmaxi)
38 ! transform the outer part of the muffin-tin
39 i=lmmaxi*nri+1
40 call zgemm('N','N',lmmaxo,nr-nri,lmmaxo,zone,zfshto,lmmaxo,zfmt1(i),lmmaxo, &
41  zzero,zfmt2(i),lmmaxo)
42 end subroutine
43 !EOC
44 
integer lmmaxo
Definition: modmain.f90:203
complex(8), parameter zone
Definition: modmain.f90:1240
subroutine zfsht(nr, nri, zfmt1, zfmt2)
Definition: zfsht.f90:10
complex(8), dimension(:,:), allocatable zfshti
Definition: modmain.f90:575
complex(8), parameter zzero
Definition: modmain.f90:1240
integer lmmaxi
Definition: modmain.f90:207
complex(8), dimension(:,:), allocatable zfshto
Definition: modmain.f90:579