From: Peter Schaefer Date: Fri, 19 Apr 2013 13:39:13 +0000 (+0200) Subject: [doc] erste Seiten fertig korrigiert X-Git-Url: https://git.leopard-lacewing.eu/?a=commitdiff_plain;h=9365a0333cb4721f133a264db151a401eb48b4d8;p=bacc.git [doc] erste Seiten fertig korrigiert --- diff --git a/doc/doc.pdf b/doc/doc.pdf index 30b1250..a9dcc8e 100644 Binary files a/doc/doc.pdf and b/doc/doc.pdf differ diff --git a/doc/doc.tex b/doc/doc.tex index 701da19..f313739 100644 --- a/doc/doc.tex +++ b/doc/doc.tex @@ -201,7 +201,7 @@ \tableofcontents \clearpage -\section{Einleitung} +\section{Einleitung}\label{sec:intro} \todo{ \scriptsize \begin{itemize} \item kurz + praegnant, worum es geht (vgl. Mayr-Bakk, wo das exakt eine Seite ist) @@ -213,22 +213,22 @@ In dieser Arbeit beschäftigen wir uns mit der Randelementmethode für die homog \begin{align} \begin{aligned} - \varDelta u &= 0 \quad\text{ in } \Omega \subset \R^3,\\ -u &= g \quad \text{ auf }\Gamma, +u &= g \quad \text{ auf }\Gamma := \partial \Omega, \end{aligned} \end{align} -wobei $\varDelta u := \partial_x^2u+\partial_y^2u+\partial_z^2u$ den Laplace-Operator bezeichnet und $\Omega \subset \R^3$ eine beschränkte Teilmenge von $\R^3$ mit Lipschitz-Rand $\Gamma := \partial \Omega$ ist.\\ -In Abschnitt 2 stellen wir zunächst die Randelementmethode für die homogene Laplace-Gleichung mit Dirichlet-Randbedingungen vor. Dabei verwenden wir den indirekten Ansatz, um anschließend mithilfe des Galerkin-Verfahrens die Gleichung zu lösen. An dieser Stelle werden wir auch kurz die Parametrisierung des Randes vorstellen. Denn wir werden im Folgenden den Rand in affine achsenorientierte Rechtecke $T$ zerlegen, das heißt die Punkte in einem Rechteck liegen in einer zu den Achsen des Koordinatensystem parallelen Ebene.\\ -In Abschnitt 3 werden wir uns mit der approximativen Berechnung des Doppelintegrals +wobei $\varDelta u := \partial_x^2u+\partial_y^2u+\partial_z^2u$ den Laplace-Operator bezeichnet und $\Omega \subset \R^3$ eine beschränkte Teilmenge von $\R^3$ mit Lipschitz-Rand $\Gamma$ ist.\\ +In Abschnitt \ref{sec:bem} stellen wir zunächst die Randelementmethode für die homogene Laplace-Gleichung mit Dirichlet-Randbedingungen vor. Dabei verwenden wir den indirekten Ansatz, um anschließend mithilfe des Galerkin-Verfahrens die Gleichung zu lösen. An dieser Stelle werden wir auch kurz die Parametrisierung des Randes vorstellen. Wir werden im Folgenden den Rand in affine achsenorientierte Rechtecke $T$ zerlegen, das heißt die Punkte in einem Rechteck liegen in einer zu den Achsen des Koordinatensystem parallelen Ebene.\\ +In Abschnitt \ref{sec:semi} werden wir uns mit der approximativen Berechnung des Doppelintegrals \begin{align}\label{math:intro:int} \int_{T_j} \int_{T_k} \kappa(\bs x, \bs y) ds_{\bs y} ds_{\bs x} \end{align} -beschäftigen. $\kappa(\bs x, \bs y)$ sei hierbei eine asymptotisch glatte Kernfunktion. Speziell interessieren wir uns hierbei für die asymptotisch glatte Funktion $\abs{\bs x - \bs y}^{-1}$. Ziel wird es sein, das äußere Integral durch eine Gauss-Quadratur zu ersetzen. Unter bestimmten Zulässigkeits\-beding\-ungen werden wir zeigen, dass die Energienorm durch die Gauss-Quadratur bei steigendem Quadraturgrad exponentiell schnell gegen den exakten Wert konvergiert. Weiterhin betrachten wir die in Abschnitt 2 auftretende Matrix $A \in \R^{n\times n}$, deren Einträge $A_{jk}$ durch \eqref{math:intro:int} bestimmt werden. Denn wir werden eine approximative Matrix $A_p$ aufstellen, welche das durch Quadratur approximierte Integral für die zulässigen Einträge und für alle anderen das exakte Integral verwendet. Hiermit können wir dann Zeigen, dass die approximative Matrix unter der Frobeninusnorm exponentiell schnell gegen $A$ konvergiert.\\ -In Abschnitt 4 fassen wir kurz zusammen, wie wir das Doppelintegral in einfache Integrale zerlegen und anschließend voll analytisch berechnen können. Hierzu werden wir uns weitgehend an \cite{mai:3dbem} orientieren.\\ +beschäftigen. $\kappa(\bs x, \bs y)$ sei hierbei eine asymptotisch glatte Kernfunktion. Speziell interessieren wir uns hierbei für die asymptotisch glatte Funktion $\kappa(\bs x, \bs y) = \abs{\bs x - \bs y}^{-1}$. Ziel wird es sein, das äußere Integral durch eine Gauss-Quadratur zu ersetzen. Unter bestimmten Zulässigkeits\-beding\-ungen werden wir zeigen, dass der Quadraturfehler exponentiell schnell gegen 0 konvergiert. Weiterhin betrachten wir die in Abschnitt \ref{sec:bem} auftretende Matrix $A \in \R^{n\times n}$, deren Einträge $A_{jk}$ durch \eqref{math:intro:int} bestimmt werden. Denn wir werden eine approximative Matrix $A_p$ aufstellen, welche das durch Quadratur approximierte Integral für die zulässigen Einträge und für alle anderen das exakte Integral verwendet. Hiermit können wir dann zeigen, dass die approximative Matrix $A_p$ in der Frobeninusnorm exponentiell schnell gegen $A$ konvergiert.\\ +In Abschnitt \ref{sec:analyt} fassen wir kurz zusammen, wie wir das Doppelintegral in einfache Integrale zerlegen und anschließend voll analytisch berechnen können. Hierzu werden wir uns weitgehend an \cite{mai:3dbem} orientieren.\\ Abschließend werden wir kurz die numerische Umsetzung der Techniken vorstellen und anhand von numerischen Beispielen vergleichen. Hierbei wird uns die voll analytische und approximative Berechnung, sowie die adaptive und uniforme Netzverfeinerung besonders interessieren. \clearpage -\section{Randelementmethode} +\section{Randelementmethode}\label{sec:bem} \todo{ \scriptsize \begin{itemize} \item kuerzer als in Ferraz-DA \cite{fer:errbem} @@ -241,10 +241,10 @@ An dieser Stelle betrachten wir die homogene Laplace-Gleichung mit Dirichlet-\-R \begin{align}\label{math:slp:lapGLS} \begin{aligned} - \varDelta u &= 0 \quad\text{ in } \Omega \subset \R^3, \\ -u &= g \quad \text{ auf }\Gamma, +u &= g \quad \text{ auf }\Gamma := \partial \Omega, \end{aligned} \end{align} -wobei $\varDelta u := \partial_x^2u+\partial_y^2u+\partial_z^2u$ den Laplace-Operator bezeichnet und $\Omega$ eine beschränkte Teilmenge von $\R^3$ mit Lipschitz-Rand $\Gamma := \partial \Omega$ ist. +wobei $\varDelta u := \partial_x^2u+\partial_y^2u+\partial_z^2u$ den Laplace-Operator bezeichnet und $\Omega$ eine beschränkte Teilmenge von $\R^3$ mit Lipschitz-Rand ist. % \begin{align} % V \phi := \frac 1 {4\pi} \int_{T_j} \int_{T_k} \frac {1}{\abs{\bs x - \bs y}} \phi(\bs y) ds_{\bs y} ds_{\bs x} @@ -274,14 +274,15 @@ Die Fundamentallösung des Laplaceoperators \todo{cite Steinbach} ist für $\Ome \begin{align*} % \label{math:slp:fundamental} G(\bs z) := \frac 1 {4 \pi \abs{\bs z}}. \end{align*} -Weiterhin sei $\tilde V$ gegeben durch +Weiterhin sei das Einfachschicht Potential $\tilde V$ gegeben durch \begin{align*} % \label{math:slp:tildeV} - \tilde V\phi(\bs x) := \int_{\Gamma} G(\bs x -\bs y)\phi(\bs y) ds_{\bs y} \quad \text{für } \bs x \in \Omega + \tilde V\phi(\bs x) := \int_{\Gamma} G(\bs x -\bs y)\phi(\bs y) ds_{\bs y} \quad \text{für } \bs x \in \Omega. \end{align*} -und bezeichne $\gamma_0 \in L(H^1(\Omega)),H^{1/2}(\Gamma))$ den Spuroperator, der einer $C^{\infty}(\Omega)$-Funktion eine Funktion zuordnet sodass +Das Integral ist hier als Oberflächenintegral zu verstehen. Mit $\gamma_0$, bezeichnen wir den Spuroperator, der für $C^{\infty}(\bar\Omega)$ Funktionen über \begin{align*} % \label{math:slp:spurOp} - \gamma_0 u = u|_{\Gamma}. + \gamma_0 u = u|_{\Gamma} \end{align*} +definiert ist und durch stetige Fortsetzung zu einem Operator $\gamma_0 \in L(H^1(\Omega)),H^{1/2}(\Gamma))$ wird. In der schwachen Formulierung lautet die Laplace-Gleichung \begin{align*} % \label{math:slp:lapGLS:weak} - \varDelta u &= 0 \quad \text{ in } H^{-1}(\Omega), \\ @@ -291,7 +292,7 @@ Gemäß \todo{cite Steinbach} kann $\tilde V$ auch als Operator $\tilde V \in L( \begin{align*} -\varDelta\tilde V\phi = 0 \in H^{-1}(\Omega) \quad \text{für alle }\phi \in H^{-1/2}(\Gamma) \end{align*} -Insbesondere ist auch der Spuroperator +Insbesondere ist auch die Spur \begin{align*} \gamma_0 \tilde V \in L(H^{-1/2}(\Gamma),H^{1/2}(\Gamma)) \end{align*} @@ -300,30 +301,31 @@ Wir machen nun den sogenannten indirekten Ansatz $u = \tilde V\phi$, wodurch \begin{align}\label{math:slp:gls} V \phi = g \end{align} -mit $V := \gamma_0\tilde V$ gilt. Ziel ist es nun, aus \eqref{math:slp:gls} eine Funktion $\phi$ zu bestimmen, die die obige Gleichung erfüllt, denn dann ist mit festen Dirichlet-Daten $g$ $\tilde V\phi$ die eindeutige Lösung des Problems \eqref{math:slp:lapGLS}. +mit $V := \gamma_0\tilde V$ gilt. Ziel ist es nun, aus \eqref{math:slp:gls} eine Funktion $\phi$ zu bestimmen, die die obige Gleichung erfüllt. Dann ist $\tilde V\phi$ die eindeutige Lösung des Problems \eqref{math:slp:lapGLS}. \noindent Da wir das Problem \eqref{math:slp:gls} im allgemeinen nicht Lösen können, werden wir es mithilfe des Galerkin-Verfahrens näherungsweise lösen. Die Idee dabei ist $H^{-1/2}(\Gamma)$ durch einen endlich dimensionalen Unterraum zu ersetzen. \noindent -Bezeichne nun $\langle \cdot, \cdot \rangle$ das erweiterte $L^2$-Skalarprodukt, so existiert, da $V$ ein symmetrischer und elliptischer Isomorphismus ist, auf $\widetilde H^{-1/2}$ ein äquivalentes Skalarprodukt $\llangle \cdot, \cdot \rrangle$ mit $\llangle \phi, \psi \rrangle := \langle V\phi,\psi\rangle$ und der induzierten Norm $\enorm{\cdot}$. -Sei nun $\phi$ die eindeutige Lösung und bezeichne $g$ die Dirichlet-Daten am Rand. Dann gilt für die schwache Formulierung \eqref{math:slp:gls} +Bezeichne nun $\langle \cdot, \cdot \rangle$ das erweiterte $L^2$-Skalarprodukt, so existiert, da $V$ ein symmetrischer, und mit geeigneter Skalierung ein elliptischer Isomorphismus ist, auf $\widetilde H^{-1/2}$ ein äquivalentes Skalarprodukt $\llangle \cdot, \cdot \rrangle$ mit $\llangle \phi, \psi \rrangle := \langle V\phi,\psi\rangle$ und der induzierten Norm $\enorm{\cdot}$. +Sei nun $\phi$ die eindeutige Lösung von \eqref{math:slp:gls} und bezeichne $g$ die Dirichlet-Daten am Rand. Dann gilt \begin{align} \llangle \phi,\psi\rrangle = \langle g,\psi\rangle \quad \text{für alle }\psi \in \widetilde H^{-1/2}. \end{align} \noindent -Sei nun $\T_{\ell} = \{T_1,T_2,\ldots,T_N\}$ eine Partition des Randes $\Gamma$ in $N$ Randstücke $T_1,T_2,\ldots,T_N$ mit der charakteristischen Funktion +Sei nun $\T_{\ell} = \{T_1,T_2,\ldots,T_N\}$ eine Partition des Randes $\Gamma$ in $N$ Randstücke mit den charakteristischen Funktionen \begin{align} \chi_i(\bs x) &= \begin{cases} 1&\text{für alle }\bs x \in T_i\\ 0&\text{sonst} \end{cases} + \quad \text{für alle } i\in\{1,2,\ldots,N\}, \end{align} -für alle $i\in\{1,2,\ldots,N\}$. Dann kann die Funktion $\chi_i$ als Basis vom Raum $\P^0(\T_{\ell})$ verstanden werden. Wir suchen also die Lösung $\psi_{\ell} \in P^0(\T_{\ell})$ für +und sei $\P^0(\T_{\ell}) := span\{\chi_i : i=1,\ldots,N\}$ der aufgespannte Teilraum von $\tilde H^{-1/2}(\Gamma)$. Wir suchen also die Lösung $\phi_{\ell} \in \P^0(\T_{\ell})$ für \begin{align} - \llangle \phi_{\ell},\psi_{\ell} \rrangle & = \langle f,\psi_{\ell} \rangle\quad\text{für alle } \psi_{\ell} \in P^0(\T_{\ell}), + \llangle \phi_{\ell},\psi_{\ell} \rrangle & = \langle f,\psi_{\ell} \rangle\quad\text{für alle } \psi_{\ell} \in \P^0(\T_{\ell}), \end{align} was aufgrund der Basiseigenschaft von $\chi_i$ eindeutig und äquivalent ist zu \begin{align} @@ -333,15 +335,15 @@ Dadurch können wir das Problem als Summe anschreiben \begin{align} \sum_{j=1}^N x_{\ell,j} \llangle \chi_j,\chi_i\rrangle = \langle g, \chi_i\rangle, \end{align} -wobei $\bs x_{\ell} = \{x_{\ell,1},x_{\ell,2},\ldots,x_{\ell,N}\}$ der Koordinatenvektor zur Basis $\chi_1,\ldots,\chi_N$ ist. +wobei $\bs x_{\ell} = \{x_{\ell,1},x_{\ell,2},\ldots,x_{\ell,N}\}$ der Koordinatenvektor von $\phi_{\ell}$ zur Basis $\chi_1,\ldots,\chi_N$ ist. So schreiben wir \begin{align} \bs V \bs x_{\ell} = \bs g_{\ell}, \end{align} -mit Bezeichnungen $\bs V = \llangle \chi_j,\chi_i\rrangle$ und sei $\bs g_{\ell}\in\R^N$ mit den Koeffizienten $g_{\ell,i} = \langle g, \chi_j\rangle$. +mit $\bs V = (\llangle \chi_j,\chi_i\rrangle)_{ij}$ und $\bs g_{\ell}= (\langle g, \chi_j\rangle)_j$. In Integralschreibweise können wir $\bs V$ anschreiben als \begin{align} - V := \frac 1 {4\pi} \int_{T_j} \int_{T_k} \frac {1}{\abs{\bs x - \bs y}} ds_{\bs y} ds_{\bs x} + \bs V_{ij} := \frac 1 {4\pi} \int_{T_j} \int_{T_k} \frac {1}{\abs{\bs x - \bs y}} ds_{\bs y} ds_{\bs x} \end{align} @@ -466,7 +468,7 @@ achsenorientiertes Rechteck. Ferner heißt \end{align*} die zu $T$ zugehörige Parametrisierung. \end{defi} -\begin{bem}Weiterhin werden wir die vier Ecken des achsenorientierten Rechtecks, beginnend in $\bs v$, mit $k_1,\ldots,k_4$ bezeichnen, wobei die Menge aller Knoten des Rechtecks $\K_T$ sei. Die Reihenfolge der Knoten sei dabei so gewählt, dass der Normalenvektor $\bs n$ auf das Element $T$ nach außen zeigt. Außerdem benennen wir die Menge der Kanten mit $\E_T$, bestehend aus den vier Kanten $e_1,\ldots,e_4$. In Abbildung~\ref{fig:net:single} wurde ein Rechteck mit den Bezeichnungen kurz skizziert. +\begin{bem}Weiterhin werden wir die vier Ecken des achsenorientierten Rechtecks, beginnend in $\bs v$, mit $\bs k_1,\ldots,\bs k_4$ bezeichnen, wobei die Menge aller Knoten des Rechtecks $\K_T$ sei. Die Reihenfolge der Knoten sei dabei so gewählt, dass der Normalenvektor $\bs n = \overline {\bs k_1\bs k_2}\times\overline {\bs k_1\bs k_4}$ nach außen zeigt. Außerdem benennen wir die Menge der Kanten mit $\E_T$, bestehend aus den vier Kanten $e_1,\ldots,e_4$. In Abbildung~\ref{fig:net:single} wurde ein Rechteck mit den Bezeichnungen kurz skizziert. \end{bem} \begin{figure}[ht] \centering @@ -474,10 +476,10 @@ die zu $T$ zugehörige Parametrisierung. \psfrag{e2}{\scriptsize $e_2$} \psfrag{e3}{\scriptsize $e_3$} \psfrag{e4}{\scriptsize $e_4$} -\psfrag{k1}{\scriptsize $k_1$} -\psfrag{k2}{\scriptsize $k_2$} -\psfrag{k3}{\scriptsize $k_3$} -\psfrag{k4}{\scriptsize $k_4$} +\psfrag{k1}{\scriptsize $\bs k_1$} +\psfrag{k2}{\scriptsize $\bs k_2$} +\psfrag{k3}{\scriptsize $\bs k_3$} +\psfrag{k4}{\scriptsize $\bs k_4$} \psfrag{n}{\scriptsize $\bs n$} \includegraphics[width=0.5\textwidth]{fig/net_single} \caption{achsenorientiertes Rechteck} @@ -506,7 +508,7 @@ mit dem Skalarprodukt $\cdot$ und $\bs a \in \{(1,0,0)^T,(0,1,0)^T,(0,0,1)^T\}$. \end{defi} Mit diesen Vorüberlegungen definieren wir uns die Diskretisierung des Randes $\Gamma$. \begin{defi} -Sei $\T_{\ell} = \{T_1,T_2,\dots,T_N\}$ eine endliche Menge von achsenorientierten Rechtecken. Es bezeichne $\K_{\ell}:=\bigcup_{T\in\T} k_T$ die Menge der Knoten von $\T_{\ell}$ und $\E_{\ell}:=\bigcup_{T\in\T} e_T$ die Menge der Kanten. Wir nennen $\T_{\ell}$ eine Partition von $\Gamma$, falls +Sei $\T_{\ell} = \{T_1,T_2,\dots,T_N\}$ eine endliche Menge von achsenorientierten Rechtecken. Es bezeichne $\K_{\ell}:=\bigcup_{T\in\T} \K_T$ die Menge aller Knoten von $\T_{\ell}$ und $\E_{\ell}:=\bigcup_{T\in\T} \E_T$ die Menge aller Kanten. Wir nennen $\T_{\ell}$ eine Partition von $\Gamma$, falls \begin{itemize} \item $\overline{\Gamma} = \bigcup_{j=1}^NT_j$ % \item alle Elemente aus $T_{\ell}$ sind abgeschlossene achsenorientierte Rechtecke @@ -529,8 +531,8 @@ Ferner liegen auf jeder Kante von $\T_{\ell}$ maximal 3 Knoten. \end{figure} \subsection{Verfeinern} \label{sec:bem:ref} -\begin{defi}[Lokale Verfeinerung] -Ein Element $T \in \T$ wird isotrop in vier Elemente $T_1,\ldots,T_4$ geteilt, wenn $T = \bigcup_{n=1}^4 T_n$ gilt und alle Söhne $T_1,\ldots,T_4$ ähnlich sind zum Vaterelement $T$. Weiterhin wird ein Element $T \in \T$ anisotrop in zwei Elemente $T_1,T_2$ geteilt, wenn ebenfalls $T = T_1 \cup T_2$ gilt und $T_1,T_2$ untereinander gleich sind. Hierbei kann $T$ entweder horizontal oder vertikal geteilt werden, wie in Abbildung~\ref{fig:refType} gezeigt ist. +\begin{defi}[Lokale Verfeinerung] \label{thm:bem:localREF} +Ein Element $T \in \T$ wird isotrop in vier Elemente $T_1,\ldots,T_4$ geteilt, wenn $T = \bigcup_{n=1}^4 T_n$ gilt und alle Söhne $T_1,\ldots,T_4$ ähnlich sind zum Vaterelement $T$. Weiterhin wird ein Element $T \in \T$ anisotrop in zwei Elemente $T_1,T_2$ geteilt, wenn ebenfalls $T = T_1 \cup T_2$ gilt und $T_1,T_2$ untereinander ähnlich sind. Hierbei kann $T$ entweder horizontal oder vertikal geteilt werden, wie in Abbildung~\ref{fig:refType} gezeigt ist. \end{defi} \begin{figure}[ht] \centering @@ -548,22 +550,24 @@ Für eine Partition $\T_{\ell}$ bezeichnen wir mit $\widehat \T_{\ell}$ jene Par Für das Verständnis des folgenden Algorithmus benötigen wir noch einige Beobachtungen: \begin{itemize} \item Sind $e,\tilde e \in \E_T$ Kanten von $T \in \T_{\ell}$ mit $e \cap \tilde e = \emptyset$, so liegen diese gegenüber und haben insbesondere dieselbe Länge. Falls $e$ verfeinert werden soll, muss zwingend auch $\tilde e$ verfeinert werden. - \item Es bezeichnet $\S_{\ell} := \{ e_T ~|~ T \in \T_{\ell}, e_T \in \E_T \}$ die Menge aller Kanten von $\T_{\ell}$, wobei es aufgrund der maximal drei Knoten auf einer Kante vorkommen kann, dass eine Kante $e \in \S_{\ell}$, die im inneren von $\Gamma$ liegt, nur zu einem Element $T\in\T_{\ell}$ gehört und nicht zu zwei. In diesem Fall gibt es eine Kante $\tilde e \in \S_{\ell}$ in der $e$ ganz enthalten ist. Sollte $e$ verfeinert werden, so muss zwingend auch $\tilde e$ verfeinert werden, damit nicht mehr als drei Knoten auf der Kante $\tilde e$ entstehen. + \item Es bezeichnet $\S_{\ell} := \{ (e,T) ~|~ T \in \T_{\ell}, e \in \E_T \}$ die Menge aller Kanten von $\T_{\ell}$, wobei es aufgrund der maximal drei Knoten auf einer Kante vorkommen kann, dass eine Kante $e \in \S_{\ell}$, die im inneren von $\Gamma$ liegt, nur zu einem Element $T\in\T_{\ell}$ gehört und nicht zu zwei. In diesem Fall gibt es eine Kante $\tilde e \in \S_{\ell}$ in der $e$ ganz enthalten ist. Sollte $e$ verfeinert werden, so muss zwingend auch $\tilde e$ verfeinert werden, damit nicht mehr als drei Knoten auf der Kante $\tilde e$ entstehen. \end{itemize} \begin{alg}[Verfeinern] \label{alg:refine} Sei $\T_{\ell}$ eine Partition und $\sqcap_{\ell} \subseteq \S_{\ell}$ eine Menge markierter Kanten. Nun sei $\sqcap_{\ell}^{(0)}:=\sqcap_{\ell}$ und $i=0$. Dann gehe so vor: \begin{enumerate} \renewcommand{\theenumi}{(\roman{enumi})} \item \label{alg:refine:first} - $\sqcap_{\ell}^{(i+1)} := \sqcap_{\ell}^{(i)} \cup \{ e_{T'} \in \S_{\ell}\backslash\sqcap_{\ell}^{(i)} ~|~ \exists e_T \in \sqcap_{\ell}^{(i)}: e_{T'} \supsetneq e_T \}\\ \hfill \cup \{\tilde e_{T'} \in \S_{\ell} ~|~ \exists \tilde e_{T'}\in\E_{T'} : \tilde e_{T'}\cap e_{T'}=\emptyset\}$ + $\sqcap_{\ell}^{(i+1/2)} := \sqcap_{\ell}^{(i)} \cup \{ (e,T) \in \S_{\ell}\backslash\sqcap_{\ell}^{(i)} ~|~ \exists (\tilde e,\tilde T) \in \sqcap_{\ell}^{(i)}$ mit $e \supsetneqq \tilde e \}$ + \item + $\sqcap_{\ell}^{(i+1)} := \sqcap_{\ell}^{(i+1/2)} \cup \{(e,T) \in \S_{\ell}\backslash\sqcap_{\ell}^{(i+1/2)} ~|~ \exists (\tilde e,\tilde T) \in \sqcap_{\ell}^{(i+1/2)}$ mit $T=\tilde T$ und $e\cap \tilde e=\emptyset\}$ \item Falls $\sqcap_{\ell}^{(i)} \subsetneqq \sqcap_{\ell}^{(i+1)}$, erhöhe Zähler $i \mapsto i+1$ und gehe zu Schritt \ref{alg:refine:first} - \item Teile alle Elemente aus $\T_{\ell}$ bezüglich der markierten Kanten $\sqcap_{\ell}^{(i)}$, wie in der lokalen Verfeinerung vorgegeben + \item Teile alle Elemente aus $\T_{\ell}$ bezüglich der markierten Kanten $\sqcap_{\ell}^{(i)}$, wie in Definition \ref{thm:bem:localREF}. \end{enumerate} \end{alg} \clearpage -\section{Analytische und Semi-analytische Berechnung} +\section{Analytische und Semi-analytische Berechnung} \label{sec:semi} \todo{ \scriptsize \begin{itemize} \item Modellproblem $A_{kj} = \int_{Tj}\int_{Tk} \kappa(x,y) ds_y ds_x$ @@ -590,7 +594,7 @@ A_{jk} &= \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}. unter bestimmten Voraussetzungen an die affinen Randstücke $T_j,T_k$ und den asymptotisch glatten Integranden $\kappa : \R^3 \times \R^3 \to \R$. \subsection{Interpolation} -An dieser Stelle werden wir zunächst den Interpolationsoperator auf dem Intervall $[0,1]$ definieren. Ferner wollen wir mithilfe von Chebyshev-Knoten einen Fehlerschätzer für die Chebyshev'sche Interpolation auf Intervallen $[0,1]^d$ mit $d \in \N$ definieren. Im Folgenden bezeichnet $\P^p$ die Menge aller Polynome vom Grad $\leq p$ auf $[0,1]$. +An dieser Stelle werden wir zunächst den Interpolationsoperator auf dem Intervall $[0,1]$ definieren. Ferner wollen wir mithilfe von Chebyshev-Knoten eine Fehlerabschätzung für die Chebyshev'sche Interpolation auf Intervallen $[0,1]^d$ mit $d \in \N$ definieren. Im Folgenden bezeichnet $\P^p$ die Menge aller Polynome vom Grad höchstens $p$ auf $[0,1]$. \begin{defi} Für einen festen Grad $p \in \N$ und paarweise verschiedene Knoten $x_j \in [0,1]$ lautet das Lagrange'sche Interpolationsproblem: @@ -615,7 +619,7 @@ Mit diesem Wissen definieren wir uns nun den Interpolationsoperator $\I_p : \C[0 % \begin{align} % \Lambda_p &:= \max_{x\in[0,1]} \sum_{j=0}^p\abs{L_j(x)}. % \end{align} -Wie an der einfachen Fehlerabschätzung aus \cite[Theorem 1.17]{pla:nummat} für den Interpolationsoperator +Wie an der Fehlerabschätzung aus \cite[Theorem 1.17]{pla:nummat} für den Interpolationsoperator \begin{align*} \norm{u-\I_pu}_{\infty,[0,1]} &\leq \frac{\norm{u^{(p+1)}}_{\infty,[0,1]}}{(p+1)!} \max_{x\in[0,1]} \prod_{j=0}^p \abs{x-x_j} \quad \text{ für alle }u \in \C^{p+1}([0,1]) @@ -626,7 +630,7 @@ Wie an der einfachen Fehlerabschätzung aus \cite[Theorem 1.17]{pla:nummat} für \end{align*} durch benutzen von Chebyshev-Knoten minimieren \cite[Definition 1.22]{pla:nummat}. Diese sind für das Intervall $[-1,1]$ gegeben durch \begin{align*} - x_j &= \cos \left( \frac{2j-1}{p} \frac{\pi}{2} \right) \quad \text{ für } j=1,\ldots,p. + x_j &= \cos \left( \frac{2j+1}{p+1} \frac{\pi}{2} \right) \quad \text{ für } j=0,\ldots,p. \end{align*} Durch affine Transformation der Chebyshev-Knoten \cite[Theorem 1.25]{pla:nummat} ergibt sich die Fehlerabschätzung \begin{align*} @@ -732,7 +736,7 @@ Weiterhin wollen wir uns kurz die Ableitung der asymptotisch glatten Kernfunktio wobei $\bs a,\bs b,\tilde{\bs a}, \tilde{\bs b} \in \R^3$ die paarweise verschiedenen Einheitsvektoren zu Parametrisierungen $\gamma_j,\gamma_k$ sind, gilt dann für die Verknüpfung $\kappa \circ g$ die Kettenregel \begin{align*} \abs{\partial^{\alpha}(\kappa \circ g)(\lambda)} - &= \diam_{\bs a}(T_j)^{\alpha_1}\diam_{\bs b}(T_j)^{\alpha_2} \diam_{\bs a}(T_k)^{\alpha_3}\diam_{\bs b}(T_k)^{\alpha_4} \abs{\partial^{t_{jk}(\alpha)} \kappa (g(\lambda))} + &= \diam_{\bs a}(T_j)^{\alpha_1}\diam_{\bs b}(T_j)^{\alpha_2} \diam_{\tilde{\bs a}}(T_k)^{\alpha_3}\diam_{\tilde{\bs b}}(T_k)^{\alpha_4} \abs{\partial^{t_{jk}(\alpha)} \kappa (g(\lambda))} \end{align*} für jeden Multiindex $\alpha = (\alpha_1, \alpha_2, \alpha_3, \alpha_4)$, mit $\abs{\alpha} \geq 1$. \end{lem} @@ -963,14 +967,14 @@ Im Folgenden wollen wir nun annehmen, dass $T_1,T_2,\ldots,T_n$ Randelemente sin \noindent -Wir wollen nun zeigen, dass die approximierende Matrix bezüglich der Frobenius-Norm für wachsenden Quadraturgrad exponentiell schnell gegen die gegebene Matrix konvergiert. Die Frobenius-Norm ist hierbei gegeben durch +Wir wollen nun zeigen, dass die approximierende Matrix bezüglich der Frobenius-Norm für wachsenden Quadraturgrad exponentiell schnell gegen die gegebene Matrix konvergiert. Die Frobenius-Norm ist gegeben durch \begin{align*} \norm{A}_F := \left( \sum_{i=1}^n\sum_{j=1}^n A_{ij}^2 \right)^{1/2} \quad \text{für} \quad A \in \R^{n \times n}. \end{align*} \begin{sat}\label{thm:sem:quad:EAV} - Seien $T_1,T_2,\ldots,T_n$ Rechtecke. Sei $\kappa : \R^3\times \R^3 \to \R$ eine asymptotisch glatte Kernfunktion mit Konstanten $c_1,c_2$ und Singularitätsordung $s \geq 0$. Sei $\tilde C_{\zeta_Q,j,k}$ wie in \eqref{math:sem:zetaQ:c} für $\zeta_Q$-zulässsige Rechtecke $T_j,T-k$ und für unzulässige sei $\tilde C_{\zeta_Q,j,k} = 0$ . Sei $A\in \R^{n \times n}$ eine Matrix, deren Einträge gegeben sind durch + Seien $T_1,T_2,\ldots,T_n$ Rechtecke. Sei $\kappa : \R^3\times \R^3 \to \R$ eine asymptotisch glatte Kernfunktion mit Konstanten $c_1,c_2$ und Singularitätsordung $s \geq 0$. Sei $\tilde C_{\zeta_Q,j,k}$ wie in \eqref{math:sem:zetaQ:c} für $\zeta_Q$-zulässsige Rechtecke $T_j,T_k$ und für unzulässige sei $\tilde C_{\zeta_Q,j,k} = 0$ . Sei $A\in \R^{n \times n}$ eine Matrix, deren Einträge gegeben sind durch \begin{align*} A_{jk} &= \int_{T_j} \int_{T_k} \kappa(\bs x,\bs y) ds_{\bs y} ds_{\bs x}. @@ -1041,7 +1045,7 @@ Ferner gilt mit Definition \ref{thm:sem:glatt} und den Konstanten $C_{\kappa},\r = & \frac{c_1}{(c_2 \dist(T_j,T_k))^s} \left( \frac{\diam(T_j)}{c_2 \dist(T_j,T_k)} \right)^{\abs{\alpha}}\abs{\alpha}!\\ \leq& C_{\kappa}\rho_{\kappa}^{\abs{\alpha}}\abs{\alpha}!, \end{align*} -wobei $\gamma_j(\lambda_1,\lambda_2) \in T_j$ sei. Daher sind die Voraussetzungen für Lemma \ref{thm:sem:ipolnD} erfüllt, und es gilt abschließend die Abschätzung +wobei $\gamma_j(\lambda_1,\lambda_2) \in T_j$ sei. Daher sind die Voraussetzungen für Lemma \ref{thm:sem:ipolnD} erfüllt, und es gilt schließlich die Abschätzung \begin{align*} \norm{\kappa(\gamma_j(\cdot),\bs y)-\I_p^2\kappa(\gamma_j(\cdot),\bs y)}_{\infty,[0,1]^2} &\leq C_{\kappa} 8e(1+\sqrt 2 \rho_{\kappa})\Lambda_p^2(p+1)\left(1+\frac{\sqrt 2}{\rho_{\kappa}}\right)^{-(p+1)}\\ @@ -1105,7 +1109,7 @@ Mithilfe von Satz \ref{thm:sem:pol:E} für den Grad $2p+1$ erhalten wir die Beha \end{align*} Dann gilt \begin{align*} - A_{jk} = A_{k_j}, + A_{jk} = A_{kj}, \end{align*} insbesondere ist auch die Integrationsreihenfolge aller Integrale beliebig. \end{lem} @@ -1121,7 +1125,7 @@ weshalb die Behauptung folgt. \begin{bem} - Seien $T_j,T_k$ zwei $\zeta_E$ zulässige Rechtecke. Ist $\diam(T_j) \leq \diam(T_k)$ so kann Satz (\ref{thm:sem:quad:E}) angewendet werden um $A_{jk}$ zu approximieren. Im Fall $\diam(T_j) > \diam(T_k)$ können wir, da für $\zeta_E$-zulässige Elemente auch $\dist(T_j,T_k)>0$ gilt, $A_{jk}$ approximieren indem wir mithilfe von $A_{jk} = A_{kj}$ und Satz (\ref{thm:sem:quad:E}), $A_{kj}$ berechnen. + Seien $T_j,T_k$ zwei $\zeta_E$ zulässige Rechtecke. Ist $\diam(T_j) \leq \diam(T_k)$ so kann Satz \ref{thm:sem:quad:E} angewendet werden um $A_{jk}$ zu approximieren. Im Fall $\diam(T_j) > \diam(T_k)$ können wir, da für $\zeta_E$-zulässige Elemente auch $\dist(T_j,T_k)>0$ gilt, $A_{jk}$ approximieren indem wir mithilfe von $A_{jk} = A_{kj}$ und Satz \ref{thm:sem:quad:E}, $A_{kj}$ berechnen. \end{bem} \begin{defi} \label{thm:sem:quad:AE} @@ -1174,13 +1178,13 @@ Durch ziehen der Wurzel auf beiden Seiten, folgt dann die Behauptung. Diese Auslöschungseffekte lassen sich durch ein kleines Beispiel leicht erklären. Hierzu betrachten wir beispielsweise die Stammfunktion des Integrals über ein Element von \eqref{math:sem:approx} \begin{align*} - F_{\bs x}(\bs y) = \int_{T_k} \frac 1 {\abs{\bs x -\bs y}} ds_{\bs y} + F_{\bs x} = \int \frac 1 {\abs{\bs x -\bs y}} ds_{\bs y} \end{align*} für festes $\bs x \in \R^3$, inklusive einer geeigneten Parametrisierung $\gamma_k : [0,1]^2 \to T_k$ \begin{align*} - \tilde F_{\bs x}(\bs \lambda) = \int_{[0,1]^2} \frac 1 {\abs{\bs x -\gamma_k(\bs \lambda)}} d\bs \lambda. + \tilde F_{\bs x}(\bs s) = \int_0^{s_1} \int_0^{s_2} \frac 1 {\abs{\bs x -\gamma_k(\bs \lambda)}} d\lambda_2 d\lambda_1. \end{align*} - Die Stammfunktion ist trotz Parametrisierung stetig. Daher gilt für $T_k$ mit geringem Durchmesser $\diam(T_k)$ aber $\tilde F_{\bs x}(\lambda) \approx \tilde F_{\bs x}(\tilde \lambda)$ für alle $\lambda,\tilde \lambda \in [0,1]^2$, wodurch für den Ausdruck + Die Stammfunktion ist auch mit der Parametrisierung stetig. Daher gilt für $T_k$ mit geringem Durchmesser $\diam(T_k)$ aber $\tilde F_{\bs x}(\lambda) \approx \tilde F_{\bs x}(\tilde \lambda)$ für alle $\lambda,\tilde \lambda \in [0,1]^2$, wodurch für den Ausdruck \begin{align*} \tilde F_{\bs x}(0,0) - \tilde F_{\bs x}(1,0) -\tilde F_{\bs x}(0,1) + \tilde F_{\bs x}(1,1) = \int_{[0,1]^2} \frac 1 {\abs{\bs x -\gamma_k(\bs \lambda)}} d\bs \lambda = \int_{T_k} \frac 1 {\abs{\bs x -\bs y}} ds_{\bs y} @@ -1774,7 +1778,7 @@ dy_2 dy_1 dx_2 dx_1\\ \clearpage -\section{Fastreguläre Partionierung in \Matlab} +\section{Fastreguläre Partionierung in \Matlab} \label{sec:implement} \todo{ \scriptsize \begin{itemize} \item Datenstruktur @@ -1943,7 +1947,7 @@ Die Implementierung der Berechnung eines Eintrags $A_{jk}$ befindet sich in der \clearpage -\section{Numerische Experimente} +\section{Numerische Experimente}\label{sec:numexp} \todo{ \scriptsize \begin{itemize} \item Zusammenfassung der h-h/2 Strategie (Ergebnisse aus Ferraz-DA und Paper), interessant sind nur eta und tilde-mu @@ -2353,10 +2357,11 @@ Siehe Abbildung \ref{fig:3DFichCube:sem}. % \setcounter{section}{0} \newcounter{test} -\setcounter{test}{1} +\setcounter{test}{0} \renewcommand{\thesection}{\Alph{test}} %BAD HACK braucht ein /stepcounter{test} nach jeder Section -\section{Anhang Code}\stepcounter{test} +\stepcounter{test} +\section{Anhang Code}\label{sec:code} \todo{ Die wichtigsten Funktionen \begin{enumerate} diff --git a/doc/fig/1432t05n05_3DFichCube_cond.eps b/doc/fig/1432t05n05_3DFichCube_cond.eps index d346d52..cdad13f 100644 --- a/doc/fig/1432t05n05_3DFichCube_cond.eps +++ b/doc/fig/1432t05n05_3DFichCube_cond.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-1.2 %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Linux 3.7.0-7-generic #15-Ubuntu SMP Sat Dec 15 16:34:25 UTC 2012 x86_64. %%Title: ../doc/fig/1432t05n05_3DFichCube_cond.eps -%%CreationDate: 04/19/2013 09:34:20 +%%CreationDate: 04/19/2013 09:44:19 %%DocumentNeededFonts: Helvetica %%DocumentProcessColors: Cyan Magenta Yellow Black %%Extensions: CMYK diff --git a/doc/fig/1432t05n05_3DFichCube_error.eps b/doc/fig/1432t05n05_3DFichCube_error.eps index aa05be8..cd64fc0 100644 --- a/doc/fig/1432t05n05_3DFichCube_error.eps +++ b/doc/fig/1432t05n05_3DFichCube_error.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-1.2 %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Linux 3.7.0-7-generic #15-Ubuntu SMP Sat Dec 15 16:34:25 UTC 2012 x86_64. %%Title: ../doc/fig/1432t05n05_3DFichCube_error.eps -%%CreationDate: 04/19/2013 09:34:20 +%%CreationDate: 04/19/2013 09:44:19 %%DocumentNeededFonts: Helvetica %%DocumentProcessColors: Cyan Magenta Yellow Black %%Extensions: CMYK diff --git a/doc/fig/1432t05n05_3DFichCube_hminmax.eps b/doc/fig/1432t05n05_3DFichCube_hminmax.eps index da3887a..f018512 100644 --- a/doc/fig/1432t05n05_3DFichCube_hminmax.eps +++ b/doc/fig/1432t05n05_3DFichCube_hminmax.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-1.2 %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Linux 3.7.0-7-generic #15-Ubuntu SMP Sat Dec 15 16:34:25 UTC 2012 x86_64. %%Title: ../doc/fig/1432t05n05_3DFichCube_hminmax.eps -%%CreationDate: 04/19/2013 09:34:20 +%%CreationDate: 04/19/2013 09:44:19 %%DocumentNeededFonts: Helvetica %%DocumentProcessColors: Cyan Magenta Yellow Black %%Extensions: CMYK diff --git a/doc/fig/1432t05n05_3DFichCube_time.eps b/doc/fig/1432t05n05_3DFichCube_time.eps index c6c4946..379e68c 100644 --- a/doc/fig/1432t05n05_3DFichCube_time.eps +++ b/doc/fig/1432t05n05_3DFichCube_time.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-1.2 %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Linux 3.7.0-7-generic #15-Ubuntu SMP Sat Dec 15 16:34:25 UTC 2012 x86_64. %%Title: ../doc/fig/1432t05n05_3DFichCube_time.eps -%%CreationDate: 04/19/2013 09:34:21 +%%CreationDate: 04/19/2013 09:44:20 %%DocumentNeededFonts: Helvetica %%DocumentProcessColors: Cyan Magenta Yellow Black %%Extensions: CMYK diff --git a/src/A_plots.m b/src/A_plots.m index addad3f..3dd1f07 100644 --- a/src/A_plots.m +++ b/src/A_plots.m @@ -154,7 +154,7 @@ i=0; % shift2 = shift2+shift2/10; % error*(eta(l)-shift2)/error(l) -first = 1 +find(([ (G_D(2:end,2+rows*i)-G_D(1:end-1,2+rows*i))./G_D(2:end,2+rows*i)])>=0,1)-1; +first = 1 +find(([ (G_D(2:end,2+rows*i)-G_D(1:end-1,2+rows*i))./G_D(2:end,2+rows*i)])>=0,1)-1 Ferr = (X(first,i+1)+X(first-1,i+1))/2; loglog(X(:,i+1),G_D(:,2+rows*i),type2sym(i*3+1), ...