]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[doc] vorletzte Version
authorPeter Schaefer <schaeferpm@gmail.com>
Wed, 24 Apr 2013 16:27:20 +0000 (18:27 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Wed, 24 Apr 2013 16:27:20 +0000 (18:27 +0200)
20 files changed:
doc/doc.pdf
doc/doc.tex
doc/fig/exmpl11_coo.tex
doc/fig/exmpl11_ref.eps
doc/fig/exmpl12_coo.tex
doc/fig/exmpl12_ref.eps
doc/fig/exmpl13_coo.tex
doc/fig/exmpl13_nei_part.eps
doc/fig/exmpl13_ref.eps
doc/fig/exmpl_2DLShape_coo.tex
doc/fig/exmpl_2DLShape_ref.eps
doc/fig/exmpl_2DQuad_12.eps
doc/fig/exmpl_2DQuad_coo.tex
doc/fig/exmpl_2DQuad_ref.eps
doc/fig/exmpl_3DCube_coo.tex
doc/fig/exmpl_3DCube_ref.eps
doc/fig/exmpl_3DFichCube_6.eps
doc/fig/exmpl_3DFichCube_coo.tex
doc/fig/exmpl_3DFichCube_ref.eps
src/export_mesh.m

index d2a9fe100d5e9140a3b1b37b3893689a2d882c6a..3d20aadfe162ce364d8d4bffde5440d81cdef4dc 100644 (file)
Binary files a/doc/doc.pdf and b/doc/doc.pdf differ
index 773230f18cb5aa2cc878545129c0a9254325aa14..4f4f112a7e546fe6ab32c7c06bc07b1c630d2d12 100644 (file)
 \clearpage
 
 \section{Einleitung}\label{sec:intro}
-\todo{ \scriptsize
-\begin{itemize}
-\item kurz + praegnant, worum es geht (vgl. Mayr-Bakk, wo das exakt eine Seite ist)
-\end{itemize}
-}
-
+\todo{ \scriptsize
+\begin{itemize}
+\item kurz + praegnant, worum es geht (vgl. Mayr-Bakk, wo das exakt eine Seite ist)
+\end{itemize}
+}
+% 
 \noindent
 In dieser Arbeit beschäftigen wir uns mit der Randelementmethode für die homogene Laplace-Gleichung mit Dirichlet-Randbedingungen
 \begin{align}
@@ -219,13 +219,13 @@ Abschließend werden wir kurz die numerische Umsetzung der Techniken vorstellen
 \clearpage
 
 \section{Randelementmethode}\label{sec:bem}
-\todo{ \scriptsize
-\begin{itemize}
-\item kuerzer als in Ferraz-DA \cite{fer:errbem}
-\item insbesondere fastregulaere Triangulierung + K-Gitter (vgl. Ferraz-DA \cite{fer:errbem})
-\end{itemize}
-}
-
+\todo{ \scriptsize
+\begin{itemize}
+\item kuerzer als in Ferraz-DA \cite{fer:errbem}
+\item insbesondere fastregulaere Triangulierung + K-Gitter (vgl. Ferraz-DA \cite{fer:errbem})
+\end{itemize}
+}
+% 
 \noindent
 An dieser Stelle betrachten wir die homogene Laplace-Gleichung mit Dirichlet-\-Rand\-bedingungen
 \begin{align}\label{math:slp:lapGLS}
@@ -260,7 +260,7 @@ wobei $\varDelta u := \partial_x^2u+\partial_y^2u+\partial_z^2u$ den Laplace-Ope
 % wobei $V := \gamma_0\tilde V \in L(H^{-1/2}(\Gamma),H^{1/2}(\Gamma))$. Ziel ist es nun aus \todo{$(5)$} eine Funktion $\phi$ zu bestimmen, die die obige Gleichung erfüllt, denn dann ist $\tilde V\phi$ die Lösung des Problems.
 
 \subsection{Galerkin-Verfahren}
-Die Fundamentallösung des Laplaceoperators \todo{\cite[Theorem 12]{stb:fem}} ist für $\Omega \subset \R^3$ gegeben durch
+Die Fundamentallösung des Laplaceoperators \cite[Kapitel 5.1]{stb:fem} ist für $\Omega \subset \R^3$ gegeben durch
 \begin{align*} % \label{math:slp:fundamental}
  G(\bs z) := \frac 1 {4 \pi \abs{\bs z}}.
 \end{align*}
@@ -278,7 +278,7 @@ In der schwachen Formulierung lautet die Laplace-Gleichung
 - \varDelta u  &= 0 \quad \text{ in } H^{-1}(\Omega),  \\
 \gamma_0 u &=  g \quad \text{ auf }H^{1/2}(\Gamma).
 \end{align*}
-Gemäß \todo{\cite[Kapitel 6.2 und 6.3]{stb:fem}} kann $\tilde V$ auch als Operator $\tilde V \in L(H^{-1/2}(\Gamma),H^{1}(\Omega))$ aufgefasst werden, und es gilt
+Gemäß \cite[Kapitel 6.2 und 6.3]{stb:fem} kann $\tilde V$ auch als Operator $\tilde V \in L(H^{-1/2}(\Gamma),H^{1}(\Omega))$ aufgefasst werden, und es gilt
 \begin{align*}
   -\varDelta\tilde V\phi = 0 \in H^{-1}(\Omega) \quad \text{für alle }\phi \in H^{-1/2}(\Gamma)
 \end{align*}
@@ -291,7 +291,8 @@ 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. Dann ist $\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 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.
@@ -317,7 +318,7 @@ und sei $P^0(\T_{\ell}) := span\{\chi_i : i=1,\ldots,N\}$ der aufgespannte Teilr
 \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}),
 \end{align*}
