From 165b2a1052645eae5def12b96e46c316c335fa9f Mon Sep 17 00:00:00 2001
From: "GITLAB-RUNNER03\\runner" <peters@irmb.tu-bs.de>
Date: Mon, 21 Dec 2020 14:53:53 +0100
Subject: [PATCH] According to the cuda documenation
 (https://docs.nvidia.com/cuda/cuda-math-api/group__CUDA__MATH__DOUBLE.html#group__CUDA__MATH__DOUBLE_1g6d36757715384dc18e0483aa1f04f6c7)
 pow() gets two double arguments. With the newest VisualStudio Version 16.8
 these arguments needs to be passed as double explicitly.

---
 src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu   | 12 ++++----
 .../VirtualFluids_GPU/GPU/Cumulant27chim.cu   | 18 +++++------
 .../VirtualFluids_GPU/GPU/Cumulant_F3_27.cu   |  8 ++---
 src/gpu/VirtualFluids_GPU/GPU/Particles.cu    | 30 +++++++++----------
 .../VirtualFluids_GPU/GPU/WaleCumulant27.cu   |  6 ++--
 .../CumulantAll4CompSP27_Device.cu            |  6 ++--
 .../CumulantK15/CumulantK15Comp_Device.cu     |  6 ++--
 .../CumulantK15BulkComp_Device.cu             |  6 ++--
 .../CumulantK17/CumulantK17Comp_Device.cu     |  6 ++--
 .../CumulantK17BulkComp_Device.cu             |  6 ++--
 .../CumulantK18/CumulantK18Comp_Device.cu     |  6 ++--
 .../CumulantK20/CumulantK20Comp_Device.cu     |  6 ++--
 .../PMCumulantOneCompSP27_Device.cu           |  6 ++--
 .../CumulantK15/WaleCumulantK15Comp_Device.cu |  6 ++--
 .../WaleBySoniMalavCumulantK15Comp_Device.cu  |  6 ++--
 .../CumulantK17/WaleCumulantK17Comp_Device.cu |  6 ++--
 .../WaleCumulantK17DebugComp_Device.cu        |  6 ++--
 17 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu
index 45259f9ac..bc86f1a90 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu
@@ -180,9 +180,9 @@ extern "C" __global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega,
 				               (mfbbc-mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0]/(pow(c2o1,level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1]/(pow(c2o1,level)); //zero;
-			real fz = forces[2]/(pow(c2o1,level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); // zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+            real fy = forces[1] / (pow((double)c2o1, (double)level)); // zero;
+            real fz = forces[2] / (pow((double)c2o1, (double)level)); // zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
@@ -5611,9 +5611,9 @@ extern "C" __global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27(
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); 
-			real fy = forces[1] / (pow(c2o1, level)); 
-			real fz = forces[2] / (pow(c2o1, level)); 
+            real fx = forces[0] / (pow((double)c2o1, (double)level));
+            real fy = forces[1] / (pow((double)c2o1, (double)level));
+            real fz = forces[2] / (pow((double)c2o1, (double)level));
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu
index 1f232b765..8bfdfb3b9 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu
@@ -255,9 +255,9 @@ extern "C" __global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
@@ -1170,9 +1170,9 @@ extern "C" __global__ void Cumulant_One_preconditioned_chim_Comp_SP_27(
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
@@ -1943,9 +1943,9 @@ extern "C" __global__ void Cumulant_One_chim_Comp_SP_27(
 				(mfbbc - mfbba)) * OOrho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu
index fab34f1dd..71d839609 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu
@@ -30,7 +30,7 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega,
 {
 	////////////////////////////////////////////////////////////////////////////////
 	const unsigned  x = threadIdx.x;  // Globaler x-Index 
-	const unsigned  y = blockIdx.x;   // Globaler y-Index 
+	const unsigned  y = blockIdx.x;   // Globaler y-Index
 	const unsigned  z = blockIdx.y;   // Globaler z-Index 
 
 	const unsigned nx = blockDim.x;
@@ -214,9 +214,9 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+            real fy = forces[1] / (pow((double)c2o1, (double)level)); // zero;
+            real fz = forces[2] / (pow((double)c2o1, (double)level)); // zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/GPU/Particles.cu b/src/gpu/VirtualFluids_GPU/GPU/Particles.cu
index dfc8271ed..39c63e152 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/Particles.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/Particles.cu
@@ -110,9 +110,9 @@ extern "C" __global__ void InitParticles( real* coordX,
 		}
 
 
-		real localX = randArray[k] / (real)(pow(c2o1,level));
-		real localY = randArray[k] / (real)(pow(c2o1,level));
-		real localZ = randArray[k] / (real)(pow(c2o1,level));
+		real localX = randArray[k] / (real)(pow((double)c2o1, (double)level));
+        real localY = randArray[k] / (real)(pow((double)c2o1, (double)level));
+        real localZ = randArray[k] / (real)(pow((double)c2o1, (double)level));
 
 		real globalX = coordinateX + localX;
 		real globalY = coordinateY + localY;
@@ -878,9 +878,9 @@ extern "C" __global__ void MoveParticles( real* coordX,
 			  real localY = coordParticleYlocal[kTimeStepOld];
 			  real localZ = coordParticleZlocal[kTimeStepOld];
 
-			  x = (localX * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
-			  y = (localY * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
-			  z = (localZ * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
+			  x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+              y = (localY * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+              z = (localZ * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
 			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 			  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
 			  vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
@@ -961,9 +961,9 @@ extern "C" __global__ void MoveParticles( real* coordX,
 			  y = tempY;
 			  z = tempZ;
 
-			  localX = (x + c1o2) / (real)(pow(c2o1,level));
-			  localY = (y + c1o2) / (real)(pow(c2o1,level));
-			  localZ = (z + c1o2) / (real)(pow(c2o1,level));
+			  localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
+              localY                         = (y + c1o2) / (real)(pow((double)c2o1, (double)level));
+              localZ                         = (z + c1o2) / (real)(pow((double)c2o1, (double)level));
 			  coordParticleXlocal[kTimeStep] = localX;
 			  coordParticleYlocal[kTimeStep] = localY;
 			  coordParticleZlocal[kTimeStep] = localZ;
@@ -1743,9 +1743,9 @@ extern "C" __global__ void MoveParticlesWithoutBCs(   real* coordX,
 			  real localY = coordParticleYlocal[kTimeStepOld];
 			  real localZ = coordParticleZlocal[kTimeStepOld];
 
-			  x = (localX * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
-			  y = (localY * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
-			  z = (localZ * (real)(pow(c2o1,level))) - c1o2; //-c1o4;
+			  x = (localX * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+              y = (localY * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
+              z = (localZ * (real)(pow((double)c2o1, (double)level))) - c1o2; //-c1o4;
 			  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 			  press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz;
 			  vx1 = (a0 + x*ax + y*ay + z*az + x*x*axx + y*y*ayy + z*z*azz + x*y*axy + x*z*axz + y*z*ayz + x*y*z*axyz);
@@ -1826,9 +1826,9 @@ extern "C" __global__ void MoveParticlesWithoutBCs(   real* coordX,
 			  y = tempY;
 			  z = tempZ;
 
-			  localX = (x + c1o2) / (real)(pow(c2o1,level));
-			  localY = (y + c1o2) / (real)(pow(c2o1,level));
-			  localZ = (z + c1o2) / (real)(pow(c2o1,level));
+			  localX                         = (x + c1o2) / (real)(pow((double)c2o1, (double)level));
+              localY                         = (y + c1o2) / (real)(pow((double)c2o1, (double)level));
+              localZ                         = (z + c1o2) / (real)(pow((double)c2o1, (double)level));
 			  coordParticleXlocal[kTimeStep] = localX;
 			  coordParticleYlocal[kTimeStep] = localY;
 			  coordParticleZlocal[kTimeStep] = localZ;
diff --git a/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu b/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu
index f449e0d49..e4e6d9fb2 100644
--- a/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu
+++ b/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu
@@ -311,9 +311,9 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27(
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
 			{
-				real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow(c2o1, level)); //zero;
-				real fz = forces[2] / (pow(c2o1, level)); //zero;
+				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 				vvx += fx*c1o2;
 				vvy += fy*c1o2;
 				vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu
index e17a52635..246ec7965 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu
@@ -206,9 +206,9 @@ extern "C" __global__ void LB_Kernel_Cumulant_D3Q27All4(	real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15/CumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15/CumulantK15Comp_Device.cu
index 183d83a6c..4fb90b709 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15/CumulantK15Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15/CumulantK15Comp_Device.cu
@@ -202,9 +202,9 @@ extern "C" __global__ void LB_Kernel_CumulantK15Comp(real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu
index dfda29010..1a0efdf8e 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu
@@ -202,9 +202,9 @@ extern "C" __global__ void LB_Kernel_CumulantK15BulkComp(real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17/CumulantK17Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17/CumulantK17Comp_Device.cu
index 9d5f512bd..9ccd7dcb4 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17/CumulantK17Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17/CumulantK17Comp_Device.cu
@@ -204,9 +204,9 @@ extern "C" __global__ void LB_Kernel_CumulantK17Comp(real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx*c1o2;
 			vvy += fy*c1o2;
 			vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu
index 653fd9f7b..147b814a3 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu
@@ -172,9 +172,9 @@ extern "C" __global__ void LB_Kernel_CumulantK17BulkComp(real omega,
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK18/CumulantK18Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK18/CumulantK18Comp_Device.cu
index f882ecc2a..2249e5857 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK18/CumulantK18Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK18/CumulantK18Comp_Device.cu
@@ -204,9 +204,9 @@ extern "C" __global__ void LB_Kernel_CumulantK18Comp(
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK20/CumulantK20Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK20/CumulantK20Comp_Device.cu
index 3324d52e9..9edae07fa 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK20/CumulantK20Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/Advection/Compressible/CumulantK20/CumulantK20Comp_Device.cu
@@ -203,9 +203,9 @@ extern "C" __global__ void LB_Kernel_CumulantK20Comp(
 				(mfbbc - mfbba)) / rho;
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
-			real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-			real fy = forces[1] / (pow(c2o1, level)); //zero;
-			real fz = forces[2] / (pow(c2o1, level)); //zero;
+			real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+			real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+			real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 			vvx += fx;
 			vvy += fy;
 			vvz += fz;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/Advection/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/Advection/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu
index 2b6c98b38..945d87064 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/Advection/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/Advection/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu
@@ -160,9 +160,9 @@ extern "C" __global__ void LB_Kernel_PM_Cum_One_Comp_SP_27(real omega,
 		//vvz = (two * vvz) / (two + 134.4 + 0.0068287 * sqrtf(vx2 + vy2 + vz2));
 		////////////////////////////////////////////////////////////////////////////////////
 		//the force be with you
-		real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-		real fy = forces[1] / (pow(c2o1, level)); //zero;
-		real fz = forces[2] / (pow(c2o1, level)); //zero;
+		real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+		real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+		real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 		vvx += fx*c1o2;
 		vvy += fy*c1o2;
 		vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu
index 3308121db..a23d1c480 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu
@@ -434,9 +434,9 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK15Comp(
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
 			{
-				real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow(c2o1, level)); //zero;
-				real fz = forces[2] / (pow(c2o1, level)); //zero;
+				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 				vvx += fx*c1o2;
 				vvy += fy*c1o2;
 				vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu
index 7e685897a..7f93133cb 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu
@@ -307,9 +307,9 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalavCumulantK15Comp(
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
 			{
-				real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow(c2o1, level)); //zero;
-				real fz = forces[2] / (pow(c2o1, level)); //zero;
+				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 				vvx += fx*c1o2;
 				vvy += fy*c1o2;
 				vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu
index 6e9939b79..91e91bc0f 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu
@@ -435,9 +435,9 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17Comp(
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
 			{
-				real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow(c2o1, level)); //zero;
-				real fz = forces[2] / (pow(c2o1, level)); //zero;
+				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 				vvx += fx*c1o2;
 				vvy += fy*c1o2;
 				vvz += fz*c1o2;
diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu
index 1f371fea7..b0e0b6506 100644
--- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu
+++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/Advection/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu
@@ -454,9 +454,9 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17DebugComp(
 			////////////////////////////////////////////////////////////////////////////////////
 			//the force be with you
 			{
-				real fx = forces[0] / (pow(c2o1, level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
-				real fy = forces[1] / (pow(c2o1, level)); //zero;
-				real fz = forces[2] / (pow(c2o1, level)); //zero;
+				real fx = forces[0] / (pow((double)c2o1, (double)level)); //zero;//0.0032653/(pow(two,level)); //0.000000005;//(two/1600000.0) / 120.0; //
+				real fy = forces[1] / (pow((double)c2o1, (double)level)); //zero;
+				real fz = forces[2] / (pow((double)c2o1, (double)level)); //zero;
 				vvx += fx*c1o2;
 				vvy += fy*c1o2;
 				vvz += fz*c1o2;
-- 
GitLab