Anisotropic Grid Generation

Anisotropic grid generation is a powerful technique to minimize the number of points in a grid. Often it is simply not possible to solve the problem with isotropic grids because the number of nodes is too high.

Reasons to Use Anisotropic Grids

We have to distinguish two classes of problems which require anisotropic grid generation.

It is clear, that an algorithm which can be used for such problems can be used also for the first class of applications. But usually for the first class of applications simple tensor product grids will be good enough.

Anisotropically refined grids are useful not only for such special applications. In principle, they can be used every time. In the worst case there will be no point economy. But this worst case not often appears. Usually in almost every application one has locally a "gradient direction" which has to be refined better than the other directions.

Another point is that the reduction effect is usually much greater in 3D, because for a gradient we have two "orthogonal" directions which must not be refined instead of one orthogonal direction in 2D. If we obtain factor 2 in a 2D problem, we obtain factor 4 in the similar 3D problem. Because point economy is necessary especially in 3D, anisotropic techniques may be useful for every 3D application.

Anisotropic Grid Quality Criteria

As in general, in the case of anisotropic refinement we have to to formulate grid quality criteria dependent on the discretization scheme. For the first class of problems, there may be special grid quality criteria derived from special discretization schemes which depend on the predefined global directions.

But, in the second case, we have a discretization scheme which does not depend on such predefined directions. That's why we have to use the same criteria as for the isotropic grid.

In our case, that means that we have to use the Delaunay criterion as described in the previous section.

The Alignment Property

Consider now the problem how a highly anisotropic grid has to look like, at first in 2D. As the quality criteria we use the absence of obtuse angles or the Delaunay criterion. We obtain an interesting property of such grids we have named here alignment:

Consider a typical triangle of an anisotropic grid. Because there must be no obtuse angles, the only possibility for this triangle is to have two nearly right angles and one very small angle. The small side of this triangle looks into the direction of highest refinement. So for every point there has to be a near neighbour, approximately in the direction of highest refinement. The points of the grid will be arranged approximately in lines.

Analogical considerations can be made also in 3D. If we have one "fine" and two "coarse" directions the points also must be arranged on lines parallel to the "fine" direction. If we have two "fine" and one "coarse" direction they have to be arranged in some surface containing approximately the fine directions. If we have three different scales (one "coarse", one "middle" and one "fine" direction) the points have to be arranged in lines, and these lines have to be arranged in surfaces.

We see, that the effect depends on the relation between the necessary refinement in different directions. For isotropic refinement criteria we obtain no such alignment effect. On the other hand, if we have an anisotropic problem, we can obtain high point economy only if we can arrange such an alignment. If we cannot organize this alignment, we obtain only a nearly isotropic grid.

Problems with Standard Methods

The alignment effect creates a lot of problems for grid modification, because the standard methods often can lead to misalignment:

Spider

Spider is a name we use in the following to describe a special grid configuration we can easily obtain in anisotropic Delaunay grids. The standard way to obtain such a spider is to include into an anisotropic grid a misaligned new point and to create the related Delaunay grid. In the resulting grid the new point has a big number of edges and looks like a spider with a lot of legs.

Since the grid containing such a spider has a lot of obtuse angles, it's numerical quality is not very good, but on the other hand not very bad (Delaunay property). But the spider leads obviously to a bad approximation in "fine" direction. After all, we have refined in this direction because we need such a fine grid to approximate the functions. In the spider, we obtain two triangles which are too big in this direction. An analogical picture we obtain also in 3D.

In the following picture we can see the problems of point insertion into an anisotropic grid:

picture: misaligned point insertion

a) shows the initial situation --- we have to include a point into a given anisotropic grid.

b) shows a possibility to create a non-Delaunay grid. In this case, we obtain big obtuse angles.

c) shows the spider in the correspondent Delaunay grid. We see two very big triangles which lead to bad approximation in vertical direction.

Explicit Boundary Discretization

Let's consider now possibilities for the boundary description in the case of anisotropic grid generation. The main problem will be also the alignment property. Every boundary point has to be aligned.

Consider the typical picture of including boundary points into an aligned grid near the boundary:

picture: Possibilities to include the boundary grid nodes.

Figure a) shows the problem we have to solve --- the anisotropic grid defined by the refinement algorithm and the explicit boundary grid we have to include. Usually in the direction orthogonal to the boundary we need higher refinement as in the tangential directions.

Figure b) shows the resulting Delaunay grid. We see, that the boundary line is not part of the grid.

In figure c) we see the first possibility to correct this grid. We have swapped the edges going through the boundary. The resulting grid is not very good from numerical point of view because we have big obtuse angles.

In figure d) we see another possibility to correct the grid. The edges going through the boundary have been divided and new boundary points have been created. This grid is good if we consider only obtuse angles.

But all of these grids are bad from point of view of approximation, because we have here typical spider situations.

Figure e) shows one possibility to avoid spiders --- to refine in horizontal direction. In this way we obtain a lot of new points. In our example we have made two refinements for the left point, but we have still a little spider. Only the next refinement will "kill" the spider. In general we have to make isotropic refinement around the point to avoid spiders.

The last figure shows the way we have used. The initial grid points are not part of the resulting grid. For the intersections of the boundary with short edges old points have been shifted or new points have been included. We obtain a good approximation of the boundary with a few number of points, with good numerical quality and good approximation behaviour.

An alternative way is to create a correspondent set of aligned inner points for every boundary point we want to use. In this case it seems natural to start with the boundary grid and to "go inside" as in the . But then we obtain a lot of problems inside the region. So, it seems easier to ignore the explicit boundary grid points for anisotropic grid generation.

We see, that in the case of anisotropic grid generation it is very natural to ignore a given discretization of the boundary and to compute only intersections of grid lines with the boundary. If we use such an algorithm, this allows to use geometry descriptions which do not define the boundary discretization, like our contravariant geometry description.