Commit f5ebe944 authored by Phillip Lino Rall's avatar Phillip Lino Rall
Browse files

Initial commit

parent c185efbf
This diff is collapsed.
\setlength{\unitlength}{0.0004in}
%
\begingroup\makeatletter\ifx\SetFigFont\undefined%
\gdef\SetFigFont#1#2#3#4#5{%
\reset@font\fontsize{#1}{#2pt}%
\fontfamily{#3}\fontseries{#4}\fontshape{#5}%
\selectfont}%
\fi\endgroup%
{\renewcommand{\dashlinestretch}{30}
\begin{picture}(8574,3189)(0,-10)
\path(12,3162)(12,12)(3162,12)
(3162,3162)(12,3162)
\path(462,3162)(462,12)
\path(912,3162)(912,12)
\path(1362,3162)(1362,12)
\path(1812,3162)(1812,12)
\path(2262,3162)(2262,12)
\path(2712,3162)(2712,12)
\path(12,2712)(3162,2712)
\path(12,2262)(3162,2262)
\path(12,1812)(3162,1812)
\path(12,1362)(3162,1362)
\path(12,912)(3162,912)
\path(12,462)(3162,462)
\path(5412,3162)(5412,12)(8562,12)(5412,3162)
\path(5412,462)(8112,462)
\path(5412,912)(7662,912)
\path(5412,1362)(7212,1362)
\path(5412,1812)(6762,1812)
\path(5412,2262)(6312,2262)
\path(5412,2712)(5862,2712)(5862,12)
\path(6312,2262)(6312,12)
\path(6762,1812)(6762,12)
\path(7212,1362)(7212,12)
\path(7662,912)(7662,12)
\path(8112,462)(8112,12)
\path(5412,462)(5862,12)
\path(5412,912)(6312,12)
\path(5412,1362)(6762,12)
\path(5412,1812)(7212,12)
\path(5412,2262)(7662,12)
\path(5412,2712)(8112,12)
\path(12,1362)(3162,1362)
\path(12,237)(3162,237)
\path(12,687)(3162,687)
\path(12,1137)(3162,1137)
\path(12,1587)(3162,1587)
\path(12,2037)(3162,2037)
\path(12,2487)(3162,2487)
\path(12,2937)(3162,2937)
\end{picture}
}
#FIG 3.2
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2250 1800 2250 4950 5400 4950 5400 1800 2250 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2700 1800 2700 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
3150 1800 3150 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
3600 1800 3600 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4050 1800 4050 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4500 1800 4500 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4950 1800 4950 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 2250 5400 2250
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 2700 5400 2700
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 3150 5400 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 3600 5400 3600
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 4050 5400 4050
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 4500 5400 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 4
7650 1800 7650 4950 10800 4950 7650 1800
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 4500 10350 4500
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 4050 9900 4050
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 3600 9450 3600
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 3150 9000 3150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 2700 8550 2700
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 3
7650 2250 8100 2250 8100 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8550 2700 8550 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9000 3150 9000 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9450 3600 9450 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9900 4050 9900 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
10350 4500 10350 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 4500 8100 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 4050 8550 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 3600 9000 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 3150 9450 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 2700 9900 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7650 2250 10350 4950
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 3600 5400 3600
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 4725 5400 4725
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 4275 5400 4275
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 3825 5400 3825
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 3375 5400 3375
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 2925 5400 2925
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 2475 5400 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
2250 2025 5400 2025
%!PS-Adobe-2.0 EPSF-2.0
%%Title: grid_at_edge.fig
%%Creator: fig2dev Version 3.2 Patchlevel 4
%%CreationDate: Wed May 17 21:24:39 2006
%%For: christoph@fauia87 (Christoph Pflaum)
%%BoundingBox: 0 0 607 348
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
end
save
newpath 0 348 moveto 0 0 lineto 607 0 lineto 607 348 lineto closepath clip newpath
-155.1 440.1 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/DrawEllipse {
/endangle exch def
/startangle exch def
/yrad exch def
/xrad exch def
/y exch def
/x exch def
/savematrix mtrx currentmatrix def
x y tr xrad yrad sc 0 0 1 startangle endangle arc
closepath
savematrix setmatrix
} def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06299 0.06299 sc
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Ellipse
7.500 slw
n 4050 4725 318 318 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 6525 4050 318 318 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 5400 6300 318 318 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 4725 2925 318 318 0 360 DrawEllipse gs col0 s gr
% Ellipse
n 9000 1800 318 318 0 360 DrawEllipse gs col0 s gr
% Polyline
n 5400 3150 m
3600 4050 l gs col4 s gr
% Polyline
n 5400 3150 m
7200 3375 l gs col4 s gr
% Polyline
n 5400 3150 m
4500 2475 l gs col4 s gr
% Polyline
n 4500 2475 m
4500 3600 l gs col0 s gr
% Polyline
n 5400 3150 m
5400 5850 l gs col1 s gr
% Polyline
n 5400 5850 m
3600 6750 l gs col5 s gr
% Polyline
n 5400 5850 m
7200 6075 l gs col5 s gr
% Polyline
n 3600 6750 m 5400 6975 l
7200 6075 l gs col28 s gr
% Polyline
n 3600 4050 m
3600 6750 l gs col28 s gr
% Polyline
n 7200 3375 m
7200 6075 l gs col28 s gr
% Polyline
n 9000 2700 m
9000 3600 l gs col0 s gr
% Polyline
n 2475 2250 m 3150 2250 l 3150 2925 l 2475 2925 l
cp gs col0 s gr
% Polyline
n 6300 1575 m 6975 1575 l 6975 2250 l 6300 2250 l
cp gs col0 s gr
% Polyline
n 4500 4725 m 5175 4725 l 5175 5400 l 4500 5400 l
cp gs col0 s gr
% Polyline
n 9000 4050 m 9675 4050 l 9675 4725 l 9000 4725 l
cp gs col0 s gr
/Times-Roman ff 360.00 scf sf
3600 3825 m
gs 1 -1 sc (1) col4 sh gr
/Times-Roman ff 360.00 scf sf
4950 2475 m
gs 1 -1 sc (2) col4 sh gr
/Times-Roman ff 360.00 scf sf
6750 3150 m
gs 1 -1 sc (3) col4 sh gr
/Times-Roman ff 360.00 scf sf
4725 3150 m
gs 1 -1 sc (2) col0 sh gr
/Times-Roman ff 360.00 scf sf
5625 4500 m
gs 1 -1 sc (7) col1 sh gr
/Times-Roman ff 360.00 scf sf
4050 6300 m
gs 1 -1 sc (4) col5 sh gr
/Times-Roman ff 360.00 scf sf
6300 5850 m
gs 1 -1 sc (5) col5 sh gr
/Times-Roman ff 360.00 scf sf
4050 4950 m
gs 1 -1 sc (1) col0 sh gr
/Times-Roman ff 360.00 scf sf
6525 4275 m
gs 1 -1 sc (3) col0 sh gr
/Times-Roman ff 360.00 scf sf
5400 6525 m
gs 1 -1 sc (4) col0 sh gr
/Times-Roman ff 360.00 scf sf
9675 1800 m
gs 1 -1 sc (quadrangle) col0 sh gr
/Times-Roman ff 360.00 scf sf
9675 3150 m
gs 1 -1 sc (edges) col0 sh gr
/Times-Roman ff 360.00 scf sf
2700 2700 m
gs 1 -1 sc (1) col0 sh gr
/Times-Roman ff 360.00 scf sf
6525 2025 m
gs 1 -1 sc (2) col0 sh gr
/Times-Roman ff 360.00 scf sf
4725 5175 m
gs 1 -1 sc (3) col0 sh gr
/Times-Roman ff 360.00 scf sf
10350 4500 m
gs 1 -1 sc (hexahedron) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage
#FIG 3.2
Landscape
Center
Metric
A4
100.00
Single
-2
1200 2
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4050 4725 318 318 4050 4725 4275 4950
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 6525 4050 318 318 6525 4050 6750 4275
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 5400 6300 318 318 5400 6300 5625 6525
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 4725 2925 318 318 4725 2925 4950 3150
1 3 0 1 0 7 50 -1 -1 0.000 1 0.0000 9000 1800 318 318 9000 1800 9225 2025
2 1 0 1 4 7 50 -1 -1 0.000 0 0 7 0 0 2
5400 3150 3600 4050
2 1 0 1 4 7 50 -1 -1 0.000 0 0 7 0 0 2
5400 3150 7200 3375
2 1 0 1 4 7 50 -1 -1 0.000 0 0 -1 0 0 2
5400 3150 4500 2475
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4500 2475 4500 3600
2 1 0 1 1 7 50 -1 -1 0.000 0 0 7 0 0 2
5400 3150 5400 5850
2 1 0 1 5 7 50 -1 -1 0.000 0 0 7 0 0 2
5400 5850 3600 6750
2 1 0 1 5 7 50 -1 -1 0.000 0 0 7 0 0 2
5400 5850 7200 6075
2 1 0 1 28 7 50 -1 -1 0.000 0 0 7 0 0 3
3600 6750 5400 6975 7200 6075
2 1 0 1 28 7 50 -1 -1 0.000 0 0 7 0 0 2
3600 4050 3600 6750
2 1 0 1 28 7 50 -1 -1 0.000 0 0 7 0 0 2
7200 3375 7200 6075
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9000 2700 9000 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2475 2250 3150 2250 3150 2925 2475 2925 2475 2250
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 1575 6975 1575 6975 2250 6300 2250 6300 1575
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 4725 5175 4725 5175 5400 4500 5400 4500 4725
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
9000 4050 9675 4050 9675 4725 9000 4725 9000 4050
4 0 4 50 -1 0 24 0.0000 4 240 180 3600 3825 1\001
4 0 4 50 -1 0 24 0.0000 4 240 180 4950 2475 2\001
4 0 4 50 -1 0 24 0.0000 4 240 180 6750 3150 3\001
4 0 0 50 -1 0 24 0.0000 4 240 180 4725 3150 2\001
4 0 1 50 -1 0 24 0.0000 4 240 180 5625 4500 7\001
4 0 5 50 -1 0 24 0.0000 4 240 180 4050 6300 4\001
4 0 5 50 -1 0 24 0.0000 4 255 180 6300 5850 5\001
4 0 0 50 -1 0 24 0.0000 4 240 180 4050 4950 1\001
4 0 0 50 -1 0 24 0.0000 4 240 180 6525 4275 3\001
4 0 0 50 -1 0 24 0.0000 4 240 180 5400 6525 4\001
4 0 0 50 -1 0 24 0.0000 4 345 1620 9675 1800 quadrangle\001
4 0 0 50 -1 0 24 0.0000 4 315 825 9675 3150 edges\001
4 0 0 50 -1 0 24 0.0000 4 240 180 2700 2700 1\001
4 0 0 50 -1 0 24 0.0000 4 240 180 6525 2025 2\001
4 0 0 50 -1 0 24 0.0000 4 240 180 4725 5175 3\001
4 0 0 50 -1 0 24 0.0000 4 240 1695 10350 4500 hexahedron\001
\input{faces.eepic}
\section{Elements}
\begin{verbatim}
enum element_typ { corner_el, edge_el, quadrangle_el, triangle_el, hexahedron_el, ...}
\end{verbatim}
\begin{verbatim}
class Point {
double_3D coordinate;
};
class Edge {
// information about element
double_3D (transform*)(double); // transformation of edge
int id_corner_W;
int id_corner_E;
// information about neighbour
int number_neighbors; //
map (element_typ, id_element) // quadrangle_el, hexahedron_el
// triangle_el
// 0 \leq num \leq number_neighbors
int id_M_el[number_neighbors]; // id number of corresponding middel element
int id_S_el[number_neighbors]; // id number of corresponding south element
int id_N_el[number_neighbors]; // id number of corresponding north element
};
\end{verbatim}
\newpage
\begin{example}
The edge in the following picture \\
\psfig{figure=grid_at_edge.eps,width=10cm}
has the neighbours
\begin{verbatim}
hexahedron_el, quadrangle_el, hexahedron_el, quadrangle_el,
hexahedron_el, quadrangle_el
\end{verbatim}
These neighbours have the {\tt id\_M\_el} {\it id number's}:
\[
3,1,1,2,2,3
\]
The {\tt id\_S\_el} {\it id number's} are:
\[
4,4,?,?,?,5
\]
and the {\tt id\_N\_el} {\it id number's} are:
\[
?,1,?,2,?,3
\]
\end{example}
Algorithm for setting these data:
\begin{itemize}
\item
Iterate all volumne elements and
\item
k
\end{itemize}
\begin{verbatim}
class Quadrangle {
// information about element
int id_corner_SW;
int id_corner_SE;
int id_corner_NW;
int id_corner_NE;
int id_edge_S;
int id_edge_N;
int id_edge_E;
int id_edge_W;
// information about neighbour
int number_neighbors; // 1 or 2
int id_neighbor_hexahedron[2];
};
class Hexahedron {
int id_corners[8];
int id_corners_periodic[8];
int id_faces[6];
int id_edges[12];
};
\end{verbatim}
\section{Unstructured Grid}
The unstructured grid is described by:
\begin{enumerate}
\item an array of grid points with 3D coordinates (id number)
\item an array of edges with 2 corners and transformation
mapping (id number)
\item an array of volume elements (hexahedron, (prism, ...))
with corners (8, (6, ...)).
(\em do consistency check for edges of elements)
\end{enumerate}
\begin{verbatim}
class Unstructured_grid {
public:
Unstructured_grid(); // first puts num_poi and ... zero
void set_number_points(int num_poi, int num_poi_plus_periodic);
void set_coordinate_point(int i);
void set_coordinate_point_periodic(int i, int i_per);
// i_per must be larger than num_poi
void set_hexahedron(int i_SW, int i_SE, ...);
void set_hexahedron_periodic(int i_SW, int i_SE, ... ,
int i_SW_periodic, int i_SE_periodic, ...);
void construction_hexahedron_points_done();
void set_transformation_edge(int i, int j, double_3D (transform*)(double));
// ``transform'' must be zero at 0,1
void set_transformation_face(int i, int j, double_3D (transform*)(double, double));
// ``transform'' must be zero at (0,0), ...
void construction_done();
private:
bool construction_hexahedron_points_done;
bool construction_done;
bool periodic; // is num_poi == num_poi_plus_periodic
int num_poi;
int num_poi_plus_periodic;
int num_hexahedra;
Hexahedron hexahedra[num_poi_hexahedra];
Point points[num_poi];
};
class Cylinder : public Unstructured_grid {
Cylinder(double radius, double length);
};
\end{verbatim}
\underline{Additional informations:}
\begin{enumerate}
\item Volume:
\end{enumerate}
\section{Block Data Structure}
The orientation of the data structure of every block
depends on the id number of corners and edges
\begin{enumerate}
\item Edge: from corner with low id-number to corner with high id-number
\item Face: Corner with lowest id-number is SW point.
Now consider the two adjacent edges.
x-axis is edge with lower id-number.
y-axis is edge with high id-number.
\item Volume: Lowest id-number is SWD point.
Now consider the three adjacent edges.
x-axis is edge with lowest id-number.
y-axis is edge with middle id-number.
z-axis is edge with highest id-number.
\end{enumerate}
The discretization of the unstructured grid
is based on numbers
\[
n_1, ..., n_d ,
\]
where $d$ is the degree of freedom.
\subsection{Variable\_Point}
\begin{enumerate}
\item Hexahedron: array of length $(n_x+1) * (n_y+1) * (n_z+1)$.
\item Quadrangle: array of length $(n_x+1) * (n_y+1)$.
and
array of length $(n_x+1) * (n_y+1) * \mbox{\tt number\_neighbors}$
\item Edge: array of length $n_x+1$.
and
array of length $(n_x+1) * \mbox{\tt number\_neighbors}$