From 9631e2dfb1067ba87a816c3bc2018e50dca30445 Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Sun, 21 May 2023 17:48:11 +0000
Subject: [PATCH] Fix GPU numerical tests.

---
 .gitlab-ci.yml                                |  1 -
 .../ListOfLists/MathematicaListOfListsImp.cpp |  1 +
 .../ListOfLists/MathematicaListOfListsImp.h   |  2 +-
 .../PointList/MathematicaPointListImp.cpp     |  1 +
 .../PostProcessingConfigFileReader.h          |  1 +
 .../PostProcessingConfigFileReaderImp.cpp     |  4 ---
 .../PostProcessingConfigFileReaderImp.h       |  4 +--
 .../NumericalTestPostProcessing/main.cpp      |  8 +++---
 .../NumericalTests/Tests/PhiTest/PhiTest.cpp  | 10 +++----
 .../NumericalTests/Tests/PhiTest/PhiTest.h    |  1 -
 .../L2NormCalculator/L2NormCalculator.h       |  1 +
 .../L2NormCalculatorFactory.h                 |  1 +
 .../ColorConsoleOutput/ColorConsoleOutput.h   |  1 +
 .../AnalyticalResults2DToVTKWriter.h          |  2 +-
 .../InitialCondition/InitialCondition.h       |  1 +
 .../KernelConfiguration/KernelConfiguration.h |  3 ++-
 .../BasicSimulationInfo/BasicSimulationInfo.h |  2 +-
 .../LogFileInformation/LogFileInformation.h   |  3 ++-
 .../LogFileInformationImp.h                   |  1 +
 .../SimulationLogFileInformation.h            |  1 +
 .../Utilities/LogFileQueue/LogFileQueue.h     |  5 +---
 .../LogFileQueue/LogFileQueueImp.cpp          |  2 +-
 .../Utilities/LogFileQueue/LogFileQueueImp.h  |  7 +++--
 .../Utilities/LogFileWriter/LogFileWriter.h   |  1 +
 .../NumericalTestFactory.h                    |  1 +
 .../NumericalTestFactoryImp.h                 |  6 ++---
 .../NumericalTestSimulation.h                 |  1 +
 .../PostProcessingStrategy.h                  |  1 +
 .../AnalyticalResults/AnalyticalResult.h      |  1 +
 .../Utilities/Results/Results.h               |  1 +
 .../Utilities/SimulationInfo/SimulationInfo.h |  1 +
 .../SimulationParameter/SimulationParameter.h |  1 +
 .../Utilities/Test/SimulationObserver.h       |  1 +
 .../NumericalTests/Utilities/Test/Test.h      |  2 +-
 .../NumericalTests/Utilities/Test/TestImp.h   |  6 ++---
 .../Utilities/TestQueue/TestQueue.h           |  1 +
 .../Utilities/TestQueue/TestQueueImp.cpp      |  6 ++---
 .../Utilities/TestQueue/TestQueueImp.h        |  2 +-
 .../Utilities/TestSimulation/TestSimulation.h |  1 +
 .../TestSimulation/TestSimulationImp.cpp      |  2 +-
 .../TestSimulation/TestSimulationImp.h        | 16 ++++++------
 .../NumericalTests/Utilities/Time/TimeImp.h   | 26 +++++++++----------
 .../NumericalTests/Utilities/Time/TimeInfo.h  | 11 ++++----
 .../Utilities/Time/TimeTracking.h             |  3 ++-
 .../Visitors/Block3DVisitor.h                 |  2 +-
 .../Visitors/SetUndefinedNodesBlockVisitor.h  |  2 +-
 46 files changed, 88 insertions(+), 70 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4d22c9cc4..42dc32b0f 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -379,7 +379,6 @@ gpu_numerical_tests:
       - $CI_PROJECT_DIR/cache
 
   artifacts:
