From c27947a6da713884cdadbd7f4e4c6a81ddd358a1 Mon Sep 17 00:00:00 2001
From: schoen <schoen@irmb.tu-bs.de>
Date: Sat, 12 Jun 2021 22:08:18 +0200
Subject: [PATCH] fixed bugs in some cases

---
 .../DiluteGravityCurrents_Case2.cpp                    | 10 +++++++---
 .../DiluteGravityCurrents_Case4.cpp                    | 10 +++++++---
 .../DiluteGravityCurrents_Case6.cpp                    | 10 +++++++---
 .../DiluteGravityCurrents_Case7.cpp                    |  2 +-
 .../DiluteGravityCurrents_Case8.cpp                    | 10 +++++++---
 5 files changed, 29 insertions(+), 13 deletions(-)

diff --git a/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp b/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp
index 5e8efdd85..0ffe850c1 100644
--- a/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp
+++ b/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp
@@ -109,9 +109,9 @@ int main(int argc, char *argv[])
 
         real dx = L / real(nx);
 
-        gridBuilder->addCoarseGrid(-12.5 * L, 0 * L, 0 * L, 12.5 * L, 1.5 * L, 1 * L, dx);
+        gridBuilder->addCoarseGrid(0 * L, 0 * L, 0 * L, 15 * L, 1 * L, 1 * L, dx);
 
-        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
         gridBuilder->buildGrids(lbmOrGks, false);
 
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
         if (lbmOrGks == LBM) {
             SPtr<Parameter> para = Parameter::make();
 
-            real DeltaT = 2.5 * (real)nx / para->getVelocityLB();
+            real DeltaT = 0.5 * (real)nx / para->getVelocityLB();
 
             const uint timeStepOut = (int)DeltaT;
             const uint timeStepEnd = (int)DeltaT * 12;
@@ -192,6 +192,10 @@ int main(int argc, char *argv[])
             // set boundary conditions
             //////////////////////////////////////////////////////////////////////////
 
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PY);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MY);
             gridBuilder->setNoSlipBoundaryCondition(SideType::PZ);
             gridBuilder->setNoSlipBoundaryCondition(SideType::MZ);
 
diff --git a/apps/gpu/DiluteGravityCurrents_Case4/DiluteGravityCurrents_Case4.cpp b/apps/gpu/DiluteGravityCurrents_Case4/DiluteGravityCurrents_Case4.cpp
index 940a08d55..697ac5b5f 100644
--- a/apps/gpu/DiluteGravityCurrents_Case4/DiluteGravityCurrents_Case4.cpp
+++ b/apps/gpu/DiluteGravityCurrents_Case4/DiluteGravityCurrents_Case4.cpp
@@ -109,9 +109,9 @@ int main(int argc, char *argv[])
 
         real dx = L / real(nx);
 
-        gridBuilder->addCoarseGrid(-12.5 * L, 0 * L, 0 * L, 12.5 * L, 1.5 * L, 1 * L, dx);
+        gridBuilder->addCoarseGrid(0 * L, 0 * L, 0 * L, 15 * L, 1 * L, 1 * L, dx);
 
-        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
         gridBuilder->buildGrids(lbmOrGks, false);
 
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
         if (lbmOrGks == LBM) {
             SPtr<Parameter> para = Parameter::make();
 
-            real DeltaT = 2.5 * (real)nx / para->getVelocityLB();
+            real DeltaT = 0.5 * (real)nx / para->getVelocityLB();
 
             const uint timeStepOut = (int)DeltaT;
             const uint timeStepEnd = (int)DeltaT * 12;
@@ -192,6 +192,10 @@ int main(int argc, char *argv[])
             // set boundary conditions
             //////////////////////////////////////////////////////////////////////////
 
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PY);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MY);
             gridBuilder->setNoSlipBoundaryCondition(SideType::PZ);
             gridBuilder->setNoSlipBoundaryCondition(SideType::MZ);
 
diff --git a/apps/gpu/DiluteGravityCurrents_Case6/DiluteGravityCurrents_Case6.cpp b/apps/gpu/DiluteGravityCurrents_Case6/DiluteGravityCurrents_Case6.cpp
index 52b57916d..e7c0f1be9 100644
--- a/apps/gpu/DiluteGravityCurrents_Case6/DiluteGravityCurrents_Case6.cpp
+++ b/apps/gpu/DiluteGravityCurrents_Case6/DiluteGravityCurrents_Case6.cpp
@@ -109,9 +109,9 @@ int main(int argc, char *argv[])
 
         real dx = L / real(nx);
 
