]> https://gitweb.dealii.org/ - dealii.git/commitdiff
correct docu of GridTools::transform() and GridGenerator::cylinder() 10079/head
authorNiklas Fehn <fehn@lnm.mw.tum.de>
Fri, 8 May 2020 05:47:15 +0000 (07:47 +0200)
committerNiklas Fehn <fehn@lnm.mw.tum.de>
Fri, 8 May 2020 11:09:07 +0000 (13:09 +0200)
include/deal.II/grid/grid_generator.h
include/deal.II/grid/grid_tools.h

index 3171127d8a6a1ecab0f7c50b59a39e093de5ae6e..36a1ff9133ddd14524648ef63ab946ad3f119de7 100644 (file)
@@ -837,11 +837,6 @@ namespace GridGenerator
    * face (see
    * @ref GlossColorization "the glossary entry on colorization").
    *
-   * If you want the cylinder to revolve around a different axis than the
-   * $x$-axis, then simply rotate the mesh generated by this function using
-   * the GridTools::transform() function using a rotation operator as
-   * argument.
-   *
    * The manifold id for the hull of the cylinder is set to zero, and a
    * CylindricalManifold is attached to it.
    *
index 994a1bedc5d7e7ec87970f84a260d0cde8876bb3..2f4ade51a085385740a9ad683c97c3f38e761afa 100644 (file)
@@ -425,9 +425,28 @@ namespace GridTools
    * hanging nodes in ghost cells if you call the current functions: The
    * vertices of all locally owned cells will be correct, but the vertices of
    * some ghost cells may not. This means that computations like
-   * KellyErrorEstimator may give wrong answers. A safe approach is to use
-   * this function prior to any refinement in parallel, if that is possible,
-   * but not after you refine the mesh.
+   * KellyErrorEstimator may give wrong answers.
+   *
+   * @note This function is in general not compatible with manifolds attached
+   * to the triangulation. For example, in order to refine the grid (using
+   * manifolds) after the grid transformation, you have to make sure that
+   * the original manifold is still valid for the transformed geometry. This
+   * does not hold in general, and it is necessary to clear the manifold and
+   * attach a new one for the transformed geometry in these cases.
+   * If you want to perform refinements according to the original
+   * manifold description attached to the triangulation, you should first do
+   * the refinements, subsequently deactivate all manifolds, and finally call
+   * the transform() function. The result is a triangulation with correctly
+   * transformed vertices, but otherwise straight-sided elements. The
+   * following procedure is recommended
+   * @code
+   * ...
+   * triangulation.refine_global(n_refinements);
+   * triangulation.reset_all_manifolds();
+   * Transformation<dim> transformation;
+   * GridTools::transform(transformation, triangulation);
+   * ...
+   * @endcode
    *
    * This function is used in the "Possibilities for extensions" section of
    * step-38. It is also used in step-49 and step-53.

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.