diff --git a/src/gpu/VirtualFluids_GPU/GPU/BoundaryConditions/QVelDevPlainBB27.cu b/src/gpu/VirtualFluids_GPU/GPU/BoundaryConditions/QVelDevPlainBB27.cu index aa35fe96096cfc4082c36079ac64900114afa789..fd9dcb17407818d59271b6114ed8c8392e84eb9c 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/BoundaryConditions/QVelDevPlainBB27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/BoundaryConditions/QVelDevPlainBB27.cu @@ -38,18 +38,18 @@ using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////////// extern "C" __global__ void QVelDevPlainBB27( - real* vx, - real* vy, - real* vz, + real* velocityX, + real* velocityY, + real* velocityZ, real* distributions, - int* k_Q, + int* subgridDistanceIndices, real* subgridDistances, - uint sizeQ, - int kQ, + uint numberOfSubgridIndices, + int numberOfBCnodes, uint* neighborX, uint* neighborY, uint* neighborZ, - uint size_Mat, + uint numberOfLBnodes, bool isEvenTimestep) { ////////////////////////////////////////////////////////////////////////// @@ -68,8 +68,8 @@ extern "C" __global__ void QVelDevPlainBB27( const unsigned k = nx*(ny*z + y) + x; ////////////////////////////////////////////////////////////////////////// - // run for all indices in size of boundary condition (kQ) - if(k<kQ) + // run for all indices in size of boundary condition (numberOfBCnodes) + if(k < numberOfBCnodes) { ////////////////////////////////////////////////////////////////////////// //! - Read distributions: style of reading and writing the distributions from/to stored arrays dependent on timestep is based on the esoteric twist algorithm \ref @@ -78,72 +78,72 @@ extern "C" __global__ void QVelDevPlainBB27( Distributions27 dist; if (isEvenTimestep) { - dist.f[dirE ] = &distributions[dirE *size_Mat]; - dist.f[dirW ] = &distributions[dirW *size_Mat]; - dist.f[dirN ] = &distributions[dirN *size_Mat]; - dist.f[dirS ] = &distributions[dirS *size_Mat]; - dist.f[dirT ] = &distributions[dirT *size_Mat]; - dist.f[dirB ] = &distributions[dirB *size_Mat]; - dist.f[dirNE ] = &distributions[dirNE *size_Mat]; - dist.f[dirSW ] = &distributions[dirSW *size_Mat]; - dist.f[dirSE ] = &distributions[dirSE *size_Mat]; - dist.f[dirNW ] = &distributions[dirNW *size_Mat]; - dist.f[dirTE ] = &distributions[dirTE *size_Mat]; - dist.f[dirBW ] = &distributions[dirBW *size_Mat]; - dist.f[dirBE ] = &distributions[dirBE *size_Mat]; - dist.f[dirTW ] = &distributions[dirTW *size_Mat]; - dist.f[dirTN ] = &distributions[dirTN *size_Mat]; - dist.f[dirBS ] = &distributions[dirBS *size_Mat]; - dist.f[dirBN ] = &distributions[dirBN *size_Mat]; - dist.f[dirTS ] = &distributions[dirTS *size_Mat]; - dist.f[dirREST] = &distributions[dirREST*size_Mat]; - dist.f[dirTNE ] = &distributions[dirTNE *size_Mat]; - dist.f[dirTSW ] = &distributions[dirTSW *size_Mat]; - dist.f[dirTSE ] = &distributions[dirTSE *size_Mat]; - dist.f[dirTNW ] = &distributions[dirTNW *size_Mat]; - dist.f[dirBNE ] = &distributions[dirBNE *size_Mat]; - dist.f[dirBSW ] = &distributions[dirBSW *size_Mat]; - dist.f[dirBSE ] = &distributions[dirBSE *size_Mat]; - dist.f[dirBNW ] = &distributions[dirBNW *size_Mat]; + dist.f[dirE ] = &distributions[dirE *numberOfLBnodes]; + dist.f[dirW ] = &distributions[dirW *numberOfLBnodes]; + dist.f[dirN ] = &distributions[dirN *numberOfLBnodes]; + dist.f[dirS ] = &distributions[dirS *numberOfLBnodes]; + dist.f[dirT ] = &distributions[dirT *numberOfLBnodes]; + dist.f[dirB ] = &distributions[dirB *numberOfLBnodes]; + dist.f[dirNE ] = &distributions[dirNE *numberOfLBnodes]; + dist.f[dirSW ] = &distributions[dirSW *numberOfLBnodes]; + dist.f[dirSE ] = &distributions[dirSE *numberOfLBnodes]; + dist.f[dirNW ] = &distributions[dirNW *numberOfLBnodes]; + dist.f[dirTE ] = &distributions[dirTE *numberOfLBnodes]; + dist.f[dirBW ] = &distributions[dirBW *numberOfLBnodes]; + dist.f[dirBE ] = &distributions[dirBE *numberOfLBnodes]; + dist.f[dirTW ] = &distributions[dirTW *numberOfLBnodes]; + dist.f[dirTN ] = &distributions[dirTN *numberOfLBnodes]; + dist.f[dirBS ] = &distributions[dirBS *numberOfLBnodes]; + dist.f[dirBN ] = &distributions[dirBN *numberOfLBnodes]; + dist.f[dirTS ] = &distributions[dirTS *numberOfLBnodes]; + dist.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; + dist.f[dirTNE ] = &distributions[dirTNE *numberOfLBnodes]; + dist.f[dirTSW ] = &distributions[dirTSW *numberOfLBnodes]; + dist.f[dirTSE ] = &distributions[dirTSE *numberOfLBnodes]; + dist.f[dirTNW ] = &distributions[dirTNW *numberOfLBnodes]; + dist.f[dirBNE ] = &distributions[dirBNE *numberOfLBnodes]; + dist.f[dirBSW ] = &distributions[dirBSW *numberOfLBnodes]; + dist.f[dirBSE ] = &distributions[dirBSE *numberOfLBnodes]; + dist.f[dirBNW ] = &distributions[dirBNW *numberOfLBnodes]; } else { - dist.f[dirW ] = &distributions[dirE *size_Mat]; - dist.f[dirE ] = &distributions[dirW *size_Mat]; - dist.f[dirS ] = &distributions[dirN *size_Mat]; - dist.f[dirN ] = &distributions[dirS *size_Mat]; - dist.f[dirB ] = &distributions[dirT *size_Mat]; - dist.f[dirT ] = &distributions[dirB *size_Mat]; - dist.f[dirSW ] = &distributions[dirNE *size_Mat]; - dist.f[dirNE ] = &distributions[dirSW *size_Mat]; - dist.f[dirNW ] = &distributions[dirSE *size_Mat]; - dist.f[dirSE ] = &distributions[dirNW *size_Mat]; - dist.f[dirBW ] = &distributions[dirTE *size_Mat]; - dist.f[dirTE ] = &distributions[dirBW *size_Mat]; - dist.f[dirTW ] = &distributions[dirBE *size_Mat]; - dist.f[dirBE ] = &distributions[dirTW *size_Mat]; - dist.f[dirBS ] = &distributions[dirTN *size_Mat]; - dist.f[dirTN ] = &distributions[dirBS *size_Mat]; - dist.f[dirTS ] = &distributions[dirBN *size_Mat]; - dist.f[dirBN ] = &distributions[dirTS *size_Mat]; - dist.f[dirREST] = &distributions[dirREST*size_Mat]; - dist.f[dirTNE ] = &distributions[dirBSW *size_Mat]; - dist.f[dirTSW ] = &distributions[dirBNE *size_Mat]; - dist.f[dirTSE ] = &distributions[dirBNW *size_Mat]; - dist.f[dirTNW ] = &distributions[dirBSE *size_Mat]; - dist.f[dirBNE ] = &distributions[dirTSW *size_Mat]; - dist.f[dirBSW ] = &distributions[dirTNE *size_Mat]; - dist.f[dirBSE ] = &distributions[dirTNW *size_Mat]; - dist.f[dirBNW ] = &distributions[dirTSE *size_Mat]; + dist.f[dirW ] = &distributions[dirE *numberOfLBnodes]; + dist.f[dirE ] = &distributions[dirW *numberOfLBnodes]; + dist.f[dirS ] = &distributions[dirN *numberOfLBnodes]; + dist.f[dirN ] = &distributions[dirS *numberOfLBnodes]; + dist.f[dirB ] = &distributions[dirT *numberOfLBnodes]; + dist.f[dirT ] = &distributions[dirB *numberOfLBnodes]; + dist.f[dirSW ] = &distributions[dirNE *numberOfLBnodes]; + dist.f[dirNE ] = &distributions[dirSW *numberOfLBnodes]; + dist.f[dirNW ] = &distributions[dirSE *numberOfLBnodes]; + dist.f[dirSE ] = &distributions[dirNW *numberOfLBnodes]; + dist.f[dirBW ] = &distributions[dirTE *numberOfLBnodes]; + dist.f[dirTE ] = &distributions[dirBW *numberOfLBnodes]; + dist.f[dirTW ] = &distributions[dirBE *numberOfLBnodes]; + dist.f[dirBE ] = &distributions[dirTW *numberOfLBnodes]; + dist.f[dirBS ] = &distributions[dirTN *numberOfLBnodes]; + dist.f[dirTN ] = &distributions[dirBS *numberOfLBnodes]; + dist.f[dirTS ] = &distributions[dirBN *numberOfLBnodes]; + dist.f[dirBN ] = &distributions[dirTS *numberOfLBnodes]; + dist.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; + dist.f[dirTNE ] = &distributions[dirBSW *numberOfLBnodes]; + dist.f[dirTSW ] = &distributions[dirBNE *numberOfLBnodes]; + dist.f[dirTSE ] = &distributions[dirBNW *numberOfLBnodes]; + dist.f[dirTNW ] = &distributions[dirBSE *numberOfLBnodes]; + dist.f[dirBNE ] = &distributions[dirTSW *numberOfLBnodes]; + dist.f[dirBSW ] = &distributions[dirTNE *numberOfLBnodes]; + dist.f[dirBSE ] = &distributions[dirTNW *numberOfLBnodes]; + dist.f[dirBNW ] = &distributions[dirTSE *numberOfLBnodes]; } //////////////////////////////////////////////////////////////////////////////// //! - Set local velocities //! - real VeloX = vx[k]; - real VeloY = vy[k]; - real VeloZ = vz[k]; + real VeloX = velocityX[k]; + real VeloY = velocityY[k]; + real VeloZ = velocityZ[k]; //////////////////////////////////////////////////////////////////////////////// //! - Set local subgrid distances (q's) //! @@ -152,36 +152,36 @@ extern "C" __global__ void QVelDevPlainBB27( *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 = &subgridDistances[dirE *sizeQ]; - q_dirW = &subgridDistances[dirW *sizeQ]; - q_dirN = &subgridDistances[dirN *sizeQ]; - q_dirS = &subgridDistances[dirS *sizeQ]; - q_dirT = &subgridDistances[dirT *sizeQ]; - q_dirB = &subgridDistances[dirB *sizeQ]; - q_dirNE = &subgridDistances[dirNE *sizeQ]; - q_dirSW = &subgridDistances[dirSW *sizeQ]; - q_dirSE = &subgridDistances[dirSE *sizeQ]; - q_dirNW = &subgridDistances[dirNW *sizeQ]; - q_dirTE = &subgridDistances[dirTE *sizeQ]; - q_dirBW = &subgridDistances[dirBW *sizeQ]; - q_dirBE = &subgridDistances[dirBE *sizeQ]; - q_dirTW = &subgridDistances[dirTW *sizeQ]; - q_dirTN = &subgridDistances[dirTN *sizeQ]; - q_dirBS = &subgridDistances[dirBS *sizeQ]; - q_dirBN = &subgridDistances[dirBN *sizeQ]; - q_dirTS = &subgridDistances[dirTS *sizeQ]; - q_dirTNE = &subgridDistances[dirTNE *sizeQ]; - q_dirTSW = &subgridDistances[dirTSW *sizeQ]; - q_dirTSE = &subgridDistances[dirTSE *sizeQ]; - q_dirTNW = &subgridDistances[dirTNW *sizeQ]; - q_dirBNE = &subgridDistances[dirBNE *sizeQ]; - q_dirBSW = &subgridDistances[dirBSW *sizeQ]; - q_dirBSE = &subgridDistances[dirBSE *sizeQ]; - q_dirBNW = &subgridDistances[dirBNW *sizeQ]; + q_dirE = &subgridDistances[dirE *numberOfSubgridIndices]; + q_dirW = &subgridDistances[dirW *numberOfSubgridIndices]; + q_dirN = &subgridDistances[dirN *numberOfSubgridIndices]; + q_dirS = &subgridDistances[dirS *numberOfSubgridIndices]; + q_dirT = &subgridDistances[dirT *numberOfSubgridIndices]; + q_dirB = &subgridDistances[dirB *numberOfSubgridIndices]; + q_dirNE = &subgridDistances[dirNE *numberOfSubgridIndices]; + q_dirSW = &subgridDistances[dirSW *numberOfSubgridIndices]; + q_dirSE = &subgridDistances[dirSE *numberOfSubgridIndices]; + q_dirNW = &subgridDistances[dirNW *numberOfSubgridIndices]; + q_dirTE = &subgridDistances[dirTE *numberOfSubgridIndices]; + q_dirBW = &subgridDistances[dirBW *numberOfSubgridIndices]; + q_dirBE = &subgridDistances[dirBE *numberOfSubgridIndices]; + q_dirTW = &subgridDistances[dirTW *numberOfSubgridIndices]; + q_dirTN = &subgridDistances[dirTN *numberOfSubgridIndices]; + q_dirBS = &subgridDistances[dirBS *numberOfSubgridIndices]; + q_dirBN = &subgridDistances[dirBN *numberOfSubgridIndices]; + q_dirTS = &subgridDistances[dirTS *numberOfSubgridIndices]; + q_dirTNE = &subgridDistances[dirTNE *numberOfSubgridIndices]; + q_dirTSW = &subgridDistances[dirTSW *numberOfSubgridIndices]; + q_dirTSE = &subgridDistances[dirTSE *numberOfSubgridIndices]; + q_dirTNW = &subgridDistances[dirTNW *numberOfSubgridIndices]; + q_dirBNE = &subgridDistances[dirBNE *numberOfSubgridIndices]; + q_dirBSW = &subgridDistances[dirBSW *numberOfSubgridIndices]; + q_dirBSE = &subgridDistances[dirBSE *numberOfSubgridIndices]; + q_dirBNW = &subgridDistances[dirBNW *numberOfSubgridIndices]; //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) //! - uint KQK = k_Q[k]; + uint KQK = subgridDistanceIndices[k]; uint ke = KQK; uint kw = neighborX[KQK]; uint kn = KQK; @@ -246,73 +246,73 @@ extern "C" __global__ void QVelDevPlainBB27( //! if (!isEvenTimestep) { - dist.f[dirE ] = &distributions[dirE *size_Mat]; - dist.f[dirW ] = &distributions[dirW *size_Mat]; - dist.f[dirN ] = &distributions[dirN *size_Mat]; - dist.f[dirS ] = &distributions[dirS *size_Mat]; - dist.f[dirT ] = &distributions[dirT *size_Mat]; - dist.f[dirB ] = &distributions[dirB *size_Mat]; - dist.f[dirNE ] = &distributions[dirNE *size_Mat]; - dist.f[dirSW ] = &distributions[dirSW *size_Mat]; - dist.f[dirSE ] = &distributions[dirSE *size_Mat]; - dist.f[dirNW ] = &distributions[dirNW *size_Mat]; - dist.f[dirTE ] = &distributions[dirTE *size_Mat]; - dist.f[dirBW ] = &distributions[dirBW *size_Mat]; - dist.f[dirBE ] = &distributions[dirBE *size_Mat]; - dist.f[dirTW ] = &distributions[dirTW *size_Mat]; - dist.f[dirTN ] = &distributions[dirTN *size_Mat]; - dist.f[dirBS ] = &distributions[dirBS *size_Mat]; - dist.f[dirBN ] = &distributions[dirBN *size_Mat]; - dist.f[dirTS ] = &distributions[dirTS *size_Mat]; - dist.f[dirREST] = &distributions[dirREST*size_Mat]; - dist.f[dirTNE ] = &distributions[dirTNE *size_Mat]; - dist.f[dirTSW ] = &distributions[dirTSW *size_Mat]; - dist.f[dirTSE ] = &distributions[dirTSE *size_Mat]; - dist.f[dirTNW ] = &distributions[dirTNW *size_Mat]; - dist.f[dirBNE ] = &distributions[dirBNE *size_Mat]; - dist.f[dirBSW ] = &distributions[dirBSW *size_Mat]; - dist.f[dirBSE ] = &distributions[dirBSE *size_Mat]; - dist.f[dirBNW ] = &distributions[dirBNW *size_Mat]; + dist.f[dirE ] = &distributions[dirE *numberOfLBnodes]; + dist.f[dirW ] = &distributions[dirW *numberOfLBnodes]; + dist.f[dirN ] = &distributions[dirN *numberOfLBnodes]; + dist.f[dirS ] = &distributions[dirS *numberOfLBnodes]; + dist.f[dirT ] = &distributions[dirT *numberOfLBnodes]; + dist.f[dirB ] = &distributions[dirB *numberOfLBnodes]; + dist.f[dirNE ] = &distributions[dirNE *numberOfLBnodes]; + dist.f[dirSW ] = &distributions[dirSW *numberOfLBnodes]; + dist.f[dirSE ] = &distributions[dirSE *numberOfLBnodes]; + dist.f[dirNW ] = &distributions[dirNW *numberOfLBnodes]; + dist.f[dirTE ] = &distributions[dirTE *numberOfLBnodes]; + dist.f[dirBW ] = &distributions[dirBW *numberOfLBnodes]; + dist.f[dirBE ] = &distributions[dirBE *numberOfLBnodes]; + dist.f[dirTW ] = &distributions[dirTW *numberOfLBnodes]; + dist.f[dirTN ] = &distributions[dirTN *numberOfLBnodes]; + dist.f[dirBS ] = &distributions[dirBS *numberOfLBnodes]; + dist.f[dirBN ] = &distributions[dirBN *numberOfLBnodes]; + dist.f[dirTS ] = &distributions[dirTS *numberOfLBnodes]; + dist.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; + dist.f[dirTNE ] = &distributions[dirTNE *numberOfLBnodes]; + dist.f[dirTSW ] = &distributions[dirTSW *numberOfLBnodes]; + dist.f[dirTSE ] = &distributions[dirTSE *numberOfLBnodes]; + dist.f[dirTNW ] = &distributions[dirTNW *numberOfLBnodes]; + dist.f[dirBNE ] = &distributions[dirBNE *numberOfLBnodes]; + dist.f[dirBSW ] = &distributions[dirBSW *numberOfLBnodes]; + dist.f[dirBSE ] = &distributions[dirBSE *numberOfLBnodes]; + dist.f[dirBNW ] = &distributions[dirBNW *numberOfLBnodes]; } else { - dist.f[dirW ] = &distributions[dirE *size_Mat]; - dist.f[dirE ] = &distributions[dirW *size_Mat]; - dist.f[dirS ] = &distributions[dirN *size_Mat]; - dist.f[dirN ] = &distributions[dirS *size_Mat]; - dist.f[dirB ] = &distributions[dirT *size_Mat]; - dist.f[dirT ] = &distributions[dirB *size_Mat]; - dist.f[dirSW ] = &distributions[dirNE *size_Mat]; - dist.f[dirNE ] = &distributions[dirSW *size_Mat]; - dist.f[dirNW ] = &distributions[dirSE *size_Mat]; - dist.f[dirSE ] = &distributions[dirNW *size_Mat]; - dist.f[dirBW ] = &distributions[dirTE *size_Mat]; - dist.f[dirTE ] = &distributions[dirBW *size_Mat]; - dist.f[dirTW ] = &distributions[dirBE *size_Mat]; - dist.f[dirBE ] = &distributions[dirTW *size_Mat]; - dist.f[dirBS ] = &distributions[dirTN *size_Mat]; - dist.f[dirTN ] = &distributions[dirBS *size_Mat]; - dist.f[dirTS ] = &distributions[dirBN *size_Mat]; - dist.f[dirBN ] = &distributions[dirTS *size_Mat]; - dist.f[dirREST] = &distributions[dirREST*size_Mat]; - dist.f[dirTNE ] = &distributions[dirBSW *size_Mat]; - dist.f[dirTSW ] = &distributions[dirBNE *size_Mat]; - dist.f[dirTSE ] = &distributions[dirBNW *size_Mat]; - dist.f[dirTNW ] = &distributions[dirBSE *size_Mat]; - dist.f[dirBNE ] = &distributions[dirTSW *size_Mat]; - dist.f[dirBSW ] = &distributions[dirTNE *size_Mat]; - dist.f[dirBSE ] = &distributions[dirTNW *size_Mat]; - dist.f[dirBNW ] = &distributions[dirTSE *size_Mat]; + dist.f[dirW ] = &distributions[dirE *numberOfLBnodes]; + dist.f[dirE ] = &distributions[dirW *numberOfLBnodes]; + dist.f[dirS ] = &distributions[dirN *numberOfLBnodes]; + dist.f[dirN ] = &distributions[dirS *numberOfLBnodes]; + dist.f[dirB ] = &distributions[dirT *numberOfLBnodes]; + dist.f[dirT ] = &distributions[dirB *numberOfLBnodes]; + dist.f[dirSW ] = &distributions[dirNE *numberOfLBnodes]; + dist.f[dirNE ] = &distributions[dirSW *numberOfLBnodes]; + dist.f[dirNW ] = &distributions[dirSE *numberOfLBnodes]; + dist.f[dirSE ] = &distributions[dirNW *numberOfLBnodes]; + dist.f[dirBW ] = &distributions[dirTE *numberOfLBnodes]; + dist.f[dirTE ] = &distributions[dirBW *numberOfLBnodes]; + dist.f[dirTW ] = &distributions[dirBE *numberOfLBnodes]; + dist.f[dirBE ] = &distributions[dirTW *numberOfLBnodes]; + dist.f[dirBS ] = &distributions[dirTN *numberOfLBnodes]; + dist.f[dirTN ] = &distributions[dirBS *numberOfLBnodes]; + dist.f[dirTS ] = &distributions[dirBN *numberOfLBnodes]; + dist.f[dirBN ] = &distributions[dirTS *numberOfLBnodes]; + dist.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; + dist.f[dirTNE ] = &distributions[dirBSW *numberOfLBnodes]; + dist.f[dirTSW ] = &distributions[dirBNE *numberOfLBnodes]; + dist.f[dirTSE ] = &distributions[dirBNW *numberOfLBnodes]; + dist.f[dirTNW ] = &distributions[dirBSE *numberOfLBnodes]; + dist.f[dirBNE ] = &distributions[dirTSW *numberOfLBnodes]; + dist.f[dirBSW ] = &distributions[dirTNE *numberOfLBnodes]; + dist.f[dirBSE ] = &distributions[dirTNW *numberOfLBnodes]; + dist.f[dirBNW ] = &distributions[dirTSE *numberOfLBnodes]; } //////////////////////////////////////////////////////////////////////////////// //! - rewrite distributions if there is a sub-grid distance (q) in same direction real q; - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirW ])[kw ]=f_E + c4o9 * (-VeloX); - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirE ])[ke ]=f_W + c4o9 * ( VeloX); - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirS ])[ks ]=f_N + c4o9 * (-VeloY); - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirN ])[kn ]=f_S + c4o9 * ( VeloY); - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirB ])[kb ]=f_T + c4o9 * (-VeloZ); - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirT ])[kt ]=f_B + c4o9 * ( VeloZ); + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirW ])[kw ]=f_E + c4o9 * (-VeloX); + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirE ])[ke ]=f_W + c4o9 * ( VeloX); + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirS ])[ks ]=f_N + c4o9 * (-VeloY); + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirN ])[kn ]=f_S + c4o9 * ( VeloY); + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirB ])[kb ]=f_T + c4o9 * (-VeloZ); + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirT ])[kt ]=f_B + c4o9 * ( VeloZ); q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirSW ])[ksw ]=f_NE + c1o9 * (-VeloX - VeloY); q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNE ])[kne ]=f_SW + c1o9 * ( VeloX + VeloY); q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNW ])[knw ]=f_SE + c1o9 * (-VeloX + VeloY); @@ -325,14 +325,14 @@ extern "C" __global__ void QVelDevPlainBB27( q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTN ])[ktn ]=f_BS + c1o9 * ( VeloY + VeloZ); q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTS ])[kts ]=f_BN + c1o9 * (-VeloY + VeloZ); q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBN ])[kbn ]=f_TS + c1o9 * ( VeloY - VeloZ); - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSW])[kbsw]=f_TNE + c1o36 * (-VeloX - VeloY - VeloZ); - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNE])[ktne]=f_BSW + c1o36 * ( VeloX + VeloY + VeloZ); - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSW])[ktsw]=f_BNE + c1o36 * (-VeloX - VeloY + VeloZ); - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNE])[kbne]=f_TSW + c1o36 * ( VeloX + VeloY - VeloZ); - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNW])[kbnw]=f_TSE + c1o36 * (-VeloX + VeloY - VeloZ); - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSE])[ktse]=f_BNW + c1o36 * ( VeloX - VeloY + VeloZ); - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNW])[ktnw]=f_BSE + c1o36 * (-VeloX + VeloY + VeloZ); - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSE])[kbse]=f_TNW + c1o36 * ( VeloX - VeloY - VeloZ); + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSW])[kbsw]=f_TNE + c1o36 * (-VeloX - VeloY - VeloZ); + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNE])[ktne]=f_BSW + c1o36 * ( VeloX + VeloY + VeloZ); + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSW])[ktsw]=f_BNE + c1o36 * (-VeloX - VeloY + VeloZ); + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNE])[kbne]=f_TSW + c1o36 * ( VeloX + VeloY - VeloZ); + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNW])[kbnw]=f_TSE + c1o36 * (-VeloX + VeloY - VeloZ); + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSE])[ktse]=f_BNW + c1o36 * ( VeloX - VeloY + VeloZ); + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNW])[ktnw]=f_BSE + c1o36 * (-VeloX + VeloY + VeloZ); + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSE])[kbse]=f_TNW + c1o36 * ( VeloX - VeloY - VeloZ); } }