# Riemann problem

In analysis, the Riemann problem (after Bernhard Riemann (1826-1866)) is a special initial value problem in which the initial data are defined as constant, except for a point at which they are discontinuous .

Riemann problems are very helpful for understanding hyperbolic partial differential equations , as all phenomena such as shocks , shock waves or dilution waves appear in them. Exact solutions can also be constructed for complicated non-linear equations such as the Euler equations in fluid mechanics , which is not possible for any initial data.

In numerical mathematics , Riemann problems appear naturally in finite volume methods for solving conservation equations . There the Riemann problems are approached approximately using so-called Riemann solvers .

## Conservation equation in nD

As an important hyperbolic partial differential equation one can consider conservation equations of the following type:

{\ displaystyle {\ begin {aligned} \ partial _ {t} U + \ partial _ {x} F (U) & = 0 \\ U (x, 0) & = U_ {0} (x) \ end {aligned }}}

where and applies. ${\ displaystyle U \ colon \ mathbb {R} \ times \ mathbb {R} ^ {+} \ to \ mathbb {R} ^ {n}}$${\ displaystyle F \ colon \ mathbb {R} ^ {n} \ to \ mathbb {R} ^ {n}}$

In the Riemann problem, the following applies to the initial value:

{\ displaystyle {\ begin {aligned} U_ {0} (x) = {\ begin {cases} U_ {L} \ quad, x <0 \\ U_ {R} \ quad, x> 0 \ end {cases} } \ end {aligned}}}

for . ${\ displaystyle U_ {L}, U_ {R} \ in \ mathbb {R} ^ {n}}$

### Linear flow

For the following linear flow:

{\ displaystyle {\ begin {aligned} F (U) = AU, \ quad A \ in \ mathbb {R} ^ {n \ times n} \ end {aligned}}}

the analytical solution can be calculated. For hyperbolic problems the matrix is always diagonalizable: ${\ displaystyle A}$

${\ displaystyle TAT ^ {- 1} = \ Lambda = \ operatorname {diag} (\ lambda _ {1}, \ dotsc, \ lambda _ {n})}$

with a base transformation matrix . ${\ displaystyle T \ in \ mathbb {R} ^ {n \ times n}}$

The transformation can be used to decouple the PDE: ${\ displaystyle W: = T ^ {- 1} U}$

{\ displaystyle {\ begin {aligned} & \ left \ lbrace {\ begin {aligned} \ partial _ {t} U + A \ partial _ {x} U & = 0 \\ U (x, 0) & = U_ { 0} (x) \ end {aligned}} \ right. \\\ Leftrightarrow & \ left \ lbrace {\ begin {aligned} \ partial _ {t} W + \ Lambda \ partial _ {x} W & = 0 \\ W (x, 0) & = W_ {0} (x): = T ^ {- 1} U_ {0} (x) \ end {aligned}} \ right. \ end {aligned}}}

In this case, decoupling means that the PDE line only contains derivatives of . ${\ displaystyle i.}$${\ displaystyle W_ {i}}$

Each individual equation corresponds to a linear, scalar transport equation and thus the solution is easy to determine:

${\ displaystyle W_ {i} (x, t) = (W_ {0}) _ {i} (x- \ lambda _ {i} t).}$

Inverse transformation now gives the solution:

${\ displaystyle U (x, t) = TW (x, t).}$

The solution can also be obtained differently by showing the jump of the initial values ​​in the new basis:

${\ displaystyle U_ {R} -U_ {L} = \ sum _ {j = 1} ^ {n} \ alpha _ {j} t_ {j} \ quad {\ text {with}} \ alpha _ {j} \ in \ mathbb {R},}$

where are the eigenvectors of (i.e.:) . Now the solution is given as: ${\ displaystyle t_ {j} \ in \ mathbb {R} ^ {n}}$${\ displaystyle A}$${\ displaystyle T = (t_ {1}, \ dotsc, t_ {n})}$

${\ displaystyle U (x, t) = U_ {L} + \ sum _ {j: {\ frac {x} {t}}> \ lambda _ {j}} \ alpha _ {j} t_ {j} = U_ {R} - \ sum _ {j: {\ frac {x} {t}} <\ lambda _ {j}} \ alpha _ {j} t_ {j}.}$

## literature

• Eleuterio F. Toro: Riemann Solvers and Numerical Methods for Fluid Dynamics , Springer Verlag, Berlin 1999, ISBN 3-540-65966-8 .
• Randall J. LeVeque: Finite-Volume Methods for Hyperbolic Problems , Cambridge University Press, Cambridge 2004, ISBN 0-521-81087-6 .