diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp index a8f74dcc92060f5e6d136698016a1e92b6d69572..1992d0726fdc0126ad4238bac9a777b39951a26c 100644 --- a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp @@ -238,7 +238,7 @@ void MPIIOMigrationBECoProcessor::writeBlocks(int step) size = 1; grid->deleteBlockIDs(); - RenumberGridVisitor renumber; + RenumberGridVisitor renumber(comm); grid->accept(renumber); if (comm->isRoot()) @@ -1407,7 +1407,7 @@ void MPIIOMigrationBECoProcessor::readBlocks(int step) int maxInitLevel = this->grid->getFinestInitializedLevel(); for (int level = minInitLevel; level <= maxInitLevel; level++) { - grid->getBlocks(level,/* rank,*/ blocksVector[level]); + grid->getBlocks(level, blocksVector[level]); for (SPtr<Block3D> block : blocksVector[level]) // blocks of the current level grid->deleteBlock(block); } diff --git a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp index 9b6bcfc24fff87551e91be98e15f10eb34bc2755..3ddb171f3bd04a52671ed58751e263e53c88cf6b 100644 --- a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp +++ b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp @@ -2,9 +2,10 @@ #include "Grid3DSystem.h" #include "Grid3D.h" #include "Block3D.h" -#include <mpi.h> +//#include <mpi.h> -RenumberGridVisitor::RenumberGridVisitor() +RenumberGridVisitor::RenumberGridVisitor(SPtr<Communicator> com) + : comm(com) { } @@ -17,7 +18,8 @@ void RenumberGridVisitor::visit(SPtr<Grid3D> grid) std::vector<SPtr<Block3D>> blocks; int gridRank = grid->getRank(); int size; - MPI_Comm_size(MPI_COMM_WORLD, &size); + //MPI_Comm_size(MPI_COMM_WORLD, &size); + size = comm->getNumberOfProcesses(); int minInitLevel = grid->getCoarsestInitializedLevel(); int maxInitLevel = grid->getFinestInitializedLevel(); diff --git a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h index 2682b75055aa493df3560b579a4da665efeeb476..86ea8d90e2034ac841cdfc6f2559a432b7719247 100644 --- a/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h +++ b/source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h @@ -9,6 +9,7 @@ #define RenumberGridVisitor_h #include "Grid3DVisitor.h" +#include "Communicator.h" class Grid3D; @@ -18,13 +19,14 @@ class Grid3D; class RenumberGridVisitor : public Grid3DVisitor { public: - RenumberGridVisitor(); + RenumberGridVisitor(SPtr<Communicator> com); virtual ~RenumberGridVisitor() {} void visit(SPtr<Grid3D> grid) override; -//private: +private: + SPtr<Communicator> comm; // static int counter; };