From: David Wells Date: Thu, 21 Dec 2023 22:55:31 +0000 (-0500) Subject: Also FE::adjust_quad_dof_index_for_face_orientation(). X-Git-Tag: relicensing~225^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=886c24ec1504c5422cf4399ca70b97c881bfc874;p=dealii.git Also FE::adjust_quad_dof_index_for_face_orientation(). --- 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); }