From 2d23341c596fc045c1adf6c9215799bb6135c6cc Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Sat, 5 Apr 2025 13:46:49 +0200 Subject: [PATCH] Portable FEEvaluation: Only go into constraints function if constrained --- .../matrix_free/portable_fe_evaluation.h | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/include/deal.II/matrix_free/portable_fe_evaluation.h b/include/deal.II/matrix_free/portable_fe_evaluation.h index 3b20bd5fbe..0db768b51b 100644 --- a/include/deal.II/matrix_free/portable_fe_evaluation.h +++ b/include/deal.II/matrix_free/portable_fe_evaluation.h @@ -327,11 +327,14 @@ namespace Portable for (unsigned int c = 0; c < n_components_; ++c) { - internal::resolve_hanging_nodes( - data->team_member, - precomputed_data->constraint_weights, - precomputed_data->constraint_mask(cell_id * n_components + c), - Kokkos::subview(shared_data->values, Kokkos::ALL, c)); + if (precomputed_data->constraint_mask(cell_id * n_components + c) != + dealii::internal::MatrixFreeFunctions::ConstraintKinds:: + unconstrained) + internal::resolve_hanging_nodes( + data->team_member, + precomputed_data->constraint_weights, + precomputed_data->constraint_mask(cell_id * n_components + c), + Kokkos::subview(shared_data->values, Kokkos::ALL, c)); } } @@ -348,11 +351,14 @@ namespace Portable { for (unsigned int c = 0; c < n_components_; ++c) { - internal::resolve_hanging_nodes( - data->team_member, - precomputed_data->constraint_weights, - precomputed_data->constraint_mask(cell_id * n_components + c), - Kokkos::subview(shared_data->values, Kokkos::ALL, c)); + if (precomputed_data->constraint_mask(cell_id * n_components + c) != + dealii::internal::MatrixFreeFunctions::ConstraintKinds:: + unconstrained) + internal::resolve_hanging_nodes( + data->team_member, + precomputed_data->constraint_weights, + precomputed_data->constraint_mask(cell_id * n_components + c), + Kokkos::subview(shared_data->values, Kokkos::ALL, c)); } if (precomputed_data->use_coloring) -- 2.39.5