From 8709f302df51ba4fefe9e7bc2c33475dca272ce4 Mon Sep 17 00:00:00 2001 From: David Wells Date: Sat, 8 Jul 2017 14:25:06 -0400 Subject: [PATCH] Change MappingManifold<1, spacedim> to use face manifolds. As of db5ea0f52db we support get_manifold on 1D manifolds, so we can look up the manifold on a 1D face in a dimension-independent way. This is a slight change from the current behavior, but using Manifolds in 1D is a very obscure use case. --- .../incompatibilities/20170708DavidWells | 3 ++ source/fe/mapping_manifold.cc | 33 +------------------ 2 files changed, 4 insertions(+), 32 deletions(-) create mode 100644 doc/news/changes/incompatibilities/20170708DavidWells diff --git a/doc/news/changes/incompatibilities/20170708DavidWells b/doc/news/changes/incompatibilities/20170708DavidWells new file mode 100644 index 0000000000..818dece3ac --- /dev/null +++ b/doc/news/changes/incompatibilities/20170708DavidWells @@ -0,0 +1,3 @@ +Changed: In 1D, the face values calculated by MappingManifold now use the manifold attached to the relevant vertex instead of the manifold on the current face. +
+(David Wells, 2017/07/08) diff --git a/source/fe/mapping_manifold.cc b/source/fe/mapping_manifold.cc index 2c8297ca8c..2ac37d2cb9 100644 --- a/source/fe/mapping_manifold.cc +++ b/source/fe/mapping_manifold.cc @@ -351,37 +351,6 @@ namespace internal { namespace { - /** - * Some specialization for face Manifolds. In one dimension, there - * are no Manifolds associated to faces. The mapping argument is - * only used to help the compiler infer dim and spacedim. - */ - template - const dealii::Manifold<1, spacedim> & - get_face_manifold(const MappingManifold<1,spacedim> &, - const typename dealii::Triangulation<1,spacedim>::cell_iterator &cell, - const unsigned int &) - { - return cell->get_manifold(); - } - - - - /** - * Some specialization for face Manifolds. The mapping argument is - * only used to help the compiler infer dim and spacedim. - */ - template - const dealii::Manifold & - get_face_manifold(const MappingManifold &, - const typename dealii::Triangulation::cell_iterator &cell, - const unsigned int face_no) - { - return cell->face(face_no)->get_manifold(); - } - - - /** * Compute the locations of quadrature points on the object described by * the first argument (and the cell for which the mapping support points @@ -822,7 +791,7 @@ namespace internal { data.store_vertices(cell); - data.manifold = &get_face_manifold(mapping, cell, face_no); + data.manifold = &cell->face(face_no)->get_manifold(); maybe_compute_q_points (data_set, data, -- 2.39.5