]> git.leopard-lacewing.eu Git - bacc.git/commitdiff
[doc] Kapitel 5 fertig?
authorPeter Schaefer <schaeferpm@gmail.com>
Sun, 14 Apr 2013 20:22:45 +0000 (22:22 +0200)
committerPeter Schaefer <schaeferpm@gmail.com>
Sun, 14 Apr 2013 20:22:45 +0000 (22:22 +0200)
[doc] Beschreibung 2DQuad fertig
[doc] Beschreibung 3DFichCube angefangen

doc/code.pdf
doc/doc.pdf
doc/doc.tex
src/export_exmpl.m

index 367a57b8057d6df14c4d388f29e434cc442e1065..22656ac939599eb00f4076dece5fb694b0e59341 100644 (file)
Binary files a/doc/code.pdf and b/doc/code.pdf differ
index 7b601f762067424e98d86911259ff90ea7badf83..5e2051695e8427cb3b092b9e007c7179d03c28e0 100644 (file)
Binary files a/doc/doc.pdf and b/doc/doc.pdf differ
index c0805b4e3ff28f5fe64cc770d6a8b5afa9e48f0d..243ea75e0bd97034f7bc88e1e956c2178832e356 100644 (file)
@@ -1536,7 +1536,7 @@ Durch ziehen der Wurzel auf beiden Seiten, folgt dann die Behauptung.
 
 \clearpage
 
