An Algorithm of Combining of Advancing Front and Delaunay Triangulation to 3-D Domain Tesselation

The paper presents an algorithm of volume meshing by using the Advancing Front Technique (AFT) combined with the Delaunay Triangulation. The tetrahedronization starts with the surface mesh with the elements oriented towards the interior 3-D domain. The main idea is based upon AFT, with simultaneous points insertion and tetrahedra creation. The characteristic feature of the approach is the part of AFT in the case, when a new calculated point on the current face of the front is not accepted then the existing point in the front is found to create a new tetrahedron by using the Delaunay triangulation on the given set of points. Additionally the algorithm takes a mesh size function into account.


Introduction
The purpose of the paper is to describe a method of grid generation for 3-D domains. The problem plays an important role in finite element applications. According to the generation methods, we have the following classification: • structured grid generation techniques, • unstructured grid generation techniques.
Generation of structured grids takes less computer time, but the range of geometries is restricted. The only possibility to control the size of the meshes is to place points over the surfaces, and then to fix the height of every tetrahedron.
In the case of unstructured volume grids, if the meshes generated over the surfaces have the required sizes, then by using the Advancing Front Technique the placement of new points can be controlled. Additionally, the Advancing Front Technique gives the possibility of terahedronization of complex geometries [1]. Unfortunately, the algorithms of generation of unstructured grids are much more complicated. The program performance is much more time consuming. However, when the Advancing Front Technique is combined with the Delaunay triangulation, then very neatly looking meshes can be obtained. Recently, these methods have been investigated by Lo, George, Frey, Borouchaki [2,3].
The approach presented here is based mainly upon AFT with simultaneous points insertion and triangulation [4,5], but when different parts of the front "meet" and the point to be inserted at this time is not accepted, then on the considered triangle of the front the tetrahedron is built by using as a lacking vertex the point from the front. It is done by using the idea of the Delaunay Triangulation.
It is not guaranteed that the proposed approach leads to complete Delaunay meshes, but usually in the application of AFT the most delicate point is to "finish" the front, just in this case the Delaunay approach is applied giving optimal meshes on the given set of points.
Unstructured grid generation is connected with creation of a mesh on the boundary of the domain [6,3], i.e. in this case, a closed surface or a disjoint union (such as surfaces). If the domain is topologically and geometrically complicated, the problem of surface grid generation becomes more complex.
In this paper the method of Advancing Front Approach coupled with the Delaunay triangulation [5,7] is proposed. In the case, when eventually two different parts (faces) of the front are close enough in the sense of a defined threshold value, for the sake of a new tetrahedron insertion the existing point on the front is used (a new point is not inserted). The point is selected using the Delaunay technique approach. As the criterion of points insertion the mesh density function is used.
The new elements of the paper are:

Domain representation and data structure
In this section the following notations will be used: It is assumed that there exists generated mesh on the boundary surface of the three dimensional domains Ω. The boundary surface is represented by the following sets of data: For the sake of the data structure description every boundary triangle is represented by three boundary points from P b . In other words, an arbitrary surface element is represented as a triple of integer numbers, being the number of its vertices.
Furthermore, for the representation volume mesh the following sets are introduced: In the data structure every tetrahedron is represented by its numbers of the four faces. Additionally, the following sets necessary for the algorithm representation are introduced: B -the generation front, at the start consisting of boundary faces, E -the set of edges of B.

A boundary surface orientation
A single triangle on the boundary surface can be oriented as every orientable surface by its normal (Fig. 1). According to the general algorithm of tetrahedronization, it is necessary to make orientation with normal towards the interior of the domain Ω. The applied algorithm is based on the papers of [8,9]. It is based on establishing the orientation of the arbitrarily chosen surface face. Then orientations of the rest of the surface triangles are adapted progressively to that one. For the algorithm realization, the Advancing Front Technique is used (AFT).

The orientation of an arbitrary surface triangle
If we have an arbitrary triangle it is checked whether the normal to the face determined by its orientation is inward or outward the domain Ω. The half-line predicted by this normal is led from the barycenter of the triangle. If the halfline intersects the boundary surface the odd number of times (Fig. 2), then the normal is inward the domain; otherwise it is outward.
The intersection of a half-line coming from the ABC As it was previously mentioned the triangle T is represented by the sequence of its three points' numbers, i.e. T = klm. The change of the T orientation consists in the transposition of any of the pairs of numbers from the set {k, l, m}. For example, in this case the following change can be done klm −→ kml.

