35 SUBROUTINE smooth (FIELD,HOLD,IX,IY,SMTH)
42 integer :: i1, i2, j, it, i, ix, iy
43 real :: smth1, smth, smth2, smth3, smth4, smth5
45 REAL field(ix,iy), hold (ix,2)
46 smth1 = 0.25 * smth * smth
47 smth2 = 0.5 * smth * (1.-smth)
48 smth3 = (1.-smth) * (1.-smth)
59 sum1 = field(i-1,j+1) + field(i-1,j-1) &
60 + field(i+1,j+1) + field(i+1,j-1)
61 sum2 = field(i ,j+1) + field(i+1,j ) &
62 + field(i ,j-1) + field(i-1,j )
63 hold(i,i1) = smth1*sum1 + smth2*sum2 + smth3*field(i,j)
68 field(i,j-1) = hold(i,i2)
75 field(i,iy-1) = hold(i,i1)
79 field(i,1) = smth4 * field(i,1) &
80 + smth5 * (field(i-1,1) + field(i+1,1))
81 field(i,iy) = smth4 * field(i,iy) &
82 + smth5 * (field(i-1,iy) + field(i+1,iy))
86 field(1,j) = smth4 * field(1,j) &
87 + smth5 * (field(1,j-1) + field(1,j+1))
88 field(ix,j) = smth4 * field(ix,j) &
89 + smth5 * (field(ix,j-1) + field(ix,j+1))
127 SUBROUTINE smoothc (FIELD,HOLD,IX,IY,SMTH)
134 integer :: i1, i2, j, it, i, ix, iy, im1, ip1
135 real :: smth1, smth, smth2, smth3, smth4, smth5
137 REAL field(ix,iy), hold (ix,2)
138 integer :: iw(ix), ie(ix)
140 smth1 = 0.25 * smth * smth
141 smth2 = 0.5 * smth * (1.-smth)
142 smth3 = (1.-smth) * (1.-smth)
163 sum1 = field(im1,j+1) + field(im1,j-1) &
164 + field(ip1,j+1) + field(ip1,j-1)
165 sum2 = field(i ,j+1) + field(ip1,j ) &
166 + field(i ,j-1) + field(im1,j )
167 hold(i,i1) = smth1*sum1 + smth2*sum2 + smth3*field(i,j)
172 field(i,j-1) = hold(i,i2)
179 field(i,iy-1) = hold(i,i1)
185 field(i,1) = smth4 * field(i,1) &
186 + smth5 * (field(im1,1) + field(ip1,1))
187 field(i,iy) = smth4 * field(i,iy) &
188 + smth5 * (field(im1,iy) + field(ip1,iy))