-\section{Analytische Berechnung}
+\section{Analytische Berechnung} \label{sec:analyt}
 \todo{ \scriptsize
 \begin{itemize}
 \item Zusammenfassung des Maischak-Papers \cite{mai:3dbem}
@@ -1855,9 +1855,10 @@ Relevant zum Verfeinern eines Netzes sind also die Koordinaten $COO$, Elemente $
 \noindent
 Da wir später den Fehlerschätzer berechnen wollen, ist es wichtig sich zu jedem Element seine Teilelemente zu merken. Dazu legen wir während der Teilung eine $M \times 4$ Matrix an, in der die maximal vier Elementindizes gespeichert werden. Wenn wir also ein Element in vier gleich große Teile verfeinern, so wird das neue Element links unten das erste sein und alle weiteren folgen gegen den Uhrzeigersinn. Teilen wir ein Element in zwei gleich große Elemente, so werden die doppelt belegten Quadranten auch doppelt eingetragen. Ein gar nicht geteiltes Element wird also vier mal den alten Indizes speichern. Dadurch wird sichergestellt, dass das arithmetische Mittel über die Elemente immer gültig auszuführen ist.
 (Siehe Abbildung \ref{exmpl13})
-\begin{align*}
-  [COO_{fine}, ELE_{fine}, NEI_{fine}, F2S ] = refineQuad(COO, ELE, NEI, marked);
-\end{align*}
+\begin{lstlisting}[language=M, numbers=none]
+[COO_fine, ELE_fine, NEI_fine, F2S] = refineQuad(COO, ELE, NEI, marked);
+\end{lstlisting}
+
 % $[\T_{\ell}, F2S ] = refineQuad(\T_{\ell}, marked);$\\
 
 
@@ -1869,7 +1870,7 @@ Da wir später den Fehlerschätzer berechnen wollen, ist es wichtig sich zu jede
 \label{exmpl1:f2s:part}
 \end{figure}
 
-\subsection{Berechnung der Matrix}
+\subsection[Berechnung der A Matrix]{Berechnung der $A$ Matrix}
 An dieser Stelle wenden wir uns noch ein mal der Berechnung der Matrix $A \in \R^{N\times N}$ zu, deren Einträge bestimmt sind durch das Integral
 \begin{align} \label{math:imple:Ajk}
   A_{jk} = \int_{T_j} \int_{T_k} \frac 1 {4\pi} \frac 1 {\abs{\bs x - \bs y}} ds_{\bs y} ds_{\bs x}.
@@ -1890,7 +1891,7 @@ Dabei steht \lstinline!nlhs! für die erwartete Anzahl der Rückgabe-Parameter,
 % aufgerufen werden kann.
 
 \noindent
-Die Implementierung des Integrals \eqref{math:imple:Ajk} wurde in \lstinline!mex_build_V! \todo{(ref)} mithilfe der beiden Bibliotheken \lstinline!slpRectangle! \todo{(ref, ref)} und \lstinline!gauss! \todo{(ref)} umgesetzt.
+Die Implementierung des Integrals \eqref{math:imple:Ajk} wurde in \lstinline!mex_build_V! {(Anhang \ref{code:mex_build_V})} mithilfe der beiden Bibliotheken \lstinline!slpRectangle! {(Anhang \ref{code:slpRectangle.cpp}, \ref{code:slpRectangle.hpp})} und \lstinline!gauss! {(Anhang \ref{code:gauss})} umgesetzt.
 
 \noindent
 Innerhalb von \Matlab~kann der Code dann kompiliert werden
@@ -1939,7 +1940,7 @@ Wie schon erwähnt dient die \lstinline!mex_build_V.cpp! als Einstiegspunkt für
 Da die Berechnungen der einzelnen Matrixeinträge unabhängig von einander sind, haben wir an dieser Stelle die \lstinline!for!-Schleifen zur Nutzung von paralleler Berechnung auf mehreren Kernen optimiert. Dafür nutzen wir die freie Bibliothek \lstinline!omp.h!.
 
 \noindent
-Die Implementierung der Berechnung eines Matrixeintrags befindet sich in der \lstinline!slpRectangle.cpp!. 
+Die Implementierung der Berechnung eines Eintrags $A_{jk}$ befindet sich in der \lstinline!slpRectangle.cpp!. Auch hier haben wir zwischen parallel und orthogonal liegenden Elementen unterschieden. Weiterhin haben wir versucht die Funktionen möglichst direkt von der Analysis aus Kapitel \ref{sec:analyt} in \Cpp~zu implementieren und auf mögliche Optimierungen zur Fehlervermeidung zu verzichten.
 
 \clearpage
 
@@ -2093,7 +2094,7 @@ implementiert die Definitionen zum Bestimmen der Markierung.
 
 \subsection{Adaptivität}
 Mithilfe der oben Definierten Funktionen ist es uns nun möglich den Ablauf der Berechnungen zusammen zu fassen.
-\begin{alg}[Adaptives Verfahren]\label{alg:adapt} Sei $\theta,\nu \in (0,1)$ fest gewählt und das Netz $\T_{\ell}$ gegeben.
+\begin{alg}[Adaptives Verfahren]\label{alg:adapt} Sei $\theta,\nu \in (0,1)$ fest gewählt und das Startnetz $\T_{\ell}$ gegeben.
 \begin{enumerate}
 \renewcommand{\theenumi}{(\roman{enumi})}
 \item Verfeinere $T_{\ell}$ um $\hat T_{\ell}$ zu erhalten \label{alg:adapt:begin}
@@ -2116,14 +2117,15 @@ Im Folgenden werden wir die Laplace-Gleichung
 u &=  g \quad \text{ auf }\Gamma,
 \end{aligned}
 \end{align}
-mit dem Startnetz aus Abbildung \ref{fig:mesh:2DQuad}, einem Quadrat in der $z=0$ Ebene genauer betrachten. Die vier Eckpunkte des Quadrats sind hierbei gegeben durch
+mit dem Startnetz aus Abbildung \ref{fig:mesh:2DQuad:start}, einem Quadrat in der $z=0$ Ebene genauer betrachten. Die vier Eckpunkte des Quadrats sind hierbei gegeben durch
 \begin{align*}
   \{ (0,0,0), (1,0,0), (1,1,0), (0,1,0) \}.
 \end{align*}
-\todo{Des Weiteren werden wir als exakte Lösung $\enorm{\phi}^2 = 4.609193$ annehmen.}
+Die Lösung $\phi$ kann nicht exakt bestimmt werden, weist aber an den vier Eckpunkten Singularitäten gegen $\infty$ auf. Wir werden aber trotzdem die Energienorm als Referenzlösung mithilfe des {\it Aitken'schen} $\varDelta^2$-Verfahren bestimmen. Das Verfahren dient zum Beschleunigen der Konvergenz von Folgen. Damit erhalten wir für die exakte Lösung $\phi$ die Energienorm $\enorm{\phi}^2 = 4.609193$.
 \begin{figure}[ht]
   \centering
-  \includegraphics[width=0.5\textwidth]{fig/exmpl_2DQuad_ref}
+  \subfloat[Startnetz \label{fig:mesh:2DQuad:start}]{\includegraphics[width=0.5\textwidth]{fig/exmpl_2DQuad_ref}}
+  \subfloat[Netz nach 12 Schritten mit 252 Elementen \label{fig:mesh:2DQuad:steps}]{\includegraphics[width=0.5\textwidth]{fig/exmpl_2DQuad_12}}
   \caption{Quadrat in der $z=0$ Ebene}
   \label{fig:mesh:2DQuad}
 \end{figure}
@@ -2181,7 +2183,7 @@ Anhand der Linien in \figLineB[], beobachten wir eine schnellere Konvergenz der
 Betrachten wir nun die Strategie "`anisotrop"' in \figLineC[], so beobachten wir eine kurzzeitig sehr starke Konvergenz, welche dann von unten gegen eine sehr gute Konvergenzrate von $\O(N^{-3/4})$ strebt. Hierbei erkennen wir, dass der Fehler der Energienorm schon im Bereich von 0.01 für die gleiche Elementanzahl liegt. Jedoch sehen wir auch, dass der Fehlerschätzer $\tilde \mu$ ab dieser Elementanzahl seine Konvergenzrate verliert und damit unzuverlässig wird.
 
 \noindent
-Weiterhin lässt sich für jede Strategie anhand der Parallelität der Fehlerschätzer zum tatsächlichen Fehler, die Effektivität und Zuverlässigkeit der Fehlerschätzer erkennen. Sowie auch die Äquivalents des $h-h/2$ Schätzers zum lokalen $\tilde \mu$ Schätzers aufgrund der Parallelität zu beobachten ist. Außerdem beschreiben die Fehlerschätzer den tatsächlichen Fehler auch in der Größenordnung sehr gut.
+Weiterhin können wir für alle drei Strategien anhand der Parallelität der Fehlerschätzer zum tatsächlichen Fehler, die Effektivität und Zuverlässigkeit der Fehlerschätzer erkennen. Sowie auch die Äquivalents des $h-h/2$ Schätzers zum lokalen $\tilde \mu$ Schätzers aufgrund der Parallelität zu beobachten ist. Außerdem beschreiben die Fehlerschätzer den tatsächlichen Fehler auch in der Größenordnung sehr gut.
 
 \noindent
 In Abbildung \ref{fig:2DQuad:verfeinern:hminmax} betrachten wir bestimmte Eigenschaften zwischen den Seitenverhältnissen der Elemente aus dem $\T_{\ell}$ Netz für die jeweilige Strategie. $h_{\min}$ steht hierbei für die kürzere Seite eines Rechtecks $T \in \T_{\ell}$ und $h_{\max}$ für die längere der beiden Seiten. Wir werden nun das Verhältnis der kleinsten kurzen Seite gegenüber der größten langen Seite $\min(h_{\min}) / \max (h_{\max})$, das Verhältnis der kleinsten langen gegenüber der größten langen Seite $\min(h_{\max}) / \max (h_{\max})$, sowie das kleinste Verhältnis der kurzen gegenüber der langen Seiten $\min(h_{\min} /h_{\max})$ für die drei Strategien genauer betrachten.
@@ -2202,16 +2204,13 @@ Um auch die Stabilität der drei Strategien untersuchen zu können, sehen wir in
 Weiterhin können wir in Abbildung \ref{fig:2DQuad:verfeinern:time} die benötigte Zeit pro Berechnungsschritt ablesen. Hierbei fällt auf, dass die Wahl der Strategie keinen Einfluss auf die benötigte Zeit hat, sondern nur die Anzahl der Elemente. Für die Berechnung mit 3000 Elementen benötigen alle drei Strategien etwa $10^4s \approx 2h45m$.
 
 \noindent
-Diese Ergebnisse Zeigen also, dass die "`anisotrope"' Strategie die beste Konvergenzrate aufweist, wir dafür jedoch eine schlechtere Konditionsrate in kauf nehmen müssen. Welches letztendlich auf die größen und formen der Elemente zurückzuführen ist.
+Diese Ergebnisse Zeigen also, dass die "`anisotrope"' Strategie die beste Konvergenzrate aufweist, wir dafür jedoch eine schlechtere Konditionsrate in kauf nehmen müssen. Welches letztendlich auf die größen und formen der Elemente zurückzuführen ist. An dieser Stelle wollen wir noch zusätzlich Abbildung \ref{fig:mesh:2DQuad:steps} betrachten, welche das "`anisotrop"' verfeinerte Netz nach 12 Schritten darstellt. Denn hier erkennen wir sehr gut, dass diese Strategie das Netz insbesondere an den Singularitäten verfeinert.
 
 \noindent
 Ziel wird es nun sein die Instabilitäten, die bei der analytischen Berechnung auftreten durch Quadratur zu vermeiden. Dafür werden wir vorher noch Berechnungen mit verschiedenen Quadraturgraden genauer untersuchen.
 
 \subsubsection{Vergleich verschiedener Quadraturgrade}
-Bei der folgenden Berechnung werden wir alle Integrale von $\zeta_Q$-zulässigen Elemente durch die vorgestellte Gauss-Quadratur approximieren. Hierbei werden wir jeweils 1,2,4 oder 8 Auswertungsstellen verwenden. 
-
-\noindent
-Siehe Abbildung \ref{fig:2DQuad:quad}
+Bei der folgenden Berechnung werden wir alle Integrale von $\zeta_Q$-zulässigen Elemente durch die vorgestellte Gauss-Quadratur approximieren. Hierbei werden wir jeweils 1, 2, 4 oder 8 Auswertungsstellen verwenden. Alle vier Berechnungsarten werden auf dem selben Netz ausgeführt um die Ergebnisse nicht durch die Wahl des Netzes zu beeinflusse. Zum Berechnen des $\tilde \mu_{\ell}$-Schätzers, welcher die Verfeinerung steuert, werden wir in jedem Schritt die Lösung der Quadratur mit 8 Auswertungsstellen verwenden.
 
 \begin{figure}[ht]
 
@@ -2226,6 +2225,15 @@ Siehe Abbildung \ref{fig:2DQuad:quad}
 \label{fig:2DQuad:quad}
 \end{figure}
 
+\noindent
+In Abbildung \ref{fig:2DQuad:quad:err} haben wir die Ergebnisse der Fehler und Fehlerschätzer für die verschiedenen Quadraturgrade dargestellt. Wir beobachten, dass eine sowie zwei Auswertungsstellen, dargestellt durch die Linien in \figLineA[] und \figLineB[] instabil werden. Für die Quadraturgrade vier und acht dargestellt durch die Linien in \figLineC[] und \figLineD[], erkennen wir, dass die Berechnungen stabil bleiben und das auch für Elementanzahlen bei denen die analytische Berechnung (vergleiche Abbildung \ref{fig:2DQuad:verfeinern}) versagt.
+
+\noindent
+Da wir möglichst rechen ökonomisch arbeiten wollen, haben wir auch die Berechnungszeiten in Abbildung \ref{fig:2DQuad:quad:time} untersucht. Wie sich leicht erkennen lässt sind die Berechnungszeiten für die verschiedenen Quadraturgrade etwa äquivalent. Lediglich die Quadratur mit 8 Auswertungsstellen benötigt für kleine Elementanzahlen etwas länger, wobei sie für große Anzahlen jedoch fast gleich ist. Daraus lässt sich ablesen, dass die Wahl des Quadraturgrades für große Netze kaum einen Einfluss auf die Berechnungszeit nimmt.
+
+\noindent
+Aufgrund dieser Ergebnisse werden wir für die Folgenden Berechnungen einen Quadraturgrad von 4 wählen. Denn wir wollen zum einen die Berechnungszeiten auch für kleine Netze gering halten und zum anderen die Stabilität der Berechnungen sicher stellen.
+
 \subsubsection{Vergleich verschiedener Berechnungsarten}
 Siehe Abbildung \ref{fig:2DQuad:sem}.
 \begin{figure}[ht]
@@ -2237,7 +2245,7 @@ Siehe Abbildung \ref{fig:2DQuad:sem}.
 \\
 \subfloat[Kondition der $V_{\ell}$ Matrix \label{fig:2DQuad:sem:cond}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_2DQuad_cond}}
 \subfloat[Berechnungszeit für das Quadrat \label{fig:2DQuad:sem:time}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_2DQuad_time}}