A unification of all the boundary triangles
To adapt the boundary surface to AFM for the three-dimensional domain triangulation, it is necessary that every triangle of the surface would be directed inward the domain Ω (which is a direction of the normal vector). The Pobrane z czasopisma Annales AI-Informatica http://ai.annales.umcs.pl Data: 06/11/2022 15:34:21 U M C S closed external surface should have all the triangles directed inward the domain surrounded by the surface, thus the internal closed surfaces representing holes, outward the volume surrounded by them.
The algorithm of unification of triangle orientations is due to one closed connected boundary component. It is assumed that there exists a triangle T 0 (Fig. 3) with a requested orientation. The presented method is the modification of the method from paper [9], and is based mainly on AFM. The initial front consists of three edges of the triangle T 0 , then all the triangles, which have as an edge one of the frontal edges are checked and if necessary then reoriented. The frontal edges adjacent to the verified triangles are removed from the front and the adjacent edges of those triangles are added to the front. This process will be repeated until all the triangles are verified.
The modification of the algorithm from paper [9] is based on the fact that the process continues till all the faces are reviewed, contrary to the condition when the front becomes an empty set. This modification allows to uniformize as well the open surfaces. Both these algorithms have the same computational complexity. The summary of the algorithm for the uniform front orientation is as follows: 5. Take as the initial front Γ the set of the edges T 0 Γ = (P n 0 1 P n 3 1 , P n 0 3 P n 2 1 , P n 0 2 P n 1 1 ).

IF ( U = ∅ ) THEN
choose the edge l ∈ Γ, let l=PQ ELSE Finish the unification process. ENDIF 7. Find such a triangle F ∈ U that the vector l, taken as an edge would be the edge of F, let F = P n 0 1 P n 2 1 P n 3 1 . 8. IF ( vector l = P n 0 1 P n 2 1 ∨ l = P n 0 1 P n 3 1 ∨ l = P n 0 3 P n 1 1 ) THEN change the orientation of F, i.e. F ←− (n 1 , n 3 , n 2 ), 12. go to 6.

The algorithm of volume tetrahedronization
Using the notations from the previous point the algorithm 3-D domain triangulation can be presented as follows: i. add D the list of internal points P and triangles F 1 = ABD, Let With respect to the newly generated points, it is necessary to check, if every point could be accepted. Let us say the point D is being built over the face ABC, to form a tetrahedron with the vertices A, B, C, D. It is necessary to check whether the faces ABD, BCD, CAD intersect the front.
In papers [10,4] the intersection of the tetrahedron faces with every face of the front is also verified.
In this paper the intersection of the edges AD, BD, CD with the frontal faces is performed and the intersection of the front edges with the faces ABD, BCD, CAD as well. It easy to show that the condition ensures no intersection of the newly obtained tetrahedron with the front. It is less time consuming.
Additionally, there is a test, whether the point D is not too close to the front and the following inequality is taken into consideration: where: Γ -the generation front, P -a point belonging to Γ and realizing the distance D to Γ, dist(D, Γ) -a distance from D to Γ.

Forming a tetrahedron by the Delaunay method.
When the point D on the face ABC is not accepted to form a tetrahedron with the vertices A, B, C, D, then the point from the front is taken to form a tetrahedron which now would have the vertices A, B, C, and the point from the front. The algorithm has the following steps: 1. Find the ball B ABCD passing through the points A, B, C and with radius r equal to: 2. Find the set S of candidate points from the front belonging to the ball B ABCD and lying on the right side of the plane Π ABC passing through the face ABC. 3. in the set S the following relation R is introduced: 4. The relation R is the equivalence relation, not an ordering relation, as every two elements in S are in relation (are comparable), so the set Z of the points from S is found that satisfies the condition: 5. In the set Z find the point D which satisfies the auxiliary tests. 6. Form a tetrahedron with the vertices A, B, C, D and add it to the list.

The numerical examples
In this section some examples of the tetrahedronization of 3-D domains with the mesh size function will be presented. The examples illustrated here are obtained in the way that those tetrahedra of triangulated 3-D domain are shown, whose barycenters lie on one side of a given plane.
In Figs 4, 5 the tetrahedronized cube with the mesh density function given by formula (1) is presented. In Figs 8, 9 the domain obtained from the union of cylinder and the part of sphere filled with tetrahedra is presented. The size function was given by formula (2): Pobrane z czasopisma Annales AI-

Conclusions
In this paper an algorithm of unstructured grid generation is presented. It is based on coupling of the Delaunay triangulation and Advancing Front Technique. Algorithm starts from the grid generation on the boundary surface and then by using the AFT points are inserted and tetrahedrons are formed. When a newly inserted point does not pass the auxilliary test then the point from the front is chosen using the Delaunay condition. The presented approach takes a mesh size function into account. The paper describes in detail the algorithm implemented by the main author and provides many numerical results. Such a grid generator can be used for an adaptation technique [11] based on remeshing for 3-D problems. The remeshing algorithm modifies a mesh size function taking into account an error indicator function.
The original elements of the paper are: • The method of combining Advancing Front Method and Delaunay Triangulation.
• Taking a mesh size function into account.
• Programming source code written by the main author himself.
• Numerical examples obtained from many programs prepared by the main author.