From 77c0a811f0f496a755c278fe4b86a15abe46cb75 Mon Sep 17 00:00:00 2001
From: Norihiro Watanabe <norihiro.watanabe@ufz.de>
Date: Thu, 3 Nov 2016 13:51:15 +0100
Subject: [PATCH] [Mesh] remove checks for base nodes in
 checkNonlinearNodeIDs()

---
 MeshLib/Mesh.cpp | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/MeshLib/Mesh.cpp b/MeshLib/Mesh.cpp
index 771663394b8..758c7360c7b 100644
--- a/MeshLib/Mesh.cpp
+++ b/MeshLib/Mesh.cpp
@@ -259,21 +259,18 @@ void Mesh::checkNonlinearNodeIDs() const
 {
     for (MeshLib::Element const* e : _elements)
     {
-        for (unsigned i=0; i<e->getNumberOfBaseNodes(); i++)
-        {
-            if (!(e->getNodeIndex(i) < getNumberOfBaseNodes()))
-                OGS_FATAL(
-                    "Node %d is a base/linear node, but the ID is not smaller "
-                    "than the number of base nodes %d. Please renumber node IDs in the mesh.",
-                    e->getNodeIndex(i), getNumberOfBaseNodes());
-        }
         for (unsigned i=e->getNumberOfBaseNodes(); i<e->getNumberOfNodes(); i++)
         {
-            if (!(e->getNodeIndex(i) >= getNumberOfBaseNodes()))
-                OGS_FATAL(
-                    "Node %d is a non-linear node, but the ID is smaller "
-                    "than the number of base nodes %d. Please renumber node IDs in the mesh.",
-                    e->getNodeIndex(i), getNumberOfBaseNodes());
+            if (e->getNodeIndex(i) >= getNumberOfBaseNodes())
+                continue;
+
+            DBUG(
+                "Node %d is a non-linear node, but the ID is smaller "
+                "than the number of base nodes %d.",
+                e->getNodeIndex(i), getNumberOfBaseNodes());
+            ERR("Found a nonlinear node whose ID is smaller than base node IDs."
+                "Some functions may not work properly.");
+            return;
         }
     }
 }
-- 
GitLab