-\caption{Vergleich der Berechnungsarten von $\hat V_{\ell}$}
+\caption{Vergleich der Berechnungsarten von $\hat V_{\ell}$ auf dem Quadrat}
 \label{fig:2DQuad:sem}
 \end{figure}
 
@@ -2249,16 +2257,18 @@ Im Folgenden werden wir die Laplace-Gleichung
 u &=  g \quad \text{ auf }\Gamma,
 \end{aligned}
 \end{align}
-mit dem Startnetz aus Abbildung \ref{fig:mesh:3DFichCube}, einem Fischer Würfel genauer betrachten. 
+mit dem Startnetz aus Abbildung \ref{fig:mesh:3DFichCube:start}, einem Fischer Würfel genauer betrachten. 
 Der Fischer Würfel ist gegeben durch einen $[-1, 1]^3$ Würfel aus dem ein $[-1, 0]\times[0,1]^2$ Würfel heraus geschnitten wurde.
 % Die vier Eckpunkte des Quadrats sind hierbei gegeben durch
 % \begin{align*}
 %   \{ (0,0,0), (1,0,0), (1,1,0), (0,1,0) \}.
 % \end{align*}
-\todo{Des Weiteren werden wir als exakte Lösung $\enorm{\phi}^2 = 16.2265$ annehmen.}
+Die Lösung $\phi$ strebt in diesem Fall an allen außen liegenden Eckpunkten gegen $+\infty$ und an dem Innen liegenden Eckpunkt $(0, 0, 0)$ gegen $-\infty$.
+Auch hier wurde die Energienorm $\enorm{\phi}^2 = 16.2265$ der exakten Lösung $\phi$ mithilfe des {\it Aitken'schen} $\varDelta^2$-Verfahrens bestimmt. 
 \begin{figure}[ht]
   \centering
-  \includegraphics[width=0.5\textwidth]{fig/exmpl_3DFichCube_ref}
+  \subfloat[Startnetz \label{fig:mesh:3DFichCube:start}]{\includegraphics[width=0.5\textwidth]{fig/exmpl_3DFichCube_ref}}
+  \subfloat[Netz nach 6 Schritten mit 381 Elementen \label{fig:mesh:3DFichCube:start}]{\includegraphics[width=0.5\textwidth]{fig/exmpl_3DFichCube_6}}
   \caption{Fischer Würfel}
   \label{fig:mesh:3DFichCube}
 \end{figure}
@@ -2270,12 +2280,13 @@ Siehe Abbildung \ref{fig:3DFichCube:sem}.
 
 
 \centering
-\subfloat[Fehler und Fehlerschätzer für das Quadrat \label{fig:3DFichCube:sem:err}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_error}}
-% \subfloat[Seitenverhältnisse auf dem Quadrat \label{fig:3DFichCube:quad:hminmax}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_hminmax}}
+\subfloat[Fehler und Fehlerschätzer für den Fischer Würfel \label{fig:3DFichCube:sem:err}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_error}}
+\\
+\subfloat[Seitenverhältnisse auf dem Fischer Würfel \label{fig:3DFichCube:quad:hminmax}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_hminmax}}
 % \\
 \subfloat[Kondition der $V_{\ell}$ Matrix \label{fig:3DFichCube:sem:cond}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_cond}}