-was aufgrund der Basiseigenschaft von $\chi_i$ eindeutig und äquivalent ist zu
+was aufgrund der Basiseigenschaft von $\chi_i$ und dem Lemma von Lax-Milgram eindeutig und äquivalent ist zu
 \begin{align}\label{math:slp:gls:galerkin}
  \llangle \phi_{\ell},\chi_j \rrangle & = \langle f,\chi_j \rangle\quad\text{für alle } j\in\{1,2,\ldots,N\}.
 \end{align}
@@ -559,20 +560,20 @@ Für das Verständnis des folgenden Algorithmus benötigen wir noch einige Beoba
 \clearpage
   
 \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$
-mit $\kappa(.,.)$ asymptotisch glatt und $Tj, Tk$ achsenorientiertes
-Rechtecke.
-\item Das ist das Kernstueck der Arbeit (Uebertragung der Mayr-Bakk auf 3D).
-\item Warum erwarten man Instabilitaet bei analytischer Berechnung?
-\item Beweis von exponentieller Konvergenz bei semidiskreter/volldiskreter
-Berechnung von gewissen Matrix-Eintraegen
-\item Was fuer Faelle sollte man betrachten? Wann rechnet man
-analytisch/semidiskret/volldiskret     
-\end{itemize}
-}
-
+\todo{ \scriptsize
+\begin{itemize}
+\item Modellproblem $A_{kj} = \int_{Tj}\int_{Tk} \kappa(x,y) ds_y ds_x$
+mit $\kappa(.,.)$ asymptotisch glatt und $Tj, Tk$ achsenorientiertes
+Rechtecke.
+\item Das ist das Kernstueck der Arbeit (Uebertragung der Mayr-Bakk auf 3D).
+\item Warum erwarten man Instabilitaet bei analytischer Berechnung?
+\item Beweis von exponentieller Konvergenz bei semidiskreter/volldiskreter
+Berechnung von gewissen Matrix-Eintraegen
+\item Was fuer Faelle sollte man betrachten? Wann rechnet man
+% analytisch/semidiskret/volldiskret   
+\end{itemize}
+}
+% 
 \noindent
 Ziel dieses Abschnitts ist die approximative Berechnung des Integrals
 \begin{align}\label{math:gal:kap}
@@ -715,7 +716,7 @@ Weiterhin wollen wir uns kurz die Ableitung der asymptotisch glatten Kernfunktio
   \begin{align}
     g(\lambda) = (\gamma_j(\lambda_1,\lambda_2),\gamma_k(\lambda_3,\lambda_4)),
   \end{align}
-  wobei $\gamma_j,\gamma_k$ die Parametrisierungen aus Definition \ref{thm:def:T} seien.
+  wobei $\gamma_j,\gamma_k$ die Parametrisierungen aus Definition \ref{thm:def:T} seien.\\
   Mit der Hilfsfunktion $t_{jk} : \N^4 \rightarrow \N^6$
   \begin{align}
   t_{jk}(\alpha) =
@@ -1531,13 +1532,13 @@ Durch ziehen der Wurzel auf beiden Seiten, folgt dann die Behauptung.
 \clearpage
 
 \section{Analytische Berechnung} \label{sec:analyt}
-\todo{ \scriptsize
-\begin{itemize}
-\item Zusammenfassung des Maischak-Papers \cite{mai:3dbem}
-\item Ergebnisse ohne Beweise
-\item Betonen, wo Sie im Maischak-Paper einen Fehler gefunden haben 
-\end{itemize}
-}
+\todo{ \scriptsize
+\begin{itemize}
+\item Zusammenfassung des Maischak-Papers \cite{mai:3dbem}
+\item Ergebnisse ohne Beweise
+\item Betonen, wo Sie im Maischak-Paper einen Fehler gefunden haben 
+\end{itemize}
+}
 \noindent
 In diesem Abschnitt wollen wir uns mit der analytischen Berechnung des Integrals
 \begin{align}\label{math:analy:int}
