Files
piscal/dataassim/math/numrec/f77_sources/relax.for
T
2016-02-03 18:52:05 +00:00

22 lines
497 B
Fortran

SUBROUTINE relax(u,rhs,n)
INTEGER n
DOUBLE PRECISION rhs(n,n),u(n,n)
INTEGER i,ipass,isw,j,jsw
DOUBLE PRECISION h,h2
h=1.d0/(n-1)
h2=h*h
jsw=1
do 13 ipass=1,2
isw=jsw
do 12 j=2,n-1
do 11 i=isw+1,n-1,2
u(i,j)=0.25d0*(u(i+1,j)+u(i-1,j)+u(i,j+1)+u(i,j-1)-h2*rhs(i,
*j))
11 continue
isw=3-isw
12 continue
jsw=3-jsw
13 continue
return
END