Is there an rigorous proof of ENO-WENO schemes being non oscillatory?


Depends on what you mean by 'non-oscillatory'. In their original paper, Harten & Osher (1987), design the ENO schemes with the 'non-oscillatory' property defined as:

In this paper we construct a uniformly second-order approximation, which is nonoscillatory in the sense that the number of extrema of the discrete solution is not increasing in time.

They also provide proof in the paper (pp. 281). In this sense, and formally, when an ENO scheme is used for interpolations to compute numerical fluxes in solving Hyperbolic Conservation Laws of the form: $$ \frac{\partial u}{\partial t} + \frac{\partial}{\partial x} F(u) = 0, $$ it is guaranteed that the final numerical solution will have equal or less number of extrema when compared to the exact solution.

In practice, this is achieved by using an adaptive stencil that is constructed in a hierarchical fashion to avoid interpolating across non-smooth regions (e.g. large gradients, shocks, etc.). Note that ENO schemes are just one of the ingredients needed for a numerical solution to converge to the viscosity solution of nonlinear PDEs such as Hamilton-Jacobi or Hyperbolic Conservation Laws. Other ingredients include

  1. Use of monotone and consistent numerical flux (or Hamiltonian)
  2. A TVD integrator in time

For more details please consult the aforementioned paper. I could add more references including those that discuss implementations if needed.


So why TVD integrators? Note that ENO (or WENO) only quarantines that you do not interpolate across discontinuities. It assumes nothing about what happens to the solution in time. To ensure that the solution remains non-oscillatory, time integration should have the TVD property. TV of a discrete data-set is defined as

$$ TV(u^n) = \sum_{i=0}^N \left|u^n_i - u^n_{i-1}\right| $$

A time integration scheme is said to be TVD if satisfies the following property:

$$ TV(u^{n+1}) \le TV(u^n) $$

Please note that for a time integration scheme, such as RK methods, to be TVD, they need to satisfy certain bounds on the CFL number. This is a bg topic in itself and I suggest you consult the following papers for accurate discussions:

Efficient implementation of essentially non-oscillatory shock-capturing schemes (Shu, C.W. and Oshert, S)

Total-Variation-Diminishing Time Discretizations (C. W. Shu)

Total variation diminishing Runge-Kutta schemes (S. Gottlieb and C. W. Shu)

| cite | improve this answer | |
  • $\begingroup$ Thanks for the answer! I was wondering, what exactly is the effect of using a TVD integrator? Why do we need that at the first place? Why euler integrator fails? I was using euler for first order upwind. Even ENO2 and ENO3, for the problem I am solving (Ideal MHD - Flow around conducting cylinder), was giving correct results. However I found WENO5 gives oscillatory(unphysical oscillation) solution with euler integrator which seems to disappear with TVDRK schemes. Is there any theoretical basis behind this or it just comes from practice? $\endgroup$ – maverick Jun 4 '13 at 7:04
  • $\begingroup$ @maverick I just updated the answer with some more info for TVD. Basically you need TVD to ensure that the solution remains non-oscillatory during time integration $\endgroup$ – mmirzadeh Jun 7 '13 at 2:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.