diff --git a/src/scifem.cpp b/src/scifem.cpp index cfd8b58..b235560 100644 --- a/src/scifem.cpp +++ b/src/scifem.cpp @@ -622,8 +622,12 @@ transfer_meshtags_to_submesh( // Accumulate global indices across processes dolfinx::la::Vector index_mapper(parent_entity_map, 1); - std::ranges::fill(index_mapper.array(), -1); +#if DOLFINX_VERSION_MINOR > 9 std::span indices = index_mapper.array(); +#else + std::span indices = index_mapper.mutable_array(); +#endif + std::ranges::fill(indices, -1); for (std::size_t i = 0; i < global_tag_indices.size(); ++i) indices[tag_indices[i]] = global_tag_indices[i]; index_mapper.scatter_rev([](std::int32_t a, std::int32_t b) @@ -632,8 +636,13 @@ transfer_meshtags_to_submesh( // Map tag values in a similar way (Allowing negative values) dolfinx::la::Vector values_mapper(parent_entity_map, 1); - std::ranges::fill(values_mapper.array(), std::numeric_limits::min()); +#if DOLFINX_VERSION_MINOR > 9 std::span values = values_mapper.array(); +#else + std::span values = values_mapper.mutable_array(); +#endif + std::ranges::fill(values, std::numeric_limits::min()); + std::span tag_values = tags.values(); for (std::size_t i = 0; i < tag_values.size(); ++i) values[tag_indices[i]] = tag_values[i];