Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CD1Upwind[\[Phi]_, \[Psi]_, f_, c_, n_, m_, x0_, x1_, t0_] :=
- Module[{dt = t0/n, dx = (x1 - x0)/m, u = {}},
- AppendTo[u, Table[\[Phi][x0 + dx*i], {i, 0, m}]];
- For[i = 1, i <= n, ++i,
- AppendTo[u, {\[Psi][t0 + dt*i]}];
- For[j = 2, j <= m + 1, ++j,
- AppendTo[u[[i + 1]],
- u[[i]][[j]] - (c*dt)/
- dx (u[[i]][[j]] - u[[i]][[j - 1]] +
- f[x0 + dx*(j - 1), t0 + dt*i])];
- ]
- ];
- Table[Table[{x0 + dx*i, u[[j]][[i + 1]]}, {i, 0, m}], {j, Length[u]}]
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement