x0=-0.4, xf=0.4, t0=0.0, #tf=2.0, tf=0.005, ) # Initial conditions U_0 = ic(solver.x) U_0 = np.append(U_0, U_0[-solver.gc:]) U_0 = np.append(U_0[0:solver.gc], U_0) U_0 = np.atleast_2d(U_0) # Solve Urk3, solrk3 = solver.rk3(U_0) # self.U_0_sol Ue, sole = solver.euler(U_0) # self.U_0_sol if 1: #U_0 = np.atleast_2d(U_0)[:, solver.gc: -(1 + solver.gc)] #plt.plot(solver.x, U_0, '--', label='Initial') plt.plot(solver.xc, U_0.T, '--', label='Initial') # plt.plot(x, uc, '--') plt.plot(solver.x, Ue[:, solver.gc:-(solver.gc)].T, '--', label='Euler') #plt.plot(solver.xc, sol, '-.', label='RK3') #plt.plot(solver.x, sol[-1, :].T, '-.', label='RK3') plt.plot(solver.x, Urk3[:, solver.gc:-(solver.gc)].T, '-.', label='RK3')
#U_0 = np.zeros([2, N]) #U_0[:, int(.5 / solver.dx): int(1 / solver.dx + 1)] = 2 #sol = solver.rk3(U_0) # self.U_0_sol #U_0 = np.atleast_2d(U_0) # Add ghost cells #U_0 = np.hstack((U_0, U_0[:, -solver.gc:])) #U_0 = np.hstack((U_0[:, -solver.gc:], U_0)) # Solve U_0 = IC(solver.xc) print(f'U_0 = {U_0}') print(f'U_0[0] = {U_0[0]}') print(f'U_0[1] = {U_0[1]}') print(f'U_0[2] = {U_0[2]}') # Urk3, solrk3 = solver.rk3(U_0) # self.U_0_sol Urk3, solrk3 = solver.euler(U_0) # self.U_0_sol #Ue, sole = solver.euler(U_0) # self.U_0_sol #print(f'sol = {sol}') #fsol = self.U_0_sol #print(f'Ue.shape = {Ue.shape}') #print(f'sole.shape = {sole.shape}') print(f'solver.xc.shape = {solver.xc.shape}') print(f'solver.xc.shape = {solver.x.shape}') if 1: plt.figure(1) plt.plot(1) plt.plot(solver.xc, U_0[0, :].T, '.', label='Initial 1') plt.plot(solver.xc, U_0[1, :].T, 'x', label='Initial 2') plt.plot(solver.xc, U_0[2, :].T, 'o', label='Initial 3') plt.plot(solver.xc, exact(solver.xc, 0)[0].T, label='Exact 1, t = 0') plt.plot(solver.xc, exact(solver.xc, 0)[1].T, label='Exact 2, t = 0')