From 673fff8eb3834dd5ce4a41601be8f0153e8ff381 Mon Sep 17 00:00:00 2001
From: Wenqing Wang <wenqing.wang@ufz.de>
Date: Mon, 2 Feb 2015 13:10:17 +0100
Subject: [PATCH] [Mesh] Added reading partitioned mesh to readMeshFromFile.

---
 FileIO/readMeshFromFile.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/FileIO/readMeshFromFile.cpp b/FileIO/readMeshFromFile.cpp
index 57c1ee4119b..3a203b72233 100644
--- a/FileIO/readMeshFromFile.cpp
+++ b/FileIO/readMeshFromFile.cpp
@@ -15,6 +15,10 @@
  * @author Karsten Rink
  */
 
+#ifdef USE_PETSC
+#include <petscksp.h>
+#endif
+
 // ThirdParty/logog
 #include "logog/include/logog.hpp"
 
@@ -29,11 +33,20 @@
 #include "Legacy/MeshIO.h"
 #include "FileIO/VtkIO/VtuInterface.h"
 #include "readMeshFromFile.h"
+//
+#ifdef USE_PETSC
+#include "MPI_IO/NodePartitionedMeshReader.h"
+#include "MeshLib/NodePartitionedMesh.h"
+#endif
 
 namespace FileIO
 {
 MeshLib::Mesh* readMeshFromFile(const std::string &file_name)
 {
+#ifdef USE_PETSC
+	NodePartitionedMeshReader read_pmesh(PETSC_COMM_WORLD);
+	return read_pmesh.read(file_name);
+#else
 	if (BaseLib::hasFileExtension("msh", file_name))
 	{
 		Legacy::MeshIO meshIO;
@@ -42,6 +55,7 @@ MeshLib::Mesh* readMeshFromFile(const std::string &file_name)
 
 	if (BaseLib::hasFileExtension("vtu", file_name))
 		return VtuInterface::readVTUFile(file_name);
+#endif
 
 	ERR("readMeshFromFile(): Unknown mesh file format in file %s.", file_name.c_str());
 	return nullptr;
-- 
GitLab