Advertisement
Guest User

Untitled

a guest
Feb 4th, 2018
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CD1Upwind[\[Phi]_, \[Psi]_, f_, c_, n_, m_, x0_, x1_, t0_] :=
  2.  Module[{dt = t0/n, dx = (x1 - x0)/m, u = {}},
  3.   AppendTo[u, Table[\[Phi][x0 + dx*i], {i, 0, m}]];
  4.   For[i = 1, i <= n, ++i,
  5.    AppendTo[u, {\[Psi][t0 + dt*i]}];
  6.    For[j = 2, j <= m + 1, ++j,
  7.     AppendTo[u[[i + 1]],
  8.       u[[i]][[j]] - (c*dt)/
  9.         dx (u[[i]][[j]] - u[[i]][[j - 1]] +
  10.           f[x0 + dx*(j - 1), t0 + dt*i])];
  11.     ]
  12.    ];
  13.   Table[Table[{x0 + dx*i, u[[j]][[i + 1]]}, {i, 0, m}], {j, Length[u]}]
  14.   ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement