next up previous contents
Next: 3.2 Layer Refinement Method Up: 3. Data Driven Refinement Previous: 3. Data Driven Refinement

Subsections



3.1 Some Words on Data

The storage of data related to geometric objects like points or facets is part of the following considerations. Due to different appearances of the overall terminus ``data'' a specification is given towards the class of $ n$ -dimensional tensors in general with emphasis on three-dimensional tensors up to a rank of two. The data - geometric object relation is explained by means of all faces of a $ 3$ -simplex.

3.1.1 Tensors

An $ n^{\mathrm{th}}$ rank tensor in $ m$ -dimensional space is a mathematical object that has $ n$ indices and $ m^n$ components. Each index of a tensor ranges over the number of dimensions of space. Tensors are generalizations of scalars (that have no indices), vectors (that have exactly one index), and matrices (that have exactly two indices) to an arbitrary number of indices [54].
Depending on the rank of the tensor different numbers of components can be counted for one data value in three-dimensional space. It is known that a scalar has only a magnitude and no directional part, so there is only one component for a scalar data value. A tensor of rank one, which is also known as vector, consists of one direction and a magnitude, which gives three components for one vector data value. For a dyad which is a tensor of rank two, two directions and one magnitude is counted which gives nine components for a dyad data value [55]. This list of course can be extended ad infinitum, but for this work it is sufficient to stop at tensors of rank two.

Section A.3 shows how tensors of rank two can be visualized by a so called glyph representation. Figure 3.1(a) and Figure 3.1(b) show also glyph visualization for tensors of rank zero and one, respectively.

Figure 3.1: Possible configurations of scalar, vector, and dyad data values related to 0 -faces of a $ 3$ -simplex.
\begin{figure*}\setcounter{subfigure}{0}
\centering
\subfigure[Scalar data on $0...
....eps2,width=0.324\textwidth,height=0.324\textwidth}} %\qquad\quad\end{figure*}


3.1.2 Data $ m$ -Face Relation

Figure 3.2: Possible relations between scalar data values and faces of a $ 3$ -simplex.
\begin{figure*}\setcounter{subfigure}{0}
\centering
\subfigure[Scalar data on $0...
...ics/MA-volu-att.eps2,width=0.24\textwidth,height=0.24\textwidth}}\end{figure*}

Figure 3.2 shows four different data $ m$ -face relations of a $ 3$ -simplex. Data values can be stored related to the 0 -face (vertices), $ 1$ -face (edges), $ 2$ -face (facets), and $ 3$ -face ($ 3$ -simplex or tetrahedron), cf. Figure 3.2(a) - 3.2(d), respectively. Depending on the $ m$ -face data relation different number of values can be associated, e.g. for a 0 -face data relation, four data values are needed (one for each vertex) and for a $ 3$ -face relation only one data value is needed which is constant over the whole volumetric simplex.


3.1.3 Interpolation Functions on the Standard $ 3$ -Simplex

As seen in Section 3.1.2 different data $ m$ -face relations are possible on tetrahedral meshes. One has to say that for further investigations two relations are important, namely the data 0 -face (cf. Figure 3.2(a)), and the data $ 3$ -face relation (cf. Figure 3.2(d)). Since the data values are constant over the whole mesh element ($ 3$ -simplex) for a $ 3$ -face relation, no data interpolation over the element is necessary.
For tetrahedral meshes with data values stored in 0 -face relation, the situation is slightly different and one has to think about interpolation of those scattered data, to obtain a more or less continuous data field which is essential for further numerical calculations or at least for visualization. The choice of the interpolation method depends on the underlying numerical discretization scheme and should be carried out with care.
Based on some ideas of finite element calculations an interpolation scheme is presented in the following, which allows linear interpolation over the $ 3$ -simplex that is value conformal at the vertices.

3.1.3.1 Affine Standard $ 3$ -Simplex Map

A canonical map from the standard $ n$ -simplex to an arbitrary $ n$ -simplex with vertices $ (v_0{},\ldots ,v_{n})$ is given by

$\displaystyle (t_0 , \ldots , t_n ) \mapsto \sum_i t_i v_i.$ (3.1)

The coefficients $ t_i$ are called the barycentric coordinates of a point inside the $ n$ -simplex. Such a general simplex is often called an affine $ n$ -simplex, emphasizing that the canonical map is an affine transformation. It is also sometimes called an oriented affine $ n$ -simplex to emphasize that the canonical map is preserving the orientation.

