]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Also FE::adjust_quad_dof_index_for_face_orientation(). 16379/head
authorDavid Wells <drwells@email.unc.edu>
Thu, 21 Dec 2023 22:55:31 +0000 (17:55 -0500)
committerDavid Wells <drwells@email.unc.edu>
Fri, 22 Dec 2023 13:42:34 +0000 (08:42 -0500)
include/deal.II/dofs/dof_accessor.templates.h
include/deal.II/fe/fe.h
source/fe/fe.cc

index 3c2e04763feba123e00f4af0c4c38d04b7d28405..a22f0ec5f5376012685870db11ae62b38f7dca8f 100644 (file)
@@ -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<int, 2>(),
                   dof_indices_ptr,
index b9e093aef7bc75d03d114b53b21e73355d661b57..3c448ee5c404ac545b48537722418c944c23ccff 100644 (file)
@@ -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
index e7e54d3f6ad892af75b5920ea4a42b2d30c544c6..aadcaf7bfab58a64dc5b980d10f6484942d24b7a 100644 (file)
@@ -646,11 +646,9 @@ FiniteElement<dim, spacedim>::face_to_cell_index(
 template <int dim, int spacedim>
 unsigned int
 FiniteElement<dim, spacedim>::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<dim, spacedim>::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);
 }
 
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.