From d19243b0c065ccb16f4bdc4cfe611adab0c8f2ec Mon Sep 17 00:00:00 2001
From: Max Jaeschke <max.jaeschke@htwk-leipzig.de>
Date: Tue, 24 Sep 2024 20:34:22 +0200
Subject: [PATCH] Add error for bhe id out of valid range

---
 .../CreateHeatTransportBHEProcess.cpp                 | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
index 133c1c89b6b..6dcfe609e73 100644
--- a/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
+++ b/ProcessLib/HeatTransportBHE/CreateHeatTransportBHEProcess.cpp
@@ -248,6 +248,17 @@ std::unique_ptr<Process> createHeatTransportBHEProcess(
         bhe_iterator++;
     }
 
+    if (static_cast<int>(bhes_map.size()) - 1 != bhes_map.rbegin()->first)
+    {
+        OGS_FATAL(
+            "The maximum given BHE id '{:d}' did not match the number of given "
+            "BHE definitions '{:d}'. The BHE ids needs to be defined starting "
+            "from 0, so the maximum BHE id needs to be number of BHE "
+            "definitions minus 1. After all definitions there are no gaps "
+            "allowed between the given ids.",
+            bhes_map.rbegin()->first, bhes_map.size());
+    }
+
     std::vector<BHE::BHETypes> bhes;
     bhes.reserve(bhes_map.size());
     std::ranges::copy(bhes_map | std::views::values, std::back_inserter(bhes));
-- 
GitLab