4.1 Decomposition of Geometries and Meshes, Templated Structures

First, decompositions of geometries and meshes are defined. Geometry and mesh decompositions are similar to manifold partitions and mesh partitions, respectively, with the difference that they support multiple regions.


\begin{defn}
% latex2html id marker 6490
[Geometry decomposition, geometry block...
...athcal{T}}, \widetilde{\zeta})}$\ with a transformation function $T$.
\end{defn}

Similar terms can be defined for meshes as well.


\begin{defn}
% latex2html id marker 6497
[Mesh decomposition, mesh block, mesh t...
...ance of ${({\mathcal{T}}, \zeta)}$\ with transformation function $T$.
\end{defn}

Figure 4.2: Decomposition of a multi-region mesh

\begin{subfigure}
% latex2html id marker 6506
[t]{0.30\textwidth}
\centering
\...
...{figures/mesh_decomposition_whole}
\caption{Multi-region mesh}
\end{subfigure}

\begin{subfigure}
% latex2html id marker 6513
[t]{0.30\textwidth}
\centering
\...
...textwidth]{figures/mesh_decomposition}
\caption{Decomposition}
\end{subfigure}

An example of a mesh decomposition is visualized in Figure 4.2. In general, arbitrary invertible transformation functions $ T$ can be used for instances, but it is beneficial to restrict the transformation functions to functions which are angle-preserving. The angle-preserving property is important, because most popular mesh element quality measures are invariant under such transformations. Therefore, only rigid transformations which are rotations, translations, reflections, and their combinations, are used.

On the contrary, a multi-region geometry (or multi-region mesh) can be defined using a set of templates, each together with a set of transformation functions. A naive approach is to define the templated structure of a multi-region geometry or mesh as a collection of multi-region templates each with a transformation function for each instance. However, it is also possible to use templates with only one region to represent a multi-region mesh or geometry. For each multi-region template in this naive approach, each region can be seen as a template on its own with the same transformation function and an additional region indicator. The resulting templated structure is defined as follows:


\begin{defn}[Templated structure]
Let $X_1, \dots, X_k$\ be either geometries or...
...}^\star ({\operatorname{us}}(T_{j,h}(X_j))) = \emptyset
\end{equation}\end{defn}

A templated structure is a collection of templates $ X_i$, which form multiple instances by using transformation functions $ T_{i,j}$ and region indicators $ r_{i,j}$. An instance is generated by applying the transformation function $ T_{i,j}$ to the template and using a region indicator function which maps every element of that instance to the corresponding region indicator $ r_{i,j}$. Therefore, the instance of the template $ X_i$ with a transformation function $ T_{i,j}$ and a region indicator $ r_{i,j}$ is equal to $ (T_{i,j}(X_i), R)$ with $ R(x) := \{ r_{i,j} \}$. The advantage of this definition (in contrast to using multi-region templates) is the simplicity of the templates, which have just one region. The boundary patch partition, an instrument to identify and address conformities in templated meshes (see Section 4.3), is much easier to generate, when the templates have one single region.

Figure 4.3: Templated mesh
Image templated_mesh

The mesh template $ X_1$ has two instances which are generated using the transformation functions $ T_{1,1}$ (a translation) and $ T_{1,2}$ (a combination of a reflection around the y-axis and a translation). The mesh template $ X_2$ has three instances which are generated using the transformation functions $ T_{2,1}$ (a translation), $ T_{2,2}$ (a combination of a rotation by $ 180\degree$ and a translation), and $ T_{2,3}$ (a combination of a clockwise rotation by $ 90\degree$ and a translation). The transformation functions and the region indicators of the instances are visualized by the corresponding colored arrows.

Figure 4.4: Templated structure with non-conforming structure instance
Image templated_nonconforming_mesh

The templated structure is similar to the structure visualized in Figure 4.3 with the difference, that $ T_{1,2}$ is just a translation (in contrast of being a combination of a reflection around the y-axis and a translation). This results in a structure instance which is not conforming as indicated by the highlighted red areas.

The instance of a templated structure, in short called structure instance, is obtained by using the apply-template operator, which is defined in the following way:

$\displaystyle {\operatorname{AT}}({\mathbb{X}}) := \left( \left\{\bigcup_{i=1}^...
...athbb{X}}(x) := \{ r_{i,j} \vert x \in \operatorname{inst}({\mathbb{X}},i,j) \}$ (4.1)

This operator generates a multi-region geometry or mesh based on the templated structure. A templated structure and its structure instance are visualized in Figure 4.3. A templated geometry and a templated mesh are templated structures, the structure instances of which result in a valid multi-region geometry or multi-region mesh, respectively.


\begin{defn}[Templated geometry, templated mesh]
A templated structure ${\mathbb...
...athbb{X}})$\ is a valid multi-region mesh is called a templated mesh.
\end{defn}

The structure instance of a templated structure with geometry templates is automatically a valid multi-region geometry. However, for a templated structure with mesh templates, its structure instance might not be a valid multi-region mesh as visualized in Figure 4.4. Thus, the additional requirement of $ {\operatorname{AT}}({\mathbb{X}})$ being a valid multi-region mesh is necessary. The following two statements are equivalent for a templated structure with mesh templates:
(i)
$ {\operatorname{AT}}({\mathbb{X}})$ is a multi-region mesh.
(ii)
$ {\operatorname{AT}}({\mathbb{X}})$ is conforming.
The dimension of a templated structure $ {\operatorname{DIM}}({\mathbb{X}})$ is equal to the dimension of all its templates $ {\operatorname{DIM}}({\mathbb{X}}_i)$.

It is important for templated structures to find out, if a templated mesh is the mesh of a templated geometry. Therefore, the term geometry-conforming is also defined for templated structures.


\begin{defn}[Geometry-conforming]
A templated mesh ${\Gamma}$\ is called geometr...
...}({\Gamma},i,j) = \operatorname{rid}({\Lambda},i,j)$).
\end{enumerate}\end{defn}

The motivation for this definition of the term geometry-conforming for templated structures is the direct correlation between the geometry and mesh instances. For a templated mesh $ {\Gamma}$, which geometry-conforms to a templated geometry $ {\Lambda}$, all mesh instances are naturally geometry-conforming to the corresponding geometry instances. Therefore, $ {\operatorname{AT}}({\Gamma})$ automatically geometry-conforms to $ {\operatorname{AT}}({\Lambda})$. This definition is also beneficial when formulating mesh adaptation and mesh generation algorithms. Similar to the geometry of a mesh, the templated geometry of a templated mesh is defined as

$\displaystyle {\operatorname{geo}}({\Gamma}) = \left( \left({\operatorname{geo}...
...ratorname{geo}}({\Gamma}_k), (T_{k,1}, \dots), (r_{k,1}, \dots)\right) \right).$ (4.2)

Every templated mesh is naturally geometry-conforming to its templated geometry.

florian 2016-11-21