real,allocatable:: tu(:,:),tv(:,:),alpha(:,:) open(10,file="s2d1.dat") n=100 allocate(tu(n,n),tv(n,n),alpha(n,n)) tu=0. tv=0. tu(1,:)=100. tv(1,:)=100. do i=1,n do j=1,n alpha(i,j)=0.1 enddo enddo nt=100000 do it=1,nt do i=2,n-1 do j=2,n-1 tu(i,j)=tv(i,j)+alpha(i,j)*(tv(i+1,j)-4.*tv(i,j)+tv(i-1,j)+tv(i,j+1)+tv(i,j-1)) enddo enddo tu(1,:)=100. if ((it/500)*500.eq.it) then write(10, '(100f15.5)') tu endif tv=tu enddo stop end