diff --git a/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h b/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
index 3b58b14bf714fa184f2c6b2d9e5a78f8386c302e..95bc331d805351ec5d7f6ccd21651370ae5f3c72 100644
--- a/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
+++ b/src/gpu/GridGenerator/grid/BoundaryConditions/BoundaryCondition.h
@@ -81,7 +81,8 @@ public:
 
     void fillVelocityLists()
     {
-        for( uint index : this->indices ){
+        for( uint index : this->indices ) {
+            (void) index;
             this->vxList.push_back(vx);
             this->vyList.push_back(vy);
             this->vzList.push_back(vz);
diff --git a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
index 8d2025d4f305e268b645dd651a5d736a0d3b1c47..3d1e8bf302db0d2986375e34a3aaed208c892f0d 100644
--- a/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
+++ b/src/gpu/GridGenerator/grid/GridBuilder/LevelGridBuilder.cpp
@@ -51,7 +51,7 @@ void LevelGridBuilder::setVelocityBoundaryCondition(SideType sideType, real vx,
         setVelocityGeometryBoundaryCondition(vx, vy, vz);
     else
     {
-        for (int level = 0; level < getNumberOfGridLevels(); level++)
+        for (uint level = 0; level < getNumberOfGridLevels(); level++)
         {
             SPtr<VelocityBoundaryCondition> velocityBoundaryCondition = VelocityBoundaryCondition::make(vx, vy, vz);
 
@@ -73,7 +73,7 @@ void LevelGridBuilder::setVelocityGeometryBoundaryCondition(real vx, real vy, re
 {
     geometryHasValues = true;
 
-    for (int level = 0; level < getNumberOfGridLevels(); level++)
+    for (uint level = 0; level < getNumberOfGridLevels(); level++)
     {
 		if (boundaryConditions[level]->geometryBoundaryCondition != nullptr)
 		{
@@ -91,7 +91,7 @@ void LevelGridBuilder::setVelocityGeometryBoundaryCondition(real vx, real vy, re
 
 void LevelGridBuilder::setPressureBoundaryCondition(SideType sideType, real rho)
 {
-    for (int level = 0; level < getNumberOfGridLevels(); level++)
+    for (uint level = 0; level < getNumberOfGridLevels(); level++)
     {
         SPtr<PressureBoundaryCondition> pressureBoundaryCondition = PressureBoundaryCondition::make(rho);
 
@@ -113,7 +113,7 @@ void LevelGridBuilder::setPeriodicBoundaryCondition(bool periodic_X, bool period
 
 void LevelGridBuilder::setNoSlipBoundaryCondition(SideType sideType)
 {
-    for (int level = 0; level < getNumberOfGridLevels(); level++)
+    for (uint level = 0; level < getNumberOfGridLevels(); level++)
     {
         SPtr<VelocityBoundaryCondition> noSlipBoundaryCondition = VelocityBoundaryCondition::make(0.0, 0.0, 0.0);
 
diff --git a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
index 9256610717ea6862efd448d7f9096bf31fe6ee54..ed1403dd87e7df8809a0f02ba1115142e5e5831d 100644
--- a/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
+++ b/src/gpu/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.cpp
@@ -548,7 +548,7 @@ void SimulationFileWriter::writeBoundary(std::vector<real> boundary, int rb)
 
     *qStreams[rb] << (index + 1);
 
-    for (int i = 1; i < boundary.size(); i++) {
+    for (std::size_t i = 1; i < boundary.size(); i++) {
         *qStreams[rb] << " " << std::fixed << std::setprecision(16) << boundary[i];
     }
     *valueStreams[rb] << (index+1) << " 0 0 0";
@@ -564,7 +564,7 @@ void SimulationFileWriter::writeBoundaryShort(std::vector<real> boundary, int rb
 
 	*qStreams[rb] << (index + 1) << " " << key;
 
-	for (int i = 0; i < boundary.size() - 2; i++) {
+	for (std::size_t i = 0; i < boundary.size() - 2; i++) {
 		*qStreams[rb] << " " << std::fixed << std::setprecision(16) << boundary[i];
 	}
 	*valueStreams[rb] << (index + 1) << " 0 0 0";
diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp
index 42614467ca3bfc4f7e5016c1c6ef29a025f76585..556540a1616eef8a0a5e5bf37fed53abd849c222 100644
--- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp
+++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp
@@ -340,7 +340,7 @@ void GridReader::initalValuesDomainDecompostion(int level)
 	// X
 	if ((para->getNumprocs() > 1) && (procNeighborsSendX.size() == procNeighborsRecvX.size()))
 	{
-		for (int j = 0; j < procNeighborsSendX.size(); j++)
+		for (std::size_t j = 0; j < procNeighborsSendX.size(); j++)
 		{
 			for (int i = 0; i <= level; i++) {
 				int tempSend = procNeighborsSendX[j]->getSize(i);
@@ -396,7 +396,7 @@ void GridReader::initalValuesDomainDecompostion(int level)
 	// Y
 	if ((para->getNumprocs() > 1) && (procNeighborsSendY.size() == procNeighborsRecvY.size()))
 	{
-		for (int j = 0; j < procNeighborsSendY.size(); j++)
+		for (std::size_t j = 0; j < procNeighborsSendY.size(); j++)
 		{
 			for (int i = 0; i <= level; i++) {
 				int tempSend = procNeighborsSendY[j]->getSize(i);
@@ -452,7 +452,7 @@ void GridReader::initalValuesDomainDecompostion(int level)
 	// Z
 	if ((para->getNumprocs() > 1) && (procNeighborsSendZ.size() == procNeighborsRecvZ.size()))
 	{
-		for (int j = 0; j < procNeighborsSendZ.size(); j++)
+		for (std::size_t j = 0; j < procNeighborsSendZ.size(); j++)
 		{
 			for (int i = 0; i <= level; i++) {
 				int tempSend = procNeighborsSendZ[j]->getSize(i);
@@ -512,7 +512,7 @@ void GridReader::allocArrays_BoundaryQs()
 	std::vector<std::shared_ptr<BoundaryQs> > BC_Qs(channelDirections.size());
 	this->makeReader(BC_Qs, para);
 
-	for (int i = 0; i < channelBoundaryConditions.size(); i++)
+	for (std::size_t i = 0; i < channelBoundaryConditions.size(); i++)
 	{
 		if (this->channelBoundaryConditions[i] == "noSlip") { setNoSlipQs(BC_Qs[i]); }
 		else if (this->channelBoundaryConditions[i] == "velocity") { setVelocityQs(BC_Qs[i]); }
@@ -793,7 +793,7 @@ void GridReader::initPeriodicNeigh(std::vector<std::vector<std::vector<unsigned
 
 void GridReader::makeReader(std::shared_ptr<Parameter> para)
 {
-	for (int i = 0; i < BC_Values.size(); i++)
+	for (std::size_t i = 0; i < BC_Values.size(); i++)
 	{
 		if (channelDirections[i].compare("inlet") == 0){ BC_Values[i]  = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getinletBcValues())); }
 		if (channelDirections[i].compare("outlet") == 0){ BC_Values[i] = std::shared_ptr<BoundaryValues>(new BoundaryValues(para->getoutletBcValues())); }
@@ -806,7 +806,7 @@ void GridReader::makeReader(std::shared_ptr<Parameter> para)
 
 void GridReader::makeReader(std::vector<std::shared_ptr<BoundaryQs> > &BC_Qs, std::shared_ptr<Parameter> para)
 {
-	for (int i = 0; i < BC_Qs.size(); i++)
+	for (std::size_t i = 0; i < BC_Qs.size(); i++)
 	{
 		if (channelDirections[i].compare("inlet") == 0){ BC_Qs[i]  = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getinletBcQs(), false)); }
 		if (channelDirections[i].compare("outlet") == 0){ BC_Qs[i] = std::shared_ptr<BoundaryQs>(new BoundaryQs(para->getoutletBcQs(), false)); }
@@ -819,7 +819,7 @@ void GridReader::makeReader(std::vector<std::shared_ptr<BoundaryQs> > &BC_Qs, st
 
 void GridReader::setChannelBoundaryCondition()
 {
-	for (int i = 0; i < channelDirections.size(); i++)
+	for (std::size_t i = 0; i < channelDirections.size(); i++)
 	{
 		this->channelBoundaryConditions[i] = BC_Values[i]->getBoundaryCondition();
 		std::cout << this->channelDirections[i] << " Boundary: " << channelBoundaryConditions[i] << std::endl;
diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp
index 5cdf7ecd8bdfe3b7a81ca427a7c05565b533a85c..4c20ea48531c409ef3ac94211d25aa395cc62f8a 100644
--- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp
+++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp
@@ -249,7 +249,7 @@ void GridGenerator::allocArrays_BoundaryValues()
 		{
             if( builder->getCommunicationProcess(direction) == INVALID_INDEX ) continue;
 
-			for (int level = 0; level < builder->getNumberOfGridLevels(); level++)
+			for (uint level = 0; level < builder->getNumberOfGridLevels(); level++)
             {
                 if( direction == CommunicationDirections::MX || direction == CommunicationDirections::PX )
                 {
@@ -443,7 +443,7 @@ void GridGenerator::allocArrays_BoundaryValues()
 		{
 			if (builder->getCommunicationProcess(direction) == INVALID_INDEX) continue;
 
-			for (int level = 0; level < builder->getNumberOfGridLevels(); level++)
+			for (uint level = 0; level < builder->getNumberOfGridLevels(); level++)
 			{
 				if (direction == CommunicationDirections::MX || direction == CommunicationDirections::PX)
 				{
diff --git a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
index a4dbc09a99fb4e5ffe434b6d0bfeb27a73da1052..d185487bb2642fb1628e1a9dc0a932c0ea1e71a0 100644
--- a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
+++ b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp
@@ -396,10 +396,7 @@ void Simulation::run()
    unsigned int t_MP = 0;
    //////////////////////////////////////////////////////////////////////////
    para->setStepEnsight(0);
-   //////////////////////////////////////////////////////////////////////////
-   real visSponge = 0.001f;
-   real omegaSponge = 1.f / ( 3.f * visSponge + 0.5f );
-   //////////////////////////////////////////////////////////////////////////
+
    //turning Ship
    real Pi = (real)3.14159265358979323846;
    real delta_x_F = (real)0.1;
@@ -1306,7 +1303,7 @@ void Simulation::free()
 	gridProvider->~GridProvider();
 	dataWriter->~DataWriter();
 	comm->~Communicator();
-	for(int i = 0; i < kernels.size(); i++)
+	for(std::size_t i = 0; i < kernels.size(); i++)
 		kernels.at(i)->~Kernel();
 
 }
\ No newline at end of file
diff --git a/src/gpu/VirtualFluids_GPU/Output/InterfaceDebugWriter.hpp b/src/gpu/VirtualFluids_GPU/Output/InterfaceDebugWriter.hpp
index 86f380705a3b89105b084fe40a7ffbae65cb10e6..8d1337be8088f3daa55f03fc5fcf1e405c8d0b3d 100644
--- a/src/gpu/VirtualFluids_GPU/Output/InterfaceDebugWriter.hpp
+++ b/src/gpu/VirtualFluids_GPU/Output/InterfaceDebugWriter.hpp
@@ -149,11 +149,6 @@ namespace InterfaceDebugWriter
 		int nodeCount = 0;
 		for (int level = 0; level < para->getMaxLevel(); level++)
 		{
-			double nodeDeltaLevel = para->getParH(level)->dx;
-			double nodeDeltaLevelFine = para->getParH(level+1)->dx;
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-			double halfNodeDeltaLevelFine = 0.5*nodeDeltaLevelFine;
-
 			for(unsigned int u=0;u<para->getParH(level)->K_CF;u++)
 			{
 				double xoff = para->getParH(level)->offCF.xOffCF[u];
@@ -199,9 +194,6 @@ namespace InterfaceDebugWriter
 		int nodeCount2 = 0; 
 		for (int level = 0; level < para->getMaxLevel(); level++)
 		{
-			double nodeDeltaLevel = para->getParH(level)->dx;
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-
 			for(unsigned int u=0;u<para->getParH(level)->K_CF;u++)
 			{
 				int pos = para->getParH(level)->intCF.ICellCFC[u];
@@ -234,9 +226,6 @@ namespace InterfaceDebugWriter
 		int nodeCount2 = 0; 
 		for (int level = 0; level <= para->getMaxLevel(); level++)
 		{
-			double nodeDeltaLevel = para->getParH(level)->dx;
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-
 			for(int u=0;u<para->getParH(level)->QWall.kQ;u++)
 			{
 				int pos = para->getParH(level)->QWall.k[u];
@@ -540,9 +529,6 @@ namespace InterfaceDebugWriter
 		int nodeCount = 0;
 		for (int level = 0; level < para->getMaxLevel(); level++)
 		{
-			double nodeDeltaLevel = para->getParH(level)->dx;
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-
 			for(unsigned int u=0;u<para->getParH(level)->K_CF;u++)
 			{
 				int pos  = para->getParH(level)->intCF.ICellCFC[u];
@@ -587,9 +573,6 @@ namespace InterfaceDebugWriter
 		int nodeCount = 0;
 		for (int level = 0; level < para->getMaxLevel(); level++)
 		{
-			double nodeDeltaLevel = para->getParH(level+1)->dx;
-			double halfNodeDeltaLevel = 0.5*nodeDeltaLevel;
-
 			for(unsigned int u=0;u<para->getParH(level)->K_CF;u++)
 			{
 				int pos  = para->getParH(level  )->intCF.ICellCFF[u];
diff --git a/src/gpu/VirtualFluids_GPU/Output/QDebugWriter.hpp b/src/gpu/VirtualFluids_GPU/Output/QDebugWriter.hpp
index d661aef500b745b49d28892a01fae96e5a6d5dd3..d0c15ec08b7c817538bef86323fe753437e40d30 100644
--- a/src/gpu/VirtualFluids_GPU/Output/QDebugWriter.hpp
+++ b/src/gpu/VirtualFluids_GPU/Output/QDebugWriter.hpp
@@ -21,7 +21,7 @@ namespace QDebugWriter
     {
 
 		std::vector< std::vector<real> > qs;
-		for (size_t j = 0; j < kq; j++)
+		for (int j = 0; j < kq; j++)
 		{
 			uint32_t qKey = 0;
 			std::vector<real> qNode;
@@ -49,14 +49,14 @@ namespace QDebugWriter
 
 
 
-		for (int index = 0; index < qs.size(); index++) {
+		for (std::size_t index = 0; index < qs.size(); index++) {
 			std::vector<real> bcs = qs[index];
 			uint32_t key = *((uint32_t*)&bcs[bcs.size() - 2]);
 			int qIndex = (int)bcs[bcs.size() - 1];
 
 			*outQ << qIndex << " " << key;
 
-			for (int i = 0; i < bcs.size() - 2; i++) {
+			for (std::size_t i = 0; i < bcs.size() - 2; i++) {
 				*outQ << " " << std::fixed << std::setprecision(16) << bcs[i];
 			}