• Keine Ergebnisse gefunden

14.Juni2007 SebastianPlitzko ADI-Verfahren

N/A
N/A
Protected

Academic year: 2022

Aktie "14.Juni2007 SebastianPlitzko ADI-Verfahren"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

ADI-Verfahren

Sebastian Plitzko

Seminar Numerik und wissenschaftliches Rechnen Technische Universität Darmstadt

14. Juni 2007

(2)

Inhaltsverzeichnis

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(3)

Inhaltsverzeichnis

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(4)

Inhaltsverzeichnis

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(5)

Inhaltsverzeichnis

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(6)

Inhaltsverzeichnis

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(7)

Übersicht

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(8)

Grundlegendes

implizite Behandlung mehrdimensionaler Probleme nicht einfach ADI≡alternate direction implicit

speziell für das Lösen parabolische DGL entwickelt Algorithmus ist dimensionsabhängig

Matrix K wird in eine Summe von Matrizen zerlegt, die in tridiagonalform gebracht werden können

(9)

Übersicht

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(10)

ADI-Verfahren

ADI-Verfahren in 2D (u

t

= u

xx

+ u

yy

)

1. Halbschritt u(n+

1 2)

k,l =uk,l(n)+ δt2

"

u(n+

12) k+1,l +2u(n+

12) k,l +u(n+

12) k−1,l

h2x + u

(n)

k+1,l+2uk,l(n)+u(n)k−1,l hy2

#

2. Halbschritt u(n+1)k,l =u(n+

1 2) k,l + δt2

"

u(n+

1 2) k+1,l +2u(n+

1 2) k,l +u(n+

1 2) k−1,l

h2x +u

(n+1)

k+1,l+2uk,l(n+1)+u(n+1)k−1,l hy2

#

zwei Teilschritte δt2

zunächst wird nur x-Richtung implizit integriert danach wird die y-Richtung weiter integriert ein voller Schritt ist vollzogen

(11)

Verfahren

Verfahrensvorschrift

uk,l(n+1) =uk,l(n)+δtu

(n+1 2) k+1,l +2u(n+

1 2) k,l +u(n+

1 2) k−1,l

h2x

+δt2

u(n+1)k+1,l+2uk,l(n+1)+u(n+1)k−1,l

h2y +u

(n)

k+1,l+2u(n)k,l+uk−1,l(n) h2y

Integrationen:

1 x-Richtung Tangententrapezregel: Fehlerordnungδt2

2 y-Richtung Sehnentrapezregel: Fehlerordnungδt2

=⇒ Gesamtfehlerordnung δt3

(12)

Stabilitätsanalyse für Wärmeleitungsproblem

Courant-Friedrichs-Levy Stabilitätsanalyse mit dem Ansatz uk,l(n)nei(qxkhx+qylhy)

Ansatz folgt aus Eigensystem des Laplaceoperators für den ersten Halbschritt

λ

1 2

1 =1+δt 2

λ

1 2

1

eiqxhx +e−iqxhx −2

h2x +eiqyhy +e−iqyhy −2 h2y

=⇒ λ

1 2

1 =1+2δt

"

λ

1 2

1

sin2 qx2hx

h2x +sin2 qy2hy h2y

#

(13)

Stabilitätsanalyse für Wärmeleitungsproblem

λ

1 2

1 =

1−2δtsin2

qy hy 2

h2y

1+2δtsin2hqx hx22 x

λ

1 2

2 = 1−2δtsin2hqx hx22 x

1+2δtsin

2qy hy 2

h2y

numerische Diffusionsprobleme δt >0 für~q 6=0−→ |λ1|122|12 <1

für positive Schritte unbedingt stabil

unbedingte Stabilität ist spezielle Eigenschaft des 2D ADI-Verfahrens

(14)

Übersicht

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(15)

Sequentieller Algorithmus

Algorithmus

Chooseu0 r :=f −K ·u0 σ:=σ0 := (r,r) k :=0

whileσ > tol2·σ0 do

(H +ρk+1I)·uk∗ = (ρk+1I −V)·uk +f (V +ρk+1I)·uk+1 = (ρk+1I −H)·uk∗+f

r :=f −K ·uk+1 σ = (r,r)

k :=k+1 end

(16)

Konvergenzbeschleunigung

bekannt sind die Eigenwerte bzw. Eigenvektoren der Matrizen Kµjmjmµjm

µjm =sin(jπy)sin(mπx2 ) Hµjmmµjm

jmjµjm λjmjm

(17)

Konvergenzbeschleunigung

Zur Beschleunigung der Konvergenz wird eine Zeitentwicklungsmatrix betrachtet

Aus dem Algerithmus:

Tρ= (V +ρI)−1(H −ρI)(H +ρI)−1(V −ρI) somitTρµjm = j−ρ)(λm−ρ)

j+ρ)(λm+ρ)µjm

wir erhalten ein Minimierungsproblem mit Variable ρ

(18)

Konvergenzbeschleunigung

0< α < λj , λm ≤β c = αβ , δ = (√

2−1)2 , n = [logδc] +1 ρj =βcn−1j−1

Für ein(Nx +1)x(Ny +1)-Gitter erhalten wir:

α= h12(2−2 cos(πh))≈π β = h12(2+2 cos(πh))≈ h42

ρjh42δj−1

(19)

Übersicht

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(20)

Paralleler Algorithmus

Aufteilung der Knoten zu den 4 Prozessoren in Streifen

K =

KE KEI

KIE KI

E für Randknoten und I für innere Knoten

(21)

K-Matrix für unseren Fall von 4 Prozessoren

