|
Lösung der Helmholtz-Gleichung |
|
- Die Helmholtz-Gleichung ist ein klassisches Beispiel einer elliptischen
partiellen DGL in zwei Raumdimensionen. Die Gleichung lautet
(d/dx)**2 u +(d/dy)**2 u + λ*u = f
Wir betrachten hier die einfachsten Randbedingungen, nämlich
(x,y) in [a,b]x[c,d] und λ
<= 0.
- Elliptische DGLen beschreiben von der Zeit unabhängige
Vorgänge. Hier handelt es sich um die Verformung einer Membran
unter einer äusseren Last f und dem Eigengewicht.
- Auf dem Rand des Rechtecks [a,b]x[c,d] müssen sogenannte
Randwerte angegeben werden, um ein korrekt gestelltes Problem zu definieren. Diese
Randwerte können sich auf die Funktionswerte von u beziehen
(Dirichlet-Randdaten) oder auf die Normalableitung von u (von Neumann-Randdaten).
(oder auf eine Linearkombination von beiden. Dieser Fall ist jedoch hier nicht
implementiert.)
- Gelöst wird das elliptische Randwertproblem mit einem
Differenzenverfahren unter Verwendung des klassischen
5-Punkte-Differenzen-Sterns.
- Dazu wird das Gebiet [a,b]x[c,d] mit einem äquidistanten
Rechteck-Gitter überzogen und die Lösung u wird nur in den
Gitterpunkten approximiert.
- Die Konvergenz des Verfahrens ist bei hinreichender Differenzierbarkeit
der wahren Lösung u quadratisch im Gitterabstand h.
|
|
|
Die Eingaben |
|
- Neben zwei voreingestellten Problemstellungen gibt es die
Möglichkeit, eine eigene Problemstellung zu definieren.
Bei den voreingestellten Fällen ist die wahre Lösung
bekannt.
- Bei der ersten Voreinstellung ist die Lösung u in
C4 und damit die Konvergenzrate O(h2).
- Bei der zweiten Variante ist u in C3 im Inneren des
Rechtecks und sogar nur C2 auf den Rand.
- Im Falle einer eigenen Problemstellung sind folgende Eingaben notwendig:
- Die Funktion f(x,y). Die Eingabe dieser Funktion folgt den
Konventionen der Programmiersprache FORTRAN.
- Die Art der Randwerte auf den Rändern des Rechtecks. Bei
Dirichlet-Randdaten werden die Funktionswerte der Lösung u
vorgegeben und bei von Neumann-Randdaten die Werte der Normalableitung
von u auf den Randstücken. Die Eingabe kann für jede
Kante des Rechteckes individuell eingestellt werden.
- Die Funktionen, die diese Randdaten definieren.
- Der Parameter λ. Wichtig λ <= 0 !.
- Das Rechteck [a,b]x[c,d].
- Da als Ausgabe ein png-Bild aus 3D-Plots erzeugt wird, kann man den
Betrachtungswinkel der Projektion bei der Erzeugung der Plots angeben.
- Für alle drei Fälle wird die Eingabe der Teilintervalle
benötigt, in die [a,b](m) bzw. [c,d](n) zerlegt werden
sollen. Der Gitterabstand ist damit hx = (b-a)/m und
hy = (c-d)/n . Wichtig : 3 <= m,n <= 100 !
|
|
|
Die Ausgaben |
|
- Ausgegeben wird die exakte Lösung (in den voreingestellten Fällen).
- Der maximale absolute Fehler, falls die Lösung bekannt ist.
- Ein 3D-Plot der berechneten Gitterfunktion.
|
|
|
Fragen ?! |
|
- Wie hängt der Fehler vom Gitterabstand ab ?
- Was passiert bei reduzierten Differenzierbarkeitsvoraussetzungen ?
- Wie muss man die Randvorgaben wählen, damit man eine C4-Lösung
erhält?
|
|
|
|
| |