Now we give a short overview over the grid generation algorithm. Let's consider at first our reasons to use especially this algorithm. The base of our decisions are the requirements of the application, the criteria we have derived in the previous sections and the decision to use the contravariant geometry description defined in the first part.
The first point we have fixed was to create at first a grid independently of the boundary and to create the boundary grid in a second step. This is de facto predefined by the contravariant geometry description --- we obtain boundary data only if we have some region points before. But it is also in good agreement with other problems:
But this method is also in good coincidence with other problems we have to solve. Especially, this allows to guarantee the alignment of the nodes near the boundary. We obtain also a lot of right angles near the boundary. Remark that such right angles lead to zero coefficients in the resulting matrix. This allows to omit the related coefficients and makes the matrix simpler.
Remark, that we compute the boundary intersections on the finest grid, because we need a very accurate description of the geometry in the resulting grid.
The only question is if it is possible to create this grid "by hand", based on the data structures of the initial grid. In 2D this seems possible, but in 3D, there are too much different cases.
Thus, we start with an anisotropical variant of the octree method to obtain a fine point set defined by local an anisotropical refinement criteria. Then we compute boundary intersections to define the exact boundary position. For the resulting point set, we compute the Delaunay grid.
In the following two sections, we consider these parts of the algorithm in detail: