From 964caab229c87b6a6fefaebc6a1fae91e6be28e7 Mon Sep 17 00:00:00 2001 From: Marc Fehling Date: Wed, 5 Apr 2023 16:31:49 -0600 Subject: [PATCH] Fix interface mismatch in ScratchData in hp mode. --- source/meshworker/scratch_data.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/meshworker/scratch_data.cc b/source/meshworker/scratch_data.cc index fedca84bc4..8bb1d6b512 100644 --- a/source/meshworker/scratch_data.cc +++ b/source/meshworker/scratch_data.cc @@ -317,9 +317,15 @@ namespace MeshWorker // then we defer to the dominance of one FE over another. This should // ensure that the optimal integration order and mapping order are // selected for this situation. - const unsigned int dominated_fe_index = - fe_collection->find_dominated_fe( - {cell->active_fe_index(), neighbor_cell->active_fe_index()}); + unsigned int dominated_fe_index = fe_collection->find_dominated_fe( + {cell->active_fe_index(), neighbor_cell->active_fe_index()}); + + // TODO: find_dominated_fe returns invalid_fe_index when no dominated FE + // has been found. We want to pass this value to FEFaceValues, but it + // expects an invalid_unsigned_int in this case. We need to match the + // interfaces in the future. + if (dominated_fe_index == numbers::invalid_fe_index) + dominated_fe_index = numbers::invalid_unsigned_int; hp_fe_face_values->reinit(cell, face_no, -- 2.39.5