4. Ãbungsblatt - Institut für Geometrie und Praktische Mathematik
4. Ãbungsblatt - Institut für Geometrie und Praktische Mathematik
4. Ãbungsblatt - Institut für Geometrie und Praktische Mathematik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Institut</strong> für <strong>Geometrie</strong> <strong>und</strong> <strong>Praktische</strong> <strong>Mathematik</strong><br />
Partielle Differentialgleichungen – WS 09/10<br />
Prof. Dr. W. Dahmen – Prof. Dr. S. Müller<br />
Dipl.-Ing. M. Rom – Dipl.-Math. P. Esser<br />
Übung 4<br />
Abgabe bis Do, 12.11.09, 15:00 Uhr, Kasten vor R149<br />
Aufgabe 11: (Programmieraufgabe: Konvektions-Diffusionsgleichung)<br />
Auf dem Gebiet Ω := (0, 1) 2 ist das Dirichlet-Randwertproblem<br />
−a∆u + b(u x + u y ) = f,<br />
u| ∂Ω = 0,<br />
mit Konstanten a > 0, b ≥ 0 <strong>und</strong> einer stetigen Funktion f : Ω → R gegeben. Dieses<br />
wird mit Hilfe der folgenden beiden Differenzenverfahren auf einem regelmäßigen Gitter<br />
der Schrittweite h := 1/N (in x- <strong>und</strong> y-Richtung) diskretisiert:<br />
⎤ ⎡ ⎤<br />
⎡<br />
a<br />
⎣<br />
h 2<br />
⎡<br />
a<br />
⎣<br />
h 2<br />
−1<br />
−1 4 −1<br />
−1<br />
−1<br />
−1 4 −1<br />
−1<br />
⎦ u h + b 1<br />
⎣−1 0 1⎦ u h = f, (zentrale Differenzen) (∗)<br />
2h<br />
−1<br />
⎤ ⎡ ⎤<br />
⎦ u h + b 0<br />
⎣−1 2 0⎦ u h = f (Upwind) (∗∗)<br />
h<br />
−1<br />
Schreibe ein Programm, das die beiden Verfahren implementiert. Als Löser für das lineare<br />
Gleichungssystem kann man z.B. einen direkten Löser (Gauß-Algorithmus,...) benutzen.<br />
(Hinweis: Bei Verwendung von direkten Lösern verursachen spezielle Matrixklassen für<br />
dünnbesetzte Matrizen zusätzliche Probleme (Fill-In). In dieser Aufgabe kann z.B. ein<br />
Standard-Vektor (std::valarray) verwendet werden). Alternativ können auch externe<br />
Bibliotheken eingeb<strong>und</strong>en werden, sofern diese frei zugänglich sind.<br />
Teste Dein Programm für f ≡ 1, b = 1, a = 1, 1<br />
gib jeweils u h ( 1, 1) <strong>und</strong> ‖u 2 2 h‖ ∞ aus. Was fällt auf?<br />
, 1<br />
10 100<br />
, . . . sowie mit N = 4, 8, 16, . . . , <strong>und</strong><br />
Hinweis: Für b > 0 besitzt das Schema (∗) Konsistenzordnung 2, (∗∗) hat Konsistenzordnung<br />
1.<br />
Löse die Aufgabe in C++, C oder Fortran!<br />
Punkte: 14<br />
bitte wenden
2<br />
Aufgabe 12: (Konsistenz <strong>und</strong> Stabilität)<br />
Das Randwertproblem<br />
−∆u = f in Ω = (0, 1) 2 ,<br />
u = 0<br />
auf ∂Ω,<br />
wird auf einem äquidistanten Gitter der Schrittweite h = 1/N nach folgendem Schema<br />
diskretisiert:<br />
⎛<br />
⎞ ⎛ ⎞<br />
−1 −4 −1<br />
1<br />
⎝−4 20 −4⎠ u<br />
6h 2 h = 1 0 1 0<br />
⎝1 8 1⎠ f.<br />
12<br />
−1 −4 −1<br />
0 1 0<br />
Zeige:<br />
a) Das Schema ist für Polynome 2. Grades p(x, y) = ax 2 + by 2 + cxy + d konsistent.<br />
b) Das Schema ist stabil, d.h.<br />
||u h || ∞ ≤ C||f|| ∞<br />
mit einer von h > 0 unabhängigen Konstanten C < ∞. Hinweis: Betrachte die<br />
Funktion u(x, y) = x(1 − x) + y(1 − y).<br />
Punkte: 3+3