From: Peter Munch Date: Sat, 2 Jul 2022 14:47:12 +0000 (+0200) Subject: FEEvaluationBase::read_write_operation case 3: enable masking X-Git-Tag: v9.5.0-rc1~1125^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14085%2Fhead;p=dealii.git FEEvaluationBase::read_write_operation case 3: enable masking --- diff --git a/include/deal.II/matrix_free/fe_evaluation.h b/include/deal.II/matrix_free/fe_evaluation.h index ed5d569267..5e93016525 100644 --- a/include/deal.II/matrix_free/fe_evaluation.h +++ b/include/deal.II/matrix_free/fe_evaluation.h @@ -3342,13 +3342,14 @@ FEEvaluationBase:: // Case 3: standard operation with one index per degree of freedom -> go on // here constexpr unsigned int n_lanes = VectorizedArrayType::size(); - Assert(mask.count() == n_lanes, - ExcNotImplemented("Masking currently not implemented for " - "non-contiguous DoF storage")); - const std::array &cells = + std::array cells = this->get_cell_ids(); + for (unsigned int v = 0; v < n_lanes; ++v) + if (mask[v] == false) + cells[v] = numbers::invalid_unsigned_int; + bool has_hn_constraints = false; if (is_face == false)