CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Riemann invariant (

Jin Chen November 17, 1999 04:59

Riemann invariant
I want to know the relation between Riemann invariants and normal velocity on the boundary

Patrick Godon November 17, 1999 10:17

Re: Riemann invariant
The Riemann invariants are defined for one-dimensional flows, while normal velocity refers to problems that are at least two-dimensional by definition.

For multidimensional flows the equivalent of the Riemann invariants are the characteristics of the flow. These are variables that propagate along 'characteristic' lines. These are defined as follow:

For a given geometry of a flow-boundary problem, one can write the equations for the primitive variables (density, velocities, pressure) in the a system of coordinates that has the same geometry as the problem (for example in a box one choses Cartesian coordinates, in a cylinder - cylindrical coordinates, etc..). Then the equations are written in this new system of coordinates. In this system some coordinates will be perpandicular to the boundaries of the flow (no matter whether it is a rigid boundary or just an open boundary). The equations are then modified to one-dimensional equations, where only the dimension perpandicular to the boundary is considered.

Then one solves for the eigenvectors of the new systems of equations, and find the eigenvalues associated with the eigenvectors. This means that if the equations are written in a Matrix form, one has to find the the transformation to diagonalize the matrix. In simple terms, one has to rewrite the equations for new variables (eigenvectors) which are characteristic of the flow problem. These new variables (or eigenvectors) are actually called the characteristics of the flow. These variables propagate perpandicular to the boundary with characteristic speeds (the eigenvalue associated with the eigenvector). The speed of propagation is usualy related to the velocity normal to the boundary and the sound speed.

For example, if the equations are written in cylindrical coordinates and one is interested in the 'Riemann' invariants propagating in the radial direction r (Riemann here refers to the characteristic) and crossing the radial boundary (e.g. the surface of a cylinder), then one has to write one-dimenaional radial equations. These equations (in order to be solved) have to be linearized. Then a transformation is carried out (to diagonalize the matrix) to find out the characteristics (Riemann) of the flow. These characteristics propagate perpandicular to the radial boundary at velocities Vr, Vr+C, Vr-C, where Vr is the radial velocity, C is the sound speed. So this how the Riemann invariants (characteristics of the flow, eigenvector) is related to the normal velocity (Vr, eigenvalue).

See the treatment of the open boundary condition in :

Godon and Shaviv, 1993, Computer Methods in Applied Mechanics and Engineering, volume 110, page 171.


Jin Chen November 18, 1999 09:01

Re: Riemann invariant
Thank you very much for your explainations. Unfortunately, I couldn't find the book you suggested. In my understabding,

du du -- + A -- = 0. Matrix A has eigenvalues (s1,s2,...,sn) and dt dx

eigenvectors v1,v2,...,vn. Actually

A(v1,v2,...,vn)=(v1,v2,...,vn) diag(s1,s2,...,sn)

If we denote X=(v1,v2,...,vn), then we have X^{-1}AX=diag or A=X diag X^{-1}, and

dw dw -- + diag -- = 0, w=X^{-1}u. W is the so called Riemann dt dx

invariants. It that all right? If my understanding is OK, so how to determine the boundary conditions using

(1) eigenvalues and eigenvectors (2) Riemann invariants

? Thank you in advance.

Amadou Sowe November 18, 1999 10:01

Re: Riemann invariant
Good job Patrick. Another very good source on this topic is Numerical Computational of Internal and External Flows (vol 2) by Hirsch. Anyone needing more information on boundary conditions (subsonic, supersonic, non-reflecting,etc.)should read this book.

Patrick Godon November 18, 1999 13:22

Re: Riemann invariant
The reference I mentioned is not a book but a Journal that you should find in the library of Math or Engineering.

You can also try:

Abarbanel, Don, Gottlieb, Rudy, Towsend, 1991, Journal of Fluid Mechanics, volume 225, page 557.

See also the treatment of the boundary conditions in that paper.

The characteristic variables ('characteristics') are the quantities that actually propagate (and also are being advected) in the flow. Any information in the flow is passing from one place to another through the characteristics ('along the characteristic lines') at a speed that is defined by the eigenvalue (v, v+c or v-c). Therefore, at a boundary the information can be incoming on a characteristic and outgoing on another characteristic. As a consequence the physical conditions outside the computational domain enter the domain 'on the back' of the incoming characteristics while the conditions of the flow inside the domain exit the domain 'on the back' of the outgoing characteristics. This means that at the boundary the physical conditions cannot just be imposed on the primitive variables (density, velocities, pressure, ..) but these conditions have to be imposed only on the incoming characteristics, while the outgoing characteristics have to take the value computed from the flow inside the domain. Since the characteristics are function of the primitive variables, one is then left to solve for the primitive variables from the values of the characteristics. This treatment helps to avoid numerical instabilities at the boundaries due to improper treatment of the boundaries ('reflective boundaries').

The best would be for you to find these two papers I mentioned, since there is not enough space here to write so much details.

Try also this review paper:

Givoli, 1991, Journal of Computational Physics, volume 94, page 1.

It must be found in Physics, Engineering, etc..



immortality February 1, 2013 23:00

is there a new article about applying riemann invariants?

All times are GMT -4. The time now is 13:03.