# Is it necessary to do characteristic decomposition to solve 2D Euler Equation?

Recently, I am trying to solve 2D Euler Equation using FV-WENO reconstruction. For the smooth initial problem, component-wise WENO reconstruction works well. My problem is, if I want to solve double mach reflection problem, do I need to do characteristic decomposition? It seems that doing characteristic decomposition in 2D is not as easy as that in 1D.

When you say "characteristic decomposition", I take it to mean finding the eigenvalues and eigenvectors of the Euler flux Jacobian. This is needed in approximate Riemann solvers such as that of Roe.

However, there are several Riemann solvers that do not explicitly need the eigen-decomposition of the flux Jacobian. These include Van Leer's flux vector splitting, the AUSM family of schemes and several others. Some 1D versions are, for instance, described here in brief: http://chimeracfd.com/programming/gryphon/fluxmain.html. Many newer flux-vector splitting schemes, such as AUSM+, are known to resolve shocks etc very well, provided you use a good limiter. Since you're using WENO, you should be fine. You might need to adjust the WENO parameters a bit.

For 2D and 3D problems, there is hardly any difference in the Riemann solver itself. Essentially the 1D Riemann solver is applied in the direction normal to the face between two cells. For example, if the 1D scheme requires the left cell Mach number $M_L = u_L/c_L$, the 2D scheme needs the left cell face-normal Mach number $M_{nL} = \vec{u}_L \cdot \vec{n} / c_L$ where $\vec{n}$ is the normal to the face across which flux is being computed. The mass flux, instead of being $f_{mass} = \rho u$, becomes $f_{mass} = \rho \vec{u}\cdot\vec{n}$, and so on.

You can do this with any of the common Riemann solvers (Roe, HLLC etc), not just the ones mentioned before. See the last section in https://web.stanford.edu/group/frg/course_work/AA214B/CA-AA214B-Ch7.pdf , for instance. They are also described in some books such as J. Blazek, "Computational Fluid Dynamics: Principles and Applications".

You will get better results with characteristic decomposition. This brings in upwind character to your scheme which is most crucial thing for hyperbolic problems.

If you use an upwind flux like Riemann solver based, then upwinding is already built into the scheme. So doing WENO on conserved variables may be ok. But if you are using a central flux like Lax-Friedrich, then it is better to do WENO reconstruction of characteristic variables.

WENO is a sort of limiter which is trying to enforce some maximum principle or monotonicity condition. Conserved variables dont have a maximum principle but characteristic variables do, at least in a local, linearized sense. So I would recommend applying WENO on characteristic variables all the time, if you dont mind the additional expense. Or atleast have both options in your code, so you can try out both and see which one works best for your problem.

Usually, a Riemann solver or approximate Riemann solver is used to solve test cases which require shock capturing such as this one. It is an extension of the upwinding of the characteristics variables to non-linear equations, so I assume it is what you mean by characteristic decomposition.

The 2D Riemann problem is indeed much more complex than the 1D problem. See for instance this course on multidimensional Riemann solvers.

However, for many applications, the 2D effects at the corner of the cells are neglected and only the 1D Riemann problems along the edges are solved. This approximation might be sufficient to solve your test case.

No, it is not always necessary. The so-called central schemes (like https://en.wikipedia.org/wiki/MUSCL_scheme#Kurganov_and_Tadmor_central_scheme) don't use Riemann solvers. They keyword to search is Riemann solver free schemes.