c
c Perform a Jacobi sweep for a 2-d decomposition
c
subroutine sweep2d( a, f, n, sx, ex, sy, ey, b )
integer n, sx, ex, sy, ey
double precision a(sx-1:ex+1, sy-1:ey+1), f(sx-1:ex+1, sy-1:ey+1),
+ b(sx-1:ex+1, sy-1:ey+1)
c
integer i, j
double precision h
c
h = 1.0d0 / dble(n+1)
do 10 j=sy, ey
do 10 i=sx, ex
b(i,j) = 0.25 * (a(i-1,j)+a(i,j+1)+a(i,j-1)+a(i+1,j)) -
+ h * h * f(i,j)
10 continue
return
end