From 6bdf2f2da6ab68d42eea73739c5a3eace423db3a Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters.soeren@gmx.net>
Date: Thu, 11 Feb 2021 10:08:35 +0100
Subject: [PATCH] Fixed unsigned/signed mismatches in VirtualFluidsCore.

---
 CMake/compilerflags/AppleClang.cmake          |  3 +-
 CMake/compilerflags/Clang.cmake               |  5 +++
 CMake/compilerflags/GNU.cmake                 |  6 ++-
 CMake/compilerflags/Intel.cmake               | 16 ++++----
 CMake/compilerflags/icc190.cmake              | 37 -------------------
 .../MPIIOMigrationBECoProcessor.cpp           |  6 +--
 .../MPIIOMigrationCoProcessor.cpp             | 12 +++---
 .../CoProcessors/MPIIORestartCoProcessor.cpp  |  8 ++--
 .../MicrophoneArrayCoProcessor.cpp            |  4 +-
 .../TimeAveragedValuesCoProcessor.cpp         |  6 ++-
 .../WriteBoundaryConditionsCoProcessor.cpp    |  6 +--
 .../WriteThixotropyQuantitiesCoProcessor.cpp  |  6 +--
 .../InitDistributionsBlockVisitor.cpp         |  6 +--
 .../Visitors/InitThixotropyBlockVisitor.cpp   |  6 +--
 src/gpu/VirtualFluids_GPU/CMakeLists.txt      |  5 ---
 15 files changed, 50 insertions(+), 82 deletions(-)
 delete mode 100644 CMake/compilerflags/icc190.cmake

diff --git a/CMake/compilerflags/AppleClang.cmake b/CMake/compilerflags/AppleClang.cmake
index 350561865..18539a52b 100644
--- a/CMake/compilerflags/AppleClang.cmake
+++ b/CMake/compilerflags/AppleClang.cmake
@@ -19,7 +19,6 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic")
 
-#list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wunreachable-code")
-
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder")
diff --git a/CMake/compilerflags/Clang.cmake b/CMake/compilerflags/Clang.cmake
index 434be4269..3ece7349b 100644
--- a/CMake/compilerflags/Clang.cmake
+++ b/CMake/compilerflags/Clang.cmake
@@ -17,10 +17,15 @@ list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fPIC") # position indepe
 # warnings
 #############################################################################################################
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic")
+
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder-ctor")
 
 
+
 #############################################################################################################
 # linker options
 #############################################################################################################
diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake
index 211f2a040..63eeeb9b0 100644
--- a/CMake/compilerflags/GNU.cmake
+++ b/CMake/compilerflags/GNU.cmake
@@ -26,11 +26,15 @@ endif()
 # warnings
 #############################################################################################################
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wall")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wextra")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pedantic")
+
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-function")
+list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-parameter")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-reorder")
-list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-sign-compare")
 list(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unknown-pragmas")
 
+
 #############################################################################################################
 # linker options
 #############################################################################################################
diff --git a/CMake/compilerflags/Intel.cmake b/CMake/compilerflags/Intel.cmake
index a53998d93..90c73b157 100644
--- a/CMake/compilerflags/Intel.cmake
+++ b/CMake/compilerflags/Intel.cmake
@@ -3,14 +3,14 @@
 #############################################################################################################
 
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O")
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd654")
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1125") #virtual function override intended
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1224") #warning directive: This file includes at least one deprecated or antiquated header
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd377")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd327")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd327")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
-#~
-#~ LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-wd266")  #function "__GKfree" declared implicitly
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd654")
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1125") #virtual function override intended
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1224") #warning directive: This file includes at least one deprecated or antiquated header
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd377")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd327")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd327")  #class "std::auto_ptr<RCF::I_ClientTransport>" has no suitable copy constructor
+#
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-wd266")  #function "__GKfree" declared implicitly
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST -O3 -ip -ipo -fno-alias -mcmodel=medium -qopt-streaming-stores=always")
 
 # all
