diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp index 3844c1c3f7d37b050fa7a35bbcfecc4b9ad138fb..481c077485a2c561291c59feb5853673a1db6e53 100644 --- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp +++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp @@ -190,16 +190,16 @@ void multipleLevel(const std::string& configPath) // const uint generatePart = 1; const uint generatePart = vf::gpu::Communicator::getInstanz()->getPID(); - real overlap = (real)12.0 * dxGrid; - const real xSplit = bbxp - 20.0; + real overlap = (real)8.0 * dxGrid; + const real ySplit = bbyp - 10.0; if (generatePart == 0) { - gridBuilder->addCoarseGrid( xGridMin, yGridMin, zGridMin, - xSplit + overlap, yGridMax, zGridMax, dxGrid); + gridBuilder->addCoarseGrid( xGridMin, yGridMin, zGridMin, + xGridMax, ySplit+overlap, zGridMax, dxGrid); } if (generatePart == 1) { - gridBuilder->addCoarseGrid(xSplit - overlap, yGridMin, zGridMin, - xGridMax, yGridMax, zGridMax, dxGrid); + gridBuilder->addCoarseGrid(xGridMin, ySplit-overlap, zGridMin, + xGridMax, yGridMax, zGridMax, dxGrid); } // gridBuilder->setNumberOfLayers(6, 8); @@ -208,12 +208,12 @@ void multipleLevel(const std::string& configPath) gridBuilder->addGeometry(bivalveSTL); if (generatePart == 0) - gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin, xSplit, - yGridMin, yGridMax, + gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin, xGridMax, + yGridMin, ySplit, zGridMin, zGridMax)); if (generatePart == 1) - gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xSplit, xGridMax, - yGridMin, yGridMax, + gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin, xGridMax, + ySplit, yGridMax, zGridMin, zGridMax)); // falsch, siehe unten gridBuilder->setPeriodicBoundaryCondition(false, false, true); @@ -221,22 +221,22 @@ void multipleLevel(const std::string& configPath) gridBuilder->buildGrids(LBM, true); // buildGrids() has to be called before setting the BCs!!!! if (generatePart == 0) { - gridBuilder->findCommunicationIndices(CommunicationDirections::PX, LBM); - gridBuilder->setCommunicationProcess(CommunicationDirections::PX, 1); + gridBuilder->findCommunicationIndices(CommunicationDirections::PY, LBM); + gridBuilder->setCommunicationProcess(CommunicationDirections::PY, 1); } if (generatePart == 1) { - gridBuilder->findCommunicationIndices(CommunicationDirections::MX, LBM); - gridBuilder->setCommunicationProcess(CommunicationDirections::MX, 0); + gridBuilder->findCommunicationIndices(CommunicationDirections::MY, LBM); + gridBuilder->setCommunicationProcess(CommunicationDirections::MY, 0); } - ////////////////////////////////////////////////////////////////////////// - gridBuilder->setVelocityBoundaryCondition(SideType::PY, vxLB, 0.0, 0.0); - gridBuilder->setVelocityBoundaryCondition(SideType::MY, 0.0, 0.0, 0.0); + ////////////////////////////////////////////////////////////////////////// + gridBuilder->setVelocityBoundaryCondition(SideType::MX, vxLB, 0.0, 0.0); + gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); if (generatePart == 0) - gridBuilder->setVelocityBoundaryCondition(SideType::MX, vxLB, 0.0, 0.0); + gridBuilder->setVelocityBoundaryCondition(SideType::MY, 0.0, 0.0, 0.0); if (generatePart == 1) - gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0); + gridBuilder->setVelocityBoundaryCondition(SideType::PY, vxLB, 0.0, 0.0); gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0); ////////////////////////////////////////////////////////////////////////// diff --git a/apps/gpu/LBM/MusselOyster/MusselOyterMPI.bat b/apps/gpu/LBM/MusselOyster/MusselOyterMPI.bat new file mode 100644 index 0000000000000000000000000000000000000000..c574cd5217bc46eb687d81ad2bedb2df53d295fc --- /dev/null +++ b/apps/gpu/LBM/MusselOyster/MusselOyterMPI.bat @@ -0,0 +1,4 @@ +:: don't close cmd on error +if not defined in_subprocess (cmd /k set in_subprocess=y ^& %0 %*) & exit ) +:: @ECHO OFF +mpiexec -n 2 C:\Users\Master\Documents\MasterAnna\VirtualFluids_dev\build\bin\Release\MusselOyster.exe \ No newline at end of file