]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Do not interpolate with additional points for Boundary objects.
authorMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Thu, 30 Nov 2017 14:51:25 +0000 (15:51 +0100)
committerMartin Kronbichler <kronbichler@lnm.mw.tum.de>
Tue, 12 Dec 2017 08:58:04 +0000 (09:58 +0100)
source/grid/tria.cc
source/grid/tria_accessor.cc

index 17f3684bd4890c15c3b21ee4471e92ead632287c..7488644353ab70540fd5ff75526741bb3da5f277 100644 (file)
@@ -5814,6 +5814,7 @@ namespace internal
                     triangulation.vertices[next_unused_vertex] =
                       quad->center(true, true);
                     triangulation.vertices_used[next_unused_vertex] = true;
+
                     // now that we created the right point, make up
                     // the four lines interior to the quad (++ takes
                     // care of the end of the vector)
index 0cc240e62356eb45610364e185207c6ae2958dc8..4ea9917566a7e3f46745d75b6f3e461147fecfb8 100644 (file)
@@ -19,6 +19,7 @@
 #include <deal.II/grid/tria_accessor.h>
 #include <deal.II/grid/tria_accessor.templates.h>
 #include <deal.II/grid/tria_iterator.templates.h>
+#include <deal.II/grid/tria_boundary.h>
 #include <deal.II/base/geometry_info.h>
 #include <deal.II/base/quadrature.h>
 #include <deal.II/grid/grid_tools.h>
@@ -1046,7 +1047,10 @@ namespace
   Point<spacedim> get_new_point_on_object(const TriaAccessor<structdim, dim, spacedim> &obj,
                                           const bool use_laplace)
   {
-    if (use_laplace == false)
+    // if we should not do mesh smoothing or if the object is of the old
+    // Boundary type, do only use the old points
+    if (use_laplace == false ||
+        dynamic_cast<const Boundary<dim,spacedim> *>(&obj.get_manifold()) != nullptr)
       return get_new_point_on_object(obj);
     else
       {

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.