From: Martin Kronbichler Date: Wed, 23 Sep 2020 16:27:16 +0000 (+0200) Subject: Fix bug in multi-component FEFaceEvaluation::gather_evaluate X-Git-Tag: v9.3.0-rc1~1072^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fdb2d521d01c60866457e9735dc7e6797b9704c;p=dealii.git Fix bug in multi-component FEFaceEvaluation::gather_evaluate --- diff --git a/include/deal.II/matrix_free/fe_evaluation.h b/include/deal.II/matrix_free/fe_evaluation.h index 6ca84eb940..187f22d840 100644 --- a/include/deal.II/matrix_free/fe_evaluation.h +++ b/include/deal.II/matrix_free/fe_evaluation.h @@ -4246,7 +4246,8 @@ FEEvaluationBase:: unsigned int n_vectorization_actual = this->dof_info ->n_vectorization_lanes_filled[this->dof_access_index][this->cell]; - bool has_constraints = false; + bool has_constraints = false; + const unsigned int n_components_read = n_fe_components > 1 ? n_components : 1; if (is_face) { if (this->dof_access_index == @@ -4271,7 +4272,8 @@ FEEvaluationBase:: // check whether any of the SIMD lanes has constraints, i.e., the // constraint indicator which is the second entry of row_starts // increments on this cell - if (my_index_start[n_components].second != my_index_start[0].second) + if (my_index_start[n_components_read].second != + my_index_start[0].second) has_constraints = true; dof_indices[v] = @@ -4284,8 +4286,6 @@ FEEvaluationBase:: { AssertIndexRange((this->cell + 1) * n_lanes * n_fe_components, this->dof_info->row_starts.size()); - const unsigned int n_components_read = - n_fe_components > 1 ? n_components : 1; for (unsigned int v = 0; v < n_vectorization_actual; ++v) { const std::pair *my_index_start =