Die Folien von Prof. Munz (Powerpoint)

Werbung
Praktikum
„Numerische Strömungsmechanik“
C.-D. Munz, S. Roller
1
Überblick
I- Klassifizierung Differenzialgleichungen
4- Explizit 2.Ordnung
5-Implizit 2.Ordnung
6-Splitting
7-DFL Bedingung
II- Numerische Lösung der elliptischen
Differenzialgleichungen
1-Problemanalyse
a-Problemdarstellung
b-Differenzenquotienten
c-Aufbau des LGS
d-Lösungsverfahren
2-Jacobi-Verfahren
3-Gauß-Seidel-Verfahren
4-SOR-Verfahren
5-LSOR-Verfahren
6-Abbruchkriterien
III-Numerische Lösung von hyperbolischen
Differenzialgleichungen
1-Problemanalyse
2-Diskretisierung
3- Charakteristiken Theorie
4- Upwind-Verfahren
5-Vollimplizites-Verfahren
6-Crank-Nicolson-Verfahren
7-Lax-Wendroff-Verfahren
8- Runge-Kutta-Verfahren
9-MUSCL-Verfahren
10-CFL Bedingung
II-Numerische Lösung der parabolischen
Differenzialgleichungnen
1-Problemanalyse
2-Explizit 1.Ordnung
3- Implizit 1.Ordnung
2
Klassifizierung DGL
Lineare partielle Differentialgleichung 2. Ordnung
in 2 Dimensionen
u
u
u
(1) a 2  b
 c 2  f(x, y, u, u x , u y )
x
x y
y
2
2
2
b 2  4ac  0 : hyperbolis ch
b  4ac  0 : parabolisc h
2
b 2  4ac  0 : elliptisch
3
Klassifizierung DGL
1. Elliptische Gleichung
(2) Δu  κu  f(x, y)
 2u  2u
Δu : 2  2  u xx  u yy
x
y
κf 0
: Laplace - Gleichung
κ  0, f  0 : Poisson - Gleichung
κ  0, f  0 : Helmholtz - Gleichung
Randwertpr obleme
Anwendunge n : Potentialg leichung, Druckgleic hung
4
Klassifizierung DGL
2. Parabolische Gleichung
(3)
u
 νΔu , ν  0
t
u  u(x, y, t)
u : u xx  u yy
Anfangs  Randwertpr oblem
Anwendung : Wärmeleit ung
5
Klassifizierung DGL
3. Hyperbolische Gleichungen
 2u 2
(4)
 c Δu  0
2
t
Anfangs- Randwertproblem
Anwendung: Wellengleichung
6
Klassifizierung DGL
Mit p  c  u x und q  u t lässt sich die Wellengle ichung in einer Raumrichtu ng
umschreibe n zur linearen Transportg leichung :
qt  c  px  0
pt  c  qx  0
Als einfachste hyperbolische Gleichung mit 2 Raumrichtungen ergibt sich somit:
(5)
u
u
u
a b
0
t
x
y
7
Numerische Lösung der elliptischen DGL
1.Problemanalyse
a- Problemdarstellung
Rechengebi et :
x s , x e  ys , y e 
Gitter : äquidistan t, orthogonal
Anzahl der inneren Gitterpunk te : I, J
xe  xs
ye  ys
Schrittwei ten : Δx 
, Δy 
I 1
J 1
Gitterpunk te : x i  x s  iΔ x , i  0,..., I  1
y j  y s  jΔ y , j  0,..., J  1
8
Numerische Lösung der elliptischen DGL / Analyse
b- Differenzenquotienten
Pi,j=(xi,yj)
i, j+1
i-1, j
i, j
i+1, j
ui,j≈u(xi,yj)
y
i, j-1
5 Punktestern
x
Zentrales FD-Verfahren 2. Ordnung
Ersetzen der Ableitungen in Poisson-Gleichung durch Differenzen ergibt:
(6)
u i 1, j  2u i, j  u i 1, j
Δx
2

u i, j1  2u i, j  u i, j1
Δy
2
9
 κu  f(x i , y j )
i  1, ... , I , j  1, ... , J
Numerische Lösung der elliptischen DGL / Analyse
c- Aufbau des Gleichungssystem
(6) 
a i, ju i, j1  bi, ju i-1, j  ci, ju i, j  di, ju i1, j  ei, ju i, j1  fi, j
i  1, ... , I , j  1, ... , J
Mit Sonderbehandlung des Randes ergibt sich:
 u11 
 
 u 21 
u 
 31 
 u 41 
u 
 12 
 u 22 
 
 u 32 
u 
u   42 
 u13 
u 
 23 
 u 33 
u 
 43 
 u14 
 
 u 24 
 u 34 
 
 u 44 
e11
 c11 d11

 b 21 c 21 d 21

b 31 c31 d 31

b 41 c 41

a
c12
 12

a 22
b 22

a 32


a 42
A
a13












