From 59f55deaac250a679567c96c4249688f6f9fdd07 Mon Sep 17 00:00:00 2001 From: Maximilian Bergbauer Date: Fri, 1 Jul 2022 11:56:33 +0200 Subject: [PATCH] Add mask --- include/deal.II/matrix_free/fe_evaluation.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/include/deal.II/matrix_free/fe_evaluation.h b/include/deal.II/matrix_free/fe_evaluation.h index ed5d569267..6375c6c113 100644 --- a/include/deal.II/matrix_free/fe_evaluation.h +++ b/include/deal.II/matrix_free/fe_evaluation.h @@ -3914,13 +3914,17 @@ FEEvaluationBase:: for (unsigned int v = 0; v < n_filled_lanes; ++v) { - Assert(cells[v] != numbers::invalid_unsigned_int, ExcNotImplemented()); - dof_indices[v] = - dof_indices_cont[cells[v]] + - this->dof_info - ->component_dof_indices_offset[this->active_fe_index] - [this->first_selected_component] * - this->dof_info->dof_indices_interleave_strides[ind][cells[v]]; + Assert(mask[v] == false || cells[v] != numbers::invalid_unsigned_int, + ExcNotImplemented()); + if (mask[v] == true) + dof_indices[v] = + dof_indices_cont[cells[v]] + + this->dof_info + ->component_dof_indices_offset[this->active_fe_index] + [this->first_selected_component] * + this->dof_info->dof_indices_interleave_strides[ind][cells[v]]; + else + dof_indices[v] = numbers::invalid_unsigned_int; } for (unsigned int v = n_filled_lanes; v < VectorizedArrayType::size(); ++v) -- 2.39.5