From d67b58d36fea5a11448b2ea77f9d12b6d469c968 Mon Sep 17 00:00:00 2001 From: alena <akaranchuk@list.ru> Date: Fri, 7 Jun 2019 12:09:10 +0200 Subject: [PATCH] fix last merge issues in MPIIOMigrationCoProcessor and MPIIORestartCoProcessor --- .../geometry3d/CoordinateTransformation3D.h | 1 + .../CoProcessors/MPIIOMigrationBECoProcessor.cpp | 1 + .../CoProcessors/MPIIOMigrationCoProcessor.cpp | 13 +++++++------ .../CoProcessors/MPIIORestartCoProcessor.cpp | 1 + 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/source/VirtualFluidsBasic/numerics/geometry3d/CoordinateTransformation3D.h b/source/VirtualFluidsBasic/numerics/geometry3d/CoordinateTransformation3D.h index 6928c5db2..922d51986 100644 --- a/source/VirtualFluidsBasic/numerics/geometry3d/CoordinateTransformation3D.h +++ b/source/VirtualFluidsBasic/numerics/geometry3d/CoordinateTransformation3D.h @@ -153,6 +153,7 @@ private: friend class MPIIORestartCoProcessor; friend class MPIIOMigrationCoProcessor; friend class MPIIOMigrationBECoProcessor; + friend class CheckpointConverter; }; #endif //COORDINATETRANSFORMATION3D_H diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp index 1992d0726..77e6788bf 100644 --- a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp @@ -1698,6 +1698,7 @@ void MPIIOMigrationBECoProcessor::readDataSet(int step) // find the nesessary block and fill it SPtr<Block3D> block = grid->getBlock(blockID); + this->lbmKernel->setBlock(block); SPtr<LBMKernel> kernel = this->lbmKernel->clone(); LBMReal collFactor = LBMSystem::calcCollisionFactor(this->nue, block->getLevel()); kernel->setCollisionFactor(collFactor); diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp index 4240eec8e..236cb7135 100644 --- a/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp @@ -1560,13 +1560,14 @@ void MPIIOMigrationCoProcessor::readBlocks(int step) } // clear the grid - std::vector<SPtr<Block3D>> blocksVector; - grid->getBlocks(0, blocksVector); - int del = 0; - for (SPtr<Block3D> block : blocksVector) + std::vector<SPtr<Block3D>> blocksVector[25]; + int minInitLevel = this->grid->getCoarsestInitializedLevel(); + int maxInitLevel = this->grid->getFinestInitializedLevel(); + for (int level = minInitLevel; level <= maxInitLevel; level++) { - grid->deleteBlock(block); - del++; + grid->getBlocks(level, blocksVector[level]); + for (SPtr<Block3D> block : blocksVector[level]) // blocks of the current level + grid->deleteBlock(block); } // restore the grid diff --git a/source/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp index d8b006804..4e7d3c239 100644 --- a/source/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp @@ -1921,6 +1921,7 @@ void MPIIORestartCoProcessor::readDataSet(int step) // find the nesessary block and fill it SPtr<Block3D> block = grid->getBlock(dataSetArray[n].x1, dataSetArray[n].x2, dataSetArray[n].x3, dataSetArray[n].level); + this->lbmKernel->setBlock(block); SPtr<LBMKernel> kernel = this->lbmKernel->clone(); kernel->setGhostLayerWidth(dataSetArray[n].ghostLayerWidth); kernel->setCollisionFactor(dataSetArray[n].collFactor); -- GitLab