]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[doc] Kapitel 4 Fertig?
authorPeter Schaefer <peter.schaefer@tuwien.ac.at>
Wed, 10 Oct 2012 07:43:14 +0000 (09:43 +0200)
committerPeter Schaefer <peter.schaefer@tuwien.ac.at>
Wed, 10 Oct 2012 07:43:14 +0000 (09:43 +0200)
[doc] listings weiter angepasst
[doc] titlePage hinzugefügt

.gitignore
doc/TULogo_CMYK.eps [new file with mode: 0644]
doc/doc.pdf
doc/doc.tex
doc/lstings.sty
doc/titelseite.tex [new file with mode: 0644]
src/mex_build_V.cpp
src/slpRectangle.cpp
src/slpRectangle.hpp

index 01ee258e8f3fa5894be6f2d61183389fe0db6dcc..ec39c642acbde4fd328b5db9c869a77d659e491c 100644 (file)
@@ -2,6 +2,7 @@
 
 *.*~[0-9]
 *.*~
+*.backup
 
 /doc/*.log
 /doc/*.aux
@@ -11,6 +12,8 @@
 /doc/*.bbl
 /doc/*.bak
 /doc/*.blg
+/doc/*.ps
+/doc/*.dvi
 
 
 /src/meshSave/*
diff --git a/doc/TULogo_CMYK.eps b/doc/TULogo_CMYK.eps
new file mode 100644 (file)
index 0000000..0d133b5
Binary files /dev/null and b/doc/TULogo_CMYK.eps differ
index 484fbe8e586eee5b9b3265e3f0f002b94dd2bf65..1e824545cc1d1515fdfa47bc53327c9f900b0bdc 100644 (file)
Binary files a/doc/doc.pdf and b/doc/doc.pdf differ
index 8df83edb0ea73482de0b34110429a192a27634a2..afea3e8e8fc7a66010fbb90b97eae247f7ba8d36 100644 (file)
@@ -28,7 +28,7 @@
   morekeywords=[3]{quad,gauss_nodes,gauss_size,HILBERT3D_LAPLACE_SLPRECTANGLE_HPP_GUARD_,GAUSS_NODES,DEBUG,PARALLEL,
                    MINSIZE_PER_WORKER,MAX_WORKER},     %Globals
   morekeywords=[4]{add,sub,set,dimOfThird,getSCorner,distT,dimOfVec,
-                   sign,max,min,switch_site,switch_dim ,dist,dist2,dist_s2,dist_s,
+                   sign,max,min,switch_site,switch_dim,dist,dist2,dist_s2,dist_s,setQuad,
                    f_A,g_QY,g_AY,G_QY1Y2,G_AY2X2,G_AY1Y2,Gs_AX2Y1Y2,
                    F_par,F_ort,apply0Int4,apply0Int2,
                    calcParIntA,calcParIntQX1X2,calcParIntQY1X1,calcParIntQY1,calcParIntQ,calcOrtIntA,calcOrtIntQX1X2,calcOrtIntQ,
@@ -76,8 +76,6 @@
 \newcommand{\norm}[1]{\lVert#1\rVert}
 \newcommand{\abs}[1]{\lvert#1\rvert}
 
-
-
 \newcommand{\showMesh}[2][]{\begin{figure}[ht]
 \caption{#1}
 \label{#2}
 \psfrag{T3}{\scriptsize $T_3$}
 \psfrag{T4}{\scriptsize $T_4$}
 
-\author{Peter Schaefer}
-\title{Stabile Berechnung der Galerkin-Matrix für das Einfachschichtpotential auf anisotrop verfeinerten Gittern}
-
 \begin{document}
+% \todo{
+\input{titelseite}
+% }
 \tableofcontents
 \clearpage
 
@@ -245,7 +243,7 @@ wobei $\varDelta u := \partial_x^2u+\partial_y^2u$ den Laplace-Operator bezeichn
 \todo{
 \begin{itemize}
  \item kuerzer als in Ferraz-DA \cite{fer:errbem}
- \item insbesondere fastregulaere Triangulierung + K-Gitter (vgl. Ferraz-DA) 
+ \item insbesondere fastregulaere Triangulierung + K-Gitter (vgl. Ferraz-DA)
 \end{itemize}
 }
 \subsection{Netze}
@@ -331,7 +329,7 @@ analytisch/semidiskret/volldiskret
 }
 
 \noindent
-Ziel diese Abschnitts ist die approximative Berechnung des Integrals
+Ziel dieses 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}
@@ -376,7 +374,7 @@ Nur wenn die Zulässigkeitsbedingung gültig ist wird die Quadratur verwendet. S
 $\enorm{a}-\norm{b}$
 
 
-\section{Analytische Berechnung von Integral im Fall des
+\section{Analytische Berechnung vom Integral im Fall des
 Einfachschichtpotentials}
 \todo{
 \begin{itemize}
@@ -387,24 +385,27 @@ Einfachschichtpotentials}
 }
 \noindent
 In diesem Abschnitt wollen wir uns mit der analytischen Berechnung der Galerkin-Matrix
-\begin{eqnarray}\label{math:V}
+\begin{eqnarray*}\label{math:V}
 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}
+\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
+Dazu wollen wir angelehnt an \cite{mai:3dbem} zwei Integrale anschauen, welche durch das Aufspalten des Integrals $A_{jk}$ auftreten.
+\\\noindent
+\begin{lem}
+Für das Integral
 \begin{eqnarray*}
  g(p;y;x;\lambda) &:=& \int \{(x-y)^2 + \lambda^2 \}^p dy
 \end{eqnarray*}
-Da $g(p;y;x;\lambda)$ nur für bestimmte Parameter $p$ und $\lambda$ benötigt wird, werden hier nur die entscheidenden Fälle betrachtet.
+mit $\lambda = 0$ gilt die Formel mit beliebigen Skalaren $x,y,p \in \R$ 
+\begin{eqnarray*}
+ (2p+1)g(p;y;x;0) = \begin{cases} \sgn(y-x) \log \abs{y-x}^{2p} & p=-1/2 \\(y-x) \abs{y-x}^{2p} & sonst \end{cases}                                                                                        
+\end{eqnarray*}
+falls für $p\leq-/2$ $x$ außerhalb des betrachteten Integrationsbereichs liegt.
 Für beliebige $x,p,y, \lambda \in \R$ mit $\lambda \neq 0$ gilt die Rekursionsformel:
 \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 den Parameter $p \in \{1/2 , 0 , -1/2 , -1, -3/2\}$ gilt explizit:
+Im weiteren werden wir noch die Formeln für $p \in \{1/2 , 0 , -1/2 , -1, -3/2\}$
 \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\\
@@ -412,77 +413,85 @@ Für den Parameter $p \in \{1/2 , 0 , -1/2 , -1, -3/2\}$ gilt explizit:
  g(-1;y;x;\lambda) &=& \frac{\text{arctan} \frac{y-x}{|\lambda|}}{ \todo{\lambda}}\\
  g(-3/2;y;x;\lambda) &=& \frac{y-x}{\lambda^2}\{(y-x)^2+\lambda^2\}^{-1/2}
 \end{eqnarray*}
+benötigen, welche alle in \cite[Seite 2-3]{mai:3dbem} bewiesen wurden.
+\end{lem}
+\todo{Maischak Fehler in $g(-1;y;x;\lambda)$}
 
-\subsection{doppel Integral}
+\begin{lem}
+Des Weiteren werden wir das Integral
 \begin{align*}
  G(p;y_1;y_2;x_1;x_2;\lambda) &:= \int \int \{(x_1-y_1)^2 + (x_2-y_2)^2 + \lambda^2\}^p dy_2 dy_1
 \end{align*}
-Im Zuge der Berechnungen werden auch hier nur die Funktionen für bestimmte Parameter benötigt, die Untersuchung der restlichen werden wir hier nicht durchführen.
-\\\noindent
-Betrachten wir zunächst den Fall $p = -3/2$ und unterscheiden wir auch zwischen $\lambda = 0 \wedge \lambda \neq 0$, denn alle weiteren für uns relevanten Fälle lassen sich auf diese Beiden zurück führen:
+betrachten, welches sich für den den Fall $p = -3/2$ und $\lambda = 0 \wedge \lambda \neq 0$ schreiben lässt als:
 \begin{align*}
  G(-3/2;y_1,y_2;x_1,x_2,0)  =& - \frac{\sqrt{(y_1-x_1)^2+(y_2-x_2)^2}}{(y_1-x_1)(y_2-x_2)}\\
  G(-3/2;y_1,y_2;x_1,x_2,\lambda)  = &- \frac{\sgn\{(y_1-x_1)(y_2-x_2)\}}{2|\lambda|}\\
- &\cdot \arccos\left( \frac{-2(y_1-x_1)^2(y_2-x_2)^2}{\{(y_1-x_1)^2+\lambda^2\}\{(y_2-x_2)^2+\lambda^2\}} +1 \right)
+ &\cdot \arccos\left( \frac{-2(y_1-x_1)^2(y_2-x_2)^2}{\{(y_1-x_1)^2+\lambda^2\}\{(y_2-x_2)^2+\lambda^2\}} +1 \right).
 \end{align*}
-Für alle weiteren relevante Fälle $p = -3/2 +k : k \in \N\backslash0$ lässt sich folgende Rekursionsformel aufstellen:
+Für alle weiteren relevante Fälle $p = -3/2 +k : k \in \N\backslash0$ können wir folgende Rekursionsformel aufstellen:
 \begin{align*}
  (2p+2)G(p;y_1,y_2;x_1,x_2,\lambda) =& 2p\lambda^2 G(p-1;y_1,y_2;x_1,x_2,\lambda)\\
  &+ (y_1-x_1)g(p;y_2;x_2;\sqrt{(y_1-x_1)^2+\lambda^2})\\
- &+ (y_2-x_2)g(p;y_1;x_1;\sqrt{(y_2-x_2)^2+\lambda^2})
-\end{align*}
+ &+ (y_2-x_2)g(p;y_1;x_1;\sqrt{(y_2-x_2)^2+\lambda^2}),
+\end{align*} welche ebenfalls in \cite[Seite 5-7]{mai:3dbem} bewiesen wurden.
+\end{lem}
 
 \subsection{Integral über zwei Elemente}
-Bei der Berechnung von \ref{math:V} haben wir geometrisch zwischen zwei Fällen zu unterschei den. Entweder die beiden Elemente liegen in parallelen Ebenen oder in orthogonalen Ebenen.
+Bei der Berechnung von \eqref{math:V} werden wir geometrisch zwischen zwei Fällen zu unterscheiden. Entweder die beiden Elemente liegen in parallelen Ebenen oder in orthogonalen Ebenen.
 
 \subsubsection{Parallele Elemente}
-Liegen die beiden Elemente parallel zueinander können wir sie darstellen als: 
+Liegen die beiden Elemente parallel zueinander, können wir sie wie in \cite[Seite 13]{mai:3dbem} gezeigt, darstellen als:
 \begin{eqnarray*}
- T_j &=& \v + [(0,l_1) \times (0,l_2) \times \{0\}]\\
- T_k &=& \tilde \v + [(0,\tilde l_1) \times (0,\tilde l_2) \times \{0\}], \text{ mit } \v,\tilde \v \in \R^3
+ T_j &=& \v + [(0,s_1) \times (0,s_2) \times \{0\}]\\
+ T_k &=& \tilde \v + [(0,\tilde s_1) \times (0,\tilde s_2) \times \{0\}], \text{ mit } \v,\tilde \v \in \R^3.
 \end{eqnarray*}
-Wir setzen $\bs{\delta} = \tilde \v - \v \in \R^3$.
-Daher gilt:
+Wir setzen $\bs{\delta} = \tilde \v - \v \in \R^3$, dann können wir
+\begin{eqnarray*}
+ \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}\\
+\end{eqnarray*} umformen zu:
 \begin{eqnarray*}
-&&\frac{1}{4\pi} \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}\\
-&=&\frac{1}{4\pi} \int_{T_j} \int_{T_k}
-  \left ( (x_1-y_1)^2+(x_2-y_2)^2+(x_3-y_3)^2 \right)^{-1/2} ds_y ds_x\\
-&=&\frac{1}{4\pi} \int_{T_j} \int_{T_k}
+&=& \int_{T_j} \int_{T_k}
+  \left ( (x_1-y_1)^2+(x_2-y_2)^2+(x_3-y_3)^2 \right)^{-1/2} ds_{\bs y} ds_{\bs x}\\
+&=& \int_{T_j} \int_{T_k}
   \left ( ((x_1 + v_1)-(y_1 +\tilde v_1))^2+((x_2 + v_2)-(y_2 +\tilde v_2))^2+( v_3- \tilde v_3)^2 \right)^{-1/2}
   ds_{\bs y} ds_{\bs x}\\
-&=&\frac{1}{4\pi} \int_0^{l_1}\int_0^{l_2}\int_0^{\tilde l_1}\int_0^{\tilde l_2}
+&=& \int_0^{s_1}\int_0^{s_2}\int_0^{\tilde s_1}\int_0^{\tilde s_2}
   \left ( (x_1-y_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+\delta_3^2 \right)^{-1/2}
-  dy_2 dy_1 dx_2 dx_1
+  dy_2 dy_1 dx_2 dx_1.
 \end{eqnarray*}
-die Stammfunktion $F_{par}$, welche das Integral über zwei parallele Elemente löst.
+Dies können wir als Stammfunktion
 \begin{eqnarray*}
-F_{par}(x_1,x_2,y_1,y_2,\delta_1,\delta_2,\delta_3) &:=& \int \int \int \int \left\{(x_1-y_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+\delta_3^2\right\}^{-1/2}dy_2 dy_1 dx_2 dx_1
+F_{par}(x_1,x_2,y_1,y_2,\bs \delta) &:=& \int \int \int \int \left\{(x_1-y_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+\delta_3^2\right\}^{-1/2}dy_2 dy_1 dx_2 dx_1
 \end{eqnarray*}
+schreiben, welche das Integral über zwei parallele Elemente löst.
+
 
 \subsubsection{Orthogonale Elemente}
-Liegen die beiden Elemente orthogonal zueinander können wir sie darstellen als: 
+Analog können wir orthogonal liegende Elemente wie in \cite[Seite 14]{mai:3dbem} gezeigt, schreiben als: 
 \begin{eqnarray*}
- T_j &=& \v + [(0,l_1) \times (0,l_2) \times \{0\}]\\
- T_k &=& \tilde \v + [ \{0\} \times (0,\tilde l_2) \times (0,\tilde l_3)], \text{ mit } \v,\tilde \v \in \R^3
-\end{eqnarray*}
-Wir setzen $\bs{\delta} = \tilde \v - \v \in \R^3$.
-Daher gilt:
+ T_j &=& \v + [(0,s_1) \times (0,s_2) \times \{0\}]\\
+ T_k &=& \tilde \v + [ \{0\} \times (0,\tilde s_2) \times (0,\tilde s_3)], \text{ mit } \v,\tilde \v \in \R^3
+\end{eqnarray*} und setzen wir $\bs{\delta} = \tilde \v - \v \in \R^3$.
+Dann können wir
+\begin{eqnarray*}
+ \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}\\
+\end{eqnarray*} umformen zu:
 \begin{eqnarray*}
-&&\frac{1}{4\pi} \int_{T_j} \int_{T_k} \frac{1}{|\bs x- \bs y|} ds_{\bs y} ds_{\bs x}\\
-&=&\frac{1}{4\pi} \int_{T_j} \int_{T_k}
+&=& \int_{T_j} \int_{T_k}
   \left ( (x_1-y_1)^2+(x_2-y_2)^2+(x_3-y_3)^2 \right)^{-1/2} ds_{\bs y} ds_{\bs x}\\
-&=&\frac{1}{4\pi} \int_{T_j} \int_{T_k}
+&=& \int_{T_j} \int_{T_k}
   \left ( ((x_1 + v_1)-\tilde v_1)^2+((x_2 + v_2)-(y_2 +\tilde v_2))^2+( v_3- (y_3 +\tilde v_3))^2 \right)^{-1/2}
   ds_{\bs y} ds_{\bs x}\\
-&=&\frac{1}{4\pi} \int_0^{l_1}\int_0^{l_2}\int_0^{\tilde l_2}\int_0^{\tilde l_3}
+&=& \int_0^{s_1}\int_0^{s_2}\int_0^{\tilde s_2}\int_0^{\tilde s_3}
   \left ( (x_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+(y_3-\delta_3)^2 \right)^{-1/2}
   dy_3 dy_2 dx_2 dx_1
 \end{eqnarray*}
-Entscheidend ist also die Stammfunktion $F_{ort}$
+Dies können wir ebenfalls als Stammfunktion
 \begin{eqnarray*}
-F_{ort}(x_1,x_2,y_1,y_2,\delta_1,\delta_2,\delta_3) &:=& \int \int \int \int \left\{(x_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+(-y_3-\delta_3)^2\right\}^{-1/2}
+F_{ort}(x_1,x_2,y_1,y_2,\bs \delta) &:=& \int \int \int \int \left\{(x_1-\delta_1)^2+(x_2-y_2-\delta_2)^2+(-y_3-\delta_3)^2\right\}^{-1/2}
 dy_3 dy_2 dx_2 dx_1
 \end{eqnarray*}
+für orthogonal liegende Elemente schreiben.
 
 % \subsection{Bestimmtes Integral}
 % \begin{eqnarray*}
@@ -575,8 +584,6 @@ dy_3 dy_2 dx_2 dx_1
 % \end{eqnarray*}
 
 
-
-
 \section{fasträguläre Partionierung in \Matlab}
 \todo{
 \begin{itemize}
@@ -888,8 +895,8 @@ Die wichtigsten Funktionen
  \item plot
 \end{enumerate}
 }
-\lstinputlisting[language=oC++]{../src/slpRectangle.cpp}
-\lstinputlisting[language=oM]{../src/compute.m}
+\lstinputlisting[language=oC++]{../src/slpRectangle.cpp}
+\lstinputlisting[language=oM]{../src/compute.m}
 
 \bibliographystyle{gerabbrv}
 \bibliography{doc}
index 7cc68206a4a5fe09e9ba605d27864fd90b8632e7..fadea7015c77c503e2c2a780476cf6a7039be3fe 100755 (executable)
@@ -51,4 +51,5 @@
   stringstyle=\color{lst_blue},
 %   escapeinside={\%*}{*)},
 extendedchars=true
-}
\ No newline at end of file
+}
+
diff --git a/doc/titelseite.tex b/doc/titelseite.tex
new file mode 100644 (file)
index 0000000..49722b4
--- /dev/null
@@ -0,0 +1,40 @@
+\thispagestyle{plain}
+\begin{titlepage}
+
+\begin{center}
+\begin{figure}
+       \vspace{2cm}
+       \begin{center}
+       \includegraphics[scale=0.3]{TULogo_CMYK.eps}
+       \end{center}
+       \vspace{2cm}
+\end{figure}
+\Huge{{\textsc{Bachelorarbeit}}}
+\vspace{1cm}
+
+% \Huge{\textbf{Stabile Berechnung der Galerkin-Matrix für das Einfachschichtpotential auf anisotrop verfeinerten Gittern}} \\
+\Huge{\textbf{Stabile Implementierung der Randelementmethode auf anisotrop verfeinerten Gittern in 3D}} \\
+\vspace{2cm}
+\large
+Ausgeführt am Institut für \\
+Analysis und Scientific Computing \\
+der Technischen Universität Wien \\
+\vspace{1.5cm}
+unter der Anleitung von \\
+Ao.Univ.Prof. Dipl.Math. Dr.techn. Dirk Praetorius \\
+Dipl.-Ing. Michael Karkulik\\
+\vspace{1cm}
+durch \\
+Peter Matthias Schaefer \\
+Schopenhauerstr. 48/2 \\
+1180 Wien
+
+\end{center}
+
+\end{titlepage}
+
+\clearpage
+\thispagestyle{empty}
+\phantom{}
+\vfill
+\newpage
index 0b78aa573f604613f39792337ddc1e38274ce134..a8e2537fdde65e6615676fda1fcc450683dcfeb5 100644 (file)
@@ -22,7 +22,7 @@
  * Peter Schaefer\r
  */\r
 \r