e 21
e31
e 41
d12
c 22
b 32
e12
d 22
c32
b 42
e 22
d 32
c 42
e32
e 42
c13
b 23
a 23
a 33
a 43
d13
c 23 d 23
b 33 c33 d 33
b 43 c 43
a14
e 23
e33
c14
b 24
a 24
a 34
a 44
10
e13
d14
c 24
b 34
d 24
c34
b 44

















e 43 




d 34 

c 44 
 Schwach
besetzte Matrix
Numerische Lösung der elliptischen DGL / Analyse
d- Lösungsverfahren
Gleichungssystem:
(7) Au=f
A I·J × I·J-Matrix mit Bandstruktur
u=(u11,u21,…,uI1,u12,…,uIJ)
-Gaußalgorithmus:
Ungünstig, rechnet mit allen Nullen  zu hoher Speicheraufwand
und Rechenzeit
-Thomasalgorithmus:
Nicht anwendbar wegen den Nullen zwischen den Diagonalen
11
Numerische Lösung der elliptischen DGL / Analyse / Verfahren
 sinnvoller :
-Iterationsverfahren:
löst LGS bis zur vorgegebenen Genauigkeit
12
Numerische Lösung der elliptischen DGL / Analyse / Verfahren
Iterationsverfahren (Splittingverfahren)
(7) Au=f
Aufspaltung von A:
A = -Ai+Ae
(8) Ai u Δ  Ae u Δ  f Δ
Aus (8) erhält man damit die
Iterationsvorschrift
u
(p 1)
Δ
1
i
 A (A u  f Δ )
P ist der iterationsindex
13
(p)
e Δ
Numerische Lösung der elliptischen DGL / Analyse / Verfahren
Iterationsverfahren (Splittingverfahren)
u (pΔ 1)  A i1 (A e u (p)
Δ  fΔ )
Jacobi Verfahren:
Ai = -diag(A)
.
Gauß-Seidel Verfahren: Ai = -diag(A) – L
L untere Dreiecksmatrix ohne Diagonale
U obere Dreiecksmatrix ohne Diagonale
Programmtechnische Umsetzung
Matrizen A, Ai, Ae werden nicht berechnet, Ausgangspunkt ist Gleichung (6)
14
Numerische Lösung der elliptischen DGL
2.Jakobi-Verfahren
(6)
u i 1, j  2u i, j  u i 1, j
Δx
2

u i, j1  2u i, j  u i, j1
Δy
2
 κu i, j  f(x i , y j )
i  1, ... , I , j  1, ... , J
Nach uij aufgelöst:
1
1
1
u i, j  2 (u i 1, j  u i 1, j )  2 (u i, j1  u i, j1 )  f i, j
d
Δx
Δy
mit d 
1
2
2

κ
2
Δx Δy 2
Iterationsvorschrift:
 1

1
(p)
(p)
u i,(pj1)  d  2 (u i(p)1, j  u i(p)
)

(u

u
)

f
-1, j
i, j1
i, j-1
i, j 
Δy 2
 Δx

15
i  1, ... , I , j  1, ... , J
Numerische Lösung der elliptischen DGL
3.Gauß-Seidel-Verfahren
(6)
u i 1, j  2u i, j  u i 1, j
Δx 2

u i, j1  2u i, j  u i, j1
Δy 2
 κu i, j  f(x i , y j )
i  1, ... , I , j  1, ... , J
Iterationsvorschrift:
 1

1
u i,(pj1)  d  2 (u i(p)1, j  u i(p-1,1)j )  2 (u i,(p)j1  u i,(pj-11) )  f i, j 
Δy
 Δx

Schon bekannt
16
i  1, ... , I , j  1, ... , J
Numerische Lösung der elliptischen DGL
4.SOR-Verfahren
(6)
u i 1, j  2u i, j  u i 1, j
Δx
2

u i, j1  2u i, j  u i, j1
Δy
2
 κu i, j  f(x i , y j )
i  1, ... , I , j  1, ... , J
Iterationsvorschrift:
 1

1
~
u i,(pj1)  d  2 (u i(p)1, j  u i(p-1,1)j )  2 (u i,(p)j1  u i,(pj-11) )  f i, j 
Δy
 Δx

i  1, ... , I , j  1, ... , J
u i,(pj1)  1 - ω u i,(p)j  ω~
ui,(pj1)
i  1, ... , I , j  1, ... , J
Gauß-Seidel
 Relaxation sparameter
  1 Unterre laxation
  1 Überrel axation
17
2
ωopt 
2  2 1a
a
,
 cos Iπ1β 2cos Jπ1 
a
 ,
2
1

β


β
Δx
Δy
Numerische Lösung der elliptischen DGL
5.LSOR-Verfahren
(6)
u i 1, j  2u i, j  u i 1, j
Δx
2

u i, j1  2u i, j  u i, j1
Δy
2
 κu i, j  f(x i , y j )
i  1, ... , I , j  1, ... , J
Iterationsvorschrift:
~ (p1) 1 ~ (p1)
1 ~ (p1)  2
2
1 (p1) (p)


u



κ
u

u


(ui, j1  ui, j1 )  fi, j
i-1, j
2 i1, j
2
 Δx 2 Δy 2  i, j
Δx 2
Δx
Δy


