9subroutine ggair_1(rho,grho,g2rho,g3rho)
21real(8),
intent(in) :: rho(ngtot)
22real(8),
intent(out) :: grho(ngtot),g2rho(ngtot),g3rho(ngtot)
26real(8),
allocatable :: gvrho(:,:),rfir(:)
27complex(8),
allocatable :: zfft1(:),zfft2(:)
28allocate(gvrho(ngtot,3),rfir(ngtot))
36 zfft2(ifg)=
vgc(i,ig)*
zi*zfft1(ifg)
43grho(:)=sqrt(gvrho(:,1)**2+gvrho(:,2)**2+gvrho(:,3)**2)
48 zfft2(ifg)=-(
gc(ig)**2)*zfft1(ifg)
60 zfft2(ifg)=
vgc(i,ig)*
zi*zfft1(ifg)
63 g3rho(:)=g3rho(:)+gvrho(:,i)*rfir(:)
65deallocate(gvrho,rfir,zfft1,zfft2)
integer, dimension(3) ngridg
integer, dimension(:), allocatable igrzf
real(8), dimension(:,:), allocatable vgc
real(8), dimension(:), allocatable gc