I am currently working on a scheme that uses finite differences WENO5-Z with 3rd Order Runge-Kutta time integration for solving the Euler equations. The code projects the conserved variables and fluxes onto the eigenspace using Roe-averages at i+1/2 and uses a local Lax-Friedrichs flux splitting before applying the WENO reconstruction to the interface fluxes.

When I perform several numerical test (Sod Problem, Modified Sod, and Lax Problem) I get a spurious behavior in the left-traveling rarefaction wave (looks a lot like an expansion shock) in two of them, specifically in the Sod and Lax Problem. The lax problem also displays an oscillatory behavior in across the contact discontinuity.

I attached below the plots for the density, pressure, and velocity. I was wondering if any of you have encountered this issue before. I am surprised to see that kind of behavior since I am implementing Lax-Friedrichs flux splitting. Thank you very much in advance for your help!

WENO5-Z Numerical Tests


1 Answer 1


I finally found the problem and corrected in the code. The issue was that the scheme was not able to handle left-traveling waves due to an incorrect implementation of the eigendecomposition.

The projection on the characteristic space was being done only on the point-values of the vector of conserved variables, that is: $$ V_i = L(u_{i+1/2})U_i$$ $$ G_i = L(u_{i+1/2})F(U_i)$$

where $U_i$ is the vector of conserved variables, $F(U_i)$ is the vector of fluxes, and $L(u_{i+1/2})$ represents the left eigenvectors evaluated at $x_{i+1/2}$ using Roe-averages. Note that this is incorrect since the eigenprojection must be done for ALL the numerical stencil associate with $x_{i+1/2}$. The right expressions would be: $$ V_k = L(u_{i+1/2})U_k$$ $$ G_k = L(u_{i+1/2})F(U_k)$$ where for WENO5 $k= i-2,i-1,i,i+1,i+2,i+3$. I did not find this obvious when reading most of the references so I am attaching a quick diagram below for completeness. It is not intended to be rigorous but simply informative: enter image description here Cheers!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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