From bb4a30098bd207de06b7f5d75495b70ccde65943 Mon Sep 17 00:00:00 2001
From: Martin Schoenherr <m.schoenherr@tu-braunschweig.de>
Date: Wed, 2 Aug 2023 11:37:52 +0200
Subject: [PATCH] changed the selection of Kernels - now we use the variables
 from KernelType.h in the parameter class an some apps

---
 apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp            | 3 ++-
 apps/gpu/WTG_RUB/WTG_RUB.cpp                          | 3 ++-
 src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp     | 4 ++--
 src/gpu/VirtualFluids_GPU/Parameter/Parameter.h       | 3 ++-
 src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp | 3 ++-
 5 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp b/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
index 83247df03..9de9f861c 100644
--- a/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
+++ b/apps/gpu/TGV_3D_GridRef/TGV_3D_GridRef.cpp
@@ -77,6 +77,7 @@
 #include "VirtualFluids_GPU/LBM/Simulation.h"
 #include "VirtualFluids_GPU/Output/FileWriter.h"
 #include "VirtualFluids_GPU/Parameter/Parameter.h"
+#include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -122,7 +123,7 @@ uint gpuIndex = 0;
 bool useLimiter = false;
 bool useWale = false;
 
-std::string kernel( "CumulantK17CompChimRedesigned" );
+std::string kernel(vf::CollisionKernel::Compressible::K17CompressibleNavierStokes);
 
 std::string path("D:/out/TGV_3D/"); //MOLLOK
 
diff --git a/apps/gpu/WTG_RUB/WTG_RUB.cpp b/apps/gpu/WTG_RUB/WTG_RUB.cpp
index f9c50de1a..dd585de69 100644
--- a/apps/gpu/WTG_RUB/WTG_RUB.cpp
+++ b/apps/gpu/WTG_RUB/WTG_RUB.cpp
@@ -73,6 +73,7 @@
 #include "VirtualFluids_GPU/Output/FileWriter.h"
 #include "VirtualFluids_GPU/GPU/CudaMemoryManager.h"
 #include "VirtualFluids_GPU/Factories/BoundaryConditionFactory.h"
+#include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h"
 
 #include <parallel/MPICommunicator.h>
 
@@ -242,7 +243,7 @@ void multipleLevel(const std::string& configPath)
 
     para->setVelocityRatio(velocity/ velocityLB);
 
-	para->setMainKernel("K17CompressibleNavierStokes"); // K17CompressibleNavierStokesUnified, K17CompressibleNavierStokesChimeraLegacy
+	para->setMainKernel(vf::CollisionKernel::Compressible::K17CompressibleNavierStokes);
 
 	para->setInitialCondition([&](real coordX, real coordY, real coordZ, real &rho, real &vx, real &vy, real &vz) {
         rho = (real)0.0;
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
index 4df626875..0ae2161bb 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp
@@ -599,7 +599,7 @@ void Parameter::initLBMSimulationParameter()
 
 void Parameter::checkParameterValidityCumulantK17() const
 {
-    if (this->mainKernel != "K17CompressibleNavierStokes")
+    if (this->mainKernel != vf::CollisionKernel::Compressible::K17CompressibleNavierStokes)
         return;
 
     const real viscosity = this->parH[maxlevel]->viscosity;
@@ -1638,7 +1638,7 @@ void Parameter::setOutflowBoundaryNormalZ(std::string outflowNormalZ)
 void Parameter::setMainKernel(std::string kernel)
 {
     this->mainKernel = kernel;
-    if ( kernel.find("K17CompressibleNavierStokes") != std::string::npos )
+    if ( kernel.find(vf::CollisionKernel::Compressible::K17CompressibleNavierStokes) != std::string::npos )
         this->kernelNeedsFluidNodeIndicesToRun = true;
 }
 void Parameter::setMultiKernelOn(bool isOn)
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
index 005236788..f7cb65457 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
+++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.h
@@ -43,6 +43,7 @@
 #include "LBM/LB.h"
 #include "PreCollisionInteractor/PreCollisionInteractor.h"
 #include "TurbulenceModels/TurbulenceModelFactory.h"
+#include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h"
 
 #include "VirtualFluids_GPU_export.h"
 
@@ -1085,7 +1086,7 @@ private:
 
 
     // Kernel
-    std::string mainKernel{ "K17CompressibleNavierStokes" };
+    std::string mainKernel{ vf::CollisionKernel::Compressible::K17CompressibleNavierStokes };
     bool multiKernelOn{ false };
     std::vector<int> multiKernelLevel;
     std::vector<std::string> multiKernel;
diff --git a/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp b/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
index 65ee97243..47272ebde 100644
--- a/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
+++ b/src/gpu/VirtualFluids_GPU/Parameter/ParameterTest.cpp
@@ -14,6 +14,7 @@
 #include "Factories/GridScalingFactory.h"
 #include "GPU/CudaMemoryManager.h"
 #include "gpu/GridGenerator/grid/GridBuilder/MultipleGridBuilder.h"
+#include "VirtualFluids_GPU/Kernel/Utilities/KernelTypes.h"
 
 #include <parallel/Communicator.h>
 
@@ -271,7 +272,7 @@ TEST_F(ParameterTestCumulantK17, CumulantK17_VelocityIsTooHigh_expectWarning)
 {
 
     para.setVelocityLB(0.11);
-    para.setMainKernel("K17CompressibleNavierStokes");
+    para.setMainKernel(vf::CollisionKernel::Compressible::K17CompressibleNavierStokes);
     testing::internal::CaptureStdout();
 
     para.initLBMSimulationParameter();
-- 
GitLab