23.01.2014 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!