From: Peter Munch Date: Fri, 12 Nov 2021 08:14:40 +0000 (+0100) Subject: Improve assert message in DictionaryPayLoad X-Git-Tag: v9.4.0-rc1~838^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e5ae0db88fc76bd058d24e21149ee49976511b4;p=dealii.git Improve assert message in DictionaryPayLoad --- diff --git a/include/deal.II/base/mpi_compute_index_owner_internal.h b/include/deal.II/base/mpi_compute_index_owner_internal.h index 45682a7489..2a5496d9bd 100644 --- a/include/deal.II/base/mpi_compute_index_owner_internal.h +++ b/include/deal.II/base/mpi_compute_index_owner_internal.h @@ -64,7 +64,9 @@ namespace Utilities , actually_owning_ranks(actually_owning_ranks) , local_range(local_range) , actually_owning_rank_list(actually_owning_rank_list) - {} + { + Assert(local_range.first < local_range.second, ExcInternalError()); + } /** * Implementation of @@ -114,15 +116,19 @@ namespace Utilities for (types::global_dof_index i = interval.first; i < interval.second; i++) - Assert(actually_owning_ranks[i - local_range.first] == - numbers::invalid_unsigned_int, - ExcInternalError()); - Assert(interval.first >= local_range.first && - interval.first < local_range.second, - ExcInternalError()); - Assert(interval.second > local_range.first && - interval.second <= local_range.second, - ExcInternalError()); + Assert( + actually_owning_ranks[i - local_range.first] == + numbers::invalid_unsigned_int, + ExcMessage( + "Multiple processes seem to own the same global index. " + "A possible reason is that the sets of locally owned " + "indices are not distinct.")); + Assert(interval.first < interval.second, ExcInternalError()); + Assert( + local_range.first <= interval.first && + interval.second <= local_range.second, + ExcMessage( + "The specified interval is not handled by the current process.")); #endif std::fill(actually_owning_ranks.data() + interval.first - local_range.first,