From 0ab0f621ae3ace3d6e0dc462a31e560ee467e355 Mon Sep 17 00:00:00 2001 From: Peter Munch Date: Thu, 16 Jun 2022 10:15:19 +0200 Subject: [PATCH] Fix MatrixFree::get_face_category() --- include/deal.II/matrix_free/matrix_free.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/include/deal.II/matrix_free/matrix_free.h b/include/deal.II/matrix_free/matrix_free.h index 903d551b04..68fb429be8 100644 --- a/include/deal.II/matrix_free/matrix_free.h +++ b/include/deal.II/matrix_free/matrix_free.h @@ -2857,7 +2857,7 @@ MatrixFree::get_face_category( if (dof_info[0].cell_active_fe_index.empty()) return std::make_pair(0U, 0U); - std::pair result; + std::pair result = std::make_pair(0U, 0U); for (unsigned int v = 0; v < VectorizedArrayType::size() && face_info.faces[face_batch_index].cells_interior[v] != @@ -2866,7 +2866,8 @@ MatrixFree::get_face_category( result.first = std::max( result.first, dof_info[0].cell_active_fe_index[face_info.faces[face_batch_index] - .cells_interior[v]]); + .cells_interior[v] / + VectorizedArrayType::size()]); if (face_info.faces[face_batch_index].cells_exterior[0] != numbers::invalid_unsigned_int) for (unsigned int v = 0; @@ -2875,9 +2876,10 @@ MatrixFree::get_face_category( numbers::invalid_unsigned_int; ++v) result.second = std::max( - result.first, + result.second, dof_info[0].cell_active_fe_index[face_info.faces[face_batch_index] - .cells_exterior[v]]); + .cells_exterior[v] / + VectorizedArrayType::size()]); else result.second = numbers::invalid_unsigned_int; return result; -- 2.39.5