diff --git a/CMake/compilerflags/icc190.cmake b/CMake/compilerflags/icc190.cmake
deleted file mode 100644
index 31c179617..000000000
--- a/CMake/compilerflags/icc190.cmake
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################################################
-## 
-##  intel190 
-##
-###############################################################################################################
-
-MACRO(SET_COMPILER_SPECIFIC_FLAGS_INTERN build_type use64BitOptions)
-   # auto_ptr warning from mu::Parser
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1478") 
-
-   # main intel compiler flags as CMake-list ("xx;yy;")
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST;-O3;-ip;-fno-alias;-mcmodel=medium;-qopt-streaming-stores=always;-qopt-zmm-usage=high") 
-   
-   #Debug
-   #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-g -traceback")
-   
-   ###############################################################################################################
-   ## OpenMP support
-   ###############################################################################################################
-   IF(USE_OPENMP)
-   	LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-qopenmp")
-      LIST(APPEND CAB_ADDITIONAL_LINK_FLAGS "-parallel")
-   ENDIF()
-
-   ###############################################################################################################
-   ## mt support
-   ###############################################################################################################
-   #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread")
-   #LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread")
-   
-   #############################################################################################################
-   # c++ 11 support
-   #############################################################################################################
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11")
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11")
-
-ENDMACRO(SET_COMPILER_SPECIFIC_FLAGS_INTERN build_type use64BitOptions)
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
index 3c3154127..4a24dc4f4 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationBECoProcessor.cpp
@@ -599,7 +599,7 @@ void MPIIOMigrationBECoProcessor::writeBoundaryConds(int step)
             bcVector[ic].resize(0);
             indexContainerVector[ic].resize(0);
 