-    expire_in: 1 hrs
     paths:
       - $CI_PROJECT_DIR/numerical_tests_gpu_results.txt
 
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
index 58a4128fb..6821f2704 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.cpp
@@ -1,6 +1,7 @@
 #include "MathematicaListOfListsImp.h"
 
 #include <iomanip>
+#include <limits>
 
 std::shared_ptr<MathematicaListOfLists> MathematicaListOfListsImp::getNewInstance(std::string listName, std::vector<std::vector<double>> listOfLists)
 {
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
index ba19ba20d..a1e82892c 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/ListOfLists/MathematicaListOfListsImp.h
@@ -1,5 +1,5 @@
 #ifndef MATHEMATICA_LIST_OF_LISTS_IMP_H
-#define MATHEMATICA_LIST_OF_LISTS_IMÜ_H
+#define MATHEMATICA_LIST_OF_LISTS_IMP_H
 
 #include "MathematicaListOfLists.h"
 
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
index 6689d5f14..cd00dddf1 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/MathematicaFunction/PointList/MathematicaPointListImp.cpp
@@ -4,6 +4,7 @@
 #include "MathematicaPointList.h"
 
 #include <iomanip>
+#include <limits>
 
 std::shared_ptr<MathematicaPointList> MathematicaPointListImp::getNewInstance(std::string listName, std::vector<std::shared_ptr<DataPoint> > plotData)
 {
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
index 4ac2f917f..21ee18ef2 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReader.h
@@ -9,6 +9,7 @@ class PostProcessingConfigData;
 class PostProcessingConfigFileReader
 {
 public:
+	virtual ~PostProcessingConfigFileReader() = default;
 	virtual std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
index 6c52eeb93..968af578a 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.cpp
@@ -64,7 +64,3 @@ std::shared_ptr<PostProcessingConfigData> PostProcessingConfigFileReaderImp::rea
 	
 	return data;
 }
-
-PostProcessingConfigFileReaderImp::PostProcessingConfigFileReaderImp()
-{
-}
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
index a47d53820..e5355a708 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
+++ b/apps/gpu/tests/NumericalTestPostProcessing/Utilities/PostProcessingConfigFileReader/PostProcessingConfigFileReaderImp.h
@@ -8,10 +8,10 @@ class PostProcessingConfigFileReaderImp : public PostProcessingConfigFileReader
 public:
 	static std::shared_ptr<PostProcessingConfigFileReader> getNewInstance();
 
-	std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath);
+	std::shared_ptr<PostProcessingConfigData> readConfigFile(std::string filePath) override;
 
 private:
-	PostProcessingConfigFileReaderImp();
+	PostProcessingConfigFileReaderImp() = default;
 
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTestPostProcessing/main.cpp b/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
index bf88ad153..e5dbeef9c 100644
--- a/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
+++ b/apps/gpu/tests/NumericalTestPostProcessing/main.cpp
@@ -39,12 +39,12 @@ int main(int argc, char **argv)
 	std::shared_ptr<MathematicaAssistantFactory> assistantFactory = MathematicaAssistantFactoryImp::getNewInstance();
 	std::vector<std::shared_ptr<MathematicaAssistant> > mathematicaAssistants = assistantFactory->makeMathematicaAssistants(configData->getAssistants(), functionFactory);
 
-	for (int sim = 0; sim < configData->getSimulations().size(); sim++) {
-		for (int comb = 0; comb < configData->getDataCombinations().size(); comb++) {
+	for (uint sim = 0; sim < configData->getSimulations().size(); sim++) {
+		for (uint comb = 0; comb < configData->getDataCombinations().size(); comb++) {
 			std::shared_ptr<LogFileDataAssistantStrategy> strategy = assistentStrategyFactory->makeLogFileDataAssistantStrategy(configData->getSimulations().at(sim));
 			std::vector<std::shared_ptr<LogFileDataGroup> > logFileDataSorted = assistentLogFile->findDataCombination(logFileDataVector, strategy, configData->getDataCombinations().at(comb));
-			for (int i = 0; i < logFileDataSorted.size(); i++) {
-				for (int j = 0; j < mathematicaAssistants.size(); j++)
+			for (uint i = 0; i < logFileDataSorted.size(); i++) {
+				for (uint j = 0; j < mathematicaAssistants.size(); j++)
 					mathematicaAssistants.at(j)->makeMathematicaOutput(logFileDataSorted.at(i), aMathmaticaFile);
 			}
 		}
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
index bf93a95f4..a8a4a4df2 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.cpp
@@ -17,7 +17,7 @@ std::shared_ptr<PhiTest> PhiTest::getNewInstance(std::shared_ptr<ColorConsoleOut
 
 void PhiTest::evaluate()
 {
-	for (int i = 0; i < postProStrategies.size(); i++)
+	for (uint i = 0; i < postProStrategies.size(); i++)
 		phiDiff.push_back(postProStrategies.at(i)->getPhiDiff(dataToCalculate));
 	
 	orderOfAccuracy = calcOrderOfAccuracy(phiDiff);
@@ -46,7 +46,7 @@ std::string PhiTest::getDataToCalculate()
 std::vector<int> PhiTest::getLx()
 {
 	std::vector<int> lxINT;
-	for (int i = 0; i < lx.size(); i++)
+	for (uint i = 0; i < lx.size(); i++)
 		lxINT.push_back((int)lx.at(i));
 	return lxINT;
 }
@@ -62,7 +62,7 @@ double PhiTest::getOrderOfAccuracy()
 }
 
 PhiTest::PhiTest(std::shared_ptr<ColorConsoleOutput> colorOutput, double viscosity, std::shared_ptr<PhiTestParameterStruct> testPara, std::string dataToCalculate)
-	: TestImp(colorOutput), viscosity(viscosity), dataToCalculate(dataToCalculate)
+	: TestImp(colorOutput), dataToCalculate(dataToCalculate)
 {
 	minOrderOfAccuracy = testPara->minOrderOfAccuracy;
 	startStepCalculation = testPara->startTimeStepCalculation;
@@ -92,7 +92,7 @@ std::vector<std::string> PhiTest::buildTestOutput()
 	std::vector<std::string> output = buildBasicTestOutput();
 	std::ostringstream oss;
 
-	for (int i = 0; i < phiDiff.size(); i++) {
+	for (uint i = 0; i < phiDiff.size(); i++) {
 		oss << "PhiDiff" << simInfos.at(i)->getLx() << ": " << phiDiff.at(i);
 		output.push_back(oss.str());
 		oss.str(std::string());
@@ -125,7 +125,7 @@ std::vector<std::string> PhiTest::buildBasicTestOutput()
 	output.push_back(oss.str());
 	oss.str(std::string());
 
-	for (int i = 0; i < simInfos.size(); i++) {
+	for (uint i = 0; i < simInfos.size(); i++) {
 		oss << "L: " << std::setfill(' ') << std::right << std::setw(4) << simInfos.at(i)->getLx() << simInfos.at(i)->getSimulationParameterString();
 		output.push_back(oss.str());
 		oss.str(std::string());
diff --git a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
index 84b1d3389..4bf1c02f8 100644
--- a/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
+++ b/apps/gpu/tests/NumericalTests/Tests/PhiTest/PhiTest.h
@@ -40,7 +40,6 @@ private:
 	std::vector<double> phiDiff;
 	double orderOfAccuracy;
 	double minOrderOfAccuracy;
-	double viscosity;
 	std::string dataToCalculate;
 
 	std::vector<std::shared_ptr<PhiTestPostProcessingStrategy> > postProStrategies;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
index 21ab49017..5c90fa1ae 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculator.h
@@ -8,6 +8,7 @@
 class L2NormCalculator
 {
 public:
+	virtual ~L2NormCalculator() = default;
 	virtual double calc(std::vector<double> basicData, std::vector<double> divergentData, std::vector<unsigned int> level, double lx, double lz, double l0) = 0;
 	virtual std::string getErrorMessage() = 0;
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
index 2b13f7ca3..ffd1030cf 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Calculator/L2NormCalculator/L2NormCalculatorFactory/L2NormCalculatorFactory.h
@@ -9,6 +9,7 @@ class L2NormCalculator;
 class L2NormCalculatorFactory
 {
 public:
+	virtual ~L2NormCalculatorFactory() = default;
 	virtual std::shared_ptr<L2NormCalculator> makeL2NormCalculator(std::string type) = 0;
 
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
index 73b5dff2a..5c9f03658 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/ColorConsoleOutput/ColorConsoleOutput.h
@@ -12,6 +12,7 @@ class SimulationInfo;
 class ColorConsoleOutput
 {
 public:
+	virtual ~ColorConsoleOutput() = default;
 	virtual void makeSimulationHeadOutput(std::shared_ptr<SimulationInfo> simInfo) = 0;
 	virtual void makeTestOutput(std::vector<std::string> testOutput, TestStatus status) = 0;
 	virtual void makeFinalTestOutputHead(int numberOfTests, int numberOfExecutedTest, int numberOfPassedTest, int numberOfFailedTest, int numberOfErrorTest, int numberOfNotExecutedTest) = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
index 3af764aee..a6e1eecf4 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/DataWriter/AnalyticalResults2DToVTKWriter/AnalyticalResults2DToVTKWriter.h
@@ -10,7 +10,7 @@ class AnalyticalResults;
 class AnalyticalResults2DToVTKWriter
 {
 public:
-
+	virtual ~AnalyticalResults2DToVTKWriter() = default;
 	virtual void writeAnalyticalResult(std::shared_ptr<Parameter> para, std::shared_ptr<AnalyticalResults> analyticalResult) = 0;
 
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
index 0735f3969..1c9b322a2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/InitialCondition/InitialCondition.h
@@ -11,6 +11,7 @@ class Parameter;
 class InitialCondition
 {
 public:
+	virtual ~InitialCondition() = default;
 	virtual void setParameter(std::shared_ptr<Parameter> para) = 0;
 	virtual void init(const int level) = 0;
 	virtual real getInitVX(int i, int level) = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
index dbcb9b003..7407fe4cc 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/KernelConfiguration/KernelConfiguration.h
@@ -7,7 +7,8 @@
 class KernelConfiguration
 {
 public:
-    virtual std::string getMainKernel()              = 0;
+    virtual ~KernelConfiguration() = default;
+    virtual std::string getMainKernel() = 0;
 	virtual bool getMultiKernelOn() = 0;
 	virtual	std::vector<int> getMultiKernelLevel() = 0;
     virtual std::vector<std::string> getMultiKernel() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
index 20897bc5f..a8f14cab1 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/BasicSimulationInfo/BasicSimulationInfo.h
@@ -12,7 +12,7 @@ public:
 	std::string getOutput();
 
 private:
-	BasicSimulationInfo() {};
+	BasicSimulationInfo() = default;
     BasicSimulationInfo(int numberOfTimeSteps, double viscosity, int basicTimeStepLength, std::string kernel);
 
 	int numberOfTimeSteps;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
index 6c035169a..b234c8655 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformation.h
@@ -1,11 +1,12 @@
 #ifndef LOGFILE_INFORMATION_H
 #define LOGFILE_INFORMATION_H
 
-#include <iostream>
+#include <string>
 
 class LogFileInformation
 {
 public:
+	virtual ~LogFileInformation() = default;
 	virtual std::string getOutput() = 0;
 
 private:
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
index 83c4cff96..c89decfe9 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/LogFileInformationImp.h
@@ -8,6 +8,7 @@
 class LogFileInformationImp : public LogFileInformation
 {
 public:
+	LogFileInformationImp() = default;
 	virtual std::string getOutput() = 0;
 
 protected:
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
index ce72f8f12..45a41cc1f 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileInformation/SimulationLogFileInformation/SimulationLogFileInformation.h
@@ -9,6 +9,7 @@
 class SimulationLogFileInformation : public LogFileInformationImp
 {
 public:
+	virtual ~SimulationLogFileInformation() = default;
 	virtual std::string getOutput() = 0;
 
 	virtual std::vector<std::string> getFilePathExtension() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
index cb8c413d1..013d55390 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueue.h
@@ -1,13 +1,10 @@
 #ifndef LOGFILE_QUEUE_H
 #define LOGFILE_QUEUE_H
 
-#include <memory>
-
-class LogFileWriter;
-
 class LogFileQueue
 {
 public:
+	virtual ~LogFileQueue() = default;
 	virtual void writeLogFiles() = 0;
 
 private:
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
index 9decb8a93..fa6b0b2b5 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.cpp
@@ -13,7 +13,7 @@ std::shared_ptr<LogFileQueueImp> LogFileQueueImp::getNewInstance(std::string bas
 
 void LogFileQueueImp::writeLogFiles()
 {
-	for (int i = 0; i < logFileWriter.size(); i++){
+	for (uint i = 0; i < logFileWriter.size(); i++){
 		logFileWriter.at(i)->writeLogFile(basicLogFilePath);
 	}
 }
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
index 3fe27faeb..133924382 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileQueue/LogFileQueueImp.h
@@ -5,17 +5,20 @@
 
 #include <string>
 #include <vector>
+#include <memory>
+
+class LogFileWriter;
 
 class LogFileQueueImp : public LogFileQueue 
 {
 public:
 	static std::shared_ptr<LogFileQueueImp> getNewInstance(std::string basicLogFilePath);
 
-	void writeLogFiles();
+	void writeLogFiles() override;
 	void addLogFileWriter(std::shared_ptr<LogFileWriter> aLogFileWriter);
 
 private:
-	LogFileQueueImp() {};
+	LogFileQueueImp() = default;
 	LogFileQueueImp(std::string basicLogFilePath);
 
 	std::string calcDateAndTime();
diff --git a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
index d828256c6..396deec9d 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/LogFileWriter/LogFileWriter.h
@@ -6,6 +6,7 @@
 class LogFileWriter
 {
 public:
+	virtual ~LogFileWriter() = default;
 	virtual void writeLogFile(std::string basicFilePath) = 0;
 	
 private:
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
index b5facb26a..d21deb7bd 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactory.h
@@ -12,6 +12,7 @@ class LogFileQueue;
 class NumericalTestFactory
 {
 public:
+	virtual ~NumericalTestFactory() = default;
 	virtual std::vector<std::shared_ptr<TestSimulation> > getTestSimulations() = 0;
 	virtual std::shared_ptr<TestQueue> getTestQueue() = 0;
 	virtual std::shared_ptr<LogFileQueue> getLogFileQueue() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
index 1d9b33d35..ff9753a4a 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestFactory/NumericalTestFactoryImp.h
@@ -93,7 +93,7 @@ private:
 
 	int simID;
 	int numberOfSimulations;
-	int simPerKernel, numberOfTestGroupsBetweenKernels, numberOfTestsForOneSimulation, numberOfTestsBetweenKernels;
-	int posBasicSimulationForL2Test, posDivergentSimulationForL2Test;
+	// int simPerKernel, numberOfTestGroupsBetweenKernels, numberOfTestsForOneSimulation, numberOfTestsBetweenKernels;
+	// int posBasicSimulationForL2Test, posDivergentSimulationForL2Test;
 };
-#endif
\ No newline at end of file
+#endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
index b3835c11b..0e3c9fcb2 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/NumericalTestSimulation/NumericalTestSimulation.h
@@ -10,6 +10,7 @@ enum SimulationStatus { initialized , executed, crashed};
 class NumericalTestSimulation
 {
 public:
+	virtual ~NumericalTestSimulation() = default;
 	virtual void run() = 0;
 	virtual SimulationStatus getSimulationStatus() = 0;
 	virtual void registerSimulationObserver(std::shared_ptr<SimulationObserver> simObserver) = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
index 686c2300e..e995bd4de 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/PostProcessingStrategy/PostProcessingStrategy.h
@@ -10,6 +10,7 @@ class SimulationResults;
 class PostProcessingStrategy
 {
 public:
+	virtual ~PostProcessingStrategy() = default;
 	virtual void evaluate() = 0;
 };
 #endif
\ No newline at end of file
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
index 7ed53fce6..979c57ec3 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/AnalyticalResults/AnalyticalResult.h
@@ -10,6 +10,7 @@ class SimulationResults;
 class AnalyticalResults : public ResultsImp
 {
 public:
+	virtual ~AnalyticalResults() = default;
 	virtual void calc(std::shared_ptr<SimulationResults> simResults) = 0;
 	virtual bool isCalculated() = 0;
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h b/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
index 264831a96..3744bf591 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Results/Results.h
@@ -6,6 +6,7 @@
 class Results
 {
 public:
+	virtual ~Results() = default;
 	virtual int getNumberOfTimeSteps() = 0;
 	virtual std::vector<std::vector<double> > getVx() = 0;
 	virtual std::vector<std::vector<double> > getVy() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
index cd0c29e9c..aa49cba48 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationInfo/SimulationInfo.h
@@ -10,6 +10,7 @@ class TimeInfo;
 class SimulationInfo
 {
 public:
+	virtual ~SimulationInfo() = default;
 	virtual std::string getKernelName() = 0;
 	virtual double getViscosity() = 0;
 	virtual std::string getSimulationName() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
index b9ca9b2e3..7de661ce1 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/SimulationParameter/SimulationParameter.h
@@ -11,6 +11,7 @@ class KernelConfiguration;
 class SimulationParameter
 {
 public:
+	virtual ~SimulationParameter() = default;
 	virtual std::shared_ptr<KernelConfiguration> getKernelConfiguration() = 0;
 	virtual double getViscosity() = 0;
 	virtual std::string getGridPath() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h b/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
index 9cf022b55..ac579cdc9 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/SimulationObserver.h
@@ -4,6 +4,7 @@
 class SimulationObserver
 {
 public:
+	virtual ~SimulationObserver() = default;
 	virtual void update() = 0;
 
 };
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h b/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
index c58096713..994bf272e 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/Test.h
@@ -10,8 +10,8 @@
 class Test : public SimulationObserver 
 {
 public:
+	virtual ~Test() = default;
 	virtual void run() = 0;
-	virtual void update() = 0;
 
 	virtual TestStatus getTestStatus() = 0;
 	virtual void makeConsoleOutput() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h b/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
index f4fc758ec..06c2b3013 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Test/TestImp.h
@@ -16,9 +16,9 @@ class TestImp : public Test
 {
 public:
 	void run() override;
-	void update();
-	TestStatus getTestStatus();
-	virtual void makeConsoleOutput();
+	void update() override;
+	TestStatus getTestStatus() override;
+	void makeConsoleOutput() override;
 
 	void addSimulation(std::shared_ptr<NumericalTestSimulation> sim, std::shared_ptr<SimulationInfo> simInfo, std::shared_ptr<PostProcessingStrategy> postProStrategy);
 		
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueue.h b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueue.h
index dcc0ece59..736146d5a 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueue.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueue.h
@@ -6,6 +6,7 @@ enum TestSuiteResult { PASSED, FAILED };
 class TestQueue
 {
 public:
+    virtual ~TestQueue() = default;
     virtual TestSuiteResult run() = 0;
     virtual void makeFinalOutput() = 0;
     virtual int getNumberOfFailedTests() const noexcept = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.cpp
index c7ceef408..f55b932bf 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.cpp
@@ -6,7 +6,7 @@
 
 TestSuiteResult TestQueueImp::run()
 {
-    for (const auto test : tests)
+    for (const auto& test : tests)
         test->run();
 
     makeFinalOutput();
@@ -19,7 +19,7 @@ void TestQueueImp::makeFinalOutput()
     calcTestNumbers();
     colorOutput->makeFinalTestOutputHead(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest,
                                          numberOfErrorTest, numberOfNotExecutedTest);
-    for (int i = 0; i < tests.size(); i++)
+    for (uint i = 0; i < tests.size(); i++)
         tests.at(i)->makeConsoleOutput();
     colorOutput->makeFinalTestOutputFoot(numberOfTests, numberOfExecutedTest, numberOfPassedTest, numberOfFailedTest,
                                          numberOfErrorTest, numberOfNotExecutedTest);
@@ -54,7 +54,7 @@ void TestQueueImp::calcTestNumbers()
     numberOfErrorTest = 0;
     numberOfNotExecutedTest = 0;
 
-    for (int i = 0; i < tests.size(); i++) {
+    for (uint i = 0; i < tests.size(); i++) {
         switch (tests.at(i)->getTestStatus()) {
             case passed:
                 numberOfPassedTest++;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
index 89952773f..386b5805f 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestQueue/TestQueueImp.h
@@ -13,7 +13,7 @@ class TestQueueImp : public TestQueue
 {
 public:
 	TestSuiteResult run() override;
-	void makeFinalOutput();
+	void makeFinalOutput() override;
 
 	int getNumberOfFailedTests() const noexcept override;
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
index 729ca06a3..1f356304f 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulation.h
@@ -15,6 +15,7 @@ class Parameter;
 class TestSimulation
 {
 public:
+    virtual ~TestSimulation() = default;
     virtual void run() = 0;
 	virtual void makeSimulationHeadOutput() = 0;
 	virtual void startPostProcessing() = 0;
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp
index dc4aca9b3..2dd40ef77 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.cpp
@@ -87,7 +87,7 @@ std::vector<std::string> TestSimulationImp::getDataToCalcTests()
 
 void TestSimulationImp::notifyObserver()
 {
-    for (int i = 0; i < simObserver.size(); i++)
+    for (uint i = 0; i < simObserver.size(); i++)
         simObserver.at(i)->update();
 }
 
diff --git a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h
index b876cb079..2a36fda25 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/TestSimulation/TestSimulationImp.h
@@ -5,7 +5,7 @@
 #include "Utilities/NumericalTestSimulation/NumericalTestSimulation.h"
 
 #include <functional>
-#include <time.h>
+#include <ctime>
 #include <vector>
 
 class ToVectorWriter;
@@ -28,20 +28,20 @@ public:
                       std::shared_ptr<ColorConsoleOutput> colorOutput);
     void run() override;
 
-    std::shared_ptr<SimulationParameter> getSimulationParameter();
+    std::shared_ptr<SimulationParameter> getSimulationParameter() override;
     std::shared_ptr<SimulationInfo> getSimulationInfo();
-    std::shared_ptr<TimeTracking> getTimeTracking();
+    std::shared_ptr<TimeTracking> getTimeTracking() override;
 
-    SimulationStatus getSimulationStatus();
+    SimulationStatus getSimulationStatus() override;
 
-    void makeSimulationHeadOutput();
-    void startPostProcessing();
+    void makeSimulationHeadOutput() override;
+    void startPostProcessing() override;
 
-    void setParameter(std::shared_ptr<Parameter> para);
+    void setParameter(std::shared_ptr<Parameter> para) override;
 
     std::shared_ptr<SimulationResults> getSimulationResults();
     std::shared_ptr<AnalyticalResults> getAnalyticalResults();
-    void registerSimulationObserver(std::shared_ptr<SimulationObserver> simObserver);
+    void registerSimulationObserver(std::shared_ptr<SimulationObserver> simObserver) override;
     std::vector<std::string> getDataToCalcTests();
 
 private:
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
index 87e14e74f..f6f6c39ef 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeImp.h
@@ -5,26 +5,26 @@
 #include "TimeTracking.h"
 
 #include <memory>
-#include <time.h>
+#include <ctime>
 
 class TimeImp : public TimeTracking, public TimeInfo
 {
 public:
 	static std::shared_ptr<TimeImp> getNewInstance();
 
-	void setSimulationStartTime();
-	void setSimulationEndTime();
-	void setTestStartTime();
-	void setTestEndTime();
-	void setAnalyticalResultWriteStartTime();
-	void setAnalyticalResultWriteEndTime();
-	void setResultCheckStartTime();
-	void setResultCheckEndTime();
+	void setSimulationStartTime() override;
+	void setSimulationEndTime() override;
+	void setTestStartTime() override;
+	void setTestEndTime() override;
+	void setAnalyticalResultWriteStartTime() override;
+	void setAnalyticalResultWriteEndTime() override;
+	void setResultCheckStartTime() override;
+	void setResultCheckEndTime() override;
 
-	std::string getSimulationTime();
-	std::string getResultCheckTime();
-	std::string getTestTime();
-	std::string getAnalyticalResultWriteTime();
+	std::string getSimulationTime() override;
+	std::string getResultCheckTime() override;
+	std::string getTestTime() override;
+	std::string getAnalyticalResultWriteTime() override;
 
 private:
 	TimeImp();
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeInfo.h b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeInfo.h
index 11e49b284..02cf14c5c 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeInfo.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeInfo.h
@@ -6,9 +6,10 @@
 class TimeInfo
 {
 public:
-	virtual std::string getSimulationTime() = 0;
-	virtual std::string getResultCheckTime() = 0;
-	virtual std::string getTestTime() = 0;
-	virtual std::string getAnalyticalResultWriteTime() = 0;
+    virtual ~TimeInfo() = default;
+    virtual std::string getSimulationTime() = 0;
+    virtual std::string getResultCheckTime() = 0;
+    virtual std::string getTestTime() = 0;
+    virtual std::string getAnalyticalResultWriteTime() = 0;
 };
-#endif
\ No newline at end of file
+#endif
diff --git a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
index 736ca7641..663456d6a 100644
--- a/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
+++ b/apps/gpu/tests/NumericalTests/Utilities/Time/TimeTracking.h
@@ -4,6 +4,7 @@
 class TimeTracking
 {
 public:
+	virtual ~TimeTracking() = default;
 	virtual void setSimulationStartTime() = 0;
 	virtual void setSimulationEndTime() = 0;
 
@@ -16,4 +17,4 @@ public:
 	virtual void setAnalyticalResultWriteStartTime() = 0;
 	virtual void setAnalyticalResultWriteEndTime() = 0;
 };
-#endif
\ No newline at end of file
+#endif
diff --git a/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h
index 0c3adfb89..2996ceeec 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h
+++ b/src/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h
@@ -34,7 +34,7 @@
 #ifndef Block3DVisitor_h
 #define Block3DVisitor_h
 
-#include <PointerDefinitions.h>
+#include <basics/PointerDefinitions.h>
 
 class Block3D;
 class Grid3D;
diff --git a/src/cpu/VirtualFluidsCore/Visitors/SetUndefinedNodesBlockVisitor.h b/src/cpu/VirtualFluidsCore/Visitors/SetUndefinedNodesBlockVisitor.h
index 329662ec8..17fa5b2eb 100644
--- a/src/cpu/VirtualFluidsCore/Visitors/SetUndefinedNodesBlockVisitor.h
+++ b/src/cpu/VirtualFluidsCore/Visitors/SetUndefinedNodesBlockVisitor.h
@@ -1,7 +1,7 @@
 #ifndef SetUndefinedNodesBlockVisitor_h
 #define SetUndefinedNodesBlockVisitor_h
 
-#include <PointerDefinitions.h>
+#include <basics/PointerDefinitions.h>
 
 #include "Block3DVisitor.h"
 
-- 
GitLab