-% \subfloat[Berechnungszeit für das Quadrat \label{fig:3DFichCube:sem:time}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_time}}
-\caption{Vergleich der Berechnungsarten von $\hat V_{\ell}$}
+% \subfloat[Berechnungszeit für das Fischer Würfel \label{fig:3DFichCube:sem:time}]{\includegraphics[width=0.5\textwidth]{fig/132t05n05_3DFichCube_time}}
+\caption{Vergleich der Berechnungsarten von $\hat V_{\ell}$ auf dem Fischer Würfel}
 \label{fig:3DFichCube:sem}
 \end{figure}
 
@@ -2330,7 +2341,7 @@ Siehe Abbildung \ref{fig:3DFichCube:sem}.
 \showMesh[Beispiel 1.3]{exmpl13}
 
 \begin{figure}[ht]
-\caption{Objekt Beispiele}
+\caption{Weitere Objekt Beispiele}
 \centering
 \label{fig:objects}
 \subfloat[2D L Shape\label{fig:mesh:2DLShape}]{\includegraphics[width=0.5\textwidth]{fig/exmpl_2DLShape_ref}}
@@ -2341,7 +2352,12 @@ Siehe Abbildung \ref{fig:3DFichCube:sem}.
 
 \clearpage
 
-\section{Anhang Code}
+% \setcounter{section}{0}
+\newcounter{test}
+\setcounter{test}{1}
+\renewcommand{\thesection}{\Alph{test}} %BAD HACK braucht ein /stepcounter{test} nach jeder Section
+
+\section{Anhang Code}\stepcounter{test}
 \todo{
 Die wichtigsten Funktionen
 \begin{enumerate}
@@ -2352,24 +2368,24 @@ Die wichtigsten Funktionen
 \item plot
 \end{enumerate}
 }
