diff --git a/src/gpu/VirtualFluids_GPU/LBM/LB.h b/src/gpu/VirtualFluids_GPU/LBM/LB.h
index dd443b469431effe2432cfac94146d322771d8fa..a33b3b792cd451307825fd0b2c8716e942440582 100644
--- a/src/gpu/VirtualFluids_GPU/LBM/LB.h
+++ b/src/gpu/VirtualFluids_GPU/LBM/LB.h
@@ -78,7 +78,6 @@ struct InitCondition
    std::vector<int> GridX, GridY, GridZ, DistX, DistY, DistZ;
    std::vector<real> scaleLBMtoSI, translateLBMtoSI;
    std::vector<real> minCoordX, minCoordY, minCoordZ, maxCoordX, maxCoordY, maxCoordZ;
-   std::vector<bool> NeedInterface;
    std::string fname, oPath;
    std::string oPrefix {"MyFile"};
    std::string geometryFileC, geometryFileM, geometryFileF;
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index 8f5c040182ba09e66542819d98f62acb27346b1a..ffabc467d049bf9b93e6b199dc92ad90242031ff 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -376,10 +376,9 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     {
         maxlevel = configData.getValue<int>("NOGL") - 1;
         fine = maxlevel;
-
-        parH.resize(maxlevel + 1);
-        parD.resize(maxlevel + 1);
     }
+    parH.resize(maxlevel + 1);
+    parD.resize(maxlevel + 1);
 
     this->setGridX(std::vector<int>(this->getMaxLevel() + 1, 32));
     this->setGridY(std::vector<int>(this->getMaxLevel() + 1, 32));
@@ -389,8 +388,6 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     this->setDistY(std::vector<int>(this->getMaxLevel() + 1, 32));
     this->setDistZ(std::vector<int>(this->getMaxLevel() + 1, 32));
 
-    this->setNeedInterface(std::vector<bool>(6, true));
-
     if (configData.contains("GridX"))
         this->setGridX(configData.getVector<int>("GridX"));
 
@@ -409,9 +406,6 @@ void Parameter::readConfigData(const vf::basics::ConfigurationFile &configData)
     if (configData.contains("DistZ"))
         this->setDistZ(configData.getVector<int>("DistZ"));
 
-    if (configData.contains("NeedInterface"))
-        this->setNeedInterface(configData.getVector<bool>("NeedInterface"));
-
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     // Kernel
     if (configData.contains("MainKernelName"))
@@ -475,7 +469,7 @@ void Parameter::initLBMSimulationParameter()
 		parH[i]->XdistKn               = getDistX().at(i);
 		parH[i]->YdistKn               = getDistY().at(i);
 		parH[i]->ZdistKn               = getDistZ().at(i);
-		if (i==coarse)
+		if (i == coarse)
 		{
 			parH[i]->distX                 = (real)getDistX().at(i);
 			parH[i]->distY                 = (real)getDistY().at(i);
@@ -513,12 +507,6 @@ void Parameter::initLBMSimulationParameter()
 			//parH[i]->cStartz               = (real)parH[i]->XdistKn;
 			////////////////////////////////////////////////////////////////////////////
 		}
-		parH[i]->need_interface[INTERFACE_E]=getNeedInterface().at(INTERFACE_E);
-		parH[i]->need_interface[INTERFACE_W]=getNeedInterface().at(INTERFACE_W);
-		parH[i]->need_interface[INTERFACE_N]=getNeedInterface().at(INTERFACE_N);
-		parH[i]->need_interface[INTERFACE_S]=getNeedInterface().at(INTERFACE_S);
-		parH[i]->need_interface[INTERFACE_T]=getNeedInterface().at(INTERFACE_T);
-		parH[i]->need_interface[INTERFACE_B]=getNeedInterface().at(INTERFACE_B);
 	}
 
 	//device
@@ -813,10 +801,6 @@ void Parameter::setGeometryFileF(std::string GeometryFileF)
 {
 	ic.geometryFileF = GeometryFileF;
 }
-void Parameter::setNeedInterface(std::vector<bool> NeedInterface)
-{
-	ic.NeedInterface = NeedInterface;
-}
 void Parameter::setRe(real Re)
 {
 	ic.Re = Re;
@@ -1817,10 +1801,6 @@ std::string Parameter::getGeometryFileF()
 {
 	return ic.geometryFileF;
 }
-std::vector<bool> Parameter::getNeedInterface()
-{
-	return ic.NeedInterface;
-}
 real Parameter::getRe()
 {
 	return ic.Re;
@@ -2464,65 +2444,6 @@ std::function<void(real,real,real,real&,real&,real&,real&)>& Parameter::getIniti
     return this->initialCondition;
 }
 
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//private methods
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-void Parameter::initInterfaceParameter(int level)
-{
-	///////////////////////////////////////////////////////////////////////////////////////////////////
-	//host
-	parH[level]->K_CF               = 0;
-	parH[level]->K_FC               = 0;
-	if (parH[level]->need_interface[INTERFACE_E]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNZ   /2);
-		parH[level]->K_FC           += ((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNZ-6)/2);
-	} 
-	if (parH[level]->need_interface[INTERFACE_W]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNZ   /2); 
-		parH[level]->K_FC           += ((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNZ-6)/2);
-	}
-	if (parH[level]->need_interface[INTERFACE_N]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNX   /2)*( parH[level+1]->gridNZ   /2); 
-		parH[level]->K_FC           += ((parH[level+1]->gridNX-6)/2)*((parH[level+1]->gridNZ-6)/2);
-	}
-	if (parH[level]->need_interface[INTERFACE_S]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNX   /2)*( parH[level+1]->gridNZ   /2); 
-		parH[level]->K_FC           += ((parH[level+1]->gridNX-6)/2)*((parH[level+1]->gridNZ-6)/2);
-	}
-	if (parH[level]->need_interface[INTERFACE_T]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNX   /2); 
-		parH[level]->K_FC           += ((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNX-6)/2);
-	}
-	if (parH[level]->need_interface[INTERFACE_B]==true)
-	{
-		parH[level]->K_CF           += ( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNX   /2); 
-		parH[level]->K_FC           += ((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNX-6)/2);
-	}
-	//parH[level]->K_CF               = (( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNZ   /2)*2)+
-	//                                  (( parH[level+1]->gridNX   /2)*( parH[level+1]->gridNZ   /2)*2)+
-	//                                  (( parH[level+1]->gridNY   /2)*( parH[level+1]->gridNX   /2)*2);
-	//parH[level]->K_FC               = (((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNZ-6)/2)*2)+
-	//                                  (((parH[level+1]->gridNX-6)/2)*((parH[level+1]->gridNZ-6)/2)*2)+
-	//                                  (((parH[level+1]->gridNY-6)/2)*((parH[level+1]->gridNX-6)/2)*2);
-	parH[level]->mem_size_kCF       = sizeof(unsigned int)*parH[level]->K_CF;
-	parH[level]->mem_size_kFC       = sizeof(unsigned int)*parH[level]->K_FC;
-	parH[level]->mem_size_kCF_off   = sizeof(real)*parH[level]->K_CF;
-	parH[level]->mem_size_kFC_off   = sizeof(real)*parH[level]->K_FC;
-	///////////////////////////////////////////////////////////////////////////////////////////////////
-	//device
-	parD[level]->K_CF               = parH[level]->K_CF;
-	parD[level]->K_FC               = parH[level]->K_FC;
-	parD[level]->mem_size_kCF       = parH[level]->mem_size_kCF;
-	parD[level]->mem_size_kFC       = parH[level]->mem_size_kFC;
-	parD[level]->mem_size_kCF_off   = parH[level]->mem_size_kCF_off;
-	parD[level]->mem_size_kFC_off   = parH[level]->mem_size_kFC_off;
-	///////////////////////////////////////////////////////////////////////////////////////////////////
-}
 real Parameter::TrafoXtoWorld(int CoordX, int level)
 {
 	return (parH[level]->mTtoWx*CoordX+parH[level]->cTtoWx);
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index 72f11338de17f11fef9cead532ad7548ad5ba512..c95a79771a4433036a695b3990d306fca6709a3c 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -318,9 +318,6 @@ public:
     std::shared_ptr<LBMSimulationParameter> getParH(int level);
     std::shared_ptr<LBMSimulationParameter> getParD(int level);
     
-    void fillSparse(int level);
-
-    // measure points
     void copyMeasurePointsArrayToVector(int lev);
 
     //////////////////////////////////////////////////////////////////////////
@@ -333,7 +330,6 @@ public:
     void setOutputCount(unsigned int outputCount);
     void setlimitOfNodesForVTK(unsigned int limitOfNodesForVTK);
     void setStartTurn(unsigned int inStartTurn);
-    void setSizeMatSparse(int level);
     void setDiffOn(bool isDiff);
     void setCompOn(bool isComp);
     void setDiffMod(int DiffMod);
@@ -473,7 +469,6 @@ public:
     void setMaxCoordX(std::vector<real> MaxCoordX);
     void setMaxCoordY(std::vector<real> MaxCoordY);
     void setMaxCoordZ(std::vector<real> MaxCoordZ);
-    void setNeedInterface(std::vector<bool> NeedInterface);
     void setTempH(TempforBoundaryConditions *TempH);
     void setTempD(TempforBoundaryConditions *TempD);
     void setTempVelH(TempVelforBoundaryConditions *TempVelH);
@@ -677,7 +672,6 @@ public:
     std::vector<real> getMaxCoordX();
     std::vector<real> getMaxCoordY();
     std::vector<real> getMaxCoordZ();
-    std::vector<bool> getNeedInterface();
     TempforBoundaryConditions *getTempH();
     TempforBoundaryConditions *getTempD();
     TempVelforBoundaryConditions *getTempVelH();
@@ -759,12 +753,12 @@ public:
     std::vector<std::shared_ptr<LBMSimulationParameter>> parH;
     std::vector<std::shared_ptr<LBMSimulationParameter>> parD;
 private:
-	void readConfigData(const vf::basics::ConfigurationFile &configData);
+    void readConfigData(const vf::basics::ConfigurationFile &configData);
     void initLBMSimulationParameter();
 
-    bool compOn;
+    bool compOn { false };
     bool diffOn { false };
-    bool isF3;
+    bool isF3 { false };
     bool calcDragLift { false };
     bool calcCp { false };
     bool writeVeloASCII { false };
@@ -783,8 +777,8 @@ private:
     unsigned int timestep;
 
     // Kernel
-    std::string mainKernel{ "CumulantK17Comp" };
-    bool multiKernelOn{ false };
+    std::string mainKernel { "CumulantK17Comp" };
+    bool multiKernelOn { false };
     std::vector<int> multiKernelLevel;
     std::vector<std::string> multiKernel;
 
@@ -818,9 +812,6 @@ private:
     // Step of Ensight writing//
     unsigned int stepEnsight;
 
-    // LogWriter output;
-
-    void initInterfaceParameter(int level);
     real TrafoXtoWorld(int CoordX, int level);
     real TrafoYtoWorld(int CoordY, int level);
     real TrafoZtoWorld(int CoordZ, int level);
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp b/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
index ec2e2e3569ec9b9cf9cb863e9900bf249ceb7f00..aa0551632e566768aaa9b087c072f665d6f7bc3d 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
@@ -136,7 +136,6 @@ TEST(ParameterTest, check_all_Parameter_CanBePassedToConstructor)
     EXPECT_THAT(para.getDistX(), testing::ElementsAreArray({400, 401}));
     EXPECT_THAT(para.getDistY(), testing::ElementsAreArray({500, 501}));
     EXPECT_THAT(para.getDistZ(), testing::ElementsAreArray({600, 601}));
-    EXPECT_THAT(para.getNeedInterface(), testing::ElementsAreArray({true, true, true, true, true, true}));
 
     EXPECT_THAT(para.getMainKernel(), testing::Eq("KernelName"));
     EXPECT_THAT(para.getMultiKernelOn(), testing::Eq(true));
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/parameterTest.cfg b/src/gpu/VirtualFluids_GPU/Parameter/parameterTest.cfg
index edae0daa06537ef30db0ba099096cd32f6831b33..8b6a75ddabaf3a9a570d08982ddad6a00e7b41c5 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/parameterTest.cfg
+++ b/src/gpu/VirtualFluids_GPU/Parameter/parameterTest.cfg
@@ -86,7 +86,6 @@ GridZ = 300 301
 DistX = 400 401
 DistY = 500 501
 DistZ = 600 601
-NeedInterface = true true true true true true
 
 MainKernelName = KernelName
 MultiKernelOn = true