From: Maximilian Bergbauer Date: Fri, 1 Jul 2022 09:56:33 +0000 (+0200) Subject: Add mask X-Git-Tag: v9.5.0-rc1~1113^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14090%2Fhead;p=dealii.git Add mask --- 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)