]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update manifold documentation in a few places.
authorMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Fri, 15 Dec 2017 10:00:04 +0000 (11:00 +0100)
committerMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Fri, 15 Dec 2017 18:38:06 +0000 (19:38 +0100)
doc/doxygen/headers/manifold.h
include/deal.II/fe/mapping_q_generic.h
include/deal.II/grid/manifold_lib.h

index 6bcd2b827c581293ca842e4c5aeecb70a9d83c21..92b6f54e7466e78edf3b1b0db2b67c6b35c2b28b 100644 (file)
  * @image html hypershell-boundary-only-3.png ""
  *
  * Here, we create only three circumferential cells in the beginning, and
- * refining them leads to the mesh shown. Clearly, here we have cells with bad
+ * refining them leads to the mesh shown. Clearly, we have cells with bad
  * aspect ratios, despite the first refinement that puts the new point into
  * the middle.
  *
  * If we drive this further and start with a coarse mesh of a much thinner rim
- * between the radii 0.8 and 1.0 and still start with only three cells (which
+ * between the radii 0.8 and 1.0 and only three cells (which
  * may be inappropriate here, since we know that it is not sufficient, but may
  * also be impossible to avoid for complex geometries generated in mesh
  * generators), we observe the following:
  *                              center, inner_radius, outer_radius,
  *                              3);    // three circumferential cells
  *  const SphericalManifold<2> boundary_description(center);
- *  triangulation.set_all_manifold_ids(0);
+ *  triangulation.set_all_manifold_ids_on_boundary(0);
  *  triangulation.set_manifold (0, boundary_description);
  *
  *  Triangulation<2>::active_cell_iterator
  *
  * This mesh neither has the correct geometry after refinement, nor do
  * all cells have positive area as is necessary for the finite element
- * method to work. However, even when starting with such in inopportune
+ * method to work. However, even when starting with such an inopportune
  * mesh, we can make things work by attaching a suitable geometry description
  * not only to the boundary but also to interior cells and edges, using
  * the same code as above:
  * (see the documentation of this function). It is also germane to the
  * cases discussed in the @ref GlossDistorted "glossary entry on distorted cells".
  *
- * Another example where the manifold description not just at the boundary but
- * also in the interior of the domain matters is for high-order methods. When
- * using cubic or even higher degrees of the polynomials, full convergence is
- * typically only obtained if a curved description at a boundary transitions
- * into a straight description inside the domain (for example when meshing a
- * ball including the origin) over a layer of finite thickness. This is
- * realized by the class TransfiniteInterpolationManifold.
- *
  * @see @ref GlossManifoldIndicator "Glossary entry on manifold indicators"
  *
  * <h3>Computing the weights for combining different manifold descriptions</h3>
  * In general, the process of blending in deal.II is achieved by the so-called
  * transfinite interpolation. Its formula 2D is, for example, described on
  * <a href="https://en.wikipedia.org/wiki/Transfinite_interpolation">
- * Wikipedia</a>.  Given a point $(u,v)$ on the chart, the image of this point
+ * Wikipedia</a>.  Given a point $(u,v)$ on a chart, the image of this point
  * in real space is given by
  * @f{align*}{
  * \mathbf S(u,v) &= (1-v)\mathbf c_0(u)+v \mathbf c_1(u) + (1-u)\mathbf c_2(v) + u \mathbf c_3(v) \\
  * &\quad - \left[(1-u)(1-v) \mathbf x_0 + u(1-v) \mathbf x_1 + (1-u)v \mathbf x_2 + uv \mathbf x_3 \right]
  * @f}
- * where $\bf x_0, \bf x_1, \bf x_2, \bf x_3$ denote the four bounding vertices
+ * where $\bf x_0, \bf x_1, \bf x_2, \bf x_3$ denote the four vertices
  * bounding the image space and $\bf c_0, \bf c_1, \bf c_2, \bf c_3$ are the
  * four curves describing the lines of the cell.
  *
  * In three spatial dimensions, the weights are +1/2 for the face midpoints,
  * -1/4 for the line mid points, and +1/8 for the vertices, again balancing
  * the different entities. In case all the surrounding of a cell is straight,
