real,allocatable:: tu(:),tv(:),alpha open(10,file="s1d.dat") n=100 allocate(tu(n),tv(n)) tu=0. tv=0. tu(1)=100. tv(1)=100. alpha=0.1 !do i=1,n !if(i.ge.50.and.i.lt.60) then !alpha(i)=0.001 !else !alpha(i)=0.1 !endif !enddo nt=100000 do it=1,nt do i=2,n-1 tu(i)=tv(i)+alpha*(tv(i+1)-2.*tv(i)+tv(i-1)) enddo !tu(n)=tu(n-1) tu(n)=0. if ((it/5000)*5000.eq.it) then write(10, '(100f15.5)') tu endif tv=tu enddo stop end