i  1, ... , I , j  1, ... , J
In x-Richtung wird ein tridiagonales Gleichungssystem gelöst
u i,(pj1)  1 - ω u i,(p)j  ω~
ui,(pj1)
 Relaxation sparameter
i  1, ... , I , j  1, ... , J
2
  1 Unterre laxation
  1 Überrel axation
ωopt 
18
2  2 1 a
a
,
 cos Iπ1β 2cos Jπ1 
a
 ,
2
1

β


β
Δx
Δy
Numerische Lösung der elliptischen DGL
6.Abbruchkriterien
Die Verfahren können durch erfüllen der Abbruchkriterien beendet
werden:
R : Au (pΔ 1)  f Δ
Residuum
Abbruchkri terien
|| Au (pΔ 1)  f Δ ||Δ  ε
Genauigkeit des Ergebnis
|| u (pΔ 1)  u (p)
Δ ||Δ  ε
Genauigkeit der Iteration
und/oder
||  ||Δ  Maximum
||  ||Δ  quadratisc hes Mittel
19
Numerische Lösung der elliptischen DGL
7.Verfahren der konjugierten Gradienten(CG)
a- Grundidee
Die Idee der Gradientenverfahren besteht darin,
für das Gleichungssystem aus (7) ein Fehlerfunktional zu definieren,
um dieses anschließend zu minimieren.
Das Fehlerfunktional:
F(u)=0.5(uTAu) – fTu
hat genau ein globales Minimum in u= u*
Dabei steht u* für die exakte Lösung des Problems aus (7), womit gilt:
Au*=f
20
Numerische Lösung der elliptischen DGL / CG Verfahren
b- Mathematische Behandlung
 u1 
 
1 T
 u2 
T
(1) F(u)  u Au  f u,
u     Rn

2
 
u 
 n
1 * T
1 * T
T
* T
*
f
u

(u
)
Au

(u
)
Au

(u ) Au (2)
mit Au  f gilt
2
2
(1)+(2) 
1
1
1
1
1
F(u)  u T Au  (u*)T Au  (u*)T Au  (u* )T Au*  (u* )T Au*
2
2
2
2
2
1
1
 (u  u*)T A(u  u* )  (u*)T Au *
2
2
wegen
(u  u* )T A(u  u* )  0
  F minimal für
* T
*
(u ) Au  cst

21
(u  u* )T A(u  u* )  0  u  u*
Numerische Lösung der elliptischen DGL / CG Verfahren
Zur Bestimmung des Minimums von F setzen wir
u k 1  u k  α k pk
αk  R , u k eine Näherung von u , p k Suchricht ungsvektor
und wollen α k so bestimmen, dass F(u k 1 )  F(u k  α k pk )  min F(u k  α k pk )
α kR
Bei festem u k und pk ist das minimum F(u k  αk pk ) nur noch von αk abhängig
1
F(u k  α k p k )  (u k  α k p k )T A(u k  α k p k )  f T (u k  α k p k )
2
1
1
 (p k )T Ap k . α 2k  (p k )T (Au k  f). α k  (u k )T (Au k  2 f)
2
2
Durch Differenzieren erhalten wir
(p k )T (Au k  f)
 Fα (u  αk p )  (p ) Ap k . α k  (p ) (Au  f)  0  α k  
(p k )T Ap k
k
k
k T
k T
k
22
Numerische Lösung der elliptischen DGL / CG Verfahren
c- Suchrichtungsvektor
Steilster Abstieg
Man beginnt nun mit der Suche der Lösung mit einem
beliebigen Startvektor und sucht in Richtung des steilsten Abstiegs:
1
Mit F(u)  u T Au  f T u
2
gilt
 F : u T A  f T  (Au  f) T  r T
Wir wählen nun als Suchrichtung
pk  ( F(u k ))T  r k
Diese Wahl scheint geeignet zu sein, da F(u) in negativer Gradientenrichtung
am stärksten abfällt.
Damit ist
(p k )T (Au k  f)
(r k )T r k
αk  
 k T k
k T
k
(p ) Ap
(r ) Ar
23
Numerische Lösung der elliptischen DGL / CG Verfahren
Steilster Abstieg
Insgesamt ergibt sich so die folgende Iterationsvorschrift:
u k 1  u k  α k  r k
mit der Schrittwei te α k 
und dem Residuum
rk  rk
kT
r  A r k
r k  A u k  f
Diese einfache Suchrichtung konvergiert allerdings nur relativ
schlecht. Eine deutliche Verbesserung kann durch die
Verwendung von konjugierten Gradienten erzielt werden.
24
Numerische Lösung der elliptischen DGL / CG Verfahren
CG Verfahren
Für das Verfahren der konjugierten Gradienten müssen lediglich
die Suchrichtungen so angepasst werden, dass sie A -orthogonal
aufeinander stehen. Diese neuen Suchrichtungen werden dann statt
dem einfachen negativen Gradienten in obigen Verfahren verwendet.
Die Korrekturr ichtung wird unter der Verwendung der Risiduen modifizier t
p k 1  r k 1  β k  p k
(r k 1 ) T  r k 1
Dabei sichert die wahl β k 
(r k ) T  r k
dass p k 1 und Ap k und damit r k 1 und r k orthogonal sind .
25
Numerische Lösung der elliptischen DGL / CG Verfahren
Insgesamt ergibt sich so die folgende Iterationsvorschrift:
u k 1  u k  α k  p k
mit der Schrittwei te
(r k ) T  r k
αk   k T
(p )  A p k
der Suchrichtu ng
p k 1  r k 1  β k  p k
und dem Residium
r k 1  A (u k  α k  p k )  f  r k  α k  A p k
(r k 1 ) T  r k 1
βk 
(r k ) T  r k
26
Numerische Lösung der parabolischen DGL
1.Problemanalyse
mit u  u(x, y, t) , f  f(x, y) , ν  R
ut u  f ,  0
 2u  2u
