--- /dev/null
+@comment{x-kbibtex-personnameformatting=<%l><, %f>}
+
+@article{dor:adapt,
+ __markedentry = "[treecity:6]",
+ abstract = "We construct a converging adaptive algorithm for linear elements applied to Poisson's equation in two space dimensions. Starting from a macro triangulation, we describe how to construct an initial triangulation from a priori information. Then we use a posteriori error estimators to get a sequence of refined triangulations and approximate solutions. It is proved that the error, measured in the energy norm, decreases at a constant rate in each step until a prescribed error bound is reached. Extensions to higher-order elements in two space dimensions and numerical results are included.",
+ author = "Dörfler, Willy",
+ copyright = "Copyright © 1996 Society for Industrial and Applied Mathematics",
+ issn = "00361429",
+ journal = "SIAM Journal on Numerical Analysis",
+ jstor_articletype = "research-article",
+ jstor_formatteddate = "Jun., 1996",
+ number = "3",
+ owner = "treecity",
+ pages = "pp. 1106--1124",
+ publisher = "Society for Industrial and Applied Mathematics",
+ timestamp = "2012.10.04",
+ title = "{A Convergent Adaptive Algorithm for Poisson's Equation}",
+ url = "http://www.jstor.org/stable/2158497",
+ volume = "33",
+ year = "1996"
+}
+
+@article{fer:errbem,
+ author = "Ferraz-Leite, Samuel and Praetorius, Dirk",
+ journal = "Computing",
+ number = "4",
+ pages = "135--162",
+ title = "{Simple a posteriori error estimators fot the h-version of the boundary element method}",
+ volume = "83",
+ year = "2008"
+}
+
+@techreport{mai:3dbem,
+ author = "Maischak, Matthias",
+ institution = "Institut f{\"u}r Angewandte Mthematik, University of Hannover",
+ month = jul,
+ title = "{The analytical computation of the Galerkin elements for the Laplace, Lam{\'e} and Helmholtz equation in 3D-BEM}",
+ year = "2000"
+}
+
\documentclass[a4paper,11pt,fleqn]{article}
\usepackage{fullpage} %Seiten etwas Größer
+
+\usepackage[ngerman]{babel} %Sprachpacket für Überschriften
+\usepackage[utf8]{inputenc} %Eingabekodierung
+\usepackage{fixltx2e} %Deutschsprach Bugs
+
\usepackage{amsmath,amssymb} %Mathematische Symbole
%\usepackage{moreverb}
\usepackage{graphicx,psfrag,subfig} %Grafiken einbinden/Texte ersetzen/Bilder nebeneinander
\usepackage{hyperref} %Links im Inhaltsverzeichnis
\hypersetup{linkbordercolor={1 1 1},citebordercolor={1 1 1},urlbordercolor={1 1 1}}
-
-\usepackage[ngerman]{babel} %Sprachpacket für Überschriften
-\usepackage[utf8]{inputenc} %Eingabekodierung
-\usepackage{fixltx2e} %Deutschsprach Bugs
+\usepackage{bibgerm} %Zitate und Referenzen Style
+
+\usepackage{lstings} %Code Einbinden (Private)
+
+\lstdefinelanguage{oC++}[ANSI]{C++}{
+ morekeywords=[2]{pow,sqrt,fabs,log,asinh,atan,arsinh,cos,sin}, %lib Functions
+ morekeywords=[3]{quad,gauss_nodes,HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_}, %Globals
+ morekeywords=[4]{sign,max,min,switch_site,switch_dim ,dist,dist2,dist_s2,dist_s,
+ f_A,g_QY,g_AY,G_QY1Y2,G_AY2X2}, %own Functions
+}
+\lstdefinelanguage{oM}[]{Matlab}{
+ morekeywords=[2]{}, %lib Functions
+ morekeywords=[3]{G_D}, %Globals
+ morekeywords=[4]{compute}, %own Functions
+}
\definecolor{gray}{gray}{.8}
\definecolor{dred}{rgb}{.8,0,0}
\section{Randelementmethode}
\todo{
\begin{itemize}
- \item kuerzer als in Ferraz-DA
+ \item kuerzer als in Ferraz-DA \cite{fer:errbem}
\item insbesondere fastregulaere Triangulierung + K-Gitter (vgl. Ferraz-DA)
\end{itemize}
}
\end{itemize}
}
+\noindent
+Ziel diese Abschnitts ist die approximative Berechnung des Integrals
+\begin{eqnarray}\label{math:gal:kap}
+A_{jk} &=& \int_{T_j} \int_{T_k} \kappa(\bs x,\bs y) ds_{\bs y} ds_{\bs x}.
+\end{eqnarray}
+beziehungsweise als Spezialfall davon die Berechnung des Integrals
+\begin{eqnarray}\label{math:gal:frac}
+A_{jk} &=&\frac{1}{4\pi} \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}.
+\end{eqnarray}
+unter bestimmten Vorraussetzungen an die affinen Randstücke $T_j,T_k$ und den asymptotisch glatten Integranden $\kappa : \R^3 \times \R^3 \to \R$.
\subsection{Gauss-Quadratur}
\begin{displaymath}
Einfachschichtpotentials}
\todo{
\begin{itemize}
- \item Zusammenfassung des Maischak-Papers
+ \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}
}
-Es seien $T_j,T_k \subseteq\R^3$ zwei beschränkte, achsenorientierte Rechtecke in $\R^3$.
-Die Berechnung der Matrix für das Galerkin-Verfahren benötigt die Auswertung von
+\noindent
+In diesem Abschnitt wollen wir uns mit der analytischen Berechnung der Galerkin-Matrix
\begin{eqnarray}\label{math:V}
-\frac{1}{4\pi} \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x} \in \R^3.
+A_{jk} &=& \frac{1}{4\pi} \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x} \in \R^3.
\end{eqnarray}
+mit zwei beschränkte, achsenorientierte Rechtecke $T_j,T_k \subseteq\R^3$ beschäftigen.
+
+\noindent
Wir betrachten zunächst die Berechnung von zwei Integralen, die dabei auftreten werden.
\subsection{einfach Integral}
Wir bezeichnen
\begin{eqnarray*}
(2p+1)g(p;y;x;\lambda) = (y-x) \{(y-x)^2+\lambda^2\}^p + 2p\lambda g(p-1;y;x;\lambda)
\end{eqnarray*}
-Für $p \in \{1/2 , 0 , -1/2 , -1, -3/2\}$ gilt explizit:
+Für den Parameter $p \in \{1/2 , 0 , -1/2 , -1, -3/2\}$ gilt explizit:
\begin{eqnarray*}
g(1/2;y;x;\lambda) &=& \frac{y-x}{2}\{(y-x)^2+\lambda^2\}^{1/2} + \frac{\lambda^2}{2} \text{arsinh} \frac{y-x}{|\lambda|}\\
g(0;y;x;\lambda) &=& y-x\\
-\subsection{Markieren}
+\subsection{Markieren} \cite{dor:adapt}
Bestimme $M_{\ell} \subseteq T_{\ell}$ mit minimaler Kardinalität
\begin{eqnarray*}
\theta \sum_{T\in T_{\ell}} \mu_{\ell}(T)^2 & \leq & \sum_{T\in M_{\ell}} \mu_{\ell}(T)^2
\subsection{Fehlerschätzer}
In diesem Abschnitt definieren wir die a-posteriori Fehlerschätzer, die wir im Folgenden zur Steuerung des adaptiven Algorithmus einsetzen werden. Wir verwenden dazu die $h-h/2$ Strategie aus Ferraz-Leite (Provet. 108),wo die folgende Aussage bewiesen wird.
-\begin{defi}Es bezeichne $\phi$ die Lösung von Formel \ref{Formel}, $\phi_{\ell}$ die Galerkinlösung auf dem Gitter $\T_{\ell}$ und $\hat \phi_{\ell}$ die Galerkinlösung auf dem uniform verfeinerten Gitter $\hat \T_{\ell}$. Dann gilt, der Schätzer
+\begin{defi}Es bezeichne $\phi$ die Lösung von Formel , $\phi_{\ell}$ die Galerkinlösung auf dem Gitter $\T_{\ell}$ und $\hat \phi_{\ell}$ die Galerkinlösung auf dem uniform verfeinerten Gitter $\hat \T_{\ell}$. Dann gilt, der Schätzer
\begin{align}
\eta_{\ell} &:= \enorm{\hat \phi_{\ell} - \phi_{\ell}}
\end{align}
\item plot
\end{enumerate}
}
+\lstinputlisting[language=oC++]{../src/slpRectangle.cpp}
+\lstinputlisting[language=oM]{../src/compute.m}
-
+\bibliographystyle{gerabbrv}
+\bibliography{doc}
\end{document}
\ No newline at end of file
--- /dev/null
+%% Dieses Package ist eine Zusammenfassung von Packages und Konfigurationen
+%%
+%% TITLE = lstings
+%%
+%% + package listings & color
+%% + sets the tt Font (to use bf with it)
+%% + defines own colors (lst_*)
+%% + sets the lststyle and default coloring styles
+%%
+%% P. Schaefer
+
+
+
+\usepackage{listings}
+\usepackage{color}
+
+\renewcommand{\ttdefault}{pcr}
+
+\definecolor{lst_green}{rgb}{0,0.6,0}
+\definecolor{lst_lgreen}{rgb}{0.6,0.6,0}
+\definecolor{lst_gray}{rgb}{0.6,0.6,0.6}
+\definecolor{lst_mauve}{rgb}{0.6,0,0.6}
+\definecolor{lst_dmauve}{rgb}{0.3,0,0.3}
+\definecolor{lst_blue}{rgb}{0,0,0.6}
+\definecolor{lst_bleen}{rgb}{0,0.6,0.6}
+
+
+\lstset{ %
+ basicstyle=\small\ttfamily,
+ numbers=left,
+ numberstyle=\tiny\color{lst_gray},
+% stepnumber=2,
+% numbersep=5pt,
+% backgroundcolor=\color{white},
+ showspaces=false,
+ showstringspaces=false,
+% showtabs=false,
+% frame=single,
+% rulecolor=\color{black},
+ tabsize=2,
+% captionpos=b,
+% breaklines=true,
+% breakatwhitespace=false,
+% title=\lstname,
+% identifierstyle=\color{red}, %
+ keywordstyle=[1]\color{lst_mauve}\bfseries, %buildin commands
+ keywordstyle=[2]\bfseries\color{lst_dmauve}, %lib commands
+ keywordstyle=[3]\color{lst_bleen}, %globals
+ keywordstyle=[4]\bfseries, %Functions
+ commentstyle=\color{lst_green},
+ stringstyle=\color{lst_blue},
+% escapeinside={\%*}{*)},
+extendedchars=true
+}
\ No newline at end of file
function [data er fileo] = compute(file,times,zeta,type,theta,nu,vcon)
% [data er] = compute(file,times,zeta,type,theta,nu,vcon,out)
-% Führt times Verfeinerungsschritte aus
+% Fuehrt times Verfeinerungsschritte aus
%
% file - StartNetz
% times - wie oft Verfeinert werden soll
% theta - adaptiv?
% nu - isotrop?
% vcon - Vorkonditionierung der Matrix? 1 oder 0
-% out - (optional) Dateizusatz um Netz, Lösung & co zu speichern
+% out - (optional) Dateizusatz um Netz, Loesung & co zu speichern
%
% P. Schaefer
old_x_fine = x_fine;
end
-
-
%uniformIsotrop Verfeinern
[coo_fine,ele_fine,neigh_fine,f2s,sit_fine]=refineQuad(coordinates,elements,neigh,sites,2);
%Matrix aufbauen -> MEX
V_fine = mex_build_V(coo_fine,ele_fine,zeta,type(i));
- %Testet auf Fehlerhafte Einträge (NaN +/-Inf)
+ %Testet auf Fehlerhafte Eintraege (NaN +/-Inf)
[r c] = find(isnan(V_fine)~=isinf(V_fine));
if(~isempty(r))
figure(9)
end
if(~vcon)
- %Lösung Berechnen
+ %Loesung Berechnen
x_fine = V_fine\b_fine;
con = cond(V_fine);
else
- %Vorkonditionierte Lösung!
+ %Vorkonditionierte Loesung!
D = diag(diag(V_fine.^(-1/2)));
A = D * V_fine * D;
% \tilde \mu ( \Pi h -h + L_2 )
tmu = hmin.* b .* sum((x_fine(f2s)'-repmat(sum(x_fine(f2s)',1)/4,4,1)).^2)' /4;
- %Fehlerschätzer 2 aufbauen
+ %Fehlerschaetzer 2 aufbauen
V = mex_build_V(coordinates,elements,zeta,type(i));
if(~vcon)
% marked = ones(1,size(G_E,1));
% marked(find(sum((G_N(:,1:4)==0),2))) = 2;
- % Markieren mit gewählten Parametern
+ % Markieren mit gewaehlten Parametern
marked = mark(x_fine(f2s)',tmu,theta,nu);
% Netz bunt Plotten!
end
str = [num2str(round(time*1000)/1000) type];
-end
\ No newline at end of file
+end