Flux Limiters

Consider a conservation law such as $u_t = -au_x$, and the following schematic. We can also write this as $u_t = -f_x,$ where $f=au$ is the flux.

flux limiters

Now, consider what happens when the wave moves.

flux limiters

Godunov’s Theorem

“Linear numerical schemes for solving partial differential equations (PDE’s), having the property of not generating new extrema (monotone scheme), can be at most first-order accurate.” (From Wikipedia)

Flux limiter description

Flux limiters limit the flux to avoid this oscillation. For $u_t = f_x$, (and a simple time integration) we have

$$ u_i^{n+1} = u_i^n - \frac{\Delta t}{\Delta x}(f_e^n-f_w^n).$$

We evaluate the flux at, e.g., the east face, as

$$f_e = f_e^{l} - \phi_e(r)(f_e^{l}-f_e^{h}) = (1-\phi_e(r))f_e^l + \phi(r)f_e^h.$$

This is a combination of two fluxes. $f_e^l$ is a low-order flux, such as an upwind flux (first order), and $f_e^h$ is a high order flux, such as a central or average flux (second order).

If we use upwind for $f_e^l$ and a central (average) flux for $f_e^h$, we get

$$f_e = \underbrace{f\_e^{(1)}}\_{\mbox{upwind}} - \phi\_e(r)\left(\underbrace{f\_e^{(1)}}\_{\mbox{upwind}} - \underbrace{\frac{f\_e^{(1)}+f\_e^{(2)}}{2}}\_{\mbox{average}}\right),$$

or,

$$f_e = f_e^{(1)} + \frac{1}{2}\phi_e(r_i)\left(f_e^{(2)} - f_e^{(1)}\right).$$ $$r_i = \frac{u\_{i}-u\_{i-1}}{u\_{i+1}-u\_{i}}.$$

Define $\phi(r)$

The following graph shows regions where the function $\phi(r)$ can “live” so that the method will be “total variation diminishing” (TVD), and also be $O(\Delta x^2).$

flux limiters

(From Wikipedia on 3/31/15, with the following license. No changes were made.)

There are many possible $\phi(r)$. Here is an example of a number of limiters (From Wikipedia on 3/31/15, with the following license. No changes were made.)

flux limiters

Consider 4 limiter functions

flux limiters

The above figure uses a 3rd order RK method, with 200 grid points and $cfl = a\Delta t/\Delta x = 0.4.$