| Input: {}, , , N, tol, n Output: {(k)} for k = 0, …, N 1: Apply boundary conditions to 2: for k = 0, 1, …, N − 1 do 3: if scheme == "Euler" then 4: for i = 1, …, M do 5: ; 6: end for 7: else if scheme == "RK4" then 8: for i = 1, …, M do 9: K1, K2, K3, K4 10: end for 11: else if scheme == "Centroid" then 12: Initialize: ← for all i 13: for n = 0, 1, 2, …, n do 14: for i = 1, …, M do 15: ← 16: end for 17: Apply boundary conditions to {u_i^(n + 1, k + 1)} 18: if || − || ≤ tol then 19: break 20: end if 21: end for 22: Set ← for all i 23: end if 24: Apply boundary conditions to {)} 25: end for 26: return {}, (k = 0, …, N) |