From: Luca Heltai Date: Sat, 5 Mar 2016 15:27:42 +0000 (+0100) Subject: Respect face manifolds. X-Git-Tag: v8.5.0-rc1~1131^2~15 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36a048d1827f4c55802e5ae1c6e91140a11c301e;p=dealii.git Respect face manifolds. --- diff --git a/source/fe/mapping_manifold.cc b/source/fe/mapping_manifold.cc index a047b3af4f..b71f22269b 100644 --- a/source/fe/mapping_manifold.cc +++ b/source/fe/mapping_manifold.cc @@ -353,22 +353,26 @@ namespace internal { /** * Some specialization for face Manifolds. In one dimension, there - * are no Manifolds associated to faces. + * 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 typename dealii::Triangulation<1,spacedim>::cell_iterator &cell, + 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. + * 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 typename dealii::Triangulation::cell_iterator &cell, + get_face_manifold(const MappingManifold &, + const typename dealii::Triangulation::cell_iterator &cell, const unsigned int face_no) { return cell->face(face_no)->get_manifold(); @@ -1257,10 +1261,7 @@ namespace internal { data.store_vertices(cell); - // This should really be get_face_manifold(cell, face_no), but - // that does not compile... At the moment this class works only - // on the cell manifold, and does not respect face manifolds. - data.manifold = &cell->get_manifold(); + data.manifold = &get_face_manifold(mapping, cell, face_no); maybe_compute_q_points (data_set, data,