Prof. Dr. A. Schmidt
Adaptive Finite-Elemente-Methoden und Anwendungen
SS 2018 — ¨Ubung 1 — 19.04.2018
Programmieraufgabe 1 (12 Punkte)
Verwenden Sie in FEniCS Fehlersch¨atzer und adaptive Methoden, um die folgenden Probleme zu bearbeiten:
a) L¨osen Sie mit Ihrem Programm das Dirichlet-Problem
−∆u = f in Ω = (0,1)2, u(x) = exp(−10|x|2).
b) L¨osen Sie mit Ihrem Programm das Dirichlet-Problem:
−∆u = 0 in Ω = (−1,1)2\([0,1]×[−1,0]), u(rcosφ, rsinφ) = r23 sin
2 3φ
auf ∂Ω.
Testen Sie jeweils den Fehlersch¨atzerη:=
qP
SηS2 gegen¨uber dem exakten Fehler|u−uh|H1(Ω)
und w¨ahlen Sie die Konstanten in den Fehlerindikatoren so, dass beide etwa gleich groß sind.
Verwenden Sie global verfeinerte Gitter sowie adaptiv verfeinerte Gitter mit der vorgegebenen Markierungs-Strategie (D¨orfler) und iterieren Sie so lange, bis eine vorgegebene Fehler-Toleranz erreicht ist. Stellen Sie jeweils den (gesch¨atzten) Fehler gegen¨uber der Anzahl der Freiheitsgrade dar (am besten in log-log-Skalen).
Testen Sie unterschiedliche Parameter f¨ur die Markierungsstrategie und vergleichen Sie die Fehlerabnahme in den Iterationen des adaptiven Algorithmus.
Vergleichen und diskutieren Sie die Ergebnisse f¨ur die F¨alle a) und b).
Im Stud-IP zur Vorlesung gibt es unter “Dateien” das Beispiel-Programm f¨ur die adaptive L¨osung des Poisson-Problems vom letzten Semester. Dieses k¨onnen Sie f¨ur die zu bearbeitenden Probleme entsprechend ab¨andern.
Sie k¨onnen nat¨urlich auch Ihr eigenes, fertiges Programm aus der Programmieraufgabe 4 vom WS 17/18 weiter verwenden.
Falls Sie bisher noch nicht mit FEniCS gearbeitet haben, finden Sie auch ein README und f¨ur erste Schritte ein nicht-adaptives Poisson-Beispiel unter “Dateien”.