From 4873ecaab9da9b0fb29f62eb25a17f7ea4ac2824 Mon Sep 17 00:00:00 2001
From: "TESLA03\\Master" <a.wellmann@tu-bs.de>
Date: Tue, 27 Jul 2021 09:28:20 +0200
Subject: [PATCH] Remove unused kernel parameters and refactor
 findFLuidNodeIndices in Grid

---
 apps/gpu/LBM/MusselOyster/MusselOyster.cpp                | 8 ++++----
 src/gpu/GridGenerator/grid/GridImp.cu                     | 5 +++--
 .../CumulantK17chimSparse/CumulantK17CompChimSparse.cu    | 1 -
 .../CumulantK17CompChimSparse_Device.cu                   | 1 -
 .../CumulantK17CompChimSparse_Device.cuh                  | 1 -
 5 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
index 9aca1ca81..a34f55483 100644
--- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
+++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
@@ -221,6 +221,8 @@ void multipleLevel(const std::string& configPath)
 
             gridBuilder->buildGrids(LBM, true); // buildGrids() has to be called before setting the BCs!!!!
 
+            gridBuilder->findGeoFluidNodes();
+
             if (generatePart == 0) {
                 gridBuilder->findCommunicationIndices(CommunicationDirections::PY, LBM);
                 gridBuilder->setCommunicationProcess(CommunicationDirections::PY, 1);
@@ -245,8 +247,6 @@ void multipleLevel(const std::string& configPath)
             //gridBuilder->writeGridsToVtk(path + "/" + bivalveType + "/" + std::to_string(generatePart) + "/grid/");
             //gridBuilder->writeArrows(path + "/" + bivalveType + "/" + std::to_string(generatePart) + " /arrow");
 
-            gridBuilder->findGeoFluidNodes();
-
             SimulationFileWriter::write(gridPath + "/" + std::to_string(generatePart) + "/", gridBuilder, FILEFORMAT::BINARY);
            
         } else {
@@ -261,6 +261,8 @@ void multipleLevel(const std::string& configPath)
             gridBuilder->setPeriodicBoundaryCondition(false, false, true);
 
             gridBuilder->buildGrids(LBM, true); // buildGrids() has to be called before setting the BCs!!!!
+            gridBuilder->findGeoFluidNodes();
+
             //////////////////////////////////////////////////////////////////////////
             gridBuilder->setVelocityBoundaryCondition(SideType::PY, vxLB, 0.0, 0.0);
             gridBuilder->setVelocityBoundaryCondition(SideType::MY, 0.0, 0.0, 0.0);
@@ -270,8 +272,6 @@ void multipleLevel(const std::string& configPath)
             gridBuilder->setVelocityBoundaryCondition(SideType::GEOMETRY, 0.0, 0.0, 0.0);
             //////////////////////////////////////////////////////////////////////////
 
-            gridBuilder->findGeoFluidNodes();
-
             //gridBuilder->writeGridsToVtk("E:/temp/MusselOyster/" + bivalveType + "/grid/");
             // gridBuilder->writeArrows ("E:/temp/MusselOyster/" + bivalveType + "/arrow");
 
diff --git a/src/gpu/GridGenerator/grid/GridImp.cu b/src/gpu/GridGenerator/grid/GridImp.cu
index 5ba3513d8..81ab4a2f6 100644
--- a/src/gpu/GridGenerator/grid/GridImp.cu
+++ b/src/gpu/GridGenerator/grid/GridImp.cu
@@ -860,13 +860,14 @@ CUDA_HOST void GridImp::updateSparseIndices()
 
 CUDA_HOST void GridImp::findFluidNodeIndices() 
 {
-    for (uint index = 0; index < size; index++) {
+    fluidNodeIndices.clear();
+    for (uint index = 0; index < this->sparseSize; index++) {
         int sparseIndex = sparseIndices[index];
         if (sparseIndex == -1)
             continue;
 
         if (this->field.isFluid(index))
-            fluidNodeIndices.push_back(sparseIndex);            
+            fluidNodeIndices.push_back((uint)sparseIndex);  
     }
     numberOfFluidNodes = (uint) fluidNodeIndices.size();
 }
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse.cu
index 26b85c03a..683f04e25 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse.cu
@@ -31,7 +31,6 @@ void CumulantK17CompChimSparse::run()
 
 	LB_Kernel_CumulantK17CompChimSparse <<< grid, threads >>>(
 		para->getParD(level)->omega,
-		para->getParD(level)->geoSP,
 		para->getParD(level)->neighborX_SP,
 		para->getParD(level)->neighborY_SP,
 		para->getParD(level)->neighborZ_SP,
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cu
index a520ebe25..684a89a16 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cu
@@ -41,7 +41,6 @@ using namespace vf::lbm::constant;
 ////////////////////////////////////////////////////////////////////////////////
 extern "C" __global__ void LB_Kernel_CumulantK17CompChimSparse(
 	real omega,
-	uint* typeOfGridNode,
 	uint* neighborX,
 	uint* neighborY,
 	uint* neighborZ,
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cuh b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cuh
index e750a08c2..9ed1fa52b 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cuh
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimSparse/CumulantK17CompChimSparse_Device.cuh
@@ -6,7 +6,6 @@
 
 extern "C" __global__ void LB_Kernel_CumulantK17CompChimSparse(
 	real omega,
-	uint* typeOfGridNode,
 	uint* neighborX,
 	uint* neighborY,
 	uint* neighborZ,
-- 
GitLab