From 7fad00a63732bfc8850a422ee922e238f635d805 Mon Sep 17 00:00:00 2001
From: "TESLA03\\Master" <a.wellmann@tu-bs.de>
Date: Tue, 6 Jul 2021 19:41:00 +0200
Subject: [PATCH] Cut the domain normal to the z-axis intead of the x-axis

The periodic bcs still need to be fixed!
---
 apps/gpu/LBM/MusselOyster/MusselOyster.cpp | 42 +++++++++++-----------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
index fc5018740..59d42d322 100644
--- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
+++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
@@ -193,46 +193,49 @@ void multipleLevel(const std::string& configPath)
                 TriangularMesh::make("C:/Users/Master/Documents/MasterAnna/STL/" + bivalveType + ".stl");
             
             real overlap      = 10.0 * dxGrid;            
-            const real xSplit = bbxm + (bbxm + bbxp) / 2;
+            const real zSplit = bbzm + (bbzm + bbzp) / 2;
 
             if (generatePart == 0) {
-                gridBuilder->addCoarseGrid( xGridMin,           yGridMin,   zGridMin, 
-                                            xSplit + overlap,   yGridMax,   zGridMax, dxGrid);
+                gridBuilder->addCoarseGrid( xGridMin,   yGridMin,   zGridMin, 
+                                            xGridMax,   yGridMax,   zSplit + overlap,   dxGrid);
             }
             if (generatePart == 1) {
-                gridBuilder->addCoarseGrid(xSplit - overlap,    yGridMin,   zGridMin, 
-                                           xGridMax,            yGridMax,   zGridMax, dxGrid);
+                gridBuilder->addCoarseGrid(xGridMin,    yGridMin,   zSplit - overlap, 
+                                           xGridMax,    yGridMax,   zGridMax,           dxGrid);
             }
 
             gridBuilder->addGeometry(bivalveSTL);
 
             if (generatePart == 0)
-                gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin, xSplit,
-                                                                           yGridMin, yGridMax, 
-                                                                           zGridMin, zGridMax));
+                gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin,    xGridMax,
+                                                                           yGridMin,    yGridMax, 
+                                                                           zGridMin,    zSplit));
             if (generatePart == 1)
-                gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xSplit,   xGridMax, 
-                                                                           yGridMin, yGridMax, 
-                                                                           zGridMin, zGridMax));
+                gridBuilder->setSubDomainBox(std::make_shared<BoundingBox>(xGridMin,    xGridMax, 
+                                                                           yGridMin,    yGridMax, 
+                                                                           zSplit,      zGridMax));
+            // falsch, siehe unten 
             gridBuilder->setPeriodicBoundaryCondition(false, false, true);
 
             if (generatePart == 0) {
-                gridBuilder->findCommunicationIndices(CommunicationDirections::PX, LBM);
-                gridBuilder->setCommunicationProcess(CommunicationDirections::PX, 1);
+                gridBuilder->findCommunicationIndices(CommunicationDirections::PZ, LBM);
+                gridBuilder->setCommunicationProcess(CommunicationDirections::PZ, 1);
             }
 
             if (generatePart == 1) {
-                gridBuilder->findCommunicationIndices(CommunicationDirections::MX, LBM);
-                gridBuilder->setCommunicationProcess(CommunicationDirections::MX, 0);
+                gridBuilder->findCommunicationIndices(CommunicationDirections::MZ, LBM);
+                gridBuilder->setCommunicationProcess(CommunicationDirections::MZ, 0);
             }
 
             //////////////////////////////////////////////////////////////////////////
             gridBuilder->setVelocityBoundaryCondition(SideType::PY, vxLB, 0.0, 0.0);
             gridBuilder->setVelocityBoundaryCondition(SideType::MY, 0.0, 0.0, 0.0);
-            if (generatePart == 0)
-                gridBuilder->setVelocityBoundaryCondition(SideType::MX, vxLB, 0.0, 0.0);
-            if (generatePart == 1)
-                gridBuilder->setPressureBoundaryCondition(SideType::PX, 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);
+            // if (generatePart == 1)
+            //     gridBuilder->setPressureBoundaryCondition(SideType::PX, 0.0);           
             gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
             //////////////////////////////////////////////////////////////////////////
             
@@ -266,7 +269,6 @@ void multipleLevel(const std::string& configPath)
             gridBuilder->setVelocityBoundaryCondition(SideType::MX, vxLB, 0.0, 0.0);
 
             gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
-
             //////////////////////////////////////////////////////////////////////////
             SPtr<Grid> grid = gridBuilder->getGrid(gridBuilder->getNumberOfLevels() - 1);
             //////////////////////////////////////////////////////////////////////////
-- 
GitLab