From 7368eeb07fc402fceb6e2b0a16f71aecf158f9a9 Mon Sep 17 00:00:00 2001
From: Timo Koch <timokoch@uio.no>
Date: Thu, 12 Oct 2023 15:41:01 +0200
Subject: [PATCH] [subgrid] Impove error message when buffer size doesn't match

---
 dumux/io/grid/gridmanager_sub.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dumux/io/grid/gridmanager_sub.hh b/dumux/io/grid/gridmanager_sub.hh
index 885dc48522..3145aba69f 100644
--- a/dumux/io/grid/gridmanager_sub.hh
+++ b/dumux/io/grid/gridmanager_sub.hh
@@ -238,8 +238,8 @@ public:
             std::ifstream mask(maskFileName, std::ios_base::binary);
             std::vector<char> buffer(std::istreambuf_iterator<char>(mask), std::istreambuf_iterator<char>{});
             const auto cells = getParamFromGroup<std::array<int, dim>>(paramGroup, "Grid.Cells");
-            if (std::accumulate(cells.begin(), cells.end(), 1, std::multiplies<int>{}) != buffer.size())
-                DUNE_THROW(Dune::IOError, "Grid dimensions doesn't match number of cells specified");
+            if (const auto c = std::accumulate(cells.begin(), cells.end(), 1, std::multiplies<int>{}); c != buffer.size())
+                DUNE_THROW(Dune::IOError, "Grid dimensions doesn't match number of cells specified " << c << ":" << buffer.size());
 
             maybePostProcessBinaryMask_(buffer, cells, paramGroup);
 
-- 
GitLab