-            for (int bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
+            for (std::size_t bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
                 BoundaryCondition *bouCond = new BoundaryCondition();
                 if (bcArr->bcvector[bc] == NULL)
                     memset(bouCond, 0, sizeof(BoundaryCondition));
@@ -800,7 +800,7 @@ void MPIIOMigrationBECoProcessor::blocksExchange(int tagN, int ind1, int ind2, i
     SPtr<Block3D> tempBlock;
     int tempRank;
 
-    for (size_t ind = indexB - indexB; ind < indexE - indexB; ind++) // FIXME: both sides of operator are equivalent
+    for (int ind = 0; ind < indexE - indexB; ind++)
     {
         tempBlock = grid->getBlock(indexB + int(ind));
         if (!tempBlock)
@@ -1438,7 +1438,7 @@ void MPIIOMigrationBECoProcessor::readBoundaryConds(int step)
 
             bcVector.resize(0);
 
-            for (size_t ibc = 0; ibc < bcAddArray.boundCond_count; ibc++) {
+            for (int ibc = 0; ibc < bcAddArray.boundCond_count; ibc++) {
                 SPtr<BoundaryConditions> bc;
                 if (memcmp(&bcArray[ibc], nullBouCond, sizeof(BoundaryCondition)) == 0)
                     bc = SPtr<BoundaryConditions>();
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp
index 94c33e5ba..dea392f99 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIOMigrationCoProcessor.cpp
@@ -300,7 +300,7 @@ void MPIIOMigrationCoProcessor::writeDataSet(int step)
     MPI_Offset write_offset;
     size_t sizeofOneDataSet = sizeof(DataSetMigration) + doubleCountInBlock * sizeof(double);
 
-    for (size_t nb = 0; nb < blocksCount; nb++) {
+    for (int nb = 0; nb < blocksCount; nb++) {
         write_offset = (MPI_Offset)(3 * sizeof(dataSetParam) + dataSetArray[nb].globalID * sizeofOneDataSet);
         MPI_File_write_at(file_handler, write_offset, &dataSetArray[nb], 1, dataSetType, MPI_STATUS_IGNORE);
         MPI_File_write_at(file_handler, (MPI_Offset)(write_offset + sizeof(DataSetMigration)),
@@ -460,7 +460,7 @@ void MPIIOMigrationCoProcessor::write4DArray(int step, Arrays arrayType, std::st
     MPI_Offset write_offset;
     size_t sizeofOneDataSet = sizeof(DataSetSmallMigration) + doubleCountInBlock * sizeof(double);
 
-    for (size_t nb = 0; nb < blocksCount; nb++) {
+    for (int nb = 0; nb < blocksCount; nb++) {
         write_offset = (MPI_Offset)(sizeof(dataSetParam) + dataSetSmallArray[nb].globalID * sizeofOneDataSet);
         MPI_File_write_at(file_handler, write_offset, &dataSetSmallArray[nb], 1, dataSetSmallType, MPI_STATUS_IGNORE);
         MPI_File_write_at(file_handler, (MPI_Offset)(write_offset + sizeof(DataSetSmallMigration)),
@@ -581,7 +581,7 @@ void MPIIOMigrationCoProcessor::write3DArray(int step, Arrays arrayType, std::st
     size_t sizeofOneDataSet = sizeof(DataSetSmallMigration) + doubleCountInBlock * sizeof(double);
 
     MPI_Offset write_offset;
-    for (size_t nb = 0; nb < blocksCount; nb++) {
+    for (int nb = 0; nb < blocksCount; nb++) {
         write_offset = (MPI_Offset)(sizeof(dataSetParam) + dataSetSmallArray[nb].globalID * sizeofOneDataSet);
         MPI_File_write_at(file_handler, write_offset, &dataSetSmallArray[nb], 1, dataSetSmallType, MPI_STATUS_IGNORE);
         MPI_File_write_at(file_handler, (MPI_Offset)(write_offset + sizeof(DataSetSmallMigration)),
@@ -1363,7 +1363,7 @@ void MPIIOMigrationCoProcessor::writeBoundaryConds(int step)
             bcindexmatrixVector[ic].resize(0);
             indexContainerVector[ic].resize(0);
 
-            for (int bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
+            for (std::size_t bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
                 BoundaryCondition *bouCond = new BoundaryCondition();
                 if (bcArr->bcvector[bc] == NULL) {
                     memset(bouCond, 0, sizeof(BoundaryCondition));
@@ -1610,7 +1610,7 @@ void MPIIOMigrationCoProcessor::readDataSet(int step)
     size_t index = 0, vectorSize = 0;
     std::vector<double> vectorsOfValues1, vectorsOfValues2, vectorsOfValues3;
 
-    for (int n = 0; n < blocksCount; n++) {
+    for (std::size_t n = 0; n < blocksCount; n++) {
         vectorSize = dataSetParamStr1.nx[0] * dataSetParamStr1.nx[1] * dataSetParamStr1.nx[2] * dataSetParamStr1.nx[3];
         vectorsOfValues1.assign(doubleValuesArray.data() + index, doubleValuesArray.data() + index + vectorSize);
         index += vectorSize;
@@ -2559,7 +2559,7 @@ void MPIIOMigrationCoProcessor::readBoundaryConds(int step)
             indexContainerV.resize(0);
             bcVector.resize(0);
 
-            for (size_t ibc = 0; ibc < bcAddArray[ic].boundCond_count; ibc++) {
+            for (int ibc = 0; ibc < bcAddArray[ic].boundCond_count; ibc++) {
                 SPtr<BoundaryConditions> bc;
                 if (memcmp(&bcArray[ibc], nullBouCond, sizeof(BoundaryCondition)) == 0)
                     bc = SPtr<BoundaryConditions>();
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp
index abcf2bf7a..28253ed99 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/MPIIORestartCoProcessor.cpp
@@ -1243,7 +1243,7 @@ void MPIIORestartCoProcessor::writeBoundaryConds(int step)
             bcAddArray[ic].boundCond_count      = 0; // how many BoundaryConditions in this block
             bcAddArray[ic].indexContainer_count = 0; // how many indexContainer-values in this block
 
-            for (int bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
+            for (std::size_t bc = 0; bc < bcArr->getBCVectorSize(); bc++) {
                 BoundaryCondition *bouCond = new BoundaryCondition();
                 if (bcArr->bcvector[bc] == NULL) {
                     memset(bouCond, 0, sizeof(BoundaryCondition));
@@ -1301,7 +1301,7 @@ void MPIIORestartCoProcessor::writeBoundaryConds(int step)
 
     // how many "big blocks" of BLOCK_SIZE size can by formed
     int bcBlockCount = (int)(count_boundCond / BLOCK_SIZE);
-    if (bcBlockCount * BLOCK_SIZE < count_boundCond)
+    if (bcBlockCount * BLOCK_SIZE < (int)count_boundCond)
         bcBlockCount += 1;
     for (int i = (int)count_boundCond; i < bcBlockCount * BLOCK_SIZE; i++) {
         BoundaryCondition *bouCond = new BoundaryCondition();
@@ -2294,12 +2294,12 @@ void MPIIORestartCoProcessor::readBoundaryConds(int step)
     std::vector<int> bcindexmatrixV;
     std::vector<int> indexContainerV;
 
-    for (size_t n = 0; n < blocksCount; n++) {
+    for (int n = 0; n < blocksCount; n++) {
         bcVector.resize(0);
         bcindexmatrixV.resize(0);
         indexContainerV.resize(0);
 
-        for (size_t ibc = 0; ibc < bcAddArray[n].boundCond_count; ibc++) {
+        for (int ibc = 0; ibc < bcAddArray[n].boundCond_count; ibc++) {
             SPtr<BoundaryConditions> bc;
             if (memcmp(&bcArray[index], nullBouCond, sizeof(BoundaryCondition)) == 0)
                 bc = SPtr<BoundaryConditions>();
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
index 1a5edc27b..698528f32 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
@@ -91,7 +91,7 @@ bool MicrophoneArrayCoProcessor::addMicrophone(Vector3D coords)
 
 void MicrophoneArrayCoProcessor::collectData(double step)
 {
-    for (int i = 0; i < microphones.size(); i++) {
+    for (std::size_t i = 0; i < microphones.size(); i++) {
         LBMReal f[D3Q27System::ENDF + 1];
         microphones[i]->distridution->getDistribution(f, val<1>(microphones[i]->nodeIndexes),
                                                       val<2>(microphones[i]->nodeIndexes),
@@ -104,7 +104,7 @@ void MicrophoneArrayCoProcessor::collectData(double step)
 
 void MicrophoneArrayCoProcessor::writeFile(double /*step*/)
 {
-    for (int i = 0; i < microphones.size(); i++) {
+    for (std::size_t i = 0; i < microphones.size(); i++) {
         std::string fname = path + "/mic/mic_" + UbSystem::toString(microphones[i]->id) + ".csv";
         std::ofstream ostr;
         ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app);
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp
index eb702a548..a7d16877f 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp
@@ -355,11 +355,12 @@ void TimeAveragedValuesCoProcessor::calculateAverageValues(double timeSteps)
 {
     for (int level = minInitLevel; level <= maxInitLevel; level++) {
         int i;
+        const int block_size = (int) blockVector[level].size();
         //#ifdef _OPENMP
         //   #pragma omp parallel for
         //#endif
         // for(SPtr<Block3D> block : blockVector[level])
-        for (i = 0; i < blockVector[level].size(); i++) {
+        for (i = 0; i < block_size; i++) {
             SPtr<Block3D> block = blockVector[level][i];
             if (block) {
                 SPtr<ILBMKernel> kernel                 = block->getKernel();
@@ -476,11 +477,12 @@ void TimeAveragedValuesCoProcessor::calculateSubtotal(double step)
         {
             for (int level = minInitLevel; level <= maxInitLevel; level++) {
                 int i;
+                const int block_size = (int) blockVector[level].size();
                 //#ifdef _OPENMP
                 //#pragma omp for schedule(dynamic)
                 //#endif
                 // for(SPtr<Block3D> block : blockVector[level])
-                for (i = 0; i < blockVector[level].size(); i++) {
+                for (i = 0; i < block_size; i++) {
                     SPtr<Block3D> block = blockVector[level][i];
                     if (block) {
                         SPtr<ILBMKernel> kernel                 = block->getKernel();
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
index 88b5b574b..e1f453879 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
@@ -167,9 +167,9 @@ void WriteBoundaryConditionsCoProcessor::addDataGeo(SPtr<Block3D> block)
     maxX2 -= 1;
     maxX3 -= 1;
 
-    for (size_t ix3 = minX3; ix3 <= maxX3; ix3++) {
-        for (size_t ix2 = minX2; ix2 <= maxX2; ix2++) {
-            for (size_t ix1 = minX1; ix1 <= maxX1; ix1++) {
+    for (int ix3 = minX3; ix3 <= maxX3; ix3++) {
+        for (int ix2 = minX2; ix2 <= maxX2; ix2++) {
+            for (int ix1 = minX1; ix1 <= maxX1; ix1++) {
                 if (!bcArray->isUndefined(ix1, ix2, ix3)) {
                     // int index = 0;
                     nodeNumbers(ix1, ix2, ix3) = nr++;
diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp
index 27ec00a76..436f6738b 100644
--- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp
+++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp
@@ -174,11 +174,11 @@ void WriteThixotropyQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block)
 	//D3Q27BoundaryConditionPtr bcPtr;
 	int nr = (int)nodes.size();
 
-	for (size_t ix3 = minX3; ix3 <= maxX3; ix3++)
+	for (int ix3 = minX3; ix3 <= maxX3; ix3++)
 	{
-		for (size_t ix2 = minX2; ix2 <= maxX2; ix2++)
+		for (int ix2 = minX2; ix2 <= maxX2; ix2++)
 		{
-			for (size_t ix1 = minX1; ix1 <= maxX1; ix1++)
+			for (int ix1 = minX1; ix1 <= maxX1; ix1++)
 			{
 				if (!bcArray->isUndefined(ix1, ix2, ix3) && !bcArray->isSolid(ix1, ix2, ix3))
 				{
diff --git a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
index 870435528..685c5e8c8 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
+++ b/src/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
@@ -163,9 +163,9 @@ void InitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPtr<Block3D>
 
       LBMReal f[D3Q27System::ENDF+1];
 
-      for(int ix3=0; ix3<bcArray->getNX3(); ix3++)
-         for(int ix2=0; ix2<bcArray->getNX2(); ix2++)
-            for(int ix1=0; ix1<bcArray->getNX1(); ix1++)
+      for(std::size_t ix3=0; ix3<bcArray->getNX3(); ix3++)
+         for(std::size_t ix2=0; ix2<bcArray->getNX2(); ix2++)
+            for(std::size_t ix1=0; ix1<bcArray->getNX1(); ix1++)
             {
                Vector3D coords = grid->getNodeCoordinates(block, ix1, ix2, ix3);
                x1 = coords[0];
diff --git a/src/cpu/VirtualFluidsCore/Visitors/InitThixotropyBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/InitThixotropyBlockVisitor.cpp
index 17668ba25..8d9325f45 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/InitThixotropyBlockVisitor.cpp
+++ b/src/cpu/VirtualFluidsCore/Visitors/InitThixotropyBlockVisitor.cpp
@@ -255,9 +255,9 @@ void InitThixotropyBlockVisitor::visit(const SPtr<Grid3D> grid, SPtr<Block3D> bl
 
       LBMReal h[D3Q27System::ENDF+1];
 
-      for(int ix3=0; ix3<bcArray->getNX3(); ix3++)
-         for(int ix2=0; ix2<bcArray->getNX2(); ix2++)
-            for(int ix1=0; ix1<bcArray->getNX1(); ix1++)
+      for(std::size_t ix3=0; ix3<bcArray->getNX3(); ix3++)
+         for(std::size_t ix2=0; ix2<bcArray->getNX2(); ix2++)
+            for(std::size_t ix1=0; ix1<bcArray->getNX1(); ix1++)
             {
                //UbTupleDouble3 coords = grid->getNodeCoordinates(block, ix1, ix2, ix3);
                //x1 = val<1>(coords);
diff --git a/src/gpu/VirtualFluids_GPU/CMakeLists.txt b/src/gpu/VirtualFluids_GPU/CMakeLists.txt
index 06bee95fa..442efdc14 100644
--- a/src/gpu/VirtualFluids_GPU/CMakeLists.txt
+++ b/src/gpu/VirtualFluids_GPU/CMakeLists.txt
@@ -16,8 +16,3 @@ linkBoost(COMPONENTS "serialization")
 #SET(TPN_WIN32 "/EHsc")
 #https://stackoverflow.com/questions/6832666/lnk2019-when-including-asio-headers-solution-generated-with-cmake
 #https://stackoverflow.com/questions/27442885/syntax-error-with-stdnumeric-limitsmax
-
-IF(MSVC)
-    vf_get_library_name(library_name)
-    set_target_properties(${library_name} PROPERTIES LINK_FLAGS "/ignore:4251")
-ENDIF(MSVC)
-- 
GitLab