added option to improve existing layer
[engrid.git] / manual / engrid_manual.tex
blob7e532b992c6c3cec5beba4687575887b2b5aec7a
1 \documentclass[10pt,a4paper,british]{book}
2 \usepackage[T1]{fontenc}
3 \usepackage[utf8]{inputenc}
4 \usepackage{array}
5 \usepackage{color}
6 \usepackage{graphicx}
8 \makeatletter
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
11 %% Because html converters don't know tabularnewline
12 \providecommand{\tabularnewline}{\\}
14 \usepackage{amsmath}
15 \usepackage{amsfonts}
16 \usepackage{graphicx}
17 \usepackage{amssymb}
18 \usepackage{calc,layouts}
19 \usepackage{titlesec}
20 \usepackage{fancyhdr}
21 \usepackage{xspace}
22 \usepackage{color}
23 \usepackage{ifthen}
24 \usepackage{boxedminipage}
25 \usepackage{lastpage}
26 \usepackage{setspace}
27 \usepackage{float}
28 \usepackage{afterpage}
29 \usepackage[german,british]{babel}
31 \setlength\textheight{240mm}
32 \setlength\textwidth{150mm}
33 \setlength\evensidemargin{15mm}
34 \setlength\oddsidemargin{15mm}
35 \setlength\topmargin{-15mm}
36 \setlength\headheight{15mm}
37 \setlength\parindent{0mm}
38 \setlength\parskip{2mm}
40 \usepackage[T1]{fontenc}
41 \usepackage[scaled]{helvet}
42 \renewcommand*\familydefault{\sfdefault}
43 \linespread{1.3}\selectfont
45 \titleformat{\chapter}{\LARGE \bf}{\hspace{-20mm}\parbox[b]{20mm}{\thechapter}}{0mm}{}
46 \titleformat{\section}{\Large \bf}{\hspace{-20mm}\parbox[b]{20mm}{\thesection}}{0mm}{}
47 \titleformat{\subsection}{\large \bf}{\hspace{-20mm}\parbox[b]{20mm}{\thesubsection}}{0mm}{}
48 \titleformat{\subsubsection}{\bf}{\hspace{-20mm}\parbox[b]{20mm}{\thesubsubsection}}{0mm}{}
50 \newcommand\engitsversion{draft}
51 \newcommand\engitsauthor{Author}
52 \newcommand\engitstitle{Title}
53 \newcommand\engitsdate{\today}
54 \newcommand\engitscopyright{Copyright by enGits GmbH}
55 \newcommand\setengitsversion[1]{\renewcommand\engitsversion{#1}}
56 \newcommand\setengitstitle[1]{\renewcommand\engitstitle{#1}}
57 \newcommand\setengitsauthor[1]{\renewcommand\engitsauthor{#1}}
58 \newcommand\setengitsdate[1]{\renewcommand\engitsdate{#1}}
59 \newcommand\setengitscopyright[1]{\renewcommand\engitscopyright{#1}}
60 \newcommand\eg{ENGRID\ }
61 \newcommand\foam{OpenFOAM\textsuperscript{\textregistered}\ }
62 \newcommand\netgen{NETGEN\ }
63 \newcommand\egv{1.0}
64 \newcommand\sqt{\char`\"{}}
65 \newcommand\eqt{\char`\"{}\ }
66 \newcommand\arr{\guillemotright\ }
67 \newcommand\menu[1]{\textcolor{blue}{\it \hspace{5mm} #1}}
70 \newcommand\makeengitstitle[1]
72 \pagestyle{empty}
73 \setengitstitle{#1}
75 \hspace{0mm}
76 \begin{minipage}[t]{130mm}
78 \vspace{3mm}
79 \begin{center}
80 \includegraphics[width=75mm]{logos/titlelogo.png}
81 $~$\\
82 \vspace{10mm}
83 \large
84 \begin{tabular}{l}
85 \begin{tabular}{l}
86 \vspace{-1mm} enGits GmbH\\
87 \vspace{-1mm} Marie-Curie-Strae 8\\
88 \vspace{-1mm} 79539 Lrrach\\
89 \vspace{0mm} Germany\\
90 \end{tabular}\\
91 \begin{tabular}{lcl}
92 \vspace{-1mm} phone & : & +49 (0)7621 5500 530 \\
93 \vspace{-1mm} fax & : & +49 (0)7621 5500 539 \\
94 \vspace{-1mm} email & : & info@engits.com \\
95 \end{tabular}\\
96 \end{tabular}
97 \vspace{3mm}$~$\\
98 \end{center}
100 \end{minipage}
102 \begin{minipage}[c][100mm][c]{130mm}
103 \begin{center}
105 \begin{spacing}{1.5}
106 \bf
107 \huge
108 \engitstitle
109 \end{spacing}
111 \end{center}
112 \end{minipage}
114 \begin{minipage}{130mm}
115 \begin{center}
116 \begin{tabular}{|p{3cm}|p{81mm}|}
117 \hline
118 title & \engitstitle \\
119 \hline
120 date & \engitsdate \\
121 \hline
122 author & \engitsauthor \\
123 \hline
124 document-version & \engitsversion \\
125 \hline
126 \end{tabular}
127 \end{center}
128 \end{minipage}
129 \clearpage
130 \begin{minipage}{130mm}
131 \begin{flushleft}
132 {\engitscopyright}
133 \end{flushleft}
134 \end{minipage}
135 \clearpage
136 \pagestyle{fancy}
138 \pagenumbering{roman}
139 \tableofcontents
140 \cleardoublepage
141 \pagenumbering{arabic}
144 \newenvironment{engitsstandard}{}{\setlength\parskip{2mm}}
145 \newenvironment{engitstoc}{\setlength\parskip{0mm}}{\setlength\parskip{2mm}}
147 \pagestyle{fancy}
148 \fancyhf{}
149 \fancyhfoffset{0mm}
150 \fancyhfoffset[LO,LE]{20mm}
151 \fancyhead[LE,RO]{
152 \includegraphics[width=50mm]{logos/titlelogo.png}
154 \fancyhead[LO]{\rightmark}
155 \fancyhead[RE]{\leftmark}
156 \fancyfoot[LE,RO]{\thepage}
158 \definecolor{darkred}{rgb}{0.5,0,0}
159 \newcommand\important[1]
161 $~$\\
162 \begin{minipage}{15mm}
163 \includegraphics[width=1cm]{figures/important}
164 \end{minipage}
165 \begin{minipage}{110mm}
166 \begin{flushleft}
167 {\textcolor{darkred}{#1}}
168 \end{flushleft}
169 \end{minipage}
171 \vspace{3mm}
174 \makeatother
176 \usepackage{babel}
178 \usepackage{rcs}
179 \RCS $Revision: 1.4 $
181 % floating stuff ///
183 \setcounter{topnumber}{1}
184 \setcounter{bottomnumber}{1}
185 \renewcommand{\topfraction}{0.8}
186 \renewcommand{\bottomfraction}{0.8}
187 \renewcommand{\textfraction}{0.5}
188 \newcommand{\flush}{\afterpage{\clearpage}}
192 \begin{document}
195 \selectlanguage{british}
196 \setengitsauthor{O. Gloth}
197 \setengitsversion{CVS-\RCSRevision}
200 \setengitscopyright{Copyright \copyright 2008 enGits GmbH.\\
201 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version~1.2 or any later version published by the Free Software Foundation; with
202 no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \char`\"{}GNU~Free~Documentation~License\char`\"{}.}
205 \makeengitstitle{enGrid manual}
207 \chapter{Introduction}
209 \eg is an open-source mesh generation software with CFD applications in mind. \eg uses the NETGEN \cite{netgen:2008} library for tetrahedral grid generation and an in-house development for prismatic boundary layer grids. Internally, \eg uses the VTK \cite{vtk:2008} data structures as well as the {*}.vtu file format. To create grids for
210 Currently \eg cannot generate surface grids. In order to create a volume grid it is required to import an existing surface mesh. Gmsh \cite{gmsh:2008} is an excellent open-source tool to create surface triangulations for \eg. Gmsh is able to import STEP and IGES files and it can also be used for simple geometry modelling.
212 The \egv release of \eg provides native export to OpenFOAM\textsuperscript{\textregistered}\footnote{\foam is a registered trade mark of OpenCFD\textregistered Limited}\cite{openfoam:2008}. For future releases, export capabilities for complete \foam cases (including boundary conditions) and support for polyhedral cells are planned as well.
214 \eg is released under the GPL and we hope that it is a useful addition to the open-source CFD community. So far the implemented algorithm proved to be quite robust and it does not require much user interaction. Figure \ref{fig:Introduction1}shows a boundary layer grid that has been created around the geometry of what could be a toy plane.
216 \important
218 This manual is very much a work in progress and does
219 not claim to be finished, comprehensive, complete, or anything else.
220 We hope that, even in this early stage, it offers a little help while
221 using \eg!
225 \begin{figure}
226 \begin{centering}
227 \includegraphics[width=7cm]{figures/DeltaWing_02}
228 \hspace{2mm}
229 \includegraphics[width=7cm]{figures/DeltaWing_01}\\
230 \end{centering}
231 \caption{Prismatic boundary layer created by \eg}
232 \label{fig:Introduction1}
233 \end{figure}
235 \section{Current Release (\egv)}
237 \begin{itemize}
238 \item volume grids from existing surface triangulations (no surface meshing
239 support yet, but planned for future releases)
240 \item prismatic boundary layer support
241 \item GUI based on Qt4
242 \item direct export to OpenFOAM
243 \item experimental support for polyhedral grids in OpenFOAM
244 \end{itemize}
246 \section{Supported Platforms}
248 \begin{itemize}
249 \item \eg is developed on a LINUX system (OpenSUSE 10.3), using Qt-4.4.1,
250 VTK 5.2, and an SVN snapshot of NETGEN.
251 \item A Windows executable for Windows-XP (32bit) is also available.
252 \end{itemize}
254 \section{Supported File Formats}
256 \begin{itemize}
257 \item VTK unstructured grids in XML format (\eg's native format)
258 \item VTK poly data in XML format (import)
259 \item legacy VTK files (import)
260 \item OpenFOAM (export)
261 \item Gmsh (import \& export)
262 \item STL (import \& export)
263 \item NETGEN neutral format (export)
264 \end{itemize}
267 \chapter{Using \eg}
270 \section{Compilation and Installation}
273 \subsection{\eg on a UNIX system}
275 \subsubsection{Requirements}
276 \eg requires Qt-4.X and VTK-5.X. We use Qt-4.4.1 and VTK-5.2 but \eg should also compile with earlier versions. Please report any problems to the mailing list. We would, however, also appreciate if you report success with other versions than the ones mentioned before.
278 \important{Please make sure that VTK is compiled with GUI support for Qt-4.}
280 \subsubsection{Compilation}
281 \eg uses Qt's qmake tool to provide a platform independent compilation
282 mechanism. The source distribution has the following structure:
283 \begin{itemize}
284 \item enGrid\_\egv
285 \begin{itemize}
286 \item math
287 \item netgen\_svn
288 \item resources
289 \end{itemize}
290 \end{itemize}
291 First of all, you'll need to set up the following environment variables:
292 \begin{itemize}
293 \item VTKLIBDIR : Directory containing the VTK libraries
294 \item VTKINCDIR : Directory containing the VTK header files
295 \end{itemize}
297 On Debian or Ubuntu:
298 \begin{verbatim}
299 export VTKLIBDIR=/usr/lib/
300 export VTKINCDIR=/usr/include/vtk-5.0/
301 \end{verbatim}
303 On OpenSUSE:
304 \begin{verbatim}
305 export VTKLIBDIR=/usr/lib64
306 export VTKINCDIR=/usr/include/vtk
307 \end{verbatim}
309 Then to compile \eg you need to first compile the NETGEN library. We have created a Qt project file and a shell script to simplify this. In the main source directory simply type \"{}./build-nglib.sh\"{}. This downloads the latest source code from NETGEN's SVN repository and compiles the necessary library. If this fails, please follow the instructions in the next paragraph.
310 Otherwise compile \eg with the following steps:
311 \begin{enumerate}
312 \item change into the main source directory
313 \item type qmake
314 \item type make
315 \end{enumerate}
317 \subsubsection{Compiling NETGEN release}
318 This paragraph is only of interest if the \"{}./build-nglib.sh\"{} command failed.
319 Download the latest stable release of NETGEN and place it in the \sqt netgen\_svn\eqt folder. The following steps should get you a working NETGEN library:
320 \begin{enumerate}
321 \item create a folder \sqt netgen\_svn/netgen-mesher\eqt
322 \item unpack the netgen-X.Y.Z.tar.gz file
323 \item move the folder \sqt netgen-X.Y.Z\eqt to \sqt netgen\_svn/netgen-mesher/netgen\eqt
324 \item change directory to \sqt netgen\_svn\eqt
325 \item type qmake
326 \item type make
327 \end{enumerate}
328 After a successful compilation of the NETGEN library you can procede with the compilation of \eg as described in the previous paragraph.
330 \subsubsection{Installation}
331 There is no installation script yet. You can simply run \eg from the source directory by typing \sqt ./engrid\eqt or you copy the binary to a place where it will be found by the system (e.g. /usr/local/bin).
333 \subsection{Installing the Windows Binary}
335 This should, hopefully, be straightforward:
336 \begin{enumerate}
337 \item Download and save the installer
338 \item Run the installer
339 \item Start \eg
340 \end{enumerate}
341 Of course it is quite possible, if not even likely, that there are issues on certain systems. Please report any problems to the mailing list.
343 \clearpage
345 \section{Tutorials}
347 \subsection{Tutorial 1: Creating a First Mesh}
349 \begin{figure}
350 \begin{centering}
351 \includegraphics{figures/Throttle}
352 \par\end{centering}
353 \caption{Throttle geometry}
354 \label{fig:throttle1}
355 \end{figure}
357 \subsubsection{Description}
359 This tutorial will demonstrate how to read a surface mesh and create a volume mesh for a CFD simulation. Figure \ref{fig:throttle1}shows the geometry which will be used for this tutorial; it represents an adjustable throttle. The file containing the surface mesh for this tutorial is called \sqt Throttle.msh\eqt and it can be downloaded from the \eg download page.
361 \subsubsection{Importing the Surface Mesh}
362 To start, please import the file choosing
364 \menu{Import \arr Gmsh \arr v2.0 (ASCII)}
366 from the menu bar. A file-dialogue will show and you can browse for the file and open it. Figure \ref{fig:T1_scr01} shows a screen-shot of \eg after importing the file. You can use the mouse to rotate, move, and zoom the view. This mouse interaction is the default mouse interaction provided by VTK.
368 \eg colours the faces of the surface grid in order to determine which side of the surface is inside a flow domain and which is outside. The outside is coloured in a pale green, but figure \ref{fig:T1_scr01} shows pale yellow; this means the surface is wrongly oriented and it needs to be corrected. To do this, please choose
370 \menu{Mesh \arr change surface orientation}
372 from the menu-bar. Afterwards the surface will be oriented correctly.
375 \begin{figure}
376 \begin{centering}
377 \includegraphics[width=14cm]{figures/tutorials/T1/scr01}
378 \par
379 \end{centering}
380 \caption{After importing the surface mesh}
381 \label{fig:T1_scr01}
382 \end{figure}
384 \subsubsection{Defining Boundary Conditions}
385 Unfortunately all faces belong to the same boundary condition and thus it is not possible to see inside the domain. To change this you can pick a surface on the side of the cylindrical geometry and then change its boundary condition to a different value. To pick a face, please point the mouse over a triangle and press the {}``P'' key on your keyboard. Afterwards you should see something similar to figure \ref{fig:T1_scr02}. To change the boundary code, please select
387 \menu{Mesh \arr set boundary code}.
389 A small dialogue will pop up and it offers to select a feature angle and a new boundary code. The new boundary code should be set to \sqt 2\eqt and the feature angle can remain at 45 degrees. With this setting you should set the whole side of the cylinder to a new boundary code and the faces should disappear, because they have not been selected for viewing yet. Now, do the same with the top (boundary condition 3) and the bottom (boundary condition 4) of the cylinder. To get rid of the red box, please point the mouse into an empty space and press {}``P'' again. Now would be a good time to save your work. Select
391 \menu{File \arr Save Grid As}
393 to save the file.
395 \begin{figure}
396 \begin{centering}
397 \includegraphics[width=14cm]{figures/tutorials/T1/scr02}
398 \par
399 \end{centering}
400 \caption{After picking a face}
401 \label{fig:T1_scr02}
402 \end{figure}
404 \begin{figure}
405 \begin{centering}
406 \includegraphics[width=14cm]{figures/tutorials/T1/scr03}
407 \par
408 \end{centering}
409 \caption{Physical walls for prismatic boundary layer}
410 \label{fig:T1_scr03}
411 \end{figure}
413 \clearpage
414 \subsubsection{Create Volume Mesh}
415 Creating a first volume mesh, including the boundary layer, is fairly easy now. First choose
417 \menu{View \arr boundary codes}
419 and select the boundary conditions 1 and 2, because these represent the physical walls of the geometry. You should now have something similar to figure \ref{fig:T1_scr03}. To create the grid, simply select
421 \menu{Mesh \arr create prismatic boundary layer},
423 select the boundary conditions 1 and 2 and click {}``OK''. You can watch the progress in the output window on the left side of the screen. This output window can be detached, moved somewhere else, or hidden completely. \eg indicates that it is busy in the status line at the bottom of the window. After \eg has finished you can select {}``tetras'' and {}``wedges'' from
424 the available options on the right side of \eg's main window. In order to see inside you should also enable the clipping options. The origin of the clipping plane can be set to (0,0,0) and the normal vector to (0,0,-1). If you now select to view only boundary condition 1 and choose
426 \menu{View \arr redraw}
428 your screen should look similar to figure \ref{fig:T1_scr04}. To get a nice tetrahedral part of the grid it is advisable to execute
430 \menu{Mesh \arr create improve volume mesh (NETGEN)}
432 once or twice. The mesh size distribution is not ideal for the first run of NETGEN. \eg uses an existing volume grid to compute a mesh size distribution and uses this as input for the next call of NETGEN. Normally you get a rather coarse tetrahedral grid together with the prismatic layer. The next call will produce a grid that might be somewhat too fine. Starting from the second call of
434 \menu{Mesh \arr create improve volume mesh (NETGEN)}
436 the grid should look rather nice (see figure \ref{fig:T1_scr04}).
438 \begin{figure}
439 \begin{centering}
440 \includegraphics[width=14cm]{figures/tutorials/T1/scr04}
441 \par
442 \end{centering}
443 \caption{First volume grid}
444 \label{fig:T1_scr04}
445 \end{figure}
447 \clearpage
448 \subsubsection{Refining the Boundary-Layer}
449 At the moment the boundary layer consists of a single layer of prisms. Refining the boundary layer is a straightforward process.
451 \important
453 Save the grid with the refined boundary layer to
454 a different file name, or don't save it at all (just export). At the
455 moment the refinement cannot be reversed and thus the grid spacing
456 cannot be changed. To do this, load the file with the initial one-layer
457 boundary layer and refine again.
460 To refine the boundary layer, choose
462 \menu{Mesh \arr divide prismatic boundary layer}.
463 \begin{figure}
464 \begin{centering}
465 \includegraphics[width=84mm]{figures/tutorials/T1/scr05}
466 \par
467 \end{centering}
468 \caption{Parameters for boundary layer}
469 \label{fig:T1_scr05}
470 \end{figure}
472 A small pop-up dialogue appears, where you can enter how many layers and how to space them. Relative spacing means, that the initial step size (on the wall) is a fraction of the average local edge length around a node. Absolute spacing uses a fixed distance for all first layer prisms; this will lead to a first layer of prisms which is parallel to the wall. Not all step sizes are possible and \eg will issue a warning if it cannot refine your boundary layer. For this tutorial the settings in figure \ref{fig:T1_scr05} should result in a decent boundary layer mesh.
474 \clearpage
475 \subsubsection{Applying a few Simple Modifications}
476 \eg offers the possibility to modify the grid by extruding certain boundaries. First we will add a pipe bend by applying a rotational extrusion to the upper boundary (code 3). Afterwards we will add straight sections for the in-flow and out-flow boundaries with the help of a normal extrusion. Please select
478 \menu{Mesh \arr extrusion}
480 and enter the parameters exactly as shown in figure \ref{fig:T1_scr06}. After clicking OK you should get a grid like the one shown in figure \ref{fig:T1_scr07}. The extrusion adds a new boundary code (5) which needs to be enabled with
482 \menu{View \arr boundary codes}
484 in order to view the newly created geometry. The layer height in figure \ref{fig:T1_scr06} corresponds to an angle in degrees for a rotational extrusion. To extend the pipe at the inlet a normal extrusion with the parameters from figure \ref{fig:T1_scr08} shall be used. If you do the same for boundary code 4 the grid should look like in figure \ref{fig:T1_scr09}. To simplify the later setup of a simulation it is advisable to reset the newly created boundary codes (5,6,8) to the initially set value of 2 for the pipe.
486 \begin{figure}
487 \begin{centering}
488 \includegraphics[width=132mm]{figures/tutorials/T1/scr06}
489 \par
490 \end{centering}
491 \caption{Parameters for rotational extrusion}
492 \label{fig:T1_scr06}
493 \end{figure}
494 \begin{figure}
495 \begin{centering}
496 \includegraphics[width=14cm]{figures/tutorials/T1/scr07}
497 \par
498 \end{centering}
499 \caption{Grid after rotational extrusion}
500 \label{fig:T1_scr07}
501 \end{figure}
502 \begin{figure}
503 \begin{centering}
504 \includegraphics[width=132mm]{figures/tutorials/T1/scr08}
505 \par
506 \end{centering}
507 \caption{Parameters for normal extrusion}
508 \label{fig:T1_scr08}
509 \end{figure}
510 \begin{figure}
511 \begin{centering}
512 \includegraphics[width=14cm]{figures/tutorials/T1/scr09}
513 \par
514 \end{centering}
515 \caption{Grid after normal extrusion}
516 \label{fig:T1_scr09}
517 \end{figure}
518 \clearpage
520 \subsubsection{Export the Grid to \foam}
521 Please select
523 \menu{Tools \arr edit boundary conditions}
525 and edit the boundary names and types according to figure \ref{fig:T1_scr10}. You can export the mesh using:
527 \menu{Export \arr OpenFOAM \arr OpenFOAM}.
529 This will prompt you for an \foam case directory and the mesh will be directly imported to the \foam format, using the boundary names and types you have defined earlier.
531 \important
533 OpenFOAM's checkMesh utility might report a bad mesh
534 in case of very thin prisms. A good strategy is to export the mesh
535 before the boundary layer is refined, run the checkMesh utility, and
536 then - if everything looks alright - refine the boundary layer.
538 \begin{figure}
539 \begin{centering}
540 \includegraphics[width=74mm]{figures/tutorials/T1/scr10}
541 \par
542 \end{centering}
543 \caption{Editing the boundary conditions}
544 \label{fig:T1_scr10}
545 \end{figure}
547 \chapter{Background}
549 \section{Settings}
551 \subsection{Feature angle}
552 The feature angle is used to determine when an edge is a "feature edge", i.e. on the border of a "flat" surface.
553 A feature edge occurs when the angle between the two surface normals of a polygon sharing an edge is greater than the FeatureAngle.
555 Those feature edges delimit the area which will be set to the given boundary code.
557 \begin{figure}
558 \begin{centering}
559 \includegraphics[width=14cm]{figures/featureangle4}
560 \par
561 \end{centering}
562 \caption{The feature angle}
563 \label{fig:featureangle4}
564 \end{figure}
566 Consider figure \ref{fig:featureangle4}: If you picked cell 1 and chose a feature angle greater than "a", cell 1 and cell 2 will be set to the same boundary code. Otherwise not.
568 \section{Technical Details}
570 \subsection{Mesh data structures}
572 \subsubsection{Cells}
574 \subsubsection{Local cells}
575 Depends on:
576 \begin{itemize}
577 \item cells
578 \end{itemize}
580 \subsubsection{Nodes}
581 Depends on:
582 \begin{itemize}
583 \item cells
584 \end{itemize}
586 \subsubsection{Local nodes}
587 Depends on:
588 \begin{itemize}
589 \item cells
590 \item nodes
591 \end{itemize}
593 \subsubsection{N2N (node to node)}
594 Depends on:
595 \begin{itemize}
596 \item cells
597 \item nodes
598 \item local nodes
599 \end{itemize}
601 \subsubsection{N2C (node to cell)}
602 Depends on:
603 \begin{itemize}
604 \item cells
605 \item nodes
606 \item local nodes
607 \end{itemize}
609 \subsubsection{C2C (cell to cell)}
610 Depends on:
611 \begin{itemize}
612 \item cells
613 \end{itemize}
617 \subsection{Initial Boundary Layer Generation}
619 \subsection{Mesh-Smoothing}
621 \subsection{Using NETGEN for Tetra-Meshing}
624 \section{Element Numbering}
626 \begin{figure}
627 \begin{centering}
628 \begin{tabular}{>{\centering}m{4cm}>{\raggedright}m{5cm}}
629 \vspace{10mm}\includegraphics[width=3cm]{figures/Tetra}
631 \begin{tabular}{cc|cc}
632 \multicolumn{2}{c|}
634 faces
637 \multicolumn{2}{c}
639 edges
641 \tabularnewline
642 \hline
643 0 & 2,1,0 & 0 & 0,1 \\
644 1 & 1,3,0 & 1 & 0,2 \\
645 2 & 3,2,0 & 2 & 0,3 \\
646 3 & 2,3,1 & 3 & 1,2 \\
647 & & 4 & 1,3 \\
648 & & 5 & 2,3 \\
649 \end{tabular}
650 \end{tabular}
651 \par
652 \end{centering}
653 \caption{Tetrahedron}
654 \label{fig:tetra}
655 \end{figure}
657 \begin{figure}
658 \begin{centering}
659 \begin{tabular}{>{\centering}m{4cm}>{\raggedright}m{5cm}}
660 \vspace{10mm}\includegraphics[width=3cm]{figures/Wedge}
662 \begin{tabular}{cc|cc}
663 \multicolumn{2}{c|}
665 faces
668 \multicolumn{2}{c}
670 edges
672 \tabularnewline
673 \hline
674 0 & 0,1,2 & 0 & 0,1 \\
675 1 & 3,5,4 & 1 & 0,2 \\
676 2 & 3,4,1,0 & 2 & 0,3 \\
677 3 & 1,4,5,2 & 3 & 1,2 \\
678 4 & 0,2,5,3 & 4 & 1,4 \\
679 & & 5 & 2,5 \\
680 & & 6 & 3,4 \\
681 & & 7 & 3,5 \\
682 & & 8 & 4,5 \\
683 \end{tabular}
684 \end{tabular}
685 \par
686 \end{centering}
687 \caption{Wedge/Prism}
688 \label{fig:tetra}
689 \end{figure}
691 \begin{figure}
692 \begin{centering}
693 \begin{tabular}{>{\centering}m{4cm}>{\raggedright}m{5cm}}
694 \vspace{10mm}\includegraphics[width=3cm]{figures/Hexa}
696 \begin{tabular}{cc|cc}
697 \multicolumn{2}{c|}
699 faces
702 \multicolumn{2}{c}
704 edges
706 \tabularnewline
707 \hline
708 0 & 0,3,2,1 & 0 & 0,1 \\
709 1 & 4,5,6,7 & 1 & 0,3 \\
710 2 & 0,1,5,4 & 2 & 0,4 \\
711 3 & 3,7,6,2 & 3 & 1,2 \\
712 4 & 0,4,7,3 & 4 & 1,5 \\
713 5 & 1,2,6,5 & 5 & 2,3 \\
714 & & 6 & 2,6 \\
715 & & 7 & 3,7 \\
716 & & 8 & 4,5 \\
717 & & 9 & 4,7 \\
718 & & 10 & 5,6 \\
719 & & 11 & 6,7 \\
720 \end{tabular}
721 \end{tabular}
722 \par
723 \end{centering}
724 \caption{Hexahedron}
725 \label{fig:tetra}
726 \end{figure}
728 \section{Planned Developments}
731 \appendix
733 \chapter{GNU Free Documentation License}
735 \include{gpl}
737 \addcontentsline{toc}{section}{References}
739 \begin{flushleft}
740 \bibliographystyle{plain}
741 \bibliography{engits}
742 \par\end{flushleft}
744 \end{document}