@@ -1771,14 +1772,14 @@ dy_2 dy_1 dx_2 dx_1\\
 \clearpage
 
 \section{Fastreguläre Partionierung in \Matlab} \label{sec:implement}
-\todo{ \scriptsize
-\begin{itemize}
-\item Datenstruktur
-\item Netzverfeinerung
-\item Code + kurze Dokumentation des Codes (was passiert wie/wo) 
-\end{itemize}
-}
-
+\todo{ \scriptsize
+\begin{itemize}
+\item Datenstruktur
+\item Netzverfeinerung
+\item Code + kurze Dokumentation des Codes (was passiert wie/wo) 
+\end{itemize}
+}
+% 
 \noindent
 In diesem Abschnitt werden wir die Implementierung etwas genauer betrachten. 
 Hierzu werden wir kurz Festhalten wie die Diskretisierung des Netzes aus Kapitel \ref{sec:bem:net} in \Matlab~und \Cpp umgesetzt wurde. 
@@ -1833,7 +1834,7 @@ hervorheben, denn das Element hat an den ersten beiden Seiten jeweils einen Nach
 \label{exmpl13:nei:part}
 \end{figure}
 
-\subsection{Verfeinern}
+\subsection{Verfeinern} \label{sec:implement:refine}
 Diese Funktion sei die Implementierung von Algorithmus \ref{alg:refine}.
 Da wir im weiteren Verlauf sowohl adaptive also auch anisotrope Netzverfeinerung zulassen wollen, ist es sinnvoll eine Verfeinerungsfunktion zu implementieren, die alle möglichen Teilungsprozesse auf einem Element realisiert. Dabei sind vier nur wirklich relevant:
 \begin{enumerate}
@@ -1945,17 +1946,17 @@ Die Implementierung der Berechnung eines Eintrags $A_{jk}$ befindet sich in der
 \clearpage
 
 \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
-  \item adaptiver Algorithmus als Algorithmus und MATLAB-Code
-\item Warum braucht man Adaptivitaet? Warum reicht isotrope Verfeinerung nicht aus? ggf. anhand numerischem Beispiel
-\item Beispiele, bei denen anisotrop gerechnet wird, bis Instabilitaet auftritt, verschiedene Strategien (voll-analytisch + ...)
-\item in Plots: Fehler/eta/tilde-mu
-\item genau beschreiben: Was ist das Beispiel? Was sieht man im Plot? Wie interpretiert man das? 
-\end{itemize}
-}
-
+\todo{ \scriptsize
+\begin{itemize}
+  \item Zusammenfassung der h-h/2 Strategie (Ergebnisse aus Ferraz-DA und Paper), interessant sind nur eta und tilde-mu
+  \item adaptiver Algorithmus als Algorithmus und MATLAB-Code
+\item Warum braucht man Adaptivitaet? Warum reicht isotrope Verfeinerung nicht aus? ggf. anhand numerischem Beispiel
+\item Beispiele, bei denen anisotrop gerechnet wird, bis Instabilitaet auftritt, verschiedene Strategien (voll-analytisch + ...)
+\item in Plots: Fehler/eta/tilde-mu
+\item genau beschreiben: Was ist das Beispiel? Was sieht man im Plot? Wie interpretiert man das? 
+\end{itemize}
+}
+% 
 \noindent
 In diesem Abschnitt werden wir anhand von zwei Beispielgeometrien die gezeigten Zusammenhänge genauer untersuchen. Hierzu werden wir zunächst einige Fehlerschätzer definieren, welche auch lokale Aussagen auf den Netzen zulassen. Weiterhin werden wir eine Strategie zum Markieren von Elementen vorstellen, die die Definition eines adaptiven Algorithmus ermöglicht. Da wir durch verschiedene Strategien die Stabilität der Berechnungen sicherstellen wollen, werden wir unsere Berechnungen auf das Lösen der Gleichung
 \begin{align*}
@@ -2228,7 +2229,7 @@ Bei der folgenden Berechnung werden wir wieder den Algorithmus \ref{alg:adapt} m
 % \\
 % \subfloat[Kondition der $\hat V_{\ell}$ Matrix \label{fig:2DQuad:quad:cond}]{\includegraphics[width=0.5\textwidth]{fig/2222t05n05_2DQuad_cond}}
 \subfloat[Berechnungszeit für das Quadrat \label{fig:2DQuad:quad:time}]{\includegraphics[width=0.5\textwidth]{fig/2222t05n05_2DQuad_time}}
-\caption{Vergleich der Quadraturgrade auf dem Quadrat}
+\caption{Vergleich der Quadraturgrade auf dem Quadrat \todo{PLOT BESCHRIFTUNGEN}}
 \label{fig:2DQuad:quad}
 \end{figure}
 
