1module solv_cap 2 integer, private, save :: Ng1=0, Ng2=0 3contains 4 subroutine FourirG(G) 5 real, intent(in out), dimension(0:,0:) :: G 6 complex, allocatable, dimension(:,:) :: t 7 allocate( t(0:2*Ng1-1,0:2*Ng2-1) ) 8 t(0:Ng1,0:Ng2-1) = G(:,0:Ng2-1) ! Fill one quadrant (one extra row) 9 t(0:Ng1,Ng2:2*Ng2-1) = G(:,Ng2:1:-1) ! This quadrant using symmetry 10 end subroutine FourirG 11end module solv_cap 12