Von-Neumann-Stabilitätsanalyse

Die Von-Neumann-Stabilitätsanalyse (nach John von Neumann), manchmal auch L2-Stabilitätsanalyse, ist das Standardverfahren zur Untersuchung der Stabilität von numerischen Verfahren zur Lösung zeitabhängiger partieller Differentialgleichungen.

Das Verfahren wurde von John von Neumann in Los Alamos im Rahmen des Manhattan-Projekts entwickelt. Während des Krieges wurde die Methode unter Verschluss gehalten und erst 1947 von John Crank und Phyllis Nicolson publiziert. 1968 bewies Heinz-Otto Kreiss weitere zentrale Eigenschaften des Analyseverfahrens.

Der lineare, eindimensionale Fall

Gegeben sei auf einem Intervall [ 0 , L ] {\displaystyle [0,L]} eine lineare, partielle Differentialgleichung mit konstanten Koeffizienten der Form

u t + A u x = 0 , {\displaystyle u_{t}+Au_{x}=0,}

Anfangsdaten u 0 = u ( 0 ) {\displaystyle u_{0}=u(0)} sowie ein numerisches Verfahren zur Lösung. Die Bedingung, dass das Verfahren in der L2-Norm stabil ist, besagt dann, dass der durch das numerische Verfahren produzierte Fehler bei gegebenen Schrittweiten Δ x {\displaystyle \Delta x} und Δ t {\displaystyle \Delta t} für t {\displaystyle t\to \infty } beschränkt bleibt. Der erste Schritt der Von-Neumann-Stabilitätsanalyse besteht nun darin, die Lösung periodisch auf die kompletten reellen Zahlen fortzusetzen.

Der periodische Fehler E i n {\displaystyle E_{i}^{n}} zum Zeitpunkt t n {\displaystyle t_{n}} im Diskretisierungspunkt x i {\displaystyle x_{i}} kann nun in eine Fourier-Reihe

E i n = N N c j n e i j Δ x I {\displaystyle E_{i}^{n}=\sum _{-N}^{N}c_{j}^{n}e^{ij\Delta xI}}

entwickelt werden. Hierbei bezeichnet I {\displaystyle I} die imaginäre Einheit. Das numerische Verfahren definiert dann eine Evolution der Koeffizienten der Fourierreihe in der Zeit mittels einer so genannten Amplifikationsmatrix G {\displaystyle G} . Die L2-Stabilitätsbedingung reduziert sich dann darauf, dass das numerische Verfahren genau dann stabil ist, wenn der Spektralradius der Amplifikationsmatrix ρ ( G ) {\displaystyle \rho (G)} betragsmäßig kleiner gleich eins ist.

Beispiel

Der einfachste Fall ist die lineare Advektionsgleichung

u t + a u x = 0 , {\displaystyle u_{t}+au_{x}=0,}

wobei a {\displaystyle a} eine reelle Zahl ist. Eines der einfachsten vorstellbaren numerischen Verfahren zur Lösung solcher Gleichungen ist das explizite Euler-Verfahren u n + 1 = u n ( Δ t ) a u x {\displaystyle u^{n+1}=u^{n}-(\Delta t)au_{x}} zur Zeitintegration gekoppelt mit zentralen Differenzen auf einem äquidistanten Gitter im Raum. Der zweite Term wird also mittels

a u x a 2 Δ x ( u i + 1 n u i 1 n ) {\displaystyle au_{x}\approx {\frac {a}{2\Delta x}}(u_{i+1}^{n}-u_{i-1}^{n})}

approximiert. Insgesamt ergibt sich das Verfahren

u i n + 1 u i n Δ t + a 2 Δ x ( u i + 1 n u i 1 n ) = 0 , {\displaystyle {\frac {u_{i}^{n+1}-u_{i}^{n}}{\Delta t}}+{\frac {a}{2\Delta x}}(u_{i+1}^{n}-u_{i-1}^{n})=0,}

was auch die Entwicklung der Fehler definiert und auch jedes einzelnen Terms der Fourier-Reihenentwicklung. Betrachten wir den j-ten Summanden, so ergibt Einsetzen in die obige Formel und Division durch e i j Δ x I {\displaystyle e^{ij\Delta xI}} mit ϕ = j Δ x {\displaystyle \phi =j\Delta x} :

c j n + 1 c j n + a Δ t 2 Δ x c j n ( e I ϕ e I ϕ ) = 0. {\displaystyle c_{j}^{n+1}-c_{j}^{n}+{\frac {a\Delta t}{2\Delta x}}c_{j}^{n}(e^{I\phi }-e^{-I\phi })=0.}

Die Amplifikationsmatrix ist nun gegeben durch

G ( ϕ ) = c j n + 1 c j n = 1 I a Δ t Δ x sin ϕ . {\displaystyle G(\phi )={\frac {c_{j}^{n+1}}{c_{j}^{n}}}=1-I{\frac {a\Delta t}{\Delta x}}\sin \phi .}

Das Verfahren ist L 2 {\displaystyle L_{2}} -stabil, falls | G | 1 {\displaystyle |G|\leq 1} für alle ϕ {\displaystyle \phi } , was hier nicht der Fall ist, da | G | 2 = 1 + ( a Δ t Δ x ) 2 sin 2 ϕ . {\displaystyle |G|^{2}=1+\left({\frac {a\Delta t}{\Delta x}}\right)^{2}\sin ^{2}\phi .} Damit ist das Verfahren unabhängig von der Wahl der Schrittweiten instabil. Dieses Verhalten beobachteten die Mitarbeiter des Manhattan Projekts, was von Neumann zur Entwicklung der Stabilitätsanalyse führte. Wird im Raum das Upwind-Verfahren

a u x a Δ x ( u i n u i 1 n ) {\displaystyle au_{x}\approx {\frac {a}{\Delta x}}(u_{i}^{n}-u_{i-1}^{n})}

benutzt, so ergibt sich die Courant-Friedrichs-Lewy-Bedingung

a Δ t Δ x < 1 {\displaystyle {\frac {a\Delta t}{\Delta x}}<1} ,

also bedingte Stabilität.

Andere Gleichungen

Im nichtlinearen Fall oder im Falle variabler Koeffizienten kann das Verfahren durch Linearisierung und Einfrieren der Koeffizienten angewandt werden, allerdings liefert die Analyse im allgemeinen Fall nur noch eine notwendige Bedingung für Stabilität, in Spezialfällen auch eine hinreichende. Ferner ist die Bedingung an den Spektralradius nun:

ρ ( G ) 1 + c Δ t {\displaystyle \rho (G)\leq 1+c\Delta t} .

Ein allgemeines Verfahren zur vollständigen Stabilitätsanalyse nichtlinearer Gleichungen ist nicht bekannt.

  • Martin Neumann: Erklärung der Analyse in einem Skript Computational Physics I: Grundlagen der Uni Wien