@@ -2300,6 +2301,8 @@ Auch hier wurde die Energienorm $\enorm{\phi}^2 \approx 16.2265$ der exakten Lö
 \noindent
 Bei den folgenden Berechnungen werden wir wieder den Algorithmus \ref{alg:adapt} mit Parametern $\theta=0.5,\nu=0.5$ zum Lösen von \eqref{math:bsp:FichCube:gls} verwenden, wobei für alle auftretenden Gauss-Quadraturen der Grad 4 gewählt wurde. Alle Berechnungsarten werden auf den selben Netzen ausgeführt um die Ergebnisse nicht durch die Wahl des Netzes zu beeinflussen.\\
 Wir werden nun die Matrix $\hat V_{\ell}$ in der "`analytischen"' Strategie durch die in Kapitel \ref{sec:analyt} vorgestellten Stammfunktionen analytisch berechnen. 
+\todo{Strategie SEMIANALYTISCH}
+Weiterhin werden wir in der Strategie "`volle Quadratur"' alle auftretenden Integrale für $\zeta_Q$ zulässige Elemente durch Gauss-Quadratur ersetzen. Da wir annehmen, dass diese Strategie wieder die zuverlässigste sein wird, werden wir den zugehörigen $\tilde \mu$ Schätzer zum Steuern der Netzverfeinerung verwenden.
 
 \begin{figure}[ht]
 
@@ -2323,72 +2326,49 @@ In Abbildung \ref{fig:3DFichCube:sem:err} betrachten wir den Fehler und die Fehl
 Die Konditionszahlen der $\hat V_{\ell}$ Matrix sehen wir in Abbildung \ref{fig:3DFichCube:sem:cond}. Bis zu der Elementanzahl 4000 steigt die Kondition der Matrix für alle Strategien auf $10^9$ an. Für feinere Netze, erkennen wir ab der Grenze von 4000 Elementen wieder den sprunghaften Anstieg der Konditionszahl für die "`analytische"' Berechnung in \figLineA[].
 
 \noindent
-\todo{FAZIT}
-
-
-\subsection{Beispiel Neztverfeinerung}
-
-
-
-
+Diese Beobachtungen zeigen für dreidimensionalen Geometrien, dass die analytische Berechnung auf feinen Netzen instabil wird.
+Vergleichen wir unsere Ergebnisse mit denen aus dem Paper \cite[Figur 13]{fer:errbem}, so erreichen wir mit der "`analytischen"' Strategie die gleiche Genauigkeit. Dass das Netz die Ergebnisse beeinflusst können wir fast ausschließen, da wir vergleichbare Forderungen und Parameter an die Netzverfeinerung gestellt haben.
+Durch geeignetes ersetzen der Integrale durch Gauss-Quadratur können wir jedoch die Genauigkeit der Lösung beliebig erhöhen und erreichen bis zur Netzgröße von 9000 Elementen einen Fehler der Galerkin-Lösung von 0.01. Wenn wir den Fehler für feinere Netze berechnen wollen, müssten wir entweder einen größeren Arbeitsspeicher verwenden oder andere Strategien entwickeln, welche zum Beispiel unter Verwendung von $h$-Matrizen, durch Approximation eine Komprimierung der Matrix zulassen.
 
-% Zum Plotten (Abb.\ref{fig:exmplAA_2DQuad})werden noch folgende Schritte ausgeführt
-% \begin{itemize}
-% \item Berechne Galerkinlösung $\phi_{\ell} \in P^0(\T_{\ell})$
-% %  \item $\enorm{\hat \phi_{\ell}}$
-% %  \item $\enorm{\phi_{\ell}}$
-% \item $error_{i} =  \sqrt{\enorm{\phi}^2 - \enorm{\phi_{\ell}}^2}$
-% \item $\mu_{i} = \norm{\varrho^{1/2}(\hat \phi_{\ell} - \phi_{\ell} )}$
-% \item $\eta_{i} = \enorm{\hat \phi_{\ell} - \phi_{\ell}}$
-% \item $\kappa_{i} = \enorm{\hat \phi_{\ell}}-\enorm{\hat \phi_{\ell-1}}$
-% \item $\kappa2_{i} = \enorm{\phi_{\ell}}-\enorm{\phi_{\ell-1}}$
-% \item $\kappa3_{i} = \enorm{\hat \phi_{\ell}-\hat \phi_{\ell-1}}$
-% \end{itemize} 
-% 
-% \todo{Viele Bunte Bilder und Testergebnisse}
-% \begin{itemize}
-% \item gerechnet wurde $V\phi = 1$
-% \item Beispiele für verschiedene Figuren
-% \begin{itemize}
-% \item 2D LShape
-% \item 2D Rechteck
-% \item 3D Würfel
-% \item Fischer Würfel
-% \item L Figur
-% \end{itemize}
-% \item Beispiele für verschiedene Berechnungsarten
-% \begin{itemize}
-% \item VollAnalytisch
-% \item SemiAnalytisch über Element
-% \item SemiAnalytisch über Achse
-% \item SemiAnalytisch über Seite
-% \end{itemize}
-% \item Fehlerschätzer untersuchen und prüfen ob sie sich wie erwartet Verhalten
-% \end{itemize}
-
-
-% \showMesh[Beispiel 1.1]{exmpl11}
+\subsection{Beispielnetz mit Verfeinerung}
+An dieser Stellen wollen wir noch einmal das Netz des Quadrats aus Abbildung \ref{fig:mesh:2DQuad:start} betrachten. Wir wenden dazu die Netzverfeinerung aus Kapitel \ref{sec:implement:refine} mit dem Markierungsvektor $marked = (2, 3, 1, 3)$ auf das Startnetz an und erhalten dadurch das Netz aus Abbildung \ref{exmpl12:lage}. Die drei zugehörigen Matrizen $COO$, $ELE$ und $NEI$, welche in Kapitel \ref{sec:implement:daten} genauer beschrieben wurden, finden wir in den Abbildungen \ref{exmpl12:coo},\ref{exmpl12:ele},\ref{exmpl12:nei}.\\
 
 \begin{figure}[ht]
