Commit 9ea3e2e2 authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Verbesserungen bei Koketten und Whitney-Formen

parent d72e786b
Pipeline #6614 passed with stage
in 3 minutes and 39 seconds
......@@ -7389,7 +7389,10 @@ Damit gilt insbesondere
\section{Finite Elemente und die äußere Algebra}
Der Inhalt dieses Abschnitts kommt weitestgehend aus~\cite{hiptmair:2002}.
Der Inhalt dieses Kapitels bildet einen Exkurs, und wird für das
Verständnis von Mehrgitterverfahren nicht gebraucht.
Er wurde weitestgehend~\cite{hiptmair:2002} entnommen.
\medskip
......@@ -7551,7 +7554,7 @@ Dann ist $T_{\bx}\mathcal{M}$ isomorph zu $\R^3$ für alle $\bx$.
\medskip
Man kann dann Differentialformen $0 \le l \le 3$ durch bestimmte
Funktionen oder Vektorfeldern eindeutig darstellen.
Funktionen oder Vektorfelder eindeutig darstellen.
\begin{center}
\begin{tabular}{l|l|l}
......@@ -7563,7 +7566,7 @@ Funktionen oder Vektorfeldern eindeutig darstellen.
2 & $\bx \mapsto \{ (\bv_1,\bv_2) \mapsto \omega(\bx)(\bv_1,\bv_2)\}$
& $\langle \bu(\bx),\bv_1 \times \bv_2 \rangle = \omega(\bx)(\bv_1,\bv_2)$ \\
%
3 & $\bx \mapsto \{ (\bv_1,\bv_2,\bv_2) \mapsto \omega(\bx)(\bv_1,\bv_2,\bv_3)\}$
3 & $\bx \mapsto \{ (\bv_1,\bv_2,\bv_3) \mapsto \omega(\bx)(\bv_1,\bv_2,\bv_3)\}$
& $u(\bx) \det(\bv_1,\bv_2,\bv_3) = \omega(\bx)(\bv_1,\bv_2,\bv_3)$
\end{tabular}
\end{center}
......@@ -7822,8 +7825,9 @@ aus dem vorigen Kapitel.
\medskip
\emph{Erinnerung:} Eine Integralform war eindeutig bestimmt wenn ihr Wert
für alle $l$-Flächen bekannt war.
\emph{Erinnerung:} Eine Integralform weist einer $l$-dimensionalen Fläche
einen Wert zu. Sie ist eindeutig bestimmt wenn ihr Wert
für alle $l$-Flächen bekannt ist.
\medskip
......@@ -7832,20 +7836,21 @@ $l$-Flächen bestimmen lassen.
\medskip
Um die äußere Ableitung $\bd$ definieren zu können müssen diese $l$-Flächen
einen Randoperator $\partial$ haben.
\medskip
Gute Möglichkeit: Eine Triangulierung $\mathcal{T}$ von $\Omega$ mit
Elementen $\mathcal{S}_3$, Seiten $\mathcal{S}_2$, Kanten $\mathcal{S}_1$
und Ecken $\mathcal{S}_0$.
\medskip
Um die äußere Ableitung $\bd$ definieren zu können müssen die $l$-Flächen
einen Randoperator $\partial$ haben.
Der Trick dabei ist die richtige Orientierung
\medskip
Der Randoperator einer $l$-Seite $F$ ist
\begin{equation*}
\partial(F) = \sum_{i=0}^l (-1)^i (\ba_0,\dots,\widehat{\ba_i},\dots,\ba_l).
\partial(F) \colonequals \sum_{i=0}^l (-1)^i (\ba_0,\dots,\widehat{\ba_i},\dots,\ba_l).
\end{equation*}
Dabei bedeutet $\widehat{\ba_i}$ dass der $i$-te Knoten weggelassen wird.
......@@ -7854,16 +7859,15 @@ Dabei bedeutet $\widehat{\ba_i}$ dass der $i$-te Knoten weggelassen wird.
Der Faktor $(-1)^i$ ist die \emph{relative Orientierung} der Seite
$(\ba_0,\dots,\widehat{\ba_i},\dots,\ba_l)$ in $F$.
\begin{example}\mbox{}
\begin{itemize}
\item Beispiel: Sei $T = (\ba_0, \ba_1, \ba_2, \ba_3) \in \mathcal{S}_3$
ein Tetraeder.
Dann sind die Randseiten
\item Die Randseiten eines Tetraeders
$T = (\ba_0, \ba_1, \ba_2, \ba_3) \in \mathcal{S}_3$ sind
\begin{equation*}
+(\ba_1, \ba_2, \ba_3),
\quad -(\ba_0, \ba_2, \ba_3),
\quad +(\ba_0, \ba_1, \ba_3),
\quad -(\ba_1, \ba_2, \ba_3)
\quad -(\ba_0, \ba_1, \ba_2)
\end{equation*}
\item Die Kanten einer orientierten Dreiecksseite $F = (\ba_0, \ba_1, \ba_2)$ sind
......@@ -7872,9 +7876,10 @@ $(\ba_0,\dots,\widehat{\ba_i},\dots,\ba_l)$ in $F$.
\end{equation*}
\end{itemize}
\end{example}
Es gilt $\partial \circ \partial = 0$.
\begin{example}
Es gilt $\partial \circ \partial = 0$.
\begin{center}
\begin{tikzpicture}
\coordinate[label=below:$\ba_0$] (a0) at (0,0);
......@@ -7888,17 +7893,17 @@ $(\ba_0,\dots,\widehat{\ba_i},\dots,\ba_l)$ in $F$.
\end{center}
\begin{align*}
\mathcal{S}_3(\mathcal{T})
\mathcal{S}_2(\mathcal{T})
& =
(\ba_0, \ba_1, \ba_2) + (\ba_1, \ba_3, \ba_2) \\
%
\partial \mathcal{S}_3(\mathcal{T})
\partial \mathcal{S}_2(\mathcal{T})
& =
(\ba_1,\ba_2) - (\ba_0, \ba_2) + (\ba_0, \ba_1) + (\ba_3, \ba_2) - (\ba_1, \ba_2) + (\ba_1, \ba_3)\\
& =
- (\ba_0, \ba_2) + (\ba_0, \ba_1) + (\ba_3, \ba_2) + (\ba_1, \ba_3) \\
%
\partial \partial \mathcal{S}_3(\mathcal{T})
\partial \partial \mathcal{S}_2(\mathcal{T})
& =
- \partial (\ba_0, \ba_2) + \partial (\ba_0, \ba_1) + \partial(\ba_3, \ba_2) + \partial (\ba_1, \ba_3) \\
& =
......@@ -7934,33 +7939,137 @@ definieren.
\medskip
Für $\vec \omega \in \mathcal{C}^l(\mathcal{T})$ weist die äußere Ableitung $\bd_h \vec \omega$
Zum Vergleich: Die äußere Ableitung einer Differentialform $\omega$
ist so definiert dass
\begin{equation*}
\int_\Sigma \bd\omega = \int_{\partial \Sigma} \omega.
\end{equation*}
So etwas wollen wir auch für Koketten.
\medskip
\begin{definition}
Sei $\vec \omega \in \mathcal{C}^l(\mathcal{T})$. Die äußere Ableitung
$\bd_h \vec \omega \in \mathcal{C}^{l+1}(\mathcal{T})$ ist die Kokette, die
jedem $F \in S_{l+1}(\mathcal{T})$ die Summe der Werte $\vec \omega (f)$,
$f \in \mathcal{S}_l(\mathcal{T})$, $f \in \partial F$ zu, gewichtet mit der
$f \in \mathcal{S}_l(\mathcal{T})$, $f \in \partial F$ zuweist, gewichtet mit der
relativen Orientierung.
\end{definition}
In Formeln
\begin{equation*}
\bd_h \vec \omega(F)
=
\sum_{f \in \mathcal{S}_l \atop f \in \partial F} \vec \omega(f)
\end{equation*}
für eine $(l+1)$-Seite $F$, bzw.
\begin{equation*}
\sum_{F_\in \mathcal{S}} \bd_h \vec \omega(F)
=
\sum_{F_\in \mathcal{S}} \sum_{f \in \mathcal{S}_l \atop f \in \partial F} \vec \omega(f)
=
\sum_{f \in \mathcal{S}_l \atop f \in \partial \mathcal{S}} \vec \omega(f)
\end{equation*}
für eine Menge $\mathcal{S}$ von $(l+1)$-Seiten.
\begin{example}\mbox{}
\begin{center}
\begin{tikzpicture}[scale=1.7]
\coordinate[label=below:$2$] (a0) at (0,0);
\coordinate[label=below:$-3$] (a1) at (2,0) {};
\coordinate[label=above:$5$] (a2) at (1.5,2.1) {};
\coordinate[label=above:$-1$] (a3) at (3.5,2) {};
\draw (a0) -- (a1) -- (a3) -- (a2) -- (a0);
\draw (a1) -- (a2);
% Orientations
\node at (1.7, 0.1) {$+$};
\node at (0.4, 0.1) {$-$};
\node at (1.3, 1.6) {$+$};
\node at (0.4, 0.3) {$-$};
\node at (1.5, 1.6) {$+$};
\node at (1.8, 0.3) {$-$};
\node at (2.4, 0.2) {$+$};
\node at (3.6, 1.8) {$-$};
\node at (1.8, 2.2) {$+$};
\node at (3.2, 2.1) {$-$};
\node at (6,1) {$\vec \omega \in \mathcal{C}^0(\mathcal{T})$};
\end{tikzpicture}
\bigskip
\bigskip
\begin{tikzpicture}[scale=1.7]
\coordinate[label=below:$\ba_0$] (a0) at (0,0);
\coordinate[label=below:$\ba_1$] (a1) at (2,0) {};
\coordinate[label=above:$\ba_2$] (a2) at (1.5,2.1) {};
\coordinate[label=above:$\ba_3$] (a3) at (3.5,2) {};
\draw (a0) -- (a1) -- (a3) -- (a2) -- (a0);
\draw (a1) -- (a2);
% Orientations
\node at (1.05, 0.1) {$+$};
\node at (0.9, 1.0) {$-$};
\node at (1.6, 1.0) {$+$};
\node at (1.9, 1.0) {$-$};
\node at (3.0, 1.0) {$+$};
\node at (2.7, 2.1) {$+$};
\node at (1.05, -0.2) {$-5$};
\node at (0.4, 1.0) {$3$};
\node at (1.6, 1.3) {$8$};
\node at (2.5, 2.1) {$4$};
\node at (3.0, 0.8) {$-4$};
\node at (6,1) {$\bd_h \vec \omega \in \mathcal{C}^1(\mathcal{T})$};
\end{tikzpicture}
\bigskip
\bigskip
\begin{tikzpicture}[scale=1.7]
\coordinate[label=below:$\ba_0$] (a0) at (0,0);
\coordinate[label=below:$\ba_1$] (a1) at (2,0) {};
\coordinate[label=above:$\ba_2$] (a2) at (1.5,2.1) {};
\coordinate[label=above:$\ba_3$] (a3) at (3.5,2) {};
\draw (a0) -- (a1) -- (a3) -- (a2) -- (a0);
\draw (a1) -- (a2);
\node at (1.2,0.7) {$0$};
\node at (2.3,1.4) {$0$};
\node at (6,1) {$\bd_h \bd_h \vec \omega \in \mathcal{C}^2(\mathcal{T})$};
\end{tikzpicture}
\end{center}
Man bekommt also wieder $\bd_h \circ \bd_h = 0$!
\todo[inline]{Leider nicht in diesem Beispiel! Wo ist der Fehler?}
\end{example}
\missingfigure{Ein Beispiel!}
Man kann die lineare Abbildung $\bd_h$ für $l$-Seiten auch als Matrix
$\mathsf{D}^l \in \mathbb{C}^{N_{l+1}, N_l}$ schreiben. Diese Matrix heißt \emph{Inzidenzmatrix}.
Alle ihre Einträge sind entweder $-1$, $0$ oder $1$.
\medskip
\bigskip
Man bekommt auch wieder $\mathsf{D}^{l+1} \mathsf{D}^l = 0$, und wieder
Zusätzlich zu $\bd_h \circ \bd_h = 0$ bekommt man auch wieder
den Satz von de Rham.
\begin{theorem}[Satz von de Rham für Koketten]
Für jedes $l$, $0 \le l \le n$ gibt es einen Teilraum $\mathcal{HC}^l(\mathcal{T}) \subset \mathcal{C}^l(\mathcal{T})$,
so dass für alle $\vec \omega \in \mathcal{C}^l(\mathcal{T})$
\begin{align*}
\mathsf{D}^l \vec \omega = 0
\bd_h^l \vec \omega = 0
\qquad \iff \qquad
\exists \vec \eta \in \mathcal{C}^{l-1}(\mathcal{T}),
\quad
\vec \gamma \in \mathcal{HC}^l(\mathcal{T})
\quad
\text{so dass $\vec \omega = \mathsf{D}^{l-1} \vec \eta + \vec \gamma$.}
\text{so dass $\vec \omega = \bd_h^{l-1} \vec \eta + \vec \gamma$.}
\end{align*}
Die Dimension von $\mathcal{HC}^l(\mathcal{T})$ ist die $l$-te Betti-Zahl von $\Omega$.
\end{theorem}
......@@ -7968,9 +8077,9 @@ den Satz von de Rham.
Formal können wir die zwei ersten Maxwell-Gleichungen mit dem Koketten-Kalkül
hinschreiben
\begin{equation*}
\mathsf{D}^1 \vec \be = -i\omega \vec \bb
\bd_h^1 \vec \be = -i\omega \vec \bb
\qquad
\mathsf{D}^1 \vec \bh = i\omega \vec \bd + \vec \bj.
\bd_h^1 \vec \bh = i\omega \vec \bd + \vec \bj.
\end{equation*}
Das ist eine Art Finite-Volumen-Diskretisierung.
......@@ -8004,17 +8113,17 @@ einer Form über $F$ entspricht.
Aus der Definition folgt direkt
\begin{equation*}
\mathsf{D}^l \circ \mathsf{I}_l = \mathsf{I}_{l+1} \circ \bd.
\bd_h^l \circ \mathsf{I}_l = \mathsf{I}_{l+1} \circ \bd.
\end{equation*}
Folgerung: Integralformen $\bE$, $\bB$, $\bH$, $\bD$,
die die Maxwell-Gleichungen lösen erfüllen deshalb
\begin{equation*}
\mathsf{D}^1 \mathsf{I}_1 \bE = -i \omega \mathsf{I}_2 \bB
\bd_h^1 \mathsf{I}_1 \bE = -i \omega \mathsf{I}_2 \bB
\qquad
\mathsf{D}^1 \mathsf{I}_1 \bH = i \omega \mathsf{I}_2 \bD + \mathsf{I}_2 \bj.
\bd_h^1 \mathsf{I}_1 \bH = i \omega \mathsf{I}_2 \bD + \mathsf{I}_2 \bj.
\end{equation*}
Diese Diskretisierung ist konsistent, d.h. Lösungen der echten Gleichung
Die Diskretisierung ist also konsistent: Lösungen der echten Gleichung
lösen auch die diskrete Gleichung.
......@@ -8025,8 +8134,8 @@ Wenn Koketten eine Art von Finiten Volumen sind, wie sehen dann Finite Elemente
\medskip
Wir stellen uns Koketten als eine Art Funktionswert auf den Elementen, Seiten, Kanten
des Gitters vor, und erweitern sie zu Differentialformen auf ganz $\Omega$
(durch Interpolation).
des Gitters vor, und erweitern sie durch Interpolation
zu Differentialformen auf ganz $\Omega$.
\medskip
......@@ -8053,13 +8162,13 @@ Was genau heißt \glqq sinnvoll\grqq{}? Wir fordern:
\vec \omega \in \mathcal{C}^l(\mathcal{T}).
\end{equation*}
\item Die äußere Ableitung für Koketten und Whitney-Formen müssen kommutieren
\item Die äußeren Ableitung für Koketten und Whitney-Formen sollen kommutieren
\begin{equation*}
\bm{d} \circ \mathsf{W}^l = \mathsf{W}^{l+1} \circ \mathsf{D}^l.
\bm{d} \circ \mathsf{W}^l = \mathsf{W}^{l+1} \circ \bd_h^l.
\end{equation*}
\item Lokalität: Falls alle Koketten-Koeffizienten von $\vec \omega$ Null sind
auf den $l$-Seiten von $T \in \mathcal{S}_3(\mathcal{T})$, dann soll
\item Lokalität: Falls alle Koketten-Koeffizienten von $\vec \omega$
auf den $l$-Seiten von $T \in \mathcal{S}_3(\mathcal{T})$ Null sind, dann soll
$\mathsf{W}^l \vec \omega |_T = 0$ sein.
\item Die Vektorstellvertreter der Whitney-Formen sollten \glqq einfach\grqq{} sein.
......@@ -8077,7 +8186,7 @@ mit Ecken $\ba_0$, $\ba_1$, $\ba_2$, $\ba_3$.
Wir fangen mit $0$-Koketten an.
Seien $\lambda_0,\dots,\lambda_3$ die baryzentrischen Koordinatenfunktionen auf $T$
(aka die Lagrange-Polynome erster Ordnung).
(anders ausgedrückt: die Lagrange-Polynome erster Ordnung).
Sei $\vec \phi$ eine $0$-Kokette. Diese hat Koeffizienten in den Ecken von $T$.
Für einen Punkt $\bx \in T$ definieren wir
......@@ -8092,12 +8201,11 @@ Man erhält auf diese Art genau die Lagrange-Elemente erster Ordnung.
\subsubsection{Der Fall $l=1$}
Was machen wir für die Fälle $l\ge 1$?
\begin{itemize}
\item Die Koeffizienten sitzen dann auf den Kanten, Seiten, etc.
\item Im Fall $l=1$ sitzen die Koeffizienten auf den Kanten des Gitters.
\item Die Koeffizienten sind $\in \mathcal{C}$ für alle $l \ge 0$.
Ergebnis der Interpolation soll aber eine $l$-Form sein.
\item Die Koeffizienten sind komplexe Zahlen.
Ergebnis der Interpolation soll aber eine $1$-Form sein.
\end{itemize}
Idee:
......@@ -8134,7 +8242,7 @@ $\bx, \by \in T$ als Linearkombination der Kanten von $T$ dar:
\; : \; 0 \le t \le 1 \bigg\}.
\end{align*}
Wir fordern deshalb für die interpolierende
Dann fordern wir für die interpolierende
$1$-Form $\mathsf{W}^1 \vec \omega$
\begin{equation*}
\int_{(\bx,\by)} \mathsf{W}^1|_T \vec \omega
......@@ -8144,19 +8252,6 @@ $1$-Form $\mathsf{W}^1 \vec \omega$
Hier ist $\vec \omega_{(i,j)}$ ist der Wert den die $1$-Kokette $\vec \omega$
der orientierten Kante $(\ba_i,\ba_j)$ zuweist.
\medskip
In der Summe $\sum_{i,j}$ kommt jede Kante zweimal vor,
allerdings mit unterschiedlicher Orientierung.
Deshalb kann man alternativ schreiben
\begin{equation*}
\int_{(\bx,\by)} \mathsf{W}^1|_T \vec \omega
\colonequals
\sum_{i < j} (\lambda_i(\bx)\lambda_j(\by) - \lambda_i(\by) \lambda_j(\bx)) \vec \omega_{(i,j)}.
\end{equation*}
\bigskip
Wie macht man jetzt aber aus der Integralform $\mathsf{W}^1 \vec \omega$
......@@ -8166,6 +8261,7 @@ eine Differentialform? Dafür benutzt man dass
=
l! \lim_{t \to 0} \int_{\Sigma_t} w,
\end{equation*}
für alle $l$-Differentialformen $\omega$,
wobei $\Sigma_t$ der $l$-Simplex $(\bx, \bx+t\bv_1,\dots,\bx+t\bv_l)$ ist.
\bigskip
......@@ -8174,11 +8270,11 @@ Für $l=1$ erhält man einen sechsdimensionalen Vektorraum von $1$-Formen
auf einem Tetraeder. Mit Vektorstellvertretern geschrieben ist das
gerade der Raum
\begin{equation*}
\Big\{ \bv : T \to \R^3 \; : \;
\Bigg\{ \bv : T \to \R^3 \; : \;
\bv(\bx) = \begin{pmatrix} a_x \\ a_y \\ a_z \end{pmatrix}
+
\begin{pmatrix} b_x \\ b_y \\ b_z \end{pmatrix} \times \bx
\Big\}.
\Bigg\}.
\end{equation*}
Das sind genau die Nédélec-Elemente niedrigster Ordnung.
......@@ -8209,6 +8305,11 @@ Man erhält:
\item für $l=3$: Stückweise konstante Finite Elemente.
\end{itemize}
Man kann auch Whitney-Formen höherer Ordnung konstruieren, und bekommt
auch dann wieder die Lagrange, Nédélec, Raviart-Thomas-Elemente.
Allerdings ist das deutlich komplizierter.
Ein paar Details finden sich bei~\citet{hiptmair:2002}, Kapitel~3.4.
\chapter{Mehrgitter für Probleme in \texorpdfstring{$H(\div)$}{H(div)} und \texorpdfstring{$H(\curl)$}{H(curl)}}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment