]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Fixed issues by TH and WB. 6295/head
authorLuca Heltai <luca.heltai@sissa.it>
Mon, 23 Apr 2018 18:01:54 +0000 (20:01 +0200)
committerLuca Heltai <luca.heltai@sissa.it>
Mon, 23 Apr 2018 21:12:52 +0000 (23:12 +0200)
include/deal.II/grid/grid_tools.h
source/grid/grid_tools.cc
tests/grid/grid_tools_min_max_diameter_01.cc

index 1ce036b808b706e28d44bfad9ab0c2d463a64f84..9b3119e1d273eef14e8292860f7a02f0dfa3dd69 100644 (file)
@@ -153,8 +153,14 @@ namespace GridTools
                  const Mapping<dim,spacedim> &mapping = (StaticMappingQ1<dim,spacedim>::mapping));
 
   /**
-   * Return the diameter of the smallest active cell of a triangulation. See
-   * step-24 for an example of use of this function.
+   * Return an approximation of the diameter of the smallest active cell of a
+   * triangulation. See step-24 for an example of use of this function.
+   *
+   * Notice that, even if you pass a non-trivial mapping, the returned value is
+   * computed only using information on the vertices of the triangulation,
+   * possibly transformed by the mapping. While this is accurate most of the
+   * times, it may fail to give the correct result when the triangulation
+   * contains very distorted cells.
    */
   template <int dim, int spacedim>
   double
@@ -162,7 +168,14 @@ namespace GridTools
                          const Mapping<dim,spacedim> &mapping = (StaticMappingQ1<dim,spacedim>::mapping));
 
   /**
-   * Return the diameter of the largest active cell of a triangulation.
+   * Return an approximation of the diameter of the largest active cell of a
+   * triangulation.
+   *
+   * Notice that, even if you pass a non-trivial mapping to this function, the
+   * returned value is computed only using information on the vertices of the
+   * triangulation, possibly transformed by the mapping. While this is accurate
+   * most of the times, it may fail to give the correct result when the
+   * triangulation contains very distorted cells.
    */
   template <int dim, int spacedim>
   double
index ed6e97e30ac1698ccea5755f69691f05c542b26a..e244e2b21d8ce4ae43a58b194a3e1a8f8067448c 100644 (file)
@@ -2776,7 +2776,7 @@ next_cell:
     double diameter(const typename Triangulation<dim, spacedim>::cell_iterator &cell,
                     const Mapping<dim,spacedim> &mapping)
     {
-      auto vertices = mapping.get_vertices(cell);
+      const auto vertices = mapping.get_vertices(cell);
       switch (dim)
         {
         case 1:
index 5cfbdfb8ec87a915c2324f15440a62ed8ecba781..ecf3deb2a7740e04140ee56c2cc692f910a14b76 100644 (file)
@@ -13,6 +13,8 @@
 //
 // ---------------------------------------------------------------------
 
+// test GridTools::minimal_cell_diameter and GridTools::maximal_cell_diameter with a mapping
+
 #include "../tests.h"
 #include <deal.II/base/quadrature_lib.h>
 #include <deal.II/lac/vector.h>
@@ -40,6 +42,7 @@
 
 #define PRECISION 2
 
+
 template <int dim, int spacedim>
 void test(const unsigned int degree)
 {

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.