b[i - 1] = conc[i, k] c = np.linalg.solve(A, b) for i in np.arange(0, len(x) - 2): conc[i + 1, k + 1] = c[i] conc[0, k + 1] = (4 / 3) * conc[1, k + 1] - (1 / 3) * conc[2, k + 1] conc[-1, k + 1] = (4 / 3) * conc[1, k + 1] - (1 / 3) * conc[2, k + 1] err = np.zeros((len(x), len(t))) errSumX = np.zeros((len(x), 1)) plt.figure() for i in np.arange(0, len(t), 1): err[:, i] = abs(conc[:, i] - uf.cBar(x, t[i])).T plt.plot(x, conc[:, i], 'b', linewidth=3) plt.plot(x[::5], uf.cBar(x[::5], t[i]), 'rx', mew=5, ms=5) ## plt.ylim((0,cmax)) # plt.plot(np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-1*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(x,np.ones(len(x)),'--') # plt.plot(-x,np.ones(len(x)),'--') # plt.xlim((x_start,3)) plt.pause(0.00000001) plt.clf() # errSumX = np.sum(err[:, 1:], axis=1) errSumT = np.sum(err[:, 1:], axis=0)
conc[0,k+1] = c[1] conc[-1,k+1] = c[-2] #std = np.diff(sparktimes) #sm1 = conc[400,:] #s1 = conc[600,:] # #sdif = abs(sm1-s1) err = np.zeros((len(x),len(t))) errSumX = np.zeros((len(x),1)) plt.figure() for i in np.arange(0,len(t),1): err[:,i] = abs(conc[:,i]-uf.cBar(x,t[i])).T plt.plot(x,conc[:,i],'b',linewidth=3) # plt.plot(x[::10],uf.cBar(x[::10],t[i]),'ro',mew=3,ms=3) ### plt.ylim((0,cmax)) # # plt.plot(np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-1*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(2*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-2*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(3*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-3*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(4*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-4*np.ones(40),np.arange(0,4,0.1),'--') # # plt.plot(x,np.ones(len(x)),'--') # plt.plot(-x,np.ones(len(x)),'--')
# #sdif = abs(sm1-s1) err = np.zeros((len(x),len(t))) errSumX = np.zeros((len(x),1)) #D=2 #x = x*2 # #t = t*((d**2)/D) ##std = std*((d**2)/D) #sparktimes = sparktimes*((d**2)/D) #std = np.diff(sparktimes) #conc = 0.14*conc plt.figure() for i in np.arange(0,len(t),1): err[:,i] = abs(conc[:,i]-uf.cBar(x,t[i])).T plt.plot(x,conc[:,i],'b',linewidth=3) plt.plot(x[::20],uf.cBar(x[::20],t[i]),'ro',mew=3,ms=3) ### plt.ylim((0,cmax)) # plt.plot(np.ones(40),np.arange(0,4,0.1),'--') plt.plot(-1*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(2*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-2*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(3*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-3*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(4*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(-4*np.ones(40),np.arange(0,4,0.1),'--') # plt.plot(x,np.ones(len(x)),'--') plt.plot(-x,np.ones(len(x)),'--')
c = np.linalg.solve(A, b) for i in np.arange(0, len(x) - 2): conc[i + 1, k + 1] = c[i] conc[0, k + 1] = (4 / 3) * conc[1, k + 1] - (1 / 3) * conc[2, k + 1] realsol = np.zeros((len(x), len(t))) err = np.zeros((len(x), len(t))) errSumX = np.zeros((len(x), 1)) """ Plot solutions for all time """ plt.figure() for i in np.arange(0, len(t), 1): err[:, i] = abs(conc[:, i] - uf.cBar(x, t[i])).T plt.plot(x, conc[:, i], 'b', linewidth=3) plt.plot(x, uf.cBar(x, t[i])) # plt.ylim((0,cmax)) plt.plot(np.ones(40), np.arange(0, 4, 0.1), '--') plt.plot(-1 * np.ones(40), np.arange(0, 4, 0.1), '--') plt.plot(x, np.ones(len(x)), '--') plt.plot(-x, np.ones(len(x)), '--') plt.xlim((x_start, 3)) plt.pause(0.00000001) plt.clf() errSumX = np.sum(err[:, 1:], axis=1) errSumT = np.sum(err[:, 1:], axis=0) plt.figure()