diff --git a/FileIO/readMeshFromFile.cpp b/FileIO/readMeshFromFile.cpp index 57c1ee4119b533f439fe5b1ef689940f416d9774..a82880078563719d77c6af400bb0a2dba8518a0d 100644 --- a/FileIO/readMeshFromFile.cpp +++ b/FileIO/readMeshFromFile.cpp @@ -15,6 +15,10 @@ * @author Karsten Rink */ +#ifdef USE_PETSC +#include <petsc.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" +// FileIO : for reading partitioned mesh. +#ifdef USE_PETSC +#include "FileIO/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; @@ -45,5 +58,6 @@ MeshLib::Mesh* readMeshFromFile(const std::string &file_name) ERR("readMeshFromFile(): Unknown mesh file format in file %s.", file_name.c_str()); return nullptr; +#endif } } // end namespace FileIO