From bc0ad4466d79d544139a40fb72a4b8d1ab223437 Mon Sep 17 00:00:00 2001 From: Michal Habera Date: Tue, 24 Feb 2026 23:22:45 +0100 Subject: [PATCH 1/2] Pass cell/facet index --- cpp/dolfinx/fem/assemble_expression_impl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cpp/dolfinx/fem/assemble_expression_impl.h b/cpp/dolfinx/fem/assemble_expression_impl.h index eb379285a22..3c9a904d836 100644 --- a/cpp/dolfinx/fem/assemble_expression_impl.h +++ b/cpp/dolfinx/fem/assemble_expression_impl.h @@ -107,7 +107,10 @@ void tabulate_expression( coord_dofs.data(), &entities(e, 1), nullptr, nullptr); } - P0(values_local, cell_info, e, size0); + if constexpr (entities.rank() == 1) + P0(values_local, cell_info, entities(e), size0); + else + P0(values_local, cell_info, entities(e, 0), size0); for (std::size_t j = 0; j < values_local.size(); ++j) values[e * offset + j] = values_local[j]; } From 52b6efe138a65a7951011512c282507f3bf05ffc Mon Sep 17 00:00:00 2001 From: Michal Habera Date: Wed, 11 Mar 2026 20:24:36 +0100 Subject: [PATCH 2/2] Apply suggestion --- cpp/dolfinx/fem/assemble_expression_impl.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/dolfinx/fem/assemble_expression_impl.h b/cpp/dolfinx/fem/assemble_expression_impl.h index 3c9a904d836..618c37af314 100644 --- a/cpp/dolfinx/fem/assemble_expression_impl.h +++ b/cpp/dolfinx/fem/assemble_expression_impl.h @@ -93,6 +93,8 @@ void tabulate_expression( } fn(values_local.data(), &coeffs(e, 0), constants.data(), coord_dofs.data(), nullptr, nullptr, nullptr); + + P0(values_local, cell_info, entity, size0); } else { @@ -105,12 +107,10 @@ void tabulate_expression( } fn(values_local.data(), &coeffs(e, 0), constants.data(), coord_dofs.data(), &entities(e, 1), nullptr, nullptr); + + P0(values_local, cell_info, entity, size0); } - if constexpr (entities.rank() == 1) - P0(values_local, cell_info, entities(e), size0); - else - P0(values_local, cell_info, entities(e, 0), size0); for (std::size_t j = 0; j < values_local.size(); ++j) values[e * offset + j] = values_local[j]; }