diff --git a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
index 1a8493d21a7e3bf5723935613f450a80a989a3c6..c23e4d5dffd844ed363ef5255cc8229cab55cd0c 100644
--- a/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
+++ b/apps/gpu/LBM/MusselOyster/MusselOyster.cpp
@@ -245,11 +245,10 @@ void multipleLevel(const std::string& configPath)
             //gridBuilder->writeGridsToVtk(path + "/" + bivalveType + "/" + std::to_string(generatePart) + "/grid/");
             //gridBuilder->writeArrows(path + "/" + bivalveType + "/" + std::to_string(generatePart) + " /arrow");
 
-            std::cout << "number of grids in gridBuilder.................... " << gridBuilder->getGrids().size()
-                      << std::endl;
-
-            SPtr<NodeIndicesMultiGPU> paraMultiGPU = std::make_shared<NodeIndicesMultiGPU>(NodeIndicesMultiGPU(gridBuilder));
-            
+            gridBuilder->findGeoFluidNodes();
+            std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU = std::make_shared<NodeIndicesMultiGPU>(gridBuilder->getGeoFluidSizes(), 
+                                                                                                             gridBuilder->getGeoFluidNodeIndices());
+            para->setNodeIndicesMultiGPU(nodeIndicesMultiGPU);
 
             SimulationFileWriter::write(gridPath + "/" + std::to_string(generatePart) + "/", gridBuilder, FILEFORMAT::BINARY);
            
@@ -279,7 +278,6 @@ void multipleLevel(const std::string& configPath)
 
             SimulationFileWriter::write(gridPath, gridBuilder, FILEFORMAT::BINARY);
         }
-
         
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -316,7 +314,6 @@ void multipleLevel(const std::string& configPath)
 
        //return;
     }
-
         ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
     SPtr<CudaMemoryManager> cudaMemoryManager = CudaMemoryManager::make(para);
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index ffabc467d049bf9b93e6b199dc92ad90242031ff..de19d741935670cba0589786ab75bea63d3ae88e 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -2486,4 +2486,16 @@ real Parameter::TrafoZtoMGsWorld(int CoordZ, int level)
 	temp += (real)((CoordZ) * parH[level]->dx);
 	return temp;
 }
+
+// CUDA Streams Multi GPU
+void Parameter::setNodeIndicesMultiGPU(std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU)
+{
+    this->nodeIndicesMultiGPU = nodeIndicesMultiGPU;
+}
+
+std::shared_ptr<NodeIndicesMultiGPU> Parameter::getNodeIndicesMultiGPU()
+{
+    return this->nodeIndicesMultiGPU;
+}
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index c95a79771a4433036a695b3990d306fca6709a3c..9ea35d9ffa5b90c910ba697593d41f0cc3be2ce0 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -41,6 +41,7 @@
 #include "LBM/D3Q27.h"
 #include "LBM/LB.h"
 
+#include "VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h"
 
 #include "VirtualFluids_GPU_export.h"
 
@@ -835,6 +836,14 @@ private:
     ////////////////////////////////////////////////////////////////////////////
     // initial condition
     std::function<void(real, real, real, real &, real &, real &, real &)> initialCondition;
+
+    
+    // CUDA Streams Multi GPU
+    std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU;
+
+public:
+    void setNodeIndicesMultiGPU(std::shared_ptr<NodeIndicesMultiGPU> nodeIndicesMultiGPU);
+    std::shared_ptr<NodeIndicesMultiGPU> getNodeIndicesMultiGPU();
 };
 
 #endif