Examples of hyperbolic numerical schemes book - AST-Course/AST5110 GitHub Wiki
Examples of hyperbolic numerical schemes
The following are some well-known examples of finite-difference explicit schemes for the scalar advection equation. C=center, F=forward, B=Backward, T=Time, S=Space, e.g., FTBS= Forward-time backward-space.'
I need to put here the Burgers or at the very least the equation considered in these methods.
Name | Difference equations | order (T/S) | Stability | Other Prop |
---|---|---|---|---|
explicit Euler (FTCS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{2 \Delta x}\lambda(u^{n}{j+1}-u^{n}{j-1})$ | (1st/2nd) | No | |
Upwind (FTFS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{\Delta x}\lambda(u^{n}{j+1}-u^{n}{j})$ | (1st/1st) | only for upwind prop | |
Downwind (FTBS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{\Delta x}\lambda(u^{n}{j}-u^{n}{j-1})$ | (1st/1st) | only for downwind prop | |
Lax-Friedrichs | $u^{n+1}j = \frac{1}{2}(u^{n}{j-1}+u^{n}{j+1}) - \frac{\Delta t}{2\Delta x}\lambda(u^{n}{j+1}-u^{n}_{j-1})$ | (1st/2nd) | Yes | extremely diffusive |
Lax-Wendroff | $u^{n+1}j = u^{n} - \frac{\Delta t}{2\Delta x}\lambda(u^{n}{j+1}-u^{n}{j-1}) + \frac{(\Delta t)^2}{2(\Delta x)^2} \lambda^2 (u^{n}{j+1}-2 u^{n}{j}+u^{n}{j-1})$ | (1st/2nd) | yes | diffusive at $k\Delta x$ |
Beam-Warming | $u^{n+1}j = u^{n} - \frac{\Delta t}{2\Delta x}\lambda(3 u^{n}{j}-4u^{n}{j-1}+u^n{j-2}) + \frac{(\Delta t)^2}{2(\Delta x)^2} \lambda^2 (u^{n}{j}-2 u^{n}{j-1}+u^{n}_{j-2})$ | (1st/2nd) | yes | conservative, and upwind |
Note: Some schemes may be stable for one type of problem but unstable for another type of problem. For example, FTCS is not stable for the scalar advection equation but is stable for the diffusion equation. Using the von Neumann analysis, such a difference can be observed quantitatively.
The following are some well-known examples of finite-difference implicit schemes for the scalar advection equation.
Name | Difference equations | order | Stability | Other Prop |
---|---|---|---|---|
implicit Euler (BTCS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{2 \Delta x}\lambda(u^{n+1}{j+1}-u^{n+1}{j-1})$ | (1st/2nd) | yes | has amplitude error but does not blow up |
Upwind (BTFS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{\Delta x}\lambda(u^{n+1}{j+1}-u^{n+1}{j})$ | (1st/1st) | highly unstable | despite that its implicit |
Downwind (BTBS) | $u^{n+1}j = u^{n}j - \frac{\Delta t}{\Delta x}\lambda(u^{n+1}{j}-u^{n+1}{j-1})$ | (1st/1st) | yes because its implicit | extremely diffusive |
The following are some well-known examples of finite-difference central schemes for the scalar advection equation. Note that these are explicit methods and need initial conditions and $u^0$ and $u^1$.
Name | Difference equations | order | Stability | Other Prop |
---|---|---|---|---|
Leapfrog (CTCS) | $u^{n+1}j = u^{n-1}{j} - \frac{\Delta t}{2\Delta x}\lambda(u^{n}{j+1}-u^{n}{j-1})$ | (2nd/2nd) | Stable | has amplitude error but does not blow up, even larger than BTCS. |
Upwind (CTFS) | $u^{n+1}j = u^{n-1}j - \frac{\Delta t}{\Delta x}\lambda(u^{n}{j+1}-u^{n}{j})$ | (2nd/1st) | Unstable | |
Downwind (CTBS) | $u^{n+1}j = u^{n-1}j - \frac{\Delta t}{\Delta x}\lambda(u^{n}{j}-u^{n}{j-1})$ | (2nd/1st) | Unstable |