From 528489eb549a91bc4222fdaad6611e1669639ac4 Mon Sep 17 00:00:00 2001 From: Martin Schoenherr <m.schoenherr@tu-braunschweig.de> Date: Mon, 4 Dec 2023 21:48:42 +0100 Subject: [PATCH] delete Wallfunction.cu --- src/gpu/core/GPU/GPU_Interface.h | 15 - src/gpu/core/GPU/GPU_Kernels.cuh | 14 - src/gpu/core/GPU/LBMKernel.cu | 35 --- src/gpu/core/GPU/WallFunction.cu | 520 ------------------------------- 4 files changed, 584 deletions(-) delete mode 100644 src/gpu/core/GPU/WallFunction.cu diff --git a/src/gpu/core/GPU/GPU_Interface.h b/src/gpu/core/GPU/GPU_Interface.h index b86499d5e..dc3ac7370 100644 --- a/src/gpu/core/GPU/GPU_Interface.h +++ b/src/gpu/core/GPU/GPU_Interface.h @@ -1447,21 +1447,6 @@ void setRecvGsDevF3( bool isEvenTimestep, unsigned int numberOfThreads); -void WallFuncDev27(unsigned int numberOfThreads, - real* vx, - real* vy, - real* vz, - real* DD, - int* k_Q, - real* QQ, - unsigned int numberOfBCnodes, - real om1, - unsigned int* neighborX, - unsigned int* neighborY, - unsigned int* neighborZ, - unsigned long long numberOfLBnodes, - bool isEvenTimestep); - void SetOutputWallVelocitySP27(unsigned int numberOfThreads, real* vxD, real* vyD, diff --git a/src/gpu/core/GPU/GPU_Kernels.cuh b/src/gpu/core/GPU/GPU_Kernels.cuh index b3aa57724..de38cb733 100644 --- a/src/gpu/core/GPU/GPU_Kernels.cuh +++ b/src/gpu/core/GPU/GPU_Kernels.cuh @@ -1425,20 +1425,6 @@ __global__ void setRecvGsF3( unsigned long long numberOfLBnodes, bool isEvenTimestep); -__global__ void WallFunction27( real* vx, - real* vy, - real* vz, - real* DD, - int* k_Q, - real* QQ, - unsigned int numberOfBCnodes, - real om1, - unsigned int* neighborX, - unsigned int* neighborY, - unsigned int* neighborZ, - unsigned long long numberOfLBnodes, - bool isEvenTimestep); - __global__ void LBSetOutputWallVelocitySP27( real* vxD, real* vyD, real* vzD, diff --git a/src/gpu/core/GPU/LBMKernel.cu b/src/gpu/core/GPU/LBMKernel.cu index 617bad9c0..6f063b302 100644 --- a/src/gpu/core/GPU/LBMKernel.cu +++ b/src/gpu/core/GPU/LBMKernel.cu @@ -3319,41 +3319,6 @@ void setRecvGsDevF3( getLastCudaError("setRecvGsF3 execution failed"); } ////////////////////////////////////////////////////////////////////////// -void WallFuncDev27( - unsigned int numberOfThreads, - real* vx, - real* vy, - real* vz, - real* DD, - int* k_Q, - real* QQ, - unsigned int numberOfBCnodes, - real om1, - unsigned int* neighborX, - unsigned int* neighborY, - unsigned int* neighborZ, - unsigned long long numberOfLBnodes, - bool isEvenTimestep) -{ - vf::cuda::CudaGrid grid = vf::cuda::CudaGrid(numberOfThreads, numberOfBCnodes); - - WallFunction27<<< grid.grid, grid.threads >>> ( - vx, - vy, - vz, - DD, - k_Q, - QQ, - numberOfBCnodes, - om1, - neighborX, - neighborY, - neighborZ, - numberOfLBnodes, - isEvenTimestep); - getLastCudaError("WallFunction27 execution failed"); -} -////////////////////////////////////////////////////////////////////////// void SetOutputWallVelocitySP27( unsigned int numberOfThreads, real* vxD, diff --git a/src/gpu/core/GPU/WallFunction.cu b/src/gpu/core/GPU/WallFunction.cu deleted file mode 100644 index 0c81eba65..000000000 --- a/src/gpu/core/GPU/WallFunction.cu +++ /dev/null @@ -1,520 +0,0 @@ -/* Device code */ -#include "LBM/LB.h" -#include "lbm/constants/D3Q27.h" -#include <basics/constants/NumericConstants.h> - -using namespace vf::basics::constant; -using namespace vf::lbm::dir; - - -////////////////////////////////////////////////////////////////////////////// -__global__ void WallFunction27( - real* vx, - real* vy, - real* vz, - real* DD, - int* k_Q, - real* QQ, - unsigned int numberOfBCnodes, - real om1, - unsigned int* neighborX, - unsigned int* neighborY, - unsigned int* neighborZ, - unsigned long long numberOfLBnodes, - bool isEvenTimestep) -{ - Distributions27 D; - if (isEvenTimestep==true) - { - D.f[dP00] = &DD[dP00 * numberOfLBnodes]; - D.f[dM00] = &DD[dM00 * numberOfLBnodes]; - D.f[d0P0] = &DD[d0P0 * numberOfLBnodes]; - D.f[d0M0] = &DD[d0M0 * numberOfLBnodes]; - D.f[d00P] = &DD[d00P * numberOfLBnodes]; - D.f[d00M] = &DD[d00M * numberOfLBnodes]; - D.f[dPP0] = &DD[dPP0 * numberOfLBnodes]; - D.f[dMM0] = &DD[dMM0 * numberOfLBnodes]; - D.f[dPM0] = &DD[dPM0 * numberOfLBnodes]; - D.f[dMP0] = &DD[dMP0 * numberOfLBnodes]; - D.f[dP0P] = &DD[dP0P * numberOfLBnodes]; - D.f[dM0M] = &DD[dM0M * numberOfLBnodes]; - D.f[dP0M] = &DD[dP0M * numberOfLBnodes]; - D.f[dM0P] = &DD[dM0P * numberOfLBnodes]; - D.f[d0PP] = &DD[d0PP * numberOfLBnodes]; - D.f[d0MM] = &DD[d0MM * numberOfLBnodes]; - D.f[d0PM] = &DD[d0PM * numberOfLBnodes]; - D.f[d0MP] = &DD[d0MP * numberOfLBnodes]; - D.f[d000] = &DD[d000 * numberOfLBnodes]; - D.f[dPPP] = &DD[dPPP * numberOfLBnodes]; - D.f[dMMP] = &DD[dMMP * numberOfLBnodes]; - D.f[dPMP] = &DD[dPMP * numberOfLBnodes]; - D.f[dMPP] = &DD[dMPP * numberOfLBnodes]; - D.f[dPPM] = &DD[dPPM * numberOfLBnodes]; - D.f[dMMM] = &DD[dMMM * numberOfLBnodes]; - D.f[dPMM] = &DD[dPMM * numberOfLBnodes]; - D.f[dMPM] = &DD[dMPM * numberOfLBnodes]; - } - else - { - D.f[dM00] = &DD[dP00 * numberOfLBnodes]; - D.f[dP00] = &DD[dM00 * numberOfLBnodes]; - D.f[d0M0] = &DD[d0P0 * numberOfLBnodes]; - D.f[d0P0] = &DD[d0M0 * numberOfLBnodes]; - D.f[d00M] = &DD[d00P * numberOfLBnodes]; - D.f[d00P] = &DD[d00M * numberOfLBnodes]; - D.f[dMM0] = &DD[dPP0 * numberOfLBnodes]; - D.f[dPP0] = &DD[dMM0 * numberOfLBnodes]; - D.f[dMP0] = &DD[dPM0 * numberOfLBnodes]; - D.f[dPM0] = &DD[dMP0 * numberOfLBnodes]; - D.f[dM0M] = &DD[dP0P * numberOfLBnodes]; - D.f[dP0P] = &DD[dM0M * numberOfLBnodes]; - D.f[dM0P] = &DD[dP0M * numberOfLBnodes]; - D.f[dP0M] = &DD[dM0P * numberOfLBnodes]; - D.f[d0MM] = &DD[d0PP * numberOfLBnodes]; - D.f[d0PP] = &DD[d0MM * numberOfLBnodes]; - D.f[d0MP] = &DD[d0PM * numberOfLBnodes]; - D.f[d0PM] = &DD[d0MP * numberOfLBnodes]; - D.f[d000] = &DD[d000 * numberOfLBnodes]; - D.f[dPPP] = &DD[dMMM * numberOfLBnodes]; - D.f[dMMP] = &DD[dPPM * numberOfLBnodes]; - D.f[dPMP] = &DD[dMPM * numberOfLBnodes]; - D.f[dMPP] = &DD[dPMM * numberOfLBnodes]; - D.f[dPPM] = &DD[dMMP * numberOfLBnodes]; - D.f[dMMM] = &DD[dPPP * numberOfLBnodes]; - D.f[dPMM] = &DD[dMPP * numberOfLBnodes]; - D.f[dMPM] = &DD[dPMP * numberOfLBnodes]; - } - //////////////////////////////////////////////////////////////////////////////// - const unsigned x = threadIdx.x; // Globaler x-Index - const unsigned y = blockIdx.x; // Globaler y-Index - const unsigned z = blockIdx.y; // Globaler z-Index - - const unsigned nx = blockDim.x; - const unsigned ny = gridDim.x; - - const unsigned k = nx*(ny*z + y) + x; - ////////////////////////////////////////////////////////////////////////// - - if(k<numberOfBCnodes) - { - //////////////////////////////////////////////////////////////////////////////// - real VeloX = vx[k]; - //real VeloY = vy[k]; - //real VeloZ = vz[k]; //(16.0*(u0*2.0)*bbx*bby*(grid_nx-bbx)*(grid_ny-bby))/(grid_nx*grid_nx*grid_ny*grid_ny) - //////////////////////////////////////////////////////////////////////////////// - //real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB, - // *q_dirNE, *q_dirSW, *q_dirSE, *q_dirNW, *q_dirTE, *q_dirBW, - // *q_dirBE, *q_dirTW, *q_dirTN, *q_dirBS, *q_dirBN, *q_dirTS, - // *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW, - // *q_dirBSE, *q_dirBNW; - //q_dirE = &QQ[dP00 * numberOfBCnodes]; - //q_dirW = &QQ[dM00 * numberOfBCnodes]; - //q_dirN = &QQ[d0P0 * numberOfBCnodes]; - //q_dirS = &QQ[d0M0 * numberOfBCnodes]; - //q_dirT = &QQ[d00P * numberOfBCnodes]; - //q_dirB = &QQ[d00M * numberOfBCnodes]; - //q_dirNE = &QQ[dPP0 * numberOfBCnodes]; - //q_dirSW = &QQ[dMM0 * numberOfBCnodes]; - //q_dirSE = &QQ[dPM0 * numberOfBCnodes]; - //q_dirNW = &QQ[dMP0 * numberOfBCnodes]; - //q_dirTE = &QQ[dP0P * numberOfBCnodes]; - //q_dirBW = &QQ[dM0M * numberOfBCnodes]; - //q_dirBE = &QQ[dP0M * numberOfBCnodes]; - //q_dirTW = &QQ[dM0P * numberOfBCnodes]; - //q_dirTN = &QQ[d0PP * numberOfBCnodes]; - //q_dirBS = &QQ[d0MM * numberOfBCnodes]; - //q_dirBN = &QQ[d0PM * numberOfBCnodes]; - //q_dirTS = &QQ[d0MP * numberOfBCnodes]; - //q_dirTNE = &QQ[dPPP * numberOfBCnodes]; - //q_dirTSW = &QQ[dMMP * numberOfBCnodes]; - //q_dirTSE = &QQ[dPMP * numberOfBCnodes]; - //q_dirTNW = &QQ[dMPP * numberOfBCnodes]; - //q_dirBNE = &QQ[dPPM * numberOfBCnodes]; - //q_dirBSW = &QQ[dMMM * numberOfBCnodes]; - //q_dirBSE = &QQ[dPMM * numberOfBCnodes]; - //q_dirBNW = &QQ[dMPM * numberOfBCnodes]; - //////////////////////////////////////////////////////////////////////////////// - //index - unsigned int KQK = k_Q[k]; - unsigned int kzero= KQK; - unsigned int ke = KQK; - unsigned int kw = neighborX[KQK]; - unsigned int kn = KQK; - unsigned int ks = neighborY[KQK]; - unsigned int kt = KQK; - unsigned int kb = neighborZ[KQK]; - unsigned int ksw = neighborY[kw]; - unsigned int kne = KQK; - unsigned int kse = ks; - unsigned int knw = kw; - unsigned int kbw = neighborZ[kw]; - unsigned int kte = KQK; - unsigned int kbe = kb; - unsigned int ktw = kw; - unsigned int kbs = neighborZ[ks]; - unsigned int ktn = KQK; - unsigned int kbn = kb; - unsigned int kts = ks; - unsigned int ktse = ks; - unsigned int kbnw = kbw; - unsigned int ktnw = kw; - unsigned int kbse = kbs; - unsigned int ktsw = ksw; - unsigned int kbne = kb; - unsigned int ktne = KQK; - unsigned int kbsw = neighborZ[ksw]; - //////////////////////////////////////////////////////////////////////////////// - real f_E, f_W, f_N, f_S, f_T, f_B, f_NE, f_SW, f_SE, f_NW, f_TE, f_BW, f_BE, - f_TW, f_TN, f_BS, f_BN, f_TS, f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - - f_W = (D.f[dP00])[ke ]; - f_E = (D.f[dM00])[kw ]; - f_S = (D.f[d0P0])[kn ]; - f_N = (D.f[d0M0])[ks ]; - f_B = (D.f[d00P])[kt ]; - f_T = (D.f[d00M])[kb ]; - f_SW = (D.f[dPP0])[kne ]; - f_NE = (D.f[dMM0])[ksw ]; - f_NW = (D.f[dPM0])[kse ]; - f_SE = (D.f[dMP0])[knw ]; - f_BW = (D.f[dP0P])[kte ]; - f_TE = (D.f[dM0M])[kbw ]; - f_TW = (D.f[dP0M])[kbe ]; - f_BE = (D.f[dM0P])[ktw ]; - f_BS = (D.f[d0PP])[ktn ]; - f_TN = (D.f[d0MM])[kbs ]; - f_TS = (D.f[d0PM])[kbn ]; - f_BN = (D.f[d0MP])[kts ]; - f_BSW = (D.f[dPPP])[ktne ]; - f_BNE = (D.f[dMMP])[ktsw ]; - f_BNW = (D.f[dPMP])[ktse ]; - f_BSE = (D.f[dMPP])[ktnw ]; - f_TSW = (D.f[dPPM])[kbne ]; - f_TNE = (D.f[dMMM])[kbsw ]; - f_TNW = (D.f[dPMM])[kbse ]; - f_TSE = (D.f[dMPM])[kbnw ]; - //////////////////////////////////////////////////////////////////////////////// - // real vx2, vx3, feq, q; - real vx1, drho; - drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + - f_BN + f_TS + f_TN + f_BS + f_BE + f_TW + f_TE + f_BW + f_SE + f_NW + f_NE + f_SW + - f_T + f_B + f_N + f_S + f_E + f_W + ((D.f[d000])[kzero]); - - vx1 = (((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) + - ((f_BE - f_TW) + (f_TE - f_BW)) + ((f_SE - f_NW) + (f_NE - f_SW)) + - (f_E - f_W)) / (c1o1 + drho); - - - // vx2 = ((-(f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) + - // ((f_BN - f_TS) + (f_TN - f_BS)) + (-(f_SE - f_NW) + (f_NE - f_SW)) + - // (f_N - f_S)) / (c1o1 + drho); - - // vx3 = (((f_TSE - f_BNW) + (f_TNW - f_BSE)) + ((f_TNE - f_BSW) + (f_TSW - f_BNE)) + - // (-(f_BN - f_TS) + (f_TN - f_BS)) + ((f_TE - f_BW) - (f_BE - f_TW)) + - // (f_T - f_B)) / (c1o1 + drho); - - //real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3) * (one + drho); - - real nu = c1o3 * (c1o1 / om1 - c1o2); - real qw = c1o1; - real uTau = sqrt(nu * (vx1 - VeloX) / qw); - - if (abs(uTau)/nu>11){ - uTau = vx1 * 0.41 / (log10(9.8 * uTau * qw / nu)); - - - - vx[k] = vx1 - uTau * uTau * qw / nu; - vx[k] = (vx[k]> 0.05) ? 0.05 : ((vx[k]< -0.05) ? -0.05 : vx[k] ); - } - else{ vx[k]=c0o1; } - //vy[k] = 0.01; //Test...muss wieder raus - //vz[k] = 0.01; //Test...muss wieder raus - - // ////////////////////////////////////////////////////////////////////////// - // if (isEvenTimestep==false) - // { - // D.f[dP00] = &DD[dP00 * size_Mat]; - // D.f[dM00] = &DD[dM00 * size_Mat]; - // D.f[d0P0] = &DD[d0P0 * size_Mat]; - // D.f[d0M0] = &DD[d0M0 * size_Mat]; - // D.f[d00P] = &DD[d00P * size_Mat]; - // D.f[d00M] = &DD[d00M * size_Mat]; - // D.f[dPP0] = &DD[dPP0 * size_Mat]; - // D.f[dMM0] = &DD[dMM0 * size_Mat]; - // D.f[dPM0] = &DD[dPM0 * size_Mat]; - // D.f[dMP0] = &DD[dMP0 * size_Mat]; - // D.f[dP0P] = &DD[dP0P * size_Mat]; - // D.f[dM0M] = &DD[dM0M * size_Mat]; - // D.f[dP0M] = &DD[dP0M * size_Mat]; - // D.f[dM0P] = &DD[dM0P * size_Mat]; - // D.f[d0PP] = &DD[d0PP * size_Mat]; - // D.f[d0MM] = &DD[d0MM * size_Mat]; - // D.f[d0PM] = &DD[d0PM * size_Mat]; - // D.f[d0MP] = &DD[d0MP * size_Mat]; - // D.f[d000] = &DD[d000 * size_Mat]; - // D.f[dPPP] = &DD[dPPP * size_Mat]; - // D.f[dMMP] = &DD[dMMP * size_Mat]; - // D.f[dPMP] = &DD[dPMP * size_Mat]; - // D.f[dMPP] = &DD[dMPP * size_Mat]; - // D.f[dPPM] = &DD[dPPM * size_Mat]; - // D.f[dMMM] = &DD[dMMM * size_Mat]; - // D.f[dPMM] = &DD[dPMM * size_Mat]; - // D.f[dMPM] = &DD[dMPM * size_Mat]; - // } - // else - // { - // D.f[dM00] = &DD[dP00 * size_Mat]; - // D.f[dP00] = &DD[dM00 * size_Mat]; - // D.f[d0M0] = &DD[d0P0 * size_Mat]; - // D.f[d0P0] = &DD[d0M0 * size_Mat]; - // D.f[d00M] = &DD[d00P * size_Mat]; - // D.f[d00P] = &DD[d00M * size_Mat]; - // D.f[dMM0] = &DD[dPP0 * size_Mat]; - // D.f[dPP0] = &DD[dMM0 * size_Mat]; - // D.f[dMP0] = &DD[dPM0 * size_Mat]; - // D.f[dPM0] = &DD[dMP0 * size_Mat]; - // D.f[dM0M] = &DD[dP0P * size_Mat]; - // D.f[dP0P] = &DD[dM0M * size_Mat]; - // D.f[dM0P] = &DD[dP0M * size_Mat]; - // D.f[dP0M] = &DD[dM0P * size_Mat]; - // D.f[d0MM] = &DD[d0PP * size_Mat]; - // D.f[d0PP] = &DD[d0MM * size_Mat]; - // D.f[d0MP] = &DD[d0PM * size_Mat]; - // D.f[d0PM] = &DD[d0MP * size_Mat]; - // D.f[d000] = &DD[d000 * size_Mat]; - // D.f[dPPP] = &DD[dMMM * size_Mat]; - // D.f[dMMP] = &DD[dPPM * size_Mat]; - // D.f[dPMP] = &DD[dMPM * size_Mat]; - // D.f[dMPP] = &DD[dPMM * size_Mat]; - // D.f[dPPM] = &DD[dMMP * size_Mat]; - // D.f[dMMM] = &DD[dPPP * size_Mat]; - // D.f[dPMM] = &DD[dMPP * size_Mat]; - // D.f[dMPM] = &DD[dPMP * size_Mat]; - // } - // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // //Test - // //(D.f[d000])[k]=c1o10; - // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - ////ToDo anders Klammern - - // q = q_dirE[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*( vx1 )*/+c9over2*( vx1 )*( vx1 ) * (one + drho)-cu_sq); - // (D.f[dM00])[kw]=(one-q)/(one+q)*(f_E-f_W+(f_E+f_W-two*feq*om1)/(one-om1))*c1o2+(q*(f_E+f_W)-six*c2over27*( VeloX ))/(one+q);// - c2over27 * drho; - // //(D.f[dM00])[kw]=zero; - // } - - // q = q_dirW[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*(-vx1 )*/+c9over2*(-vx1 )*(-vx1 ) * (one + drho)-cu_sq); - // (D.f[dP00])[ke]=(one-q)/(one+q)*(f_W-f_E+(f_W+f_E-two*feq*om1)/(one-om1))*c1o2+(q*(f_W+f_E)-six*c2over27*(-VeloX ))/(one+q);// - c2over27 * drho; - // //(D.f[dP00])[ke]=zero; - // } - - // q = q_dirN[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*( vx2 )*/+c9over2*( vx2 )*( vx2 ) * (one + drho)-cu_sq); - // (D.f[d0M0])[ks]=(one-q)/(one+q)*(f_N-f_S+(f_N+f_S-two*feq*om1)/(one-om1))*c1o2+(q*(f_N+f_S)-six*c2over27*( VeloY ))/(one+q);// - c2over27 * drho; - // //(D.f[d0M0])[ks]=zero; - // } - - // q = q_dirS[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*( -vx2 )*/+c9over2*( -vx2 )*( -vx2 ) * (one + drho)-cu_sq); - // (D.f[d0P0])[kn]=(one-q)/(one+q)*(f_S-f_N+(f_S+f_N-two*feq*om1)/(one-om1))*c1o2+(q*(f_S+f_N)-six*c2over27*(-VeloY ))/(one+q);// - c2over27 * drho; - // //(D.f[d0P0])[kn]=zero; - // } - - // q = q_dirT[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*( vx3)*/+c9over2*( vx3)*( vx3) * (one + drho)-cu_sq); - // (D.f[d00M])[kb]=(one-q)/(one+q)*(f_T-f_B+(f_T+f_B-two*feq*om1)/(one-om1))*c1o2+(q*(f_T+f_B)-six*c2over27*( VeloZ ))/(one+q);// - c2over27 * drho; - // //(D.f[d00M])[kb]=one; - // } - - // q = q_dirB[k]; - // if (q>=zero && q<=one) - // { - // feq=c2over27* (drho/*+three*( -vx3)*/+c9over2*( -vx3)*( -vx3) * (one + drho)-cu_sq); - // (D.f[d00P])[kt]=(one-q)/(one+q)*(f_B-f_T+(f_B+f_T-two*feq*om1)/(one-om1))*c1o2+(q*(f_B+f_T)-six*c2over27*(-VeloZ ))/(one+q);// - c2over27 * drho; - // //(D.f[d00P])[kt]=zero; - // } - - // q = q_dirNE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx1+vx2 )*/+c9over2*( vx1+vx2 )*( vx1+vx2 ) * (one + drho)-cu_sq); - // (D.f[dMM0])[ksw]=(one-q)/(one+q)*(f_NE-f_SW+(f_NE+f_SW-two*feq*om1)/(one-om1))*c1o2+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q);// - c1over54 * drho; - // //(D.f[dMM0])[ksw]=zero; - // } - - // q = q_dirSW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*(-vx1-vx2 )*/+c9over2*(-vx1-vx2 )*(-vx1-vx2 ) * (one + drho)-cu_sq); - // (D.f[dPP0])[kne]=(one-q)/(one+q)*(f_SW-f_NE+(f_SW+f_NE-two*feq*om1)/(one-om1))*c1o2+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q);// - c1over54 * drho; - // //(D.f[dPP0])[kne]=zero; - // } - - // q = q_dirSE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx1-vx2 )*/+c9over2*( vx1-vx2 )*( vx1-vx2 ) * (one + drho)-cu_sq); - // (D.f[dMP0])[knw]=(one-q)/(one+q)*(f_SE-f_NW+(f_SE+f_NW-two*feq*om1)/(one-om1))*c1o2+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q);// - c1over54 * drho; - // //(D.f[dMP0])[knw]=zero; - // } - - // q = q_dirNW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*(-vx1+vx2 )*/+c9over2*(-vx1+vx2 )*(-vx1+vx2 ) * (one + drho)-cu_sq); - // (D.f[dPM0])[kse]=(one-q)/(one+q)*(f_NW-f_SE+(f_NW+f_SE-two*feq*om1)/(one-om1))*c1o2+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q);// - c1over54 * drho; - // //(D.f[dPM0])[kse]=zero; - // } - - // q = q_dirTE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx1 +vx3)*/+c9over2*( vx1 +vx3)*( vx1 +vx3) * (one + drho)-cu_sq); - // (D.f[dM0M])[kbw]=(one-q)/(one+q)*(f_TE-f_BW+(f_TE+f_BW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[dM0M])[kbw]=zero; - // } - - // q = q_dirBW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*(-vx1 -vx3)*/+c9over2*(-vx1 -vx3)*(-vx1 -vx3) * (one + drho)-cu_sq); - // (D.f[dP0P])[kte]=(one-q)/(one+q)*(f_BW-f_TE+(f_BW+f_TE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[dP0P])[kte]=zero; - // } - - // q = q_dirBE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx1 -vx3)*/+c9over2*( vx1 -vx3)*( vx1 -vx3) * (one + drho)-cu_sq); - // (D.f[dM0P])[ktw]=(one-q)/(one+q)*(f_BE-f_TW+(f_BE+f_TW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[dM0P])[ktw]=zero; - // } - - // q = q_dirTW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*(-vx1 +vx3)*/+c9over2*(-vx1 +vx3)*(-vx1 +vx3) * (one + drho)-cu_sq); - // (D.f[dP0M])[kbe]=(one-q)/(one+q)*(f_TW-f_BE+(f_TW+f_BE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[dP0M])[kbe]=zero; - // } - - // q = q_dirTN[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx2+vx3)*/+c9over2*( vx2+vx3)*( vx2+vx3) * (one + drho)-cu_sq); - // (D.f[d0MM])[kbs]=(one-q)/(one+q)*(f_TN-f_BS+(f_TN+f_BS-two*feq*om1)/(one-om1))*c1o2+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[d0MM])[kbs]=zero; - // } - - // q = q_dirBS[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( -vx2-vx3)*/+c9over2*( -vx2-vx3)*( -vx2-vx3) * (one + drho)-cu_sq); - // (D.f[d0PP])[ktn]=(one-q)/(one+q)*(f_BS-f_TN+(f_BS+f_TN-two*feq*om1)/(one-om1))*c1o2+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[d0PP])[ktn]=zero; - // } - - // q = q_dirBN[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( vx2-vx3)*/+c9over2*( vx2-vx3)*( vx2-vx3) * (one + drho)-cu_sq); - // (D.f[d0MP])[kts]=(one-q)/(one+q)*(f_BN-f_TS+(f_BN+f_TS-two*feq*om1)/(one-om1))*c1o2+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[d0MP])[kts]=zero; - // } - - // q = q_dirTS[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over54* (drho/*+three*( -vx2+vx3)*/+c9over2*( -vx2+vx3)*( -vx2+vx3) * (one + drho)-cu_sq); - // (D.f[d0PM])[kbn]=(one-q)/(one+q)*(f_TS-f_BN+(f_TS+f_BN-two*feq*om1)/(one-om1))*c1o2+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q);// - c1over54 * drho; - // //(D.f[d0PM])[kbn]=zero; - // } - - // q = q_dirTNE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*( vx1+vx2+vx3)*/+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (one + drho)-cu_sq); - // (D.f[dMMM])[kbsw]=(one-q)/(one+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dMMM])[kbsw]=zero; - // } - - // q = q_dirBSW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*(-vx1-vx2-vx3)*/+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (one + drho)-cu_sq); - // (D.f[dPPP])[ktne]=(one-q)/(one+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dPPP])[ktne]=zero; - // } - - // q = q_dirBNE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*( vx1+vx2-vx3)*/+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (one + drho)-cu_sq); - // (D.f[dMMP])[ktsw]=(one-q)/(one+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dMMP])[ktsw]=zero; - // } - - // q = q_dirTSW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*(-vx1-vx2+vx3)*/+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (one + drho)-cu_sq); - // (D.f[dPPM])[kbne]=(one-q)/(one+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dPPM])[kbne]=zero; - // } - - // q = q_dirTSE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*( vx1-vx2+vx3)*/+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (one + drho)-cu_sq); - // (D.f[dMPM])[kbnw]=(one-q)/(one+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dMPM])[kbnw]=zero; - // } - - // q = q_dirBNW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*(-vx1+vx2-vx3)*/+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (one + drho)-cu_sq); - // (D.f[dPMP])[ktse]=(one-q)/(one+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dPMP])[ktse]=zero; - // } - - // q = q_dirBSE[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*( vx1-vx2-vx3)*/+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (one + drho)-cu_sq); - // (D.f[dMPP])[ktnw]=(one-q)/(one+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-two*feq*om1)/(one-om1))*c1o2+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dMPP])[ktnw]=zero; - // } - - // q = q_dirTNW[k]; - // if (q>=zero && q<=one) - // { - // feq=c1over216*(drho/*+three*(-vx1+vx2+vx3)*/+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (one + drho)-cu_sq); - // (D.f[dPMM])[kbse]=(one-q)/(one+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-two*feq*om1)/(one-om1))*c1o2+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q);// - c1over216 * drho; - // //(D.f[dPMM])[kbse]=zero; - // } - } -} -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - - - - - -- GitLab