From a6c5fb81d5f3ca1e746177499bb66a9858ef84e4 Mon Sep 17 00:00:00 2001 From: Soeren Peters <peters@irmb.tu-bs.de> Date: Tue, 2 Mar 2021 11:40:02 +0100 Subject: [PATCH] Fix missing initialization of dxyz variables. --- src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp | 2 +- src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu | 14 +++++--------- src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu | 9 ++------- src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu | 8 ++------ src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp | 2 ++ 5 files changed, 12 insertions(+), 23 deletions(-) diff --git a/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp b/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp index 7677157c4..ee52a7a85 100644 --- a/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp +++ b/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp @@ -72,7 +72,7 @@ void findQ(Parameter* para, int lev) for(l=0;l<=26;l++){ mm = nx*(ny*(k+ez[l]) + (j+ey[l])) + (i+ex[l]); if((geo_mat[mm] == GEO_SOLID) || (geo_mat[mm] == GEO_VOID)){ - //ON[l] = -(((real)ex[l]*(real)relx + (real)ey[l]*(real)rely + (real)ez[l]*(real)relz +/*+/- Achtung, innen und au�en nicht verwechseln!!*/ + //ON[l] = -(((real)ex[l]*(real)relx + (real)ey[l]*(real)rely + (real)ez[l]*(real)relz +/*+/- Achtung, innen und aussen nicht verwechseln!!*/ // sqrt(pow((real)ex[l]*(real)relx + (real)ey[l]*(real)rely + (real)ez[l]*(real)relz,2) + // (pow((real)ex[l],2) + pow((real)ey[l],2) + pow((real)ez[l],2))* (pow(radius,2) - // pow((real)relx,2) - pow((real)rely,2) - pow((real)relz,2)))) diff --git a/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu b/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu index 684aa3687..e07de5708 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu @@ -351,7 +351,7 @@ extern "C" __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ, f_BSE = (D.f[dirBSE ])[kbse ]; f_BNW = (D.f[dirBNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// - // real drho; + real drho; real vx1, vx2, vx3, rho; kxyFromfcNEQ[k] = c0o1; kyzFromfcNEQ[k] = c0o1; @@ -359,16 +359,12 @@ extern "C" __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ, kxxMyyFromfcNEQ[k] = c0o1; kxxMzzFromfcNEQ[k] = c0o1; - // TODO: warning #549-D: variable "rho" is used before its value is set - // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/12 - rho = 0; - if(geoD[k] == GEO_FLUID) { - // drho = ((f_TNE+f_BSW)+(f_BSE+f_TNW)+(f_BNE+f_TSW)+(f_TSE+f_BNW)) + - // ((f_NE+f_SW)+(f_TE+f_BW)+(f_SE+f_NW)+(f_BE+f_TW)+(f_BN+f_TS)+(f_TN+f_BS)) + - // ((f_E-f_W) + (f_N-f_S) + (f_T-f_B)) + f_ZERO; - rho = rho + c1o1; + drho = ((f_TNE+f_BSW)+(f_BSE+f_TNW)+(f_BNE+f_TSW)+(f_TSE+f_BNW)) + + ((f_NE+f_SW)+(f_TE+f_BW)+(f_SE+f_NW)+(f_BE+f_TW)+(f_BN+f_TS)+(f_TN+f_BS)) + + ((f_E-f_W) + (f_N-f_S) + (f_T-f_B)) + f_ZERO; + rho = drho + c1o1; vx1 = ((f_TNE-f_BSW)+(f_BSE-f_TNW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)) + (((f_NE-f_SW)+(f_TE-f_BW))+((f_SE-f_NW)+(f_BE-f_TW))) + (f_E-f_W) / rho; vx2 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_BNE-f_TSW)+(f_BNW-f_TSE)) + (((f_NE-f_SW)+(f_TN-f_BS))+((f_BN-f_TS)+(f_NW-f_SE))) + (f_N-f_S) / rho; vx3 = ((f_TNE-f_BSW)+(f_TNW-f_BSE)+(f_TSW-f_BNE)+(f_TSE-f_BNW)) + (((f_TE-f_BW)+(f_TN-f_BS))+((f_TW-f_BE)+(f_TS-f_BN))) + (f_T-f_B) / rho; diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu index 35bc18bc0..a7f4c2cb1 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu @@ -719,6 +719,7 @@ extern "C" __global__ void scaleCF_0817_comp_27( real* DC, dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; + dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Bernd das Brot @@ -815,9 +816,6 @@ extern "C" __global__ void scaleCF_0817_comp_27( real* DC, // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - // TODO: variable "dxyz" is used before its value is set - dxyz = 1; - // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/12 press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; vvx = (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); vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); @@ -27680,7 +27678,7 @@ extern "C" __global__ void scaleCF_Fix_comp_27( real* DC, //dxy = ( drho_NEB + drho_NET - drho_NWB - drho_NWT - drho_SEB - drho_SET + drho_SWB + drho_SWT) * c1o2; //dxz = (-drho_NEB + drho_NET + drho_NWB - drho_NWT - drho_SEB + drho_SET + drho_SWB - drho_SWT) * c1o2; //dyz = (-drho_NEB + drho_NET - drho_NWB + drho_NWT + drho_SEB - drho_SET + drho_SWB - drho_SWT) * c1o2; - //dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; + dxyz = -drho_NEB + drho_NET + drho_NWB - drho_NWT + drho_SEB - drho_SET - drho_SWB + drho_SWT; // d0 = zero; //dx = zero; //dy = zero; @@ -27827,9 +27825,6 @@ extern "C" __global__ void scaleCF_Fix_comp_27( real* DC, // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - // TODO: variable "dxyz" is used before its value is set - dxyz = 1; - // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/12 press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; vvx = (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); vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu index 11dc25dfe..0b4c4aae6 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu @@ -729,6 +729,7 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; + dxyz = -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Bernd das Brot @@ -835,9 +836,6 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - // TODO: variable "dxyz" is used before its value is set - dxyz = 1; - // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/12 press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; vvx = (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); vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); @@ -5078,6 +5076,7 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, dxy = ( ((drhoPPM - drhoPMP) + (drhoPPP - drhoPMM)) + ((drhoMMP - drhoMPM) + (drhoMMM - drhoMPP))) * c1o2; dxz = ( ((drhoMMM - drhoPPM) + (drhoPPP - drhoMMP)) + ((drhoMPM - drhoPMM) + (drhoPMP - drhoMPP))) * c1o2; dyz = ( ((drhoMPP - drhoPPM) + (drhoPPP - drhoMPM)) + ((drhoPMM - drhoMMP) + (drhoMMM - drhoPMP))) * c1o2; + dxyz = -drhoPPM + drhoPPP + drhoMPM - drhoMPP + drhoPMM - drhoPMP - drhoMMM + drhoMMP; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // Bernd das Brot @@ -5181,9 +5180,6 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, // drho_SEB * (c9o64 - c9o16 * xoff + c3o16 * yoff + c3o16 * zoff) + // drho_SWB * (c27o64 + c9o16 * xoff + c9o16 * yoff + c9o16 * zoff); - // TODO: variable "dxyz" is used before its value is set - dxyz = 1; - // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/12 press = d0 + x*dx + y*dy + z*dz + x*y*dxy + x*z*dxz + y*z*dyz + x*y*z*dxyz; vvx = (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); vvy = (b0 + x*bx + y*by + z*bz + x*x*bxx + y*y*byy + z*z*bzz + x*y*bxy + x*z*bxz + y*z*byz + x*y*z*bxyz); diff --git a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp index 2145644c6..fda9a458d 100644 --- a/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp +++ b/src/gpu/VirtualFluids_GPU/Parameter/Parameter.cpp @@ -807,6 +807,8 @@ void Parameter::setSizeMatSparse(int level) } void Parameter::fillSparse(int level) { + //nsigned int li = ((parH[level]->gridNX+STARTOFFX-2)-(STARTOFFX+1)-1); + //unsigned int lj = ((parH[level]->gridNY+STARTOFFY-2)-(STARTOFFY+1)-1); // real globalX, globalY, globalZ; real PI = 3.141592653589793238462643383279f; -- GitLab