Zentrum für Technomathematik
Prof. Dr. Alfred Schmidt
Adaptive Finite-Elemente-Methoden mit Anwendungen
SS 2015 — 25.06.2015
Programmieraufgabe 3 (6 Punkte)
Schreiben Sie ein ALBERTA-Programm zur L¨osung des Hindernis-Problems in Ω = (0,1)2
−∆u≥f in Ω, u≥χ in Ω, (−∆u−f)(u−χ) = 0 in Ω,
u=g auf ∂Ω mit Daten
f =−2, g= 0 und Hindernissen
χ=−0.1 bzw. χ(x) = 0.2− |x1−0.5| − |x2−0.5|.
Verwenden Sie dabei Lagrange-Elemente vom Grad 1.
a) Erweitern Sie dazu das ProgrammCommon/ellipt.centsprechend und implementieren Sie einen nichtlinearen Gauß-Seidel- oder SOR-L¨oser basierend auf dem linearen SOR-L¨oser in .../ALBERTA-*/src/Common/sor.c
L¨osen Sie das Problem zun¨achst auf verschiedenen, global verfeinerten Gittern.
b) Berechnen Sie die nichtlineare Residuumsfunktionσh(uh).
Implementieren Sie dann den Fehlersch¨atzer aus der Vorlesung (die Terme zur Approximation von f und χ brauchen Sie nicht zu implementieren, da diese im Beispiel auf den Gittern exakt darstellbar sind) und l¨osen Sie die Aufgaben auch mit adaptiv verfeierten Gittern.