-        gridBuilder->addCoarseGrid(-12.5 * L, 0 * L, 0 * L, 12.5 * L, 1.5 * L, 1 * L, dx);
+        gridBuilder->addCoarseGrid(0 * L, 0 * L, 0 * L, 15 * L, 1 * L, 1 * L, dx);
 
-        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
         gridBuilder->buildGrids(lbmOrGks, false);
 
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
         if (lbmOrGks == LBM) {
             SPtr<Parameter> para = Parameter::make();
 
-            real DeltaT = 2.5 * (real)nx / para->getVelocityLB();
+            real DeltaT = 0.5 * (real)nx / para->getVelocityLB();
 
             const uint timeStepOut = (int)DeltaT;
             const uint timeStepEnd = (int)DeltaT * 12;
@@ -192,6 +192,10 @@ int main(int argc, char *argv[])
             // set boundary conditions
             //////////////////////////////////////////////////////////////////////////
 
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PY);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MY);
             gridBuilder->setNoSlipBoundaryCondition(SideType::PZ);
             gridBuilder->setNoSlipBoundaryCondition(SideType::MZ);
 
diff --git a/apps/gpu/DiluteGravityCurrents_Case7/DiluteGravityCurrents_Case7.cpp b/apps/gpu/DiluteGravityCurrents_Case7/DiluteGravityCurrents_Case7.cpp
index c1266235a..f7b3a858a 100644
--- a/apps/gpu/DiluteGravityCurrents_Case7/DiluteGravityCurrents_Case7.cpp
+++ b/apps/gpu/DiluteGravityCurrents_Case7/DiluteGravityCurrents_Case7.cpp
@@ -80,7 +80,7 @@ int main(int argc, char *argv[])
         const real Re   = 15000;// Set Reynolds number for given case
         const real Sc   = 1;    // Set Schmidt number
         const real L    = 1;    // Set height of channel (H)
-        const uint nx   = 140;  // Set the number of nodes discretizing channel depth
+        const uint nx   = 104;  // Set the number of nodes discretizing channel depth
         const real Gate = L;    // Set distance to gate (x0)
 
         // this testcase is implemented for LBM(GPU) only
diff --git a/apps/gpu/DiluteGravityCurrents_Case8/DiluteGravityCurrents_Case8.cpp b/apps/gpu/DiluteGravityCurrents_Case8/DiluteGravityCurrents_Case8.cpp
index 6fe8abaa1..af8ca3817 100644
--- a/apps/gpu/DiluteGravityCurrents_Case8/DiluteGravityCurrents_Case8.cpp
+++ b/apps/gpu/DiluteGravityCurrents_Case8/DiluteGravityCurrents_Case8.cpp
@@ -109,9 +109,9 @@ int main(int argc, char *argv[])
 
         real dx = L / real(nx);
 
-        gridBuilder->addCoarseGrid(-12.5 * L, 0 * L, 0 * L, 12.5 * L, 1.5 * L, 1 * L, dx);
+        gridBuilder->addCoarseGrid(0 * L, 0 * L, 0 * L, 15 * L, 1 * L, 1 * L, dx);
 
-        gridBuilder->setPeriodicBoundaryCondition(true, true, false);
+        gridBuilder->setPeriodicBoundaryCondition(false, false, false);
 
         gridBuilder->buildGrids(lbmOrGks, false);
 
@@ -122,7 +122,7 @@ int main(int argc, char *argv[])
         if (lbmOrGks == LBM) {
             SPtr<Parameter> para = Parameter::make();
 
-            real DeltaT = 2.5 * (real)nx / para->getVelocityLB();
+            real DeltaT = 0.5 * (real)nx / para->getVelocityLB();
 
             const uint timeStepOut = (int)DeltaT;
             const uint timeStepEnd = (int)DeltaT * 12;
@@ -192,6 +192,10 @@ int main(int argc, char *argv[])
             // set boundary conditions
             //////////////////////////////////////////////////////////////////////////
 
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MX);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::PY);
+            gridBuilder->setNoSlipBoundaryCondition(SideType::MY);
             gridBuilder->setNoSlipBoundaryCondition(SideType::PZ);
             gridBuilder->setNoSlipBoundaryCondition(SideType::MZ);
 
-- 
GitLab