jbar = 50 dx=1.0; dt=0.1; sig=1.0; endtime=10.0; time=0.0; TL=400.0; TR=0.0 T = [ 0.00 for j in range(0, jbar + 2) ] Tnew = T[:] j = jbar while time < endtime: T[0] = 2.0*TL - T[1] T[jbar+1] = 2.0*TR-T[jbar] for j in range(1, jbar+1): Tnew[j] = T[j] + sig*dt*(T[j+1]+T[j-1]-2.0*T[j])/dx/dx; for j in range(1, jbar): T[j] = Tnew[j] time += dt for j in range(1, jbar+1): print "x %11.6lf T %11.6lf" % (((j-1)+0.5)*dx, T[j])