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