- \subsection{C++}
-%   \subsubsection{mex\_build\_V.cpp}
- \lstinputlisting[language=C++]{../src/mex_build_V.cpp}
-%   \subsubsection{slpRectangle.hpp}
- \lstinputlisting[language=C++]{../src/slpRectangle.hpp}
-%   \subsubsection{slpRectangle.cpp}
- \lstinputlisting[language=C++]{../src/slpRectangle.cpp}
-%   \subsubsection{gauss.hpp}
- \lstinputlisting[language=C++]{../src/gauss.hpp}
- \subsection{Matlab}
-%   \subsubsection{compute.m}
- \lstinputlisting[language=M]{../src/compute.m}
-%   \subsubsection{refineQuad.m}
- \lstinputlisting[language=M]{../src/refineQuad.m}
-%   \subsubsection{areaQuad.m}
- \lstinputlisting[language=M]{../src/areaQuad.m}
-%   \subsubsection{mark.m}
- \lstinputlisting[language=M]{../src/mark.m}
+ \subsection{C++}
+  \subsubsection{mex\_build\_V.cpp}\label{code:mex_build_V}
+ \lstinputlisting[language=C++]{../src/mex_build_V.cpp}
+  \subsubsection{slpRectangle.hpp}\label{code:slpRectangle.hpp}
+ \lstinputlisting[language=C++]{../src/slpRectangle.hpp}
+  \subsubsection{slpRectangle.cpp}\label{code:slpRectangle.cpp}
+ \lstinputlisting[language=C++]{../src/slpRectangle.cpp}
+  \subsubsection{gauss.hpp}\label{code:gauss}
+ \lstinputlisting[language=C++]{../src/gauss.hpp}
+ \subsection{Matlab}
+  \subsubsection{compute.m}\label{code:compute}
+ \lstinputlisting[language=M]{../src/compute.m}
+  \subsubsection{refineQuad.m}\label{code:refineQuad}
+ \lstinputlisting[language=M]{../src/refineQuad.m}
+  \subsubsection{areaQuad.m}\label{code:areaQuad}
+ \lstinputlisting[language=M]{../src/areaQuad.m}
+  \subsubsection{mark.m}\label{code:mark}
+ \lstinputlisting[language=M]{../src/mark.m}
  
 \clearpage
 \bibliographystyle{gerabbrv}
index ffb04962b6f31d4f31a8f84b8eb242d0e4e5d52b..1caf015df67ca3a93bb3cabc23574b5179981448 100644 (file)
@@ -104,12 +104,22 @@ export_mesh(coordinates,elements,neigh,[],'exmpl_2DLShape')
 load exmpl_2DQuad
 export_mesh(coordinates,elements,neigh,[],'exmpl_2DQuad')
 
+load meshSave/1t05n05_2DQuad_12
+plotShape(coordinates,elements,'b');
+view(2)
+print('-r600','-depsc','../doc/fig/exmpl_2DQuad_12')
+
 load exmpl_3DCube
 export_mesh(coordinates,elements,neigh,[],'exmpl_3DCube')
 
 load exmpl_3DFichCube
 export_mesh(coordinates,elements,neigh,[],'exmpl_3DFichCube')
 
+load meshSave/1t05n05_3DFichCube_6
+plotShape(coordinates,elements,'b');
+print('-r600','-depsc','../doc/fig/exmpl_3DFichCube_6')
+
+
 %% Example refType
 file = 'refType';
 input = 'exmpl_2DQuad2';