From 61892b19eab5d1ef407bdd2a7c49b14493c9cf4a Mon Sep 17 00:00:00 2001
From: "Dmitry Yu. Naumov" <github@naumov.de>
Date: Thu, 20 Sep 2018 11:38:50 +0200
Subject: [PATCH] [MeL] PartMeshReader; Add Point element type.

Add OGS_FATAL for not implemented/recognized element types.
---
 .../IO/MPI_IO/NodePartitionedMeshReader.cpp   | 60 ++++++++++++-------
 1 file changed, 38 insertions(+), 22 deletions(-)

diff --git a/MeshLib/IO/MPI_IO/NodePartitionedMeshReader.cpp b/MeshLib/IO/MPI_IO/NodePartitionedMeshReader.cpp
index e47d071ed3b..995bbbefe37 100644
--- a/MeshLib/IO/MPI_IO/NodePartitionedMeshReader.cpp
+++ b/MeshLib/IO/MPI_IO/NodePartitionedMeshReader.cpp
@@ -628,29 +628,45 @@ void NodePartitionedMeshReader::setElements(
 
         // The element types below are defined by the mesh_partition tool
         // available at https://github.com/ufz/mesh_partition .
-        switch(e_type)
+        switch (e_type)
         {
-        case 2:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Line(elem_nodes, mat_idx);
-            break;
-        case 6:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Quad(elem_nodes, mat_idx);
-            break;
-        case 11:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Hex(elem_nodes, mat_idx);
-            break;
-        case 4:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Tri(elem_nodes, mat_idx);
-            break;
-        case 9:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Tet(elem_nodes, mat_idx);
-            break;
-        case 14:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Prism(elem_nodes, mat_idx);
-            break;
-        case 17:
-            mesh_elems[i + id_offset_ghost] = new MeshLib::Pyramid(elem_nodes, mat_idx);
-            break;
+            case 1:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Point(elem_nodes, mat_idx);
+                break;
+            case 2:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Line(elem_nodes, mat_idx);
+                break;
+            case 6:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Quad(elem_nodes, mat_idx);
+                break;
+            case 11:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Hex(elem_nodes, mat_idx);
+                break;
+            case 4:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Tri(elem_nodes, mat_idx);
+                break;
+            case 9:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Tet(elem_nodes, mat_idx);
+                break;
+            case 14:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Prism(elem_nodes, mat_idx);
+                break;
+            case 17:
+                mesh_elems[i + id_offset_ghost] =
+                    new MeshLib::Pyramid(elem_nodes, mat_idx);
+                break;
+            default:
+                OGS_FATAL(
+                    "NodePartitionedMeshReader: construction of element type "
+                    "%d is not implemented.",
+                    e_type);
         }
     }
 }
-- 
GitLab