From: David Wells Date: Sun, 1 Jun 2025 20:13:09 +0000 (-0400) Subject: FE_PolyTensor: make a function use the combined orientation. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=600a65d9753a97a87b29cc87c0747a561d360a5a;p=dealii.git FE_PolyTensor: make a function use the combined orientation. --- diff --git a/include/deal.II/fe/fe_poly_tensor.h b/include/deal.II/fe/fe_poly_tensor.h index 1a66c682c0..8ad405734f 100644 --- a/include/deal.II/fe/fe_poly_tensor.h +++ b/include/deal.II/fe/fe_poly_tensor.h @@ -225,23 +225,19 @@ protected: /** * 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 and additionally can change the sign. Given a local - * dof @p index on a quad, return the - * sign of the permuted shape function, 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 it does nothing in this case. + * (quads) have to be permuted in order to be combined with the correct shape + * functions and additionally can change the sign. Given a local dof @p index + * on a quad, return the sign of the permuted shape function. * * The permutation itself is returned by * adjust_quad_dof_index_for_face_orientation implemented in the interface * class FiniteElement. */ bool - adjust_quad_dof_sign_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_sign_for_face_orientation( + const unsigned int index, + const unsigned int face_no, + const types::geometric_orientation combined_orientation) const; /** * For faces with non-standard face_orientation in 3d, the dofs on faces diff --git a/source/fe/fe_poly_tensor.cc b/source/fe/fe_poly_tensor.cc index c3426e46c7..bd2bc5d866 100644 --- a/source/fe/fe_poly_tensor.cc +++ b/source/fe/fe_poly_tensor.cc @@ -341,11 +341,9 @@ FE_PolyTensor::single_mapping_kind() const template bool FE_PolyTensor::adjust_quad_dof_sign_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 types::geometric_orientation combined_orientation) const { // do nothing in 1d and 2d if (dim < 3) @@ -366,11 +364,8 @@ FE_PolyTensor::adjust_quad_dof_sign_for_face_orientation( ExcInternalError()); return adjust_quad_dof_sign_for_face_orientation_table - [this->n_unique_2d_subobjects() == 1 ? 0 : face]( - index, - internal::combined_face_orientation(face_orientation, - face_rotation, - face_flip)); + [this->n_unique_2d_subobjects() == 1 ? 0 : face](index, + combined_orientation); } @@ -630,9 +625,7 @@ FE_PolyTensor::fill_fe_values( if (adjust_quad_dof_sign_for_face_orientation( local_quad_dof_index, face_index_from_dof_index, - cell->face_orientation(face_index_from_dof_index), - cell->face_flip(face_index_from_dof_index), - cell->face_rotation(face_index_from_dof_index))) + cell->combined_face_orientation(face_index_from_dof_index))) dof_sign = -1.0; } @@ -1267,9 +1260,7 @@ FE_PolyTensor::fill_fe_face_values( if (adjust_quad_dof_sign_for_face_orientation( local_quad_dof_index, face_index_from_dof_index, - cell->face_orientation(face_index_from_dof_index), - cell->face_flip(face_index_from_dof_index), - cell->face_rotation(face_index_from_dof_index))) + cell->combined_face_orientation(face_index_from_dof_index))) dof_sign = -1.0; } @@ -1951,9 +1942,7 @@ FE_PolyTensor::fill_fe_subface_values( if (adjust_quad_dof_sign_for_face_orientation( local_quad_dof_index, face_index_from_dof_index, - cell->face_orientation(face_index_from_dof_index), - cell->face_flip(face_index_from_dof_index), - cell->face_rotation(face_index_from_dof_index))) + cell->combined_face_orientation(face_index_from_dof_index))) dof_sign = -1.0; }