* @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 ""
* 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.