1D Heat Conduction with a delta function
Analytic solution
#heat conduction with a delta function import numpy as np import matplotlib.pyplot as plt import time M = 100; #the number of division x = np.linspace(0, 1, M+1); N = 600; #finite series #T = [0.001, 0.004, 0.016, 0.064] #time t T = np.linspace(0,0.0001, M); F = np.ones((1, M+1)); for k in xrange(1, N): w = k * np.pi; F += 2 * np.cos(w/2) * np.cos(w* x) plt.ion() line, = plt.plot(x, F[0]); for t in T: F = np.ones((1, M+1)); for k in xrange(1, N): w = k * np.pi; F += 2 * np.cos(w/2) * np.cos(w* x) * np.e**(-w**2*t) line.set_ydata(F) time.sleep(0.1) plt.draw()