From 6c0cb3d34dbf0fdea73aca6da3f71be6fe1582c8 Mon Sep 17 00:00:00 2001
From: "TESLA03\\Master" <a.wellmann@tu-bs.de>
Date: Thu, 8 Jul 2021 14:29:20 +0200
Subject: [PATCH] Cut the domain normal to the y-axis

---
 apps/gpu/LBM/MusselOyster/MusselOyster.cpp   | 38 ++++++++++----------
 apps/gpu/LBM/MusselOyster/MusselOyterMPI.bat |  4 +++
 2 files changed, 23 insertions(+), 19 deletions(-)
 create mode 100644 apps/gpu/LBM/MusselOyster/MusselOyterMPI.bat

diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
index 3844c1c3f..481c07748 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 000000000..c574cd521
--- /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
-- 
GitLab