From 68ca411abcee380eb8ccb308f46f6921fa139a57 Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 8 Mar 2011 04:16:25 +0000 Subject: [PATCH] Relax the conditions under which we don't return unit_face_support_points a bit. git-svn-id: https://svn.dealii.org/trunk@23467 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/source/fe/fe_system.cc | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/deal.II/source/fe/fe_system.cc b/deal.II/source/fe/fe_system.cc index 42552af2e8..ba1006be8d 100644 --- a/deal.II/source/fe/fe_system.cc +++ b/deal.II/source/fe/fe_system.cc @@ -1962,21 +1962,30 @@ initialize_unit_face_support_points () if (dim == 1) return; - // if one of the base elements has - // no support points, then it makes - // no sense to define support - // points for the composed element, - // so return an empty array to - // demonstrate that fact (note that - // we ask whether the base element - // has no support points at all, + // if one of the base elements has no + // support points, then it makes no sense + // to define support points for the + // composed element. In that case, return + // an empty array to demonstrate that fact + // (note that we ask whether the base + // element has no support points at all, // not only none on the face!) + // + // on the other hand, if there is an + // element that simply has no degrees of + // freedom on the face at all, then we + // don't care whether it has support points + // or not. this is, for example, the case + // for the stable Stokes element Q(p)^dim + // \times DGP(p-1). for (unsigned int base_el=0; base_el 0)) { this->unit_face_support_points.resize(0); return; - }; + } // generate unit face support points @@ -1994,7 +2003,7 @@ initialize_unit_face_support_points () this->unit_face_support_points[i] = base_element(base_i).unit_face_support_points[index_in_base]; - }; + } } -- 2.39.5