I'm new to the modelling of inviscid euler equations. I have come across few different upwind schemes that are used instead of central differencing schemes to model such flows, such as flux vector splitting and Godunov. My question is, do I definitely need to know the eigenvectors/eigenvalues of the system if I need to use an upwind scheme for such flow? Is there a way just to apply the normal first order upwind to solve such equations? If so, how is the direction of the flow decided on? Thank you!

  • $\begingroup$ It would help if you specify the space dimension of your application. If it is more than one-dimensional then what kind of grid you want to use. $\endgroup$ Sep 8, 2015 at 21:38
  • $\begingroup$ Standard 1D structured grid. $\endgroup$
    – melody
    Sep 9, 2015 at 7:10
  • $\begingroup$ Does anyone have any idea? I read somewhere that if I can use $df/dx$ if for instance we are solving $df/dt=df/dx$ , to decide whether to upwind or downwind. Any quick hints would be appreciated. $\endgroup$
    – melody
    Sep 9, 2015 at 9:01

2 Answers 2


Do I definitely need to know the eigenvectors/eigenvalues of the system if I need to use an upwind scheme for such flow?

No, it is certainly not necessary to use the full eigenstructure of the system, especially for lower order (order 1-2) schemes. Some of the most commonly used Riemann solvers are Lax-Friedrichs, HLL, HLLE, and HLLC (see Wikipedia). Lax-Friedrichs and HLL only require a rough upper bound on the eigenvalues, and the other two only use a little more information; none of them use the eigenvectors. These solvers are also used implicitly in the so-called central schemes.

Of course, the eigenstructure is written down for you in many references, so "knowing" it is easy.

Is there a way just to apply the normal first order upwind to solve such equations?

The eigenvalues (wavespeeds) of the 1D Euler equations are

$$u-c, u, u+c$$

where $u$ is the local fluid velocity and $c$ is the sound speed. For subsonic flow, these three speeds will not all have the same sign, so the upwind direction is different for different characteristic fields. Thus application of an upwind method requires knowing the eigenvalues.

If you're asking this question, then you would definitely benefit from reading Toro's book or LeVeque's book. It's difficult to respond to your comments below in a meaningful way unless you are more familiar with the basic discretizations that are used for these equations. You are trying to extrapolate your knowledge from discretizations of the advection equation, and there is a significant gap.

  • $\begingroup$ Thank you this makes sense. Is there any reasons why these schemes may perform better than the central differencing schemes? $\endgroup$
    – melody
    Sep 10, 2015 at 8:14
  • $\begingroup$ if eigenvalues are known, am I right in saying that the upwind direction is decided on like so: if u< -c then downwind, if u> c upwind and if u is somewhere between -c and c then central difference? $\endgroup$
    – melody
    Sep 10, 2015 at 8:48
  • $\begingroup$ Re your first comment: that's a new question; please post it as a new question rather than a comment on an answer. $\endgroup$ Sep 10, 2015 at 11:14
  • $\begingroup$ Regarding your second "comment" (also a question): if you want to apply an upwind scheme to each field, you first need to do a characteristic decomposition, which requires the eigenvectors. $\endgroup$ Sep 10, 2015 at 11:17
  • $\begingroup$ ok , I've posted the first question separately. $\endgroup$
    – melody
    Sep 10, 2015 at 16:56

I have experiences with finite volume methods and upwind schemes for nonlinear scalar hyperbolic equations (e.g. $du/dt+df(u)/dx=0$), but not particularly for Euler system of equations. I have checked my sources of literature for a curiosity and after some time my impression is that the most of methods are based on the solution of related Riemann problem, where you can not avoid the computations of eigenvalues (but they are given analytically for standard form of Euler equations).

I have not found a source where the implementation details would be given in such a form that one may recommend it to someone, say, to realize it easily. If I have to choose one source that is close to such goal (and brief enough), I would choose


There you find the properties of Euler equation in section 1 on two pages including the eigenvalues, the method based on Riemann problem in section 2 on two pages (at the beginning the first order method 2.1 using a piecewise constant form of numerical solution should be enough) and, finally, the section 3 on Riemann problem and 4 on conservative update.

So a direct answer to your question is that I do not expect that you can use an upwind method without using the eigenvalues. Maybe someone else can give better recommendation or different view that I would also appreciate.

  • $\begingroup$ Thank you, this confirms the impression I got after looking at different methods. Would you be able to tell me why so many upwind schemes have been developed for such problems and why central differencing schemes don't seem to appear as such in literature? $\endgroup$
    – melody
    Sep 9, 2015 at 13:25
  • $\begingroup$ After reading 'Numerical method for engineering applications' book by Ferziger, it appears that there are methods that do not require the evaluation of the eigenvector, he names a flux vector splitting method but not sure if I understood it yet. $\endgroup$
    – melody
    Sep 9, 2015 at 20:14

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.