From 886c24ec1504c5422cf4399ca70b97c881bfc874 Mon Sep 17 00:00:00 2001 From: David Wells Date: Thu, 21 Dec 2023 17:55:31 -0500 Subject: [PATCH] Also FE::adjust_quad_dof_index_for_face_orientation(). --- include/deal.II/dofs/dof_accessor.templates.h | 6 +----- include/deal.II/fe/fe.h | 19 ++++++++----------- source/fe/fe.cc | 13 ++++--------- 3 files changed, 13 insertions(+), 25 deletions(-) diff --git a/include/deal.II/dofs/dof_accessor.templates.h b/include/deal.II/dofs/dof_accessor.templates.h index 3c2e04763f..a22f0ec5f5 100644 --- a/include/deal.II/dofs/dof_accessor.templates.h +++ b/include/deal.II/dofs/dof_accessor.templates.h @@ -1113,11 +1113,7 @@ namespace internal fe_index, [&](const auto d) { return fe.adjust_quad_dof_index_for_face_orientation( - d, - face_no, - accessor.face_orientation(face_no), - accessor.face_flip(face_no), - accessor.face_rotation(face_no)); + d, face_no, combined_orientation); }, std::integral_constant(), dof_indices_ptr, diff --git a/include/deal.II/fe/fe.h b/include/deal.II/fe/fe.h index b9e093aef7..3c448ee5c4 100644 --- a/include/deal.II/fe/fe.h +++ b/include/deal.II/fe/fe.h @@ -1458,19 +1458,16 @@ public: const unsigned int face_no = 0) const; /** - * For faces with non-standard face_orientation in 3d, the dofs on faces - * (quads) have to be permuted in order to be combined with the correct - * shape functions. Given a local dof @p index on a quad, return the local - * index, if the face has non-standard face_orientation, face_flip or - * face_rotation. In 2d and 1d there is no need for permutation and - * consequently an exception is thrown. + * Given a local dof @p index on a quad, return the local index accounting for + * the face orientation @p combined_orientation. This is only necessary in 3d: + * consequently, if this function is called in 1d or 2d then an exception is + * thrown. */ unsigned int - adjust_quad_dof_index_for_face_orientation(const unsigned int index, - const unsigned int face_no, - const bool face_orientation, - const bool face_flip, - const bool face_rotation) const; + adjust_quad_dof_index_for_face_orientation( + const unsigned int index, + const unsigned int face_no, + const unsigned char combined_orientation) const; /** * Given an index in the natural ordering of indices on a face, return the diff --git a/source/fe/fe.cc b/source/fe/fe.cc index e7e54d3f6a..aadcaf7bfa 100644 --- a/source/fe/fe.cc +++ b/source/fe/fe.cc @@ -646,11 +646,9 @@ FiniteElement::face_to_cell_index( template unsigned int FiniteElement::adjust_quad_dof_index_for_face_orientation( - const unsigned int index, - const unsigned int face, - const bool face_orientation, - const bool face_flip, - const bool face_rotation) const + const unsigned int index, + const unsigned int face, + const unsigned char combined_orientation) const { // general template for 1d and 2d: not // implemented. in fact, the function @@ -677,10 +675,7 @@ FiniteElement::adjust_quad_dof_index_for_face_orientation( this->n_dofs_per_quad(face), ExcInternalError()); return index + adjust_quad_dof_index_for_face_orientation_table[table_n]( - index, - internal::combined_face_orientation(face_orientation, - face_rotation, - face_flip)); + index, combined_orientation); } -- 2.39.5