Δu  2  2
x y
instationäres Problem
i, j+1
Gitter : äquidistan t, orthogonal
Rechengebi et : [x s , x e ]  [y s , y e ]  [t 1 , t 2 ]
Anzahl der inneren Gitterpunk te : I, J
Anzahl der Zeitsc hritte : N
x  xs
y  ys
Schrittwei ten : Δx  e
, Δy  e
I 1
J 1
t
Zeitschrit tweite : Δt  2 (t 1  0)
N
Gitterpunk te x i  x s  ix, i  0,..., I  1
y j  y s  jy, j  0,..., J  1
27
i-1, j
i, j
i+1, j
i, j-1
y
x
Approximation im Raum:
zentrale Differenzen
Numerische Lösung der parabolischen DGL
2. Explizites Verfahren 1. Ordnung in der Zeit
uin, j 1  uin, j
uin1, j  2uin, j  uin1, j
uin, j 1  2uin, j  uin, j 1


 fi , j
2
2
t
x
y
Vorwärts
Zentraler
tn+1
Differenzenstern
Kein LGS
tn
xi-1
xi
xi+1
28
Differenzenquotient
Numerische Lösung der parabolischen DGL / Explizit
Auflösen nach
u
n 1
i, j
n1
i, j
u
νΔt n
νΔt n
n
n
 u  2 (u i 1, j  2u i, j  u i-1, j )  2 (u i, j1  2u i,n j  u i,n j-1 )  Δtf i, j
Δx
Δy
i  1, ... , I , j  1, ... , J , n  0, ... , N - 1
n
i, j
Schrittwei tenbedingu ng : DFL max  1
4
Programmtechnische Umsetzung
Die Schrittweite wird über die DFL-Bedingung festgelegt, in dem ein
Sicherheitsfaktor eingeführt wird:
Δt  
DFL max
min (x 2 , Δy 2 )
ν
29
Numerische Lösung der parabolischen DGL
3.Implizites Verfahren 1. Ordnung (Euler-Verfahren)
uin, j 1  uin, j
uin11, j  2uin, j 1  uin11, j
uin, j 11  2uin, j 1  uin, j 11


 fi, j
2
2
t
x
y
Rückwärts
xi-1
tn+1
Zentraler
xi
xi+1
Differenzenstern
tn
30
Differenzenquotient
Numerische Lösung der parabolischen DGL / Implizit
nur Zeitdiskre tisierung
un1 - un
 νun1  f
Δt
1 n1
1 n 1
n 1
Δu 
u 
u  f
ν t
ν ΔΔ
ν
1
 elliptisch e Gleichung mit κ  
,
ν t
lineares Gleichungssystem
31
~
1 n 1
f 
u  f
ν ΔΔ
ν
Numerische Lösung der parabolischen DGL
4.Explizites Verfahren 2. Ordnung (Du Fort-Frankel)
n  un
n  un
n1  u n1
u n  2ui,j
u n  2ui,j
ui,j
i,j
i1,j
i1,j
i,j 1
i,j 1
ν
ν
 fi,j
Δt
Δx 2
Δy 2
für i  1,...,I,j  1,...,J
t
1
u i,n j  (u i,n j 1  u i,n-j1 )
2
implizite Stabilisie rung
explizit auflösbar
tn+1
tn
tn-1
xi-1
xi
xi-+1
x
32
Numerische Lösung der parabolischen DGL / Du Fort-Frankel
u i,n j 1  u i,n -j1 
2νt n
2 νt n
n
n
n
n
(u

2
u

u
)

(u

2
u

u
i

1,
j
i,
j
i
1,
j
i,
j

1
i,
j
i,
j-1 )  2t f i, j
2
2
Δx
Δy
1
mit
u i, j  (u i,n j 1  u i,n -j1 )
2
i  1, ... , I , j  1, ... , J , n  0, ... , N - 1
Anlaufschritt nötig
33
Numerische Lösung der parabolischen DGL / Crank-Nicolson
5.Implizites Verfahren 2. Ordnung (Crank-Nicolson)
u i,n j 1  u i,n j
n 1
ν
n 1
n 1
u i 1, j2  2 u i, j 2  u i 1, j2
Δt
Δx
für i  1,..., I, j  1,..., J
2
n 1
ν
n 1
n 1
u i, j12  2 u i, j 2  u i, j12
Δy
2
 f i, j
