From a9e6fe77d3864afb66b5d0248fe4c476cc423424 Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Fri, 28 Sep 2018 18:18:09 +0200
Subject: [PATCH] Begin use of Partitioner

---
 src/mesh/GmshReader.cpp | 33 ++++++++++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp
index e599ea808..5b9e65164 100644
--- a/src/mesh/GmshReader.cpp
+++ b/src/mesh/GmshReader.cpp
@@ -309,10 +309,37 @@ GmshReader::GmshReader(const std::string& filename)
     CSRGraph mesh_graph;
     if (commRank() == 0) {
       mesh_graph = m_mesh->cellToCellGraph();
-    }
 
-    Partitioner P;
-    Array<int> new_cell_owner = P.partition(mesh_graph);
+      CellValue<int> cell_parts;
+      switch(m_mesh->meshDimension())
+      {
+        case 1: {
+          Mesh<Connectivity1D>& mesh = dynamic_cast<Mesh<Connectivity1D>&>(*m_mesh);
+          CellValue<int> mesh_cell_parts(mesh.connectivity());
+          cell_parts = mesh_cell_parts;
+          break;
+        }
+        case 2: {
+          Mesh<Connectivity2D>& mesh = dynamic_cast<Mesh<Connectivity2D>&>(*m_mesh);
+          CellValue<int> mesh_cell_parts(mesh.connectivity());
+          cell_parts = mesh_cell_parts;
+          break;
+        }
+        case 3: {
+          Mesh<Connectivity3D>& mesh = dynamic_cast<Mesh<Connectivity3D>&>(*m_mesh);
+          CellValue<int> mesh_cell_parts(mesh.connectivity());
+          cell_parts = mesh_cell_parts;
+          break;
+        }
+        default:{
+          perr() << "unexpected mesh dimension\n";
+          Messenger::destroy();
+          std::exit(1);
+        }
+      }
+      Partitioner P;
+      cell_parts = P.partition(mesh_graph);
+    }
 
     Messenger::destroy();
     std::exit(0);
-- 
GitLab