⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thggani.html

📁 有限元学习研究用源代码(老外的),供科研人员参考
💻 HTML
字号:
<h1><a NAME="chaniso">Anisotropic Grid Generation</a></h1>


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.

<h2><a NAME="reasonaniso">Reasons to Use Anisotropic Grids</a></h2>


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

 
 <ul>
 <li>The first class are applications with global, predefined
directions which require different refinement. The reason may be
different length order like in many environmental processes with
different horizontal and vertical size or even different physics as in
a computation in the (p,q)-phase space or in a crystal with
anisotropic material properties.

 
 <li>The other class which we consider here has no such globally
predefined direction. The direction which has to be fine is
variable. The typical example for diffusion-reaction equations is the
gradient direction which has to be very fine compared with the
orthogonal directions. This direction obviously depends on the
position.

 
 </ul>


  <p>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.

  <p>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.

  <p> 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.
<h2><a NAME="ancriteria">Anisotropic Grid Quality Criteria</a></h2>


  <p>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.

  <p> 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.

  <p>In our case, that means that we have to use the Delaunay criterion
as described in the previous section.
<h2><a NAME="analignment">The Alignment Property</a></h2>


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:

  <p> 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.

  <p> 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.

  <p> 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.
<h2><a NAME="anproblems">Problems with Standard Methods </a></h2>


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

 
 <ul>
 <li> the <a HREF="thggstd.html#mginsert"></a> leads to
misalignment if the point which has to be inserted is not located on
such a line.
 
 <li> the <a HREF="thggstd.html#mgrefine"></a> has to be
modified so that usually only "aligned" edges will be refined. If
other edges have to be refined, we have to refine also neighbouring
edges so that a whole "new line" will be created.
 
 <li> <a HREF="thggstd.html#mgshift"></a> and <a HREF="thggstd.html#mgsmooth"></a> is very dangerous because the
alignment can be destroyed.
 
 </ul>


<h3><a NAME="pspider">Spider </a></h3>


<b>Spider</b> 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.

  <p> 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.

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

<p><b><a name="thfspider">picture:</a></b><a href="thfspider.gif"> misaligned point insertion </a>


  <p> a) shows the initial situation --- we have to include a point
into a given anisotropic grid.
  <p> b) shows a possibility to create a non-Delaunay grid. In this
case, we obtain big obtuse angles.
  <p> c) shows the <b>spider</b> in the correspondent Delaunay grid. We
see two very big triangles which lead to bad approximation in vertical
direction.

<h3><a NAME="pbpoints">Explicit Boundary Discretization</a></h3>


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.
  <p> Consider the typical picture of including boundary points into an
aligned grid near the boundary:
  <p>
<p><b><a name="thfbgrid">picture:</a></b><a href="thfbgrid.gif"> Possibilities to include the boundary
grid nodes. </a>


  <p>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.
  <p> Figure b) shows the resulting Delaunay grid. We see, that the
boundary line is not part of the grid.
  <p> 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.
  <p> 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.
  <p> But all of these grids are bad from point of view of
approximation, because we have here typical spider situations.
  <p> 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.
  <p> 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.
  <p> 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 <a HREF="thggstd.html#mgfront"></a>. 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.

  <p>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.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -