diff --git a/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.cpp b/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.cpp
index ee0dd86267e49733b8e35b70c7b9a7106120cf5c..3202144810c83e913c2bf5881b967bf78b4675e2 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.cpp
+++ b/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.cpp
@@ -89,6 +89,14 @@ void CudaKernelManager::runVelocityBCKernel(SPtr<Parameter> para)
 	}
 }
 
+void CudaKernelManager::runGeoBCKernel(SPtr<Parameter> para)
+{
+    if (para->getParD()->numberOfVeloBCnodes > 0)
+    {
+        // ...
+    }
+}
+
 void CudaKernelManager::calculateMacroscopicValues(SPtr<Parameter> para)
 {
     if (para->getIsADcalculationOn()) {
diff --git a/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.h b/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.h
index c257875521318615e2b6e59537de8bbb45ad0b70..622bdf135b08ec74b3b45936312ab32e6ac603e6 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.h
+++ b/src/gpu/VirtualFluids_GPU/GPU/CudaKernelManager.h
@@ -55,6 +55,9 @@ public:
 	//! \brief calls the device function of the velocity boundary condition
     void runVelocityBCKernel(SPtr<Parameter> para);
 
+	//! \brief calls the device function of the geometry boundary condition
+	void runGeoBCKernel(SPtr<Parameter> para);
+
     //! \brief calls the device function that calculates the macroscopic values
     void calculateMacroscopicValues(SPtr<Parameter> para);
 
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index 912c1c28314e66210ce5a293832be99563158dfd..533ab72b0d1d312e6ce096a6f507820443737fbd 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -84,6 +84,11 @@ struct ParameterStruct{
 	//! \brief number of lattice nodes for the velocity boundary condition
 	uint numberOfVeloBCnodes;
 	//////////////////////////////////////////////////////////////////////////
+	//! \brief stores the geometry boundary condition data
+	QforBoundaryConditions geometryBC;
+	//! \brief number of lattice nodes for the velocity boundary condition
+	uint numberOfgeometryBCnodes;
+	//////////////////////////////////////////////////////////////////////////
 	//! \brief sets the forcing uniform on every fluid node in all three space dimensions 
 	real *forcing;