-\caption{Beispiel 1.2}
-\label{exmpl12}
 \centering
-\subfloat[Lage]{\includegraphics[width=0.55\textwidth]{fig/exmpl12_ref}}
-\subfloat[Koordinaten]{\input{fig/exmpl12_coo}}\\
-\subfloat[Elemente]{\input{fig/exmpl12_ele}}
-\subfloat[Nachbarn]{\input{fig/exmpl12_nei}}
+\subfloat[Lage \label{exmpl12:lage}]{\includegraphics[width=0.55\textwidth]{fig/exmpl12_ref}}
+\subfloat[Koordinatenmatrix]{\input{fig/exmpl12_coo}}\\
+\subfloat[Elementmatrix]{\input{fig/exmpl12_ele}}
+\subfloat[Nachbarschaftsrelationen]{\input{fig/exmpl12_nei}}
+\caption{{\scriptsize Dieses Beispielnetz entsteht durch die Verfeinerung von Netz \ref{fig:mesh:2DQuad} mit dem Markierungsvektor $marked = (2,3,1,3)$. Zum Verfeinern wurde der Algorithmus \ref{alg:refine} mit der Implementierung aus \ref{code:refineQuad} verwendet. In Schwarz wurde der Index der Elemente und in rot der Index der Koordinaten eingezeichnet.}}
+\label{exmpl12}
 \end{figure}
 
+\noindent
+Wenn wir nun in diesem Netz das Element 7 durch ein Teilung vom Typ 2 weiter verfeinern, muss auch das Element 4 geteilt werden. Abbildung \ref{exmpl13:lage} stellt dieses neue Netz dar und zeigt das der Algorithmus \ref{alg:refine} die nötigen Teilungen vornimmt.
+
 \begin{figure}[ht]
-\caption{Beispiel 1.3}
-\label{exmpl13}
 \centering
-\subfloat[Lage]{\includegraphics[width=0.55\textwidth]{fig/exmpl13_ref}}
-\subfloat[Koordinaten]{\input{fig/exmpl13_coo}}\\
-\subfloat[Elemente]{\input{fig/exmpl13_ele}}
-\subfloat[Nachbarn]{\input{fig/exmpl13_nei}}
+% \subfloat[Lage]{
+\includegraphics[width=0.55\textwidth]{fig/exmpl13_ref}
+% }
+% \subfloat[Koordinaten]{\input{fig/exmpl13_coo}}\\
+% \subfloat[Elemente]{\input{fig/exmpl13_ele}}
+% \subfloat[Nachbarn]{\input{fig/exmpl13_nei}}
+\caption{\scriptsize Dieses Netz entsteht durch die Verfeinerung von Element 7 aus dem Netz \ref{exmpl12}. In Schwarz wurde der Index der Elemente und in rot der Index der Koordinaten eingezeichnet. Es zeigt, dass zusätzlich Elemente verfeinert werden um die Forderung von maximal drei Knoten auf einer Kante zu erfüllen.}
+\label{exmpl13:lage}\label{exmpl13}
 \end{figure}
 
+% \begin{figure}[ht]
+% \centering
+% \subfloat[Lage]{\includegraphics[width=0.55\textwidth]{fig/exmpl13_ref}}
+% \subfloat[Koordinaten]{\input{fig/exmpl13_coo}}\\
+% \subfloat[Elemente]{\input{fig/exmpl13_ele}}
+% \subfloat[Nachbarn]{\input{fig/exmpl13_nei}}
+% \caption{Beispiel 1.3}
+% \label{exmpl13}
+% \end{figure}
+
+
 % \begin{figure}[ht]
 % \caption{Weitere Objekt Beispiele}
 % \centering
