parameter n=200 real z(n,n),z1(n,n),z2(n,n) open(10,file="line.in") open(20,file="line.dat") read (10,*)nt,alpha,ik c do i=45,55 c do j=45,55 c z1(i,j)=10. c z2(i,j)=10. c enddo c enddo do i=n/2-10,n/2-10 do j=n/2-10,n/2-10 z1(i,j)=10. z2(i,j)=10. enddo enddo c do i=1,10 c do j=1,10 c z1(i,j)=20. c z2(i,j)=20. c enddo c enddo c **************** calculation **************** do k=1,nt do i=2,n-1 do j=2,n-1 c if (i.gt.45.and.i.lt.55.and.j.gt.45.and.j.lt.55) then c if (j.lt.55.and.j.gt.45.and.(i.gt.55.or.i.lt.45)) then c z(i,j)=0. c else z(i,j)=2.*z1(i,j)-z2(i,j)+alpha*(z1(i+1,j)+z1(i-1,j)+ * z1(i,j+1)+z1(i,j-1)-4.*z1(i,j)) c endif enddo enddo do i=1,n do j=1,n z2(i,j)=z1(i,j) z1(i,j)=z(i,j) enddo enddo if((k/ik)*ik.eq.k) then write (20,100) z endif 100 format (200f18.7) enddo stop end