Riemann-Problem

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Als Riemann-Problem (nach Bernhard Riemann (1826–1866)) wird in der Analysis ein spezielles Anfangswertproblem bezeichnet, bei dem die Anfangsdaten als konstant definiert werden, bis auf einen Punkt, in dem sie unstetig sind.

Riemann-Probleme sind hilfreich für das Verständnis hyperbolischer partieller Differentialgleichungen, da in ihnen alle Phänomene wie Schocks, Verdichtungsstöße oder Verdünnungswellen auftauchen. Es sind auch für komplizierte nichtlineare Gleichungen wie die Euler-Gleichungen der Strömungsmechanik exakte Lösungen konstruierbar, was nicht für beliebige Anfangsdaten möglich ist.

In der numerischen Mathematik tauchen Riemann-Probleme in natürlicher Weise in Finite-Volumen-Verfahren zur Lösung von Erhaltungsgleichungen auf. Dort werden die Riemann-Probleme approximativ mittels sogenannter Riemann-Löser angegangen.

Erhaltungsgleichung

[Bearbeiten | Quelltext bearbeiten ]

Als wichtige hyperbolische partielle Differentialgleichung kann man Erhaltungsgleichungen des folgenden Typs betrachten:

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

Dabei gilt U : R × R + R n {\displaystyle U\colon \mathbb {R} \times \mathbb {R} ^{+}\to \mathbb {R} ^{n}} {\displaystyle U\colon \mathbb {R} \times \mathbb {R} ^{+}\to \mathbb {R} ^{n}} und F : R n R n {\displaystyle F\colon \mathbb {R} ^{n}\to \mathbb {R} ^{n}} {\displaystyle F\colon \mathbb {R} ^{n}\to \mathbb {R} ^{n}}.

Beim Riemann-Problem gilt für den Anfangswert:

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

für U L , U R R n {\displaystyle U_{L},U_{R}\in \mathbb {R} ^{n}} {\displaystyle U_{L},U_{R}\in \mathbb {R} ^{n}}.

Linearer Fluss

[Bearbeiten | Quelltext bearbeiten ]

Für den linearen Fluss

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

lässt sich die analytische Lösung berechnen. Für ein hyperbolisches Problem ist die Matrix A {\displaystyle A} {\displaystyle A} stets diagonalisierbar:

T A T 1 = Λ = diag ( λ 1 , , λ n ) {\displaystyle TAT^{-1}=\Lambda =\operatorname {diag} (\lambda _{1},\dotsc ,\lambda _{n})} {\displaystyle TAT^{-1}=\Lambda =\operatorname {diag} (\lambda _{1},\dotsc ,\lambda _{n})}

mit einer Basistransformationsmatrix T R n × n {\displaystyle T\in \mathbb {R} ^{n\times n}} {\displaystyle T\in \mathbb {R} ^{n\times n}}.

Mit der Transformation W := T 1 U {\displaystyle W:=T^{-1}U} {\displaystyle W:=T^{-1}U} kann man die PDGL entkoppeln:

{ t U + A x U = 0 U ( x , 0 ) = U 0 ( x ) { t W + Λ x W = 0 W ( x , 0 ) = W 0 ( x ) := T 1 U 0 ( x ) {\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}}} {\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}}}

Entkopplung bedeutet in diesem Fall, dass in der i {\displaystyle i} {\displaystyle i}-ten Zeile der PDGL nur noch Ableitungen von W i {\displaystyle W_{i}} {\displaystyle W_{i}} vorkommen.

Jede einzelne Gleichung entspricht einer linearen, skalaren Transportgleichung und somit ist die Lösung einfach zu bestimmen:

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

Rücktransformation ergibt nun die gesuchte Lösung:

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

Man kann die Lösung auch anders erhalten, indem man den Sprung der Anfangswerte in der neuen Basis darstellt:

U R U L = j = 1 n α j t j mit  α j R , {\displaystyle U_{R}-U_{L}=\sum _{j=1}^{n}\alpha _{j}t_{j}\quad {\text{mit }}\alpha _{j}\in \mathbb {R} ,} {\displaystyle U_{R}-U_{L}=\sum _{j=1}^{n}\alpha _{j}t_{j}\quad {\text{mit }}\alpha _{j}\in \mathbb {R} ,}

wobei die t j R n {\displaystyle t_{j}\in \mathbb {R} ^{n}} {\displaystyle t_{j}\in \mathbb {R} ^{n}} die Eigenvektoren von A {\displaystyle A} {\displaystyle A} sind (also: T = ( t 1 , , t n ) {\displaystyle T=(t_{1},\dotsc ,t_{n})} {\displaystyle T=(t_{1},\dotsc ,t_{n})}). Nun ist die Lösung so gegeben:

U ( x , t ) = U L + λ j < x t α j t j = U R λ j > x t α j t j {\displaystyle U(x,t)=U_{L}+\sum _{\lambda _{j}<{\frac {x}{t}}}\alpha _{j}t_{j}=U_{R}-\sum _{\lambda _{j}>{\frac {x}{t}}}\alpha _{j}t_{j}} {\displaystyle U(x,t)=U_{L}+\sum _{\lambda _{j}<{\frac {x}{t}}}\alpha _{j}t_{j}=U_{R}-\sum _{\lambda _{j}>{\frac {x}{t}}}\alpha _{j}t_{j}}
  • 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.
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Riemann-Problem&oldid=215005601"