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=======================================================================