The following coordinate transformation

\begin{displaymath}\begin{array}{lclclclcl } \displaystyle x &=& x_{1} &+& (x_{2...
...1})\xi &+& (z_{3}-z_{1})\eta &+& (z_{4}-z_{1})\zeta \end{array}\end{displaymath} (3.2)

allows to map an arbitrary tetrahedron given by global coordinates $ (x,y,z)$ to the standard $ 3$ -simplex $ T$ (cf. Figure 3.3) with local element coordinates $ (\xi,\eta,\zeta)$ .

Figure 3.3: Affine map between an arbitrary tetrahedron (left) and the standard 3-simplex (right).
\includegraphics[width=0.75\textwidth]{pics/tet-map.eps}

In matrix notation Equation (3.2) can be written as

$\displaystyle \vec{r}-\vec{r_{1}}=\mathbf{J} \cdot \vec{\rho},$ (3.3)

where $ \vec{r}=(x,y,z)^{T}$ , $ \vec{r_{1}}=(x_{1},y_{1},z_{1})$ , $ \vec{\rho}=(\xi,\eta,\zeta)^{T}$ , and $ \mathbf{J}$ denotes the Jacobian matrix

$\displaystyle \mathbf{J}= \begin{pmatrix}\frac{{\rule[0.0mm]{0mm}{\Myhi}\displa...
...m]{0mm}{\Myhi}\displaystyle\partial \zeta}} \rule[-3mm]{0mm}{7mm} \end{pmatrix}$ (3.4)

which applied to (3.2) results in

$\displaystyle \mathbf{J}= \begin{pmatrix}x_{2}-x_{1} & x_{3}-x_{1} & x_{4}-x_{1...
...}-y_{1} & y_{4}-y_{1} \ z_{2}-z_{1} & z_{3}-z_{1} & z_{4}-z_{1} \end{pmatrix}.$ (3.5)


3.1.3.2 Linear weighting functions

Figure 3.4: A linear interpolation scheme is used to obtain a continuous data distribution over the $ 3$ -simplex from 0 -face related scattered scalar data. Iso-level contours form always a flat planes.
\begin{figure*}\setcounter{subfigure}{0}
\centering
\subfigure[Scalar data on $0...
...rf.eps2,width=0.25\textwidth,height=0.26\textwidth}} %\qquad\quad\end{figure*}

The idea behind this interpolation scheme is to construct a continuous data distribution from 0 -face data values with the help of so-called weighting functions. The definition of this functions is given for the standard $ 3$ -simplex with the coordinates $ (\xi,\eta,\zeta)$ and can be easily mapped onto every arbritrary $ 3$ -simplex as depicted above (see Figure 3.3).

The linear weighting functions for a standard $ 3$ -simplex read:

\begin{displaymath}\begin{array}{lcl} \displaystyle N_{1} & = & 1 - \xi - \eta -...
...= & \xi, \ N_{3} & = & \eta, \ N_{4} & = & \zeta. \end{array}\end{displaymath} (3.6)

If the 0 -faces $ \{P_1,P_2,P_3,P_4\}$ of a $ 3$ -simplex $ T$ hold the data values $ \{D_1,D_2,D_3,D_4\}$ , the continuous data distribution over the $ 3$ -simplex $ T$ mapped on the standard simplex can be written as:

$\displaystyle D_{T}(\xi,\eta,\zeta) = \sum_{k=1}^{4} N_{k}(\xi,\eta,\zeta)D_{k}.$ (3.7)

Figure 3.4 gives an impression on how this interpolation scheme acts on arbitrary scalar data values. The iso-level planes shown in Figure 3.4(b) are without any coverture and their transition from one $ 3$ -simplex to a possible neighboring $ 3$ -simplex is in general not differentiable, but always value conformal which is characteristic for piecewise linear interpolation.

For higher order basis functions, the vertex points of the standard $ 3$ -simplex plus additional sampling points have to be taken into account. In [32] an overview of different basis functions, up to a degree of two and for different mesh elements regarding the two- and three-dimensional case are shown.


next up previous contents
Next: 3.2 Layer Refinement Method Up: 3. Data Driven Refinement Previous: 3. Data Driven Refinement

Wilfried Wessner: Mesh Refinement Techniques for TCAD Tools