-#define DEBUG 0\r
+#define DEBUG 1\r
 #define PARALLEL\r
 \r
 //#include <iostream>\r
@@ -149,7 +149,7 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
        int em = mxGetM(prhs[1]);\r
        int en = mxGetN(prhs[1]);\r
        if (en != 4)\r
-               mexErrMsgTxt("expected elements (Mx4)");\r
+               mexErrMsgTxt("expected elements (Mx4)\n");\r
 //     cout << "  Elemente:" << em << endl;\r
 \r
 //Auslesen der Parameter\r
@@ -160,7 +160,20 @@ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
        double * E = mxGetPr(prhs[1]);\r
 \r
        int type = (int) *(mxGetPr(prhs[3]));\r
-       double * zeta = mxGetPr(prhs[2]);\r
+       double * zeta ={};\r
+\r
+#if DEBUG >= 4\r
+       mexPrintf("ZetaM:%d\nZetaN:%d\n",mxGetM(prhs[2]),mxGetN(prhs[2]));\r
+#endif\r
+       if(mxGetN(prhs[2])>1)\r
+               zeta = mxGetPr(prhs[2])+1;\r
+\r
+       int quad = (int) *mxGetPr(prhs[2]);\r
+       quad = setQuad(quad);\r
+#if DEBUG >= 3\r
+       mexPrintf("Berechnungstyp:%d\nQuadpunkte:%d\n",type,quad);\r
+#endif\r
+\r
 \r
 // Welche Funktion soll verwendet werden\r
        double (*ctypeP)(double, double, double, double, double, double, double,\r
index ba053183c13ec5192105fc37827cbb2e3656137b..af6bd2099702e57051aa9c21109448b463572be5 100644 (file)
@@ -9,9 +9,15 @@
 #include "slpRectangle.hpp"\r
 #include "gauss.hpp"\r
 \r
-#define quad 2 // Anzahl der Quadratur Auswertungstellen 2^quad\r
+//#define quad 2       // Anzahl der Quadratur Auswertungstellen 2^quad\r
+int quad=2;\r
 //using namespace std;\r
 \r
+int setQuad(int q){\r
+       quad = q;\r
+       return gauss_size[quad];\r
+}\r
+\r
 int sign(double);\r
 //double arsinh(double);\r
 \r
index 1bfd66b9261331884f421482ec133c5d70cc0671..95e937618b96f31dc08f5488a5d6607b57a63c72 100644 (file)
@@ -50,5 +50,7 @@ double cParO3(double, double, double, double, double, double, double, double*);
 // A oder Q oder Qx1x2
 double cParO4(double, double, double, double, double, double, double, double*);
 
+int setQuad(int);
+
 //}
 #endif