KE01 0 0 0 0 KE01I1 0 0 0

0 KE12 0 0 0 KE12I1 KE12I2 0 0 0 0 KE23 0 0 0 KE23I2 KE23I3 0

0 0 0 KE34 0 0 0 KE34I3 KE34I4

0 0 0 0 KE40 0 0 0 KE40I4

KI1E01 KI1E12 0 0 0 KI1 0 0 0 0 KI2E12 KI2E23 0 0 0 KI2 0 0 0 0 KI3E23 KI3E34 0 0 0 KI3 0

0 0 0 KI4E34 KI4E40 0 0 0 KI4

(22)

Parallleler Algorithmus

mit Richtungsunterscheidung

neue Aufteilung inK=V+H V=

KE,y KIE KEI KI,y

und H=

KE,x 0 0 KI,x

KE,y Diagonalmatrix

KI,y,KE,x,KI,x parallel invertierbar erstes Ansatz für den Algorithmus

(23)

Erster Algorithmus(einfache Übersetzung)

Deklarationsteil

Chooseu0 r:=

fE − KE ·uE0 − PP

i=1ATi KEI,i ·ul0,i fI − KIE ·uE0 − KIE ·uE0

σ:=σ0 := (r,R−1r) k :=0

(24)

Erster Algorithmus(einfache Übersetzung)

Hauptteil

whileσ > tol2·σ0 do Tx :=H+ρk+1I uk :=

T−1E,x[fE + ρk+1uEk − KE,y ·uEk − PP

i=1ATi KEI,i ·ul,ik T−1I,x[fI + ρk+1uIk − KIE ·uEk − KI,y ·uIk

Ty :=V+ρk+1I g:=

fE − ρk+1uEk∗ − KE,x·uEk∗

fI − ρk+1uIk∗ − KI,x·uIk∗

Solve Tyuk+1 =g r:=

fE − KE ·uEk+1 − PP

i=1ATi KEI,i ·ukl,i+1 fI − KIE ·uEk+1 − KIE ·uEk+1

σ:=σ0 := (r,R−1r) k :=k+1

end

(25)

Verbesserter Algorithmus

Deklarationsteil

Versuch eines verbesserten Algorithmus Reduzierung der Kommunikationsschritte

Chooseu0 v:=

fE − PP

i=1ATi KEI,i ·ul,i0 fI − KIE ·uE0

r:=v−K

KE 0 0 KI

·u0 σ:=σ0 := (r,R−1r)

(26)

Verbesserter Algorithmus

whileσ > tol2·σ0 do Tx :=H+ρk+1I uk :=T−1x ·

v+ρk+1uk

KE,y 0 0 KI,y

·uk

Ty :=V+ρk+1I g:=f +ρk+1uk∗

KE,x 0 0 KI,x

·uk∗

Solve Tyuk+1 =g v:=

fE − PP

i=1ATi KEI,i ·ul,ik+1 fI − KIE ·uEk+1

r:=v−K

KE 0 0 KI

·uk+1 σ:=σ0 := (r,R−1r)

k :=k+1 end

(27)

Paralleler Algorithmus

Einführung eines Hilfsvektors v

Somit nur ein Kommunikationsschritt pro Iteration Inversion T−1x mit einem sequentiellen Invertierer

Einsetzen eines parallelen Algorithmus für das zu lösende GLS (parallel Gauß-Seidel)

(28)

Übersicht

1 Einführung

2 ADI-Verfahren

3 Sequentieller ADI-Algorithmus

4 Paralleler ADI-Algorithmus

5 Zusammenfassung

(29)

Zusammenfassung

sehr gutes Verfahren für parabolische Probleme in zwei Dimensionen unbedingt stabil

nur ein Kommunikationsschritt pro Iteration anwendbar auf Schrödinger-Probleme aus der QM (imaginärzeitliche Diffusionsprobleme)

Referenzen

ÄHNLICHE DOKUMENTE

• Gutachter werden von Versorgungsämtern oder Gerichten ausgewählt, eine besondere Qualifikation ist derzeit nicht erforderlich.. Aber es gibt eine Empfehlung

Die Nutzung von Taylor-Polynomen f¨ ur kleine Frequenzen wird in [26] f¨ ur zeitabh¨angige Konvektions-Diffusions-Reaktions-Probleme ¨ uber eindimesionalen Gebieten wieder

»Es ist Gefahr im Verzug, und das können wir nicht verantwor- ten.« Für die Betreuung der Kleinsten von null bis zwei Jahren wird mit »Caro’s Stor- chennest« eine Vereinbarung

»Es ist Gefahr im Verzug, und das können wir nicht verantwor- ten.« Für die Betreuung der Kleinsten von null bis zwei Jahren wird mit »Caro’s Stor- chennest« eine Vereinbarung

Aber in allen Lagen und Umständen soll nicht vergessen werden, dass das Problem der zwischenmenschlichen Beziehungen nicht ein technisches, sondern ein menschliches ist, auch

geld im Umlauf befindet, das auch nicht gegen eine fixierte Quantität Gold oder anderer Edelmetalle erhältlich ist, so wird ein solches Geld augenscheinlich in dem

Die für eine Tabu Suche erforderliche Nachbarschaftsstruktur wird im Raum der Packpläne defi- niert, wobei zwei verschiedene Umgebungsbegriffe alternativ benutzt werden können... Um

Wenn Sie Ihre Fortsetzungsrückmel- dung durch Einzahlung des ÖH-Bei- .trages mit dem Ihnen zugesandten zahlschein durchgeführt haben, müß- ten Sie ab Mitte September von der