t
tn+1
1
 (u i,n j  u i,n j 1 )
2
Zentrale Differenze n in der Zeit
n 1
u i, j
tn+1/2
tn
xi-1
xi
xi+1
x
34
2
Numerische Lösung der parabolischen DGL
nur Zeitdi skretisier ung
u n 1 - u n
~ n 1/ 2
 νΔu
f
Δt
1 n n 1
n 1 / 2
u
: (u  u ) zentrale Differenze n in der Zeit
2
2 n 1
2 n ~ n 2
~
Δu n 1 
u 
u  Δu  f
ν Δt
ν Δt
ν
~
2
2 n ~ n 2
 elliptisch e Gleichung mit κ  
, f 
u  Δu  f
ν Δt
ν Δt
ν
35
Numerische Lösung der parabolischen DGL
6.Splitting-Verfahren
(Dimensionensplitting, Zwischenschrittmethode, Fractional Step)
Zerlegung:
u t - νu  f

u t - νu xx - νu yy  f
(9)
u t - ν u xx  0
(10)
u t - ν u yy  0
(11)
ut  f
36
Numerische Lösung der parabolischen DGL / Splitting
a- Splitting-Methode implizit 1. Ordnung
In jedem Zeitschritt wird (9), (10), (11) nacheinander 1. Ordnung gelöst
(9)
(10)
(11)
u *i, j  u i,n j
u *i 1, j  2u *i, j  u *i 1, j
ν
 0 für i  1,..., I, j  1,..., J
Δt
Δx 2
u *i,*j  u *i, j
u *i,*j1  2u *i,*j  u *i,*j1
ν
 0 für i  1,..., I, j  1,..., J
2
Δt
Δy
u i,n j 1  u *i,*j
Δt
 f i, j
für i  1,..., I, j  1,..., J
37
Numerische Lösung der parabolischen DGL / Splitting
b- Splitting-Methode implizit 2. Ordnung
(9), (10), (11) werden jeder für sich 2. Ordnung genau gelöst
(mit Crank-Nicolson-Verfahren):
u *i, j  u i,n j
(9)
(10)
(11)
*
*
*
n
n
n
ν u i 1, j  2u i, j  u i 1, j ν u i 1, j  2u i, j  u i 1, j


 0 für i  1,..., I, j  1,..., J
Δt
2
Δx 2
2
Δx 2
u *i,*j  u *i, j ν u *i,*j1  2u *i,*j  u *i,*j1 ν u *i, j1  2u *i, j  u *i, j1


 0 für i  1,..., I, j  1,..., J
Δt
2
Δy 2
2
Δy 2
u i,n j 1  u *i,*j
Δt
 f i, j
für i  1,..., I, j  1,..., J
Damit das Gesamtverfahren auch 2. Ordnung in der Zeit ist, muß die
Reihenfolge der Schritte in jedem Zeitschritt vertauscht werden:
(9), (10), (11); (11), (10), (9); (9), (10), (11); (11), (10), (9); ...


 

 

 


Δt
Δt
Δt
Δt
38
Numerische Lösung der parabolischen DGL
7.Die DFL Bedingung
Die DFL Zahl steht für die dimensionslose Diffusionszahl, die in parabolischen
Gleichungen auftritt:
DFL  
t
x 2
Es lässt sich hier eine " Diffusions geschwindi gkeit" über ein Raumgitter x als

x
definieren , die die Informatio nsausbreit ung durch Diffusion beschreibt .
x
Die numerische Informatio nsausbreit ung ergibt sich aus
 DFL max .
t
39
Numerische Lösung der parabolischen DGL / DFL-Bedingung
Damit das Verfahren stabil ist ergibt sich die Bedingung,
dass die numerische Ausbreitun gsgeschwin digkeit mindestens so groß ist wie durch
die DGl vorgegebe n wird :
x

DFL max 
t
x
und damit bei festem x für die Zeitschri ttweite :
t 
DFL max

40
x 2
Numerische Lösung der hyperbolischen DGL
1.Problemanalyse
u t  au x  bu y  f
mit : u  u(x, y, t) , a  a(x, y, t), b  b(x, y, t), f  f(x, y, u)
Gitter : äquidistan t, orthogonal
Rechengebi et : [x s , x e ]  [y s , y e ]  [t 1 , t 2 ]
Anzahl der inneren Gitterpunk te : I, J
Anzahl der Zeitsc hritte : N
x  xs
y  ys
Schrittwei ten : Δx  e
, Δy  e
I 1
J 1
t
Zeitschrit tweite : Δt  2 (t 1  0)
N
Gitterpunk te x i  x s  ix, i  0,..., I  1
y j  y s  jy, j  0,..., J  1
41
Numerische Lösung der hyperbolischen DGL / Problemanalyse
Umformulierung als Erhaltungsgleichung
u t  (au) x  (bu) y  f(x, y, u)
f(x, y, u)  f(x, y, u)  a x u  b y u
i, j+1
i,j+1/2
i, j
i-1, j
y
i-1/2, j
i+1, j
i+1/2, j
i,j-1/2
x
(au) i  12, j  (au) i  12, j
x
i, j-1
Differenz dessen, was links ein und rechts ausströmt
 Fluß über den linken bzw. rechten Rand
