9subroutine symrfir(ngridg_,ngtot_,ngvec_,nfgrz_,igfft_,igrzf_,rfir)
33integer,
intent(in) :: ngridg_(3),ngtot_,ngvec_,nfgrz_
34integer,
intent(in) :: igfft_(ngvec_),igrzf_(nfgrz_)
35real(8),
intent(inout) :: rfir(ngtot_)
38integer isym,lspl,sym(3,3)
40integer i1,i2,i3,j1,j2,j3
43complex(8),
allocatable :: zfft1(:),zfft2(:)
44allocate(zfft1(ngtot_),zfft2(nfgrz_))
46zfft1(1:ngtot_)=rfir(1:ngtot_)
61 sym(1:3,1:3)=
symlat(1:3,1:3,lspl)
64 if (ig > ngvec_) cycle
70 j1=sym(1,1)*i1+sym(2,1)*i2+sym(3,1)*i3
71 j2=sym(1,2)*i1+sym(2,2)*i2+sym(3,2)*i3
72 j3=sym(1,3)*i1+sym(2,3)*i2+sym(3,3)*i3
79 zfft2(ifg)=zfft2(ifg)+zfft1(jfg)
83 zfft2(ifg)=zfft2(ifg)+zfft1(jfg)*cmplx(cos(t1),-sin(t1),8)
90rfir(1:ngtot_)=t1*rfir(1:ngtot_)
91deallocate(zfft1,zfft2)
logical, dimension(maxsymcrys) tv0symc
integer, dimension(:,:), allocatable ivg
real(8), dimension(3, maxsymcrys) vtcsymc
real(8), dimension(:,:), allocatable vgc
integer, dimension(3, 3, 48) symlat
integer, dimension(:,:,:), allocatable ivgig
integer, dimension(maxsymcrys) lsplsymc
subroutine symrfir(ngridg_, ngtot_, ngvec_, nfgrz_, igfft_, igrzf_, rfir)