- * the formula again reduces to weight 1/8 on the eight vertices.
+ * the formula reduces to the obvious weight 1/8 on each of the eight
+ * vertices.
  *
  * In the MappingQGeneric class, a generalization of this concept to the
  * support points of the polynomial grid representation, the nodes of the
  * weights have been verified to yield optimal convergence rates $\mathcal
  * O(h^{k+1})$ also for very high polynomial degrees, say $k=10$.
  *
- * In literature, also other boundary descriptions are used. Indeed, before
+ * In literature, also other boundary descriptions are used. Before
  * version 9.0 deal.II used something called Laplace smoothing where the
  * weights that are applied to the nodes on the circumference to get the
  * position of the interior nodes are determined by solving a Laplace equation
  *
  * For example, the above case with only 3 circumferential cells leads to the
  * following mesh with Laplace smoothing rather than the interpolation from
- * the boundary (which may be inappropriate here, since we know that it is not
- * sufficient, but may also be impossible to avoid for complex geometries
- * generated in mesh generators):
+ * the boundary:
  *
  * @image html hypershell-boundary-only-3-old.png ""
  *
  * To use a more practical example, consider the refinement of a ball with a
- * SphericalManifold attached to the spherical surface. The Laplace smoothing
+ * SphericalManifold attached to the spherical surface. The Laplace-type smoothing
  * gives the following rather poor mesh:
  *
  * @image html hyperball-mesh-smoothing-laplace.png ""
index 0913ab053f0e9e968319feaedec77da87d438599..085985555a6fc82599880f932cd3159f8608a639 100644 (file)
@@ -86,7 +86,7 @@ template <int,int> class MappingQ;
  *
  * As described above, one often only knows a manifold description of a
  * surface but not the interior of the computational domain. In such a case, a
- * StraightBoundary object will be assigned to the interior entities that
+ * FlatManifold object will be assigned to the interior entities that
  * describes a usual planar coordinate system where the additional points for
  * the higher order mapping are placed exactly according to a bi-/trilinear
  * mapping. When combined with a non-flat manifold on the boundary, for
index ab8137779235d1872f523a7ac414acf934e14c17..8a1828bf30b771c3b56a87da83dd1e5f420834f9 100644 (file)
@@ -568,16 +568,18 @@ private:
  * This manifold is usually attached to a coarse mesh and then places new
  * points as a combination of the descriptions on the boundaries, weighted
  * appropriately according to the position of the point in the original chart
- * coordinates $(u,v)$. Whenever possible, this manifold should be preferred over
- * setting only a curved manifold on the boundary of a mesh, since the latter
- * will need to switch from a curved description to a straight description in a
- * single layer of elements, which causes an error order on cells close to the
- * boundary that does not exceed 3 no matter how high the degree of the
- * polynomial mapping and the finite element space. Using this class instead,
- * the curved nature of the manifold that is originally contained in one
- * <i>coarse</i> mesh layer will be applied to more than one <i>fine</i> mesh
- * layer once the mesh gets refined, restoring the optimal convergence rates of
- * the underlying finite element and mapping as appropriate.
+ * coordinates $(u,v)$. This manifold should be preferred over setting only a
+ * curved manifold on the boundary of a mesh in most situations as it yields
+ * more uniform mesh distributions as the mesh is refined because it switches
+ * from a curved description to a straight description over all children of
+ * the initial coarse cell this manifold was attached to. This way, the curved
+ * nature of the manifold that is originally contained in one <i>coarse</i>
+ * mesh layer will be applied to more than one <i>fine</i> mesh layer once the
+ * mesh gets refined. Note that the mechanisms of
+ * TransfiniteInterpolationManifold are also built into the MappingQGeneric
+ * class when only a surface of a cell is subject to a curved description,
+ * ensuring that even the default case without this manifold gets optimal
+ * convergence rates when applying curved boundary descriptions.
  *
  * If no curved boundaries surround a coarse cell, this class reduces to a flat
  * manifold description.

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.