Erhaltungseigenschaft: was aus einer Zelle ausströmt, strömt in die Nachbarzelle ein
42
Numerische Lösung der hyperbolischen DGL / Problemanalyse
Splitting-Methode
(12)
u t  (au) x  0
(13)
u t  (bu) y  0
(14)
u t  f(x, y, u)
Verfahren in Erhaltungsform
(12)
Δt
u *i, j  u i,n j  Δx
(g in 12, j  g in 12, j )
i  1,..., I, j  1,..., J
(13)
Δt
u *i,*j  u *i, j  Δy
(h *i, j 12  h *i, j 12 )
i  1,..., I, j  1,..., J
(14)
u i,n j 1  u *i,*j  Δtf i,**j
i  1,..., I, j  1,..., J
g, h numerische Flüsse
43
Numerische Lösung der hyperbolischen DGL / Problrmanalyse
Im Weiteren werden Verfahren angegeben, die Gleichungen der Form
(15) u t  (au) x  0
lösen, d.h . Verfahren für eine Raumdimension.
Treten weitere Dimensionen auf,
so werden sie gemäß des angegebenen
Splitting-Vefahrens nacheinander gelöst.
44
Numerische Lösung der hyperbolischen DGL
2. Diskretisierung
Im Raum
g i  12, j  12 a i  12, j (u i, j  u i 1, j )
h i, j 12  12 bi, j 12 (u i, j  u i, j1 )
Eingesetzt in das Verfahren ergibt sich für ai+½,,j=ai-½,,j:
g i  12, j  g i  12, j
Δx
h i,h  12  h i, j 12
Δy


1
2
a i  12, j (u i, j  u i 1, j ) - 12 a i  12, j (u i, j  u i 1, j )
1
2
Δx
(u i, j  u i, j1 ) - 12 b i, j 12 (u i, j  u i, j1 )
b i, j 12
Δy


a i  12, ju i 1, j  a i  12, ju i 1, j
2 Δx
b i, j 12 u i, j1  b i, j 12 u i, j1
2 Δy
Zentrale Differenz (2. Ordnung) im Raum
45
 au x i, j
 bu y
i, j
Numerische Lösung der hyperbolischen DGL / Diskretisierung
In der Zeit
Die Ableitungen im Raum werden zu einem gemeinsamen Zeitpunkt gebildet.
Für die DGl fehlt nun noch die Ableitung nach der Zeit zu diesem Zeitpunkt. Sie
ermöglicht dann das Fortschreiten in der Zeit. Entscheidend ist dabei der
Zeitpunkt, zu dem die DGl angeschrieben wird.
Gebräuchlich für die Diskretisierung der Ableitungen in der Zeit sind:
• Zentrale Differenz mit Mittelung (2. Ordnung)
• Vorwärts- und Rückwärtsdifferenz (1. Ordnung)
• Differenz mit Extrapolation (2. Ordnung)
• Runge Kutta Verfahren höherer Ordnung
Für die expliziten Verfahren muss die Zeitschri ttweite der CFL - Bedingung genügen
es ergibt sich also mit dem Sicherheit sfaktor  : t  
46
CFLmax
x
max(a, b)
Numerische Lösung der hyperbolischen DGL
3.Charakteristiken Theorie
Die Exakte Lösung von u t  (au) x  0 erhält man,Indem man die Kurven(C)
berechnet, auf denen u =const gilt (totale Ableitung=0).

C  (x, t)  R / du   u   u dx  0
dt  t  x dt


ut  ux
dx
0
dt
(16)
durch Identifikation ( 15 und 16 )  C : dx  a(x, t)
dt
t
C
a konstant
 C ist eine Gerade
u konstant auf C  u(x,t)=u(x-at,0)
x
47
Numerische Lösung der hyperbolischen DGL
4.Upwind-Verfahren
u ni 1,j - u ni 1,j
ui,n j 1 ui,n j
a
 Instabiles Verfahren
Δt
2 Δx
Idee:
Upwind

g i  12, j
h i, j 12
u i, j


 a i  12 , j  12 (u i, j  u i 1, j )


u i 1, j
analog
falls a i  12 , j  0
falls a i  12 , j  0
falls a i  12 , j  0
Eingesetzt in das Verfahren ergibt sich:
g i  12, j  g i  12, j
Δx
 a i  12, ju i, j - a i  12, ju i 1, j

Δx

 a i  12, ju i 1, j - a i  12, ju i, j

Δx
falls a i  12, j , a i  12, j  0
 au x i, j
falls a i  12, j , a i  12, j  0
Linksseitige Differenz für a>0, rechtsseitige Differenz für a<0 (1. Ordnung)
48
Numerische Lösung der hyperbolischen DGL / Upwind
 u i,n j 1 u i,n j
u ni, j - u ni1 ,j
a

 Δt
