C======================================================================= C======================================================================= C C example program heat: C explicitly solves the 1D diffusion equation C C======================================================================= C======================================================================= program heat C=======grid size integer NX parameter (NX=100) integer NSTEPS parameter (NSTEPS=100) C=======grid variables real uk(1:NX), ukp1(1:NX) dx = 1.0/NX dt = 0.5*dx*dx C=======initialization do i= 2,NX-1 uk(I)=0.0 enddo uk(1)=1.0 uk(NX)=1.0 C=======time step loop do k=1,NSTEPS C===========grid computation do i=2,NX-1 ukp1(i)=uk(i)+(dt/(dx*dx))*(uk(i+1)-2*uk(i)+uk(i-1)) enddo do i=2,NX-1 uk(i)=ukp1(i) enddo C===========sequential output print*, 'timestep ', k print 25,(uk(I),I=1,NX) 25 format(4X,E15.5) enddo end C=======================================================================