0
$\begingroup$

I have a set of modified compressible Euler equations that I would like to solve using a WENO method. The issue is that the modified flux function involves derivative and filtering terms and I'm not sure how to compute the derivative terms in a consistent manner within the WENO scheme. For simplicity, the key aspects of the problem can be illustrated with the modified 1D Burgers equation

$$u_t + \left( \dfrac{1}{2}u^2+\dfrac{3}{2}\alpha^2\overline{(u_x)^2} \right)_x = 0$$

where the overbar denotes a filtering operation using the Helmholtz filter $\overline{f} = g^\alpha*f$ and

$$g^\alpha(x) = \dfrac{1}{2\alpha}e^{-|x/\alpha|}$$

If $\alpha$ is on the scale of the grid spacing, this PDE produces near discontinuities at the scale of the grid spacing so I would like to use a WENO method for simulations.

My question: given the values of $u$ at the grid points, how should I compute $u_x$ at the grid points so that I can reconstruct the flux function in a WENO fashion since there may be near-discontinuities in $u$.

Alternatively, would it be easier/more sensible to reconstruct $u$ and $u_x$ at half-grid points and then compute the flux function from those reconstructed values? If so, how should I compute $u_x$ at the half grid points?

$\endgroup$
2
$\begingroup$

Caveat: I haven't personally implemented WENO before, so take this with a grain of salt.

Alternatively, would it be easier/more sensible to reconstruct $u$ and $u_x$ at half-grid points and then compute the flux function from those reconstructed values?

I think generally you want to reconstruct $u$ first. The fundamental notion in WENO is to select the best reconstruction of $u$ given a set of nodal values. That reconstruction gives you a $unique$ polynomial. Since that polynomial is unique (and non-oscillatory), you also have a unique value for $u_x$ which is then easily computed directly from that polynomial. It seems to me that if you tried to independently reconstruct both $u$ and $u_x$ from nodal values something would be inconsistent.

$\endgroup$
  • $\begingroup$ I was thinking the same thing, and I have started implementing this to see for sure. It's obviously simple to compute $u_x$ from the ENO polynomials for $u$. Any insight into whether I would lose an order of accuracy when computing $u_x$ this way (i.e. $u=O(\Delta x^5)$, but $u_x=O(\Delta x^4)$)? $\endgroup$ – Doug Lipinski Apr 11 '14 at 17:10
  • 2
    $\begingroup$ Yes, you would lose that order of accuracy in the derivative, but that's common to almost any scheme that boils down to a Taylor series. $\endgroup$ – Aurelius Apr 11 '14 at 17:19
  • $\begingroup$ Thanks, I'd like to see if anyone else has useful suggestions before accepting this answer. $\endgroup$ – Doug Lipinski Apr 11 '14 at 17:30
  • $\begingroup$ Of course. Or you could just email Chi-Wang Shu ;) $\endgroup$ – Aurelius Apr 11 '14 at 17:33
0
$\begingroup$

Here's what I ended up doing for Burger's equation.

At each grid point:

  1. Compute the ENO polynomials of the desired order for $u$ and use these to compute $u_x$ at the grid points $x_j$, upwind based on local characteristic speed $u$.
  2. Use the appropriate smoothness measures (i.e. those in Jiang and Shu, 2005 [PDF link]) to form the (WENO) weighted approximation of $u_x$
  3. Compute the flux function at the grid points using the now known values of $u$ and $u_x$
  4. Perform WENO reconstruction of the primitive function for the fluxes at half grid points.

So far, this seems to be working very well.

$\endgroup$

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.