Δx

u ni1 ,j - u ni, j
 u i,n j 1 u i,n j
a

Δt
Δx

falls a  0
falls a  0
Vorwärtsdifferenz (explizit 1.
Ordnung) in der Zeit.
Upwind (1.Ordnung) im Raum.
Information wird entlang
der Charakteristik (PQ)
transportiert.
Differenzenbildung in die Richtung,
aus der die Information kommt.
49
Numerische Lösung der hyperbolischen DGL
5.Vollimplizites Verfahren
Zentrale Differenz (2. Ordnung) im Raum.
Rückwärtsdifferenz (implizit 1.Ordnung) in der Zeit.
n1
i, j
u
u
Δt
n
i, j

g
n 1
i 1/2,j
g
2x
n 1
i 1/2,j
0
Lineares Gleichungssystem
50
Numerische Lösung der hyperbolischen DGL
6.Crank-Nicolson Verfahren
n 1/2
u t i, j
Zentrale Differenzen um n+1/2
ergibt
n1
i, j
u
u
n
i, j
Δt

g
n 1/2
 g x i, j
n 1/2
i 1/2,j
0
g
Δx
n 1/2
i 1/2,j
0
Wie berechnet man die numerischen Flüsse im Zeitpunkt (n+1/2) ?
Durch Mittelung
u
n 1/2
i, j

u i,n j 1  u i,n j
2
 Implizit 2.Ordnung in Raum und Zeit
51
Numerische Lösung der hyperbolischen DGL
7.Lax-Wendroff-Verfahren (x-Richtung)
u
n 1
i, j
u 
n
i, j
mit
g
Δt
Δx
(g
n  12
i  12, j
n  12
i  12, j
a
g
n  12
i  12, j
n  12
i  12, j
u
)
n  12
i  12, j
Prädiktor : berechne Hilfswert un+1/2
u
n  12
i  12, j
u
n
i  12, j
 u t i 1 , j  u
Δt
2
n
2
n
i  12, j
u in1,j  u i,n j
Δt n
2 i  12 , j Δx
 (au) x i 1 , j  (u  u )  a
n
Δt
2
2
1
2
n
i, j
Taylorentwicklung
Explizites Verfahren 2. Ordnung in Raum und Zeit
52
n
i 1, j
Numerische Lösung der hyperbolischen DGL
8.Runge-Kutta-Verfahren 4. Ordnung (klassische Variante)
1. Schritt : k1 
2. Schritt : k 2 
3. Schritt : k 3 
4. Schritt : k 4 
g in 12, j - g in 12, j
u *i, j  u i,n j  Δt2 k1
x
g*i  12, j - g*i  12, j
u *i,*j  u *i, j  Δt2 k 2
x
g*i * 12, j - g *i * 12, j
u *i,*j*  u *i,*j  Δtk 3
x
g*i **12, j - g*i **12, j
u i,n j 1  u i,n j  Δt6 (k 4  2k 3  2k 2  k1 )
x
53
Numerische Lösung der hyperbolischen DGL / Runge-kutta
Dämpfungsterme
2. Ordnung : D e  ε e (u in1, j  2u i,n j  u in1, j )
(0   e  0.1)
4. Ordnung : D e  ε e (u in 2, j  4u in1, j  6u i,n j  4u in1, j  u in-2, j )
(0   e  0.1)
54
Numerische Lösung der hyperbolischen DGL
9.MUSCL Verfahren (x-Richtung)
a- Problemdarstellung
Flussformulierung: gi+1/2,j ist eine Approximation an das, was während des
gesamten Zeitintervalls t über den Rand i+1/2,j der Zelle i,j rein
oder raus fließt.
Problem: man kennt nur uij, d.h. was zum Zeitpunkt tn insgesamt in der
Zelle i,j ist, aber nicht, wie es verteilt ist oder wie es sich innerhalb
des Zeitschritts ändert.
Idee: innerhalb einer Zelle wird eine lineare Verteilung angenommen, so
daß man den Fluß am Rand genauer bestimmen kann.
=> Explizites Verfahren 2. Ordnung in Raum und Zeit
55
Numerische Lösung der hyperbolischen DGL / MUSCL
b- Stückweise lineare Rekonstruktion
Monotonic Upwind Scheme for Conservation Laws
u
xi-1
xi
xi+1
xi+2
x
Statt anzunehmen, dass u konstant ist zwischen xi-1/2 und xi+1/2, nehmen wir
jetzt an, dass u in diesem Bereich linear verteilt ist, d.h. wir bestimmen eine
Gerade und werten sie an den Rändern aus, um die Flüsse zu berechnen.
56
Numerische Lösung der hyperbolischen DGL / MUSCL
c- MUSCL Schema
Bestimmung der Geraden: wir benötigen einen Punkt und eine Steigung.
Der Punkt ist xij mit dem Funktionswert uij.
Steigung: 2 Möglichkeiten, linksseitige oder rechtsseitige Differenz:
Lij 
u i, j  u i1, j
x
, R ij 
u i1, j  u i, j
x
Wir müssen eine der beiden oder eine Linearkombination davon auswählen.
Dies geschieht mit einem sogenannten Limiter, der bestimmte Bedingungen
erfüllen muß.
57
Numerische Lösung der hyperbolischen DGL / MUSCL
Limiter: TVD-Eigenschaft
Mathematische Theorie für skalare Erhaltungsgleichungen
Erweitert auf Systeme
TVD-Eigenschaft (Total Variation Diminishing)
n
n
0
0
u

