diff --git a/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp b/apps/gpu/DiluteGravityCurrents_Case2/DiluteGravityCurrents_Case2.cpp
index 5e8efdd85dc0788540e216d6f44206453b5c492b..0ffe850c1241efb39035701d393fe040ff5cb6ad 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 940a08d55a2de93f1762e526ca79a355d9f45c0c..697ac5b5f916a5d71c5e01135270e87864032bae 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 52b57916d139510678d73d16aa3355a33461ca2f..e7c0f1be960045d109a7618ffcfbadb54f708e93 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 c1266235a6b9e9e99a42cbccdb4cc7b90500c786..f7b3a858a4fc4717e83e4fc39fac890770c48145 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 6fe8abaa19941eb6974876a025c290166ddabda0..af8ca3817189c9507c554b60fd87942279521f39 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);