9 subroutine ggair_2b(g2rho,gvrho,vx,vc,dxdgr2,dcdgr2)
21 real(8),
intent(in) :: g2rho(ngtot),gvrho(ngtot,3)
22 real(8),
intent(inout) :: vx(ngtot),vc(ngtot)
23 real(8),
intent(in) :: dxdgr2(ngtot),dcdgr2(ngtot)
27 real(8),
allocatable :: rfir1(:),rfir2(:)
28 complex(8),
allocatable :: zfft1(:),zfft2(:)
29 allocate(rfir1(ngtot),rfir2(ngtot))
41 zfft2(ifg)=
vgc(i,ig)*cmplx(-zfft1(ifg)%im,zfft1(ifg)%re,8)
44 rfir1(:)=rfir1(:)+rfir2(:)*gvrho(:,i)
46 vx(:)=vx(:)-2.d0*(rfir1(:)+dxdgr2(:)*g2rho(:))
57 zfft2(ifg)=
vgc(i,ig)*cmplx(-zfft1(ifg)%im,zfft1(ifg)%re,8)
60 rfir1(:)=rfir1(:)+rfir2(:)*gvrho(:,i)
62 vc(:)=vc(:)-2.d0*(rfir1(:)+dcdgr2(:)*g2rho(:))
63 deallocate(rfir1,rfir2,zfft1,zfft2)
integer, dimension(3) ngridg
subroutine ggair_2b(g2rho, gvrho, vx, vc, dxdgr2, dcdgr2)
real(8), dimension(:,:), allocatable vgc
integer, dimension(:), allocatable igrzf
subroutine rzfftifc(nd, n, sgn, r, z)