u

u

u
 i1 i  i1 i
all i
all i
Hinreichende Bedingung (A. Harten)
 x s i
x si 
0
,
2
 u i  u i 1 u i 1  u i 
58
Numerische Lösung der hyperbolischen DGL / MUSCL
Limiter: Beispiele
1.
Minmod-Funktion
si  min mod Li, j , R i, j 
a

min mod a , b    b
0

2.
für
für
a  b , ab  0
a  b , ab  0
sonst
Sweby‘s Steigungsberechnung (gewichteter Minmod)
s k a , b  sign (a) max  min mod a , kb , min mod ka , b 
mit 1  k  2
59
Numerische Lösung der hyperbolischen DGL / MUSCL
Rekonstruktion im Raum
Damit kann man von Zellmittelpunkt an den Rand extrapolieren
Randwerte zu tn
uni  uni 
Δx n
si
2
Steigung sin
Rekonstruktion in der Zeit
Um die 2. Ordnung auch in der Zeit zu bekommen, geht man prinzipiell
genauso vor, man extrapoliert vom Zeitpunkt tnden Zeitpunkt tn+1:
Δt
n 1
u i  2  u in  u t
2
In der Zeit kann man aber keine Steigung berechnen, da man nur die Werte zu
einem Zeitpunkt hat. Man behilft sich, indem man die Zeitableitung durch
Raumableitungen ersetzt:
tn  tn1/2
uni1/2  uni 
    

Δt
Δt
f uni  f uni  uni 
ai1/2 uni  uni
2  x
2  x
60

Numerische Lösung der hyperbolischen DGL / MUSCL
Randbehandlung
u
u (in 11)/ 2, j
ui+1,j
u in,1j/ 2
uij
xi-1
xi
xi+1
x
xi+2
Jetzt muß von der Zelle auf den Rand umgedacht werden.
Der Fluß am Rand, gi+1/2,j ist jetzt:

1/2
gni1/2
 g uni1/2 , uni1/2
1
61

Numerische Lösung der hyperbolischen DGL / MUSCL
Upwind-Verfahren mit MUSCL
1/2
n 1/2
n 1/2
gi 12, j  gni1/2,
j  gui , j , ui1, j
uni ,1/2
falls ai 12, j  0
j

  ai 12,j  21( u ni,1/2j  u(ni1/21),j ) falls ai 12,j  0
 n1/2
falls ai 12, j  0
u( i 1 ), j
hi, j 12 analog
62
Numerische Lösung der hyperbolischen DGL / MUSCL
d- MUSCL Prozedur (gesamt)
Randwerte zu tn
t n  t n1/2
FV-Schema:
uni  uni 
Δx n
si
2
uni1/2  uni 
n 1
i
u
Steigung sin
    
Δt
f uni  f uni
2  x




Δt n1/2 n1/2
u 
gi1/2  gi1/2
Δx
n
i
1/2
mit gni1/2
 g uni1/2 , uni1/2
1
63
Numerische Lösung der hyperbolischen DGL
10.CFL Bedingung
Die Neumannsche Stabilitätsanalyse zeigt ,dass die expliziten Verfahren
bedingt stabil sind.
a
t
1
x
CFL Bedingung
CFL steht hier für Courant-Friedrichs-Lewy. Die CFL Zahl beschreibt die
dimensionslose Konvektionsgeschwindigkeit, die in hyperbolischen Gleichungen
auftritt.
mit a als Transportgeschwindigkeit der eindimensionalen linearen
Transportgleichung. Die Geschwindigkeit, mit der das Verfahren Information
verteilt ist
x
t
64
Numerische Lösung der hyperbolischen DGL / CFL
Damit das gewählte Verfahren mit der vorgenommenen Diskretisierung stabil ist,
muss die Informationsausbreitung des Verfahrens mindestens so groß sein, wie
die der DGl, also bei einer Weitergabe von Information in einem Zeitschritt um
ein Raumgitter:
x
 a , bzw. :
t
t
a
 1 , bzw. : CFL  CFLmax  1
x
für festes x ergibt sich somit für die Zeitschri ttweite :
CFLmax
t 
x
a
65
Numerische Untersuchung der Verfahrensordnung
Numerische Lösung auf einem Gitter der Schrittweite x:
u num  u ex  C  Δx q
Fehler auf einem Gitter der Schrittweite x bzw. 2 x :
eΔx  C  Δx q
e 2 x  C  (2Δx) q  eΔx  2q
Konvergenzordnung q des Verfahrens:
e 2 x
e 2 x
q
 2  q  log 2 Δx
Δx
e
e
66
e 2 x
ln( Δx )
e

ln( 2)
Herunterladen