From 25279c80956edc60670e4339fd375a3bb85fc115 Mon Sep 17 00:00:00 2001 From: alena <akaranchuk@list.ru> Date: Fri, 7 Jun 2019 11:09:58 +0200 Subject: [PATCH] add Communicator to RenumberGridVisitor --- .../CoProcessors/MPIIOMigrationBECoProcessor.cpp | 4 ++-- source/VirtualFluidsCore/Visitors/RenumberGridVisitor.cpp | 8 +++++--- source/VirtualFluidsCore/Visitors/RenumberGridVisitor.h | 6 ++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp index a8f74dcc9..1992d0726 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 9b6bcfc24..3ddb171f3 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 2682b7505..86ea8d90e 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; }; -- GitLab