@@ -2408,16 +2388,20 @@ Die Konditionszahlen der $\hat V_{\ell}$ Matrix sehen wir in Abbildung \ref{fig:
 
 \stepcounter{test}
 \section{Anhang Code}\label{sec:code}
-\todo{
-Die wichtigsten Funktionen
-\begin{enumerate}
-\item compute
-\item refine
-\item mark
-\item build\_V (mit allen Funktionen)
-\item plot
-\end{enumerate}
-}
+% \todo{
+% Die wichtigsten Funktionen
+% \begin{enumerate}
+% \item compute
+% \item refine
+% \item mark
+% \item build\_V (mit allen Funktionen)
+% \item plot
+% \end{enumerate}
+% }
+\noindent
+Abschließend werden wir die für die Numerischen Experimente verwendeten Funktionen vorstellen. Hierbei wollen wir anmerken, dass wir im Laufe der Untersuchungen eine Erweiterung eingeführt haben auf die wir in den vorherigen Kapiteln nicht eingegangen sind.\\
+Um Berechnungsfehler für die Seitenlängen und Flächeninhalte in \Matlab~zu vermeiden, haben wir die zusätzliche Matrix $sites\in\N^{N\times2}$ eingeführt. Eine Zeile $sites_j = (a_{j},b_{j})$ mit $j\in \{1,\ldots,N\}$ der Matrix entspricht der Anzahl der Halbierungen der Seitenlängen $a,b$ aus Definition \ref{thm:def:T} vom Element $T_j$, gelten muss hierbei $a = 2^{-a_j}$ und $b = 2^{-b_j}$.
+Dadurch können wir den Flächeninhalt von $T_j$ durch $\abs{T_j} = 2^{-(a_j+b_j)}$ bestimmen.\\ In der Implementierung für die Berechnung der Matrixeinträge $A_{jk} = \int_{T_j} \int_{T_k} \frac{1}{\abs{\bs x -\bs y}}ds_{\bs y} ds_{\bs x}$ wurde diese Erweiterung nicht verwendet.
  \subsection[C++]{\Cpp}
  An dieser Stelle werden wir den Quellcode für die Berechnung der Matrix $A$ aus Kapitel \ref{sec:semi} und \ref{sec:analyt} vorstellen.
   \subsubsection{mex\_build\_V.cpp}\label{code:mex_build_V}
@@ -2477,7 +2461,7 @@ function [data er fileo] = compute(file,times,zeta,typ,theta,nu,vcon)
 \end{lstlisting}
  \lstinputlisting[language=M,firstline=19,firstnumber=19]{../src/compute.m}
   \subsubsection{refineQuad.m}\label{code:refineQuad}
-  Diese Funktion implementiert den Verfeinern Algorithmus \ref{alg:refine}. Übergeben werden vom Netz $\T_{\ell}$, die Koordinatenmatrix \lstinline!coordinates! $\in\R^{M\times3}$, die Elementmatrix \lstinline!elements! $\in\{1,\ldots,M\}^{N\times4}$, die Nachbarschaftsrelationen \lstinline!neigh! $\in\{0,1,\ldots,N\}^{N\times8}$. Weiterhin wird auch die Seitenmatrix \lstinline!sites! $\in\N^{N\times2}$ übergeben. Die $j$te Zeile $(a_{j},b_{j})$ entspricht der Anzahl der Halbierungen der Seitenlängen $a,b$ vom Element $T_j$, gelten muss hierbei $a = 2^{a_j}$ und $b = 2^{b_j}$. Außerdem entspricht \lstinline!typ! $\in\{1,\ldots,5\}^N$ der Markierung. Bei der Rückgabe des verfeinerten Netzes $\tilde{\T_{\ell}}$ werden zusätzlich die VaterSohn Beziehungen \lstinline!f2s! zurückgegeben.
+  Diese Funktion implementiert den Verfeinern Algorithmus \ref{alg:refine}. Übergeben werden vom Netz $\T_{\ell}$, die Koordinatenmatrix \lstinline!coordinates! $\in\R^{M\times3}$, die Elementmatrix \lstinline!elements! $\in\{1,\ldots,M\}^{N\times4}$, die Nachbarschaftsrelationen \lstinline!neigh! $\in\{0,1,\ldots,N\}^{N\times8}$. Weiterhin wird auch die Seitenmatrix \lstinline!sites! $\in\N^{N\times2}$ übergeben. Die $j$te Zeile $(a_{j},b_{j})$ entspricht der Anzahl der Halbierungen der Seitenlängen $a,b$ vom Element $T_j$, gelten muss hierbei $a = 2^{-a_j}$ und $b = 2^{-b_j}$. Außerdem entspricht \lstinline!typ! $\in\{1,\ldots,5\}^N$ der Markierung. Bei der Rückgabe des verfeinerten Netzes $\tilde{\T_{\ell}}$ werden zusätzlich die VaterSohn Beziehungen \lstinline!f2s! zurückgegeben.
 \begin{lstlisting}[language=M]
 function [coo,ele,nei,f2s,sit,err] = refineQuad(coordinates,elements,neigh,sites,typ)
 \end{lstlisting}  
@@ -2489,14 +2473,18 @@ function [coo,ele,nei,f2s,sit,err] = refineQuad(coordinates,elements,neigh,sites
 % \end{lstlisting}  
 %  \lstinputlisting[language=M,firstline=30,firstnumber=30]{../src/areaQuad.m}
   \subsubsection{mark.m}\label{code:mark}
-  Diese Funktion Implementiert die Definition \ref{thm:def:mark}.
+  Diese Funktion Implementiert die Definition \ref{thm:def:mark}. Die Funktion wird mit der Matrix $xF2S$, dem Fehlerschätzer $\tilde \mu$ und den beiden Parametern $\theta,\nu$ aufgerufen.
+  Hierbei seien die Einträge der Matrix $xF2S \in \R^{N\times4}$ geben durch $(xF2S)_{ij} = \langle\hat\phi_{\ell},\chi_{(F2S_{ij})}\rangle$, wobei $F2S\in\N^{N\times4}$ die Matrix der Vater-Sohnrelationen und $\hat \phi_{\ell}$ die Galerkin-Lösung zum $\hat \T_{\ell}$ Netz ist.
+  Zurück geben wird der Markierungsvektor $marked\in\{1,2,3,4\}^N$.
 \begin{lstlisting}[language=M]
 function REF = mark(xF2S,ind,theta,nu)
 \end{lstlisting}  
  \lstinputlisting[language=M,firstline=9,firstnumber=9]{../src/mark.m}
  
 \clearpage
+
 \bibliographystyle{gerabbrv}
 \bibliography{doc}
+\addcontentsline{toc}{section}{Literatur}
 
 \end{document}
\ No newline at end of file
index dfdeaffb34b2a0515dd6d5840fa75fb8ffec61ad..1eb52ed52db8b895b0519bb1e2c32198a3d17d00 100644 (file)
@@ -11,3 +11,4 @@
     8 & 1 & 0.5 & 0\\
     9 & 1 & 1 & 0
 \end{tabular}
+\label{exmpl11:coo}
index a307a8c379c1350c7284eee0382c8d14a1b05dd3..6cb35576245addefc6d1a43ad4a7f3091577f9b3 100644 (file)
@@ -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/exmpl11_ref.eps
-%%CreationDate: 04/14/2013  17:43:39
+%%CreationDate: 04/24/2013  15:28:45
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   236  4045  3205 MR c np
-84 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index c66ba573951ec445bdf711ecbcf3eb577799d16d..86ba58d2bc8fa03544720f11915569d165339c0b 100644 (file)
@@ -19,3 +19,4 @@
     16 & 1 & 0.75 & 0\\
     17 & 1 & 1 & 0
 \end{tabular}
+\label{exmpl12:coo}
index 86136aebf6e2e557d63e743205d4ac4c6777820e..9e567cf82e6d009a2a3d61d9599078d95566c2e8 100644 (file)
@@ -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/exmpl12_ref.eps
-%%CreationDate: 04/14/2013  17:43:39
+%%CreationDate: 04/24/2013  15:28:45
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   236  4045  3205 MR c np
-84 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index 4b984eb8a4a3f0eafc784e516b1bd099003b646d..a3b56fc0465d2dc7e232c0f85ea6316edd3d3bb8 100644 (file)
@@ -25,3 +25,4 @@
     22 & 1 & 0.75 & 0\\
     23 & 1 & 1 & 0
 \end{tabular}
+\label{exmpl13:coo}
index c4b44d3a9e6eb5d01c5659feee174c33dd7cdda2..377ff6f98fd697657b9004efb6a3713383757125 100644 (file)
@@ -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/exmpl13_nei_part.eps
-%%CreationDate: 04/14/2013  17:43:39
+%%CreationDate: 04/24/2013  15:28:45
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   237  4045  3204 MR c np
-83 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index 9eee691525d2fa802d0f06a89d79a23778f32d0a..199ce75dea388c8d0bad6546bbd6b270018dcacd 100644 (file)
@@ -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/exmpl13_ref.eps
-%%CreationDate: 04/14/2013  17:43:39
+%%CreationDate: 04/24/2013  15:28:45
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   236  4045  3205 MR c np
-84 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index 1c1a26d771f47edbed8b995fdb93d9abd897fadf..3f0e4f94e2dc65c910946fe7edf433d981968c00 100644 (file)
@@ -10,3 +10,4 @@
     7 & 2 & 1 & 0\\
     8 & 1 & 2 & 0
 \end{tabular}
+\label{exmpl_2DLShape:coo}
index 133a034ada154d872d36ee2886f34ef15687854c..ae7595c28e87515a5b247216aa96c832ddb8c281 100644 (file)
@@ -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/exmpl_2DLShape_ref.eps
-%%CreationDate: 04/14/2013  17:43:40
+%%CreationDate: 04/24/2013  16:11:16
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   236  4045  3205 MR c np
-84 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index 46c7195703b662f070d04b27aaf806cada1a8922..8c41459090033a744c5937145661d9734d0bb41b 100644 (file)
@@ -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/exmpl_2DQuad_12.eps
-%%CreationDate: 04/14/2013  20:42:10
+%%CreationDate: 04/24/2013  16:11:17
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
index dfdeaffb34b2a0515dd6d5840fa75fb8ffec61ad..ef3c6d2cc2a26d6fc22a34e36002975d5cc5206d 100644 (file)
@@ -11,3 +11,4 @@
     8 & 1 & 0.5 & 0\\
     9 & 1 & 1 & 0
 \end{tabular}
+\label{exmpl_2DQuad:coo}
index 8b280d155e4c56186f8750b5563152ee401b5a3b..b937adfb6b4e7895913d32a7156c0260cc4caed5 100644 (file)
@@ -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/exmpl_2DQuad_ref.eps
-%%CreationDate: 04/14/2013  17:43:40
+%%CreationDate: 04/24/2013  16:11:16
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   334   236  4045  3205 MR c np
-84 dict begin %Colortable dictionary
+86 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index fac83c9a306e27c111032c3dcb9b154723c9b617..61b5a29e14b1a17ee79a6a7c681f71fedffa226a 100644 (file)
@@ -28,3 +28,4 @@
     25 & 1 & 1 & 0.5\\
     26 & 1 & 1 & 1
 \end{tabular}
+\label{exmpl_3DCube:coo}
index f782326204a1fa83f89b9068179b2166b43b4102..3c776112169fee9e59e0d2b8ce6bbcb60035adb1 100644 (file)
@@ -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/exmpl_3DCube_ref.eps
-%%CreationDate: 04/14/2013  17:43:40
+%%CreationDate: 04/24/2013  16:11:17
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   286   236  4092  3187 MR c np
-85 dict begin %Colortable dictionary
+87 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index b1b8ce22925e004ac1fbfc008e7ddb7bcf34bc0c..2e11dd5a0e585271830444e66a69f687745d1e62 100644 (file)
@@ -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/exmpl_3DFichCube_6.eps
-%%CreationDate: 04/14/2013  21:07:41
+%%CreationDate: 04/24/2013  16:11:18
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
index b8d5768dc6eaf3ba1440c2dfb517a6bbd1125c28..c8a7fbcd84eb953cc4f3fc52caf3e0c965aac394 100644 (file)
@@ -28,3 +28,4 @@
     25 & 1 & 1 & 0\\
     26 & 1 & 1 & 1
 \end{tabular}
+\label{exmpl_3DFichCube:coo}
index 1d5c16a704e5d66b8d351542abb6fddd65be9428..81214159342d061f5d86c33756a02e7a77f5c11f 100644 (file)
@@ -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/exmpl_3DFichCube_ref.eps
-%%CreationDate: 04/14/2013  17:43:41
+%%CreationDate: 04/24/2013  16:11:17
 %%DocumentNeededFonts: Helvetica
 %%DocumentProcessColors: Cyan Magenta Yellow Black
 %%Extensions: CMYK
@@ -170,7 +170,7 @@ bplot
 portraitMode 0150 5100 csm
 
   237   236  4142  3187 MR c np
-85 dict begin %Colortable dictionary
+87 dict begin %Colortable dictionary
 /c0 { 0.000000 0.000000 0.000000 sr} bdef
 /c1 { 1.000000 1.000000 1.000000 sr} bdef
 /c2 { 0.900000 0.000000 0.000000 sr} bdef
index 5d55af85cba7aaa1199ef512a8a4101e44f2f392..582e43812e266d964b317dc7fb70d2685c4b4bfe 100644 (file)
@@ -32,7 +32,7 @@ for i = 1:m
 end
 fprintf(fid,'\n\\end{tabular}');
 % fprintf(fid,['\n\\caption{' file ' - Koordinaten}']);
-fprintf(fid,['\n\\label{' file ':coo}']);
+fprintf(fid,['\n\\label{' file ':coo}']);
 % fprintf(fid,'\n\\end{figure}');
 fprintf(fid,'\n');
 fclose(fid);