From: Martin Kronbichler Date: Thu, 30 Nov 2017 14:51:25 +0000 (+0100) Subject: Do not interpolate with additional points for Boundary objects. X-Git-Tag: v9.0.0-rc1~663^2~17 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7456402b8c1308fdc7adaab0b211ba8e9bb3558b;p=dealii.git Do not interpolate with additional points for Boundary objects. --- diff --git a/source/grid/tria.cc b/source/grid/tria.cc index 17f3684bd4..7488644353 100644 --- a/source/grid/tria.cc +++ b/source/grid/tria.cc @@ -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) diff --git a/source/grid/tria_accessor.cc b/source/grid/tria_accessor.cc index 0cc240e623..4ea9917566 100644 --- a/source/grid/tria_accessor.cc +++ b/source/grid/tria_accessor.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1046,7 +1047,10 @@ namespace Point get_new_point_on_object(const TriaAccessor &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 *>(&obj.get_manifold()) != nullptr) return get_new_point_on_object(obj); else {