From 73a86ccee472711da482226f9df3948d12ea6d65 Mon Sep 17 00:00:00 2001 From: Anna Wellmann <a.wellmann@tu-braunschweig.de> Date: Thu, 7 Jul 2022 14:28:20 +0200 Subject: [PATCH] Rename D3Q27 directions --- .../Communication/ExchangeData27.cpp | 2 +- .../GridReaderFiles/GridReader.cpp | 52 +- .../GridReaderGenerator/GridGenerator.cpp | 260 +- src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp | 940 +-- .../GPU/AdvectionDiffusion27chim.cu | 364 +- .../GPU/AdvectionDiffusionBCs27.cu | 5872 ++++++++--------- src/gpu/VirtualFluids_GPU/GPU/CP27.cu | 130 +- .../VirtualFluids_GPU/GPU/Calc2ndMoments27.cu | 936 +-- src/gpu/VirtualFluids_GPU/GPU/CalcConc27.cu | 416 +- src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu | 1218 ++-- src/gpu/VirtualFluids_GPU/GPU/Cascade27.cu | 1664 ++--- src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu | 1248 ++-- .../VirtualFluids_GPU/GPU/Cumulant27chim.cu | 624 +- .../VirtualFluids_GPU/GPU/Cumulant_F3_27.cu | 776 +-- src/gpu/VirtualFluids_GPU/GPU/DragLift27.cu | 416 +- .../VirtualFluids_GPU/GPU/ExchangeData27.cu | 1032 +-- src/gpu/VirtualFluids_GPU/GPU/Init27.cu | 312 +- .../GPU/InitAdvectionDiffusion27.cu | 312 +- .../VirtualFluids_GPU/GPU/KernelUtilities.h | 156 +- src/gpu/VirtualFluids_GPU/GPU/NoSlipBCs27.cu | 1716 ++--- src/gpu/VirtualFluids_GPU/GPU/Particles.cu | 676 +- src/gpu/VirtualFluids_GPU/GPU/PressBCs27.cu | 4152 ++++++------ src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu | 3328 +++++----- .../VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu | 528 +- src/gpu/VirtualFluids_GPU/GPU/ScaleFC27.cu | 3068 ++++----- .../VirtualFluids_GPU/GPU/ScaleFC_F3_27.cu | 384 +- .../VirtualFluids_GPU/GPU/SchlafferBCs27.cu | 496 +- src/gpu/VirtualFluids_GPU/GPU/SetForcing27.cu | 156 +- src/gpu/VirtualFluids_GPU/GPU/SlipBCs27.cu | 2392 +++---- src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu | 728 +- .../VirtualFluids_GPU/GPU/ThinWallBCs27.cu | 832 +-- .../VirtualFluids_GPU/GPU/VelocityBCs27.cu | 4368 ++++++------ .../VirtualFluids_GPU/GPU/WaleCumulant27.cu | 208 +- src/gpu/VirtualFluids_GPU/GPU/WallFunction.cu | 416 +- .../VirtualFluids_GPU/Init/PositionReader.cpp | 60 +- .../Mod27/ADComp27/ADComp27_Device.cu | 364 +- .../Mod7/ADComp7/ADComp7_Device.cu | 208 +- .../Mod27/ADIncomp27/ADIncomp27_Device.cu | 468 +- .../Mod7/ADIncomp7/ADIncomp7_Device.cu | 208 +- .../Compressible/BGK/BGKCompSP27_Device.cu | 208 +- .../BGKPlus/BGKPlusCompSP27_Device.cu | 208 +- .../Cascade/CascadeCompSP27_Device.cu | 208 +- .../Cumulant/CumulantCompSP27_Device.cu | 208 +- .../CumulantAll4CompSP27_Device.cu | 208 +- .../CumulantK15/CumulantK15Comp_Device.cu | 208 +- .../CumulantK15BulkComp_Device.cu | 208 +- .../CumulantK15SpongeComp_Device.cu | 208 +- .../CumulantK17/CumulantK17Comp_Device.cu | 208 +- .../CumulantK17BulkComp_Device.cu | 208 +- .../CumulantK17CompChim_Device.cu | 208 +- .../CumulantK17CompChimStreamDevice.cu | 208 +- .../CumulantK18/CumulantK18Comp_Device.cu | 260 +- .../CumulantK20/CumulantK20Comp_Device.cu | 260 +- .../Compressible/MRT/MRTCompSP27_Device.cu | 208 +- .../BGK/BGKIncompSP27_Device.cu | 208 +- .../BGKPlus/BGKPlusIncompSP27_Device.cu | 208 +- .../Cascade/CascadeIncompSP27_Device.cu | 208 +- .../Cumulant1hIncompSP27_Device.cu | 208 +- .../CumulantIsoIncompSP27_Device.cu | 208 +- .../CumulantK15/CumulantK15Incomp_Device.cu | 208 +- .../MRT/MRTIncompSP27_Device.cu | 208 +- .../PMCumulantOneCompSP27_Device.cu | 208 +- ...lentViscosityCumulantK17CompChim_Device.cu | 624 +- .../CumulantK15/WaleCumulantK15Comp_Device.cu | 208 +- .../WaleBySoniMalavCumulantK15Comp_Device.cu | 208 +- .../CumulantK17/WaleCumulantK17Comp_Device.cu | 208 +- .../WaleCumulantK17DebugComp_Device.cu | 208 +- .../Kernel/Utilities/DistributionHelper.cu | 208 +- src/gpu/VirtualFluids_GPU/LBM/D3Q27.h | 56 +- .../Output/UnstructuredGridWriter.hpp | 162 +- .../InitCompAD27/InitCompAD27_Device.cu | 156 +- .../InitCompSP27/InitCompSP27_Device.cu | 364 +- .../InitF3/InitF3_Device.cu | 36 +- .../InitIncompAD27/InitIncompAD27_Device.cu | 156 +- .../InitSP27/InitSP27_Device.cu | 156 +- 75 files changed, 24562 insertions(+), 24562 deletions(-) diff --git a/src/gpu/VirtualFluids_GPU/Communication/ExchangeData27.cpp b/src/gpu/VirtualFluids_GPU/Communication/ExchangeData27.cpp index d39b67c42..ab477866c 100644 --- a/src/gpu/VirtualFluids_GPU/Communication/ExchangeData27.cpp +++ b/src/gpu/VirtualFluids_GPU/Communication/ExchangeData27.cpp @@ -90,7 +90,7 @@ void copyEdgeNodes(std::vector<LBMSimulationParameter::EdgeNodePositions> &edgeN } // copy fs for all directions - for (int direction = 0; direction <= (int)dirEND; direction++) { + for (int direction = 0; direction <= (int)ENDDIR; direction++) { (sendProcessNeighborHost[indexInSubdomainSend].f[0] + (direction * numNodesInBufferSend))[edgeNodes[i].indexInSendBuffer] = (recvProcessNeighborHost[indexInSubdomainRecv].f[0] + diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp index fed5c1ace..476bb3dea 100644 --- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp +++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderFiles/GridReader.cpp @@ -731,33 +731,33 @@ void GridReader::initalGridInformations() void GridReader::setQ27Size(QforBoundaryConditions &Q, real* QQ, unsigned int sizeQ) const { - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; } void GridReader::setSizeNoSlip(std::shared_ptr<BoundaryQs> boundaryQ, unsigned int level) const diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp index 903a2a3c3..2af00fe97 100644 --- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp +++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp @@ -744,33 +744,33 @@ void GridGenerator::allocArrays_BoundaryQs() real* QQ = para->getParH(i)->pressureBC.q27[0]; unsigned int sizeQ = para->getParH(i)->pressureBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; builder->getPressureQs(Q.q27, i); @@ -817,33 +817,33 @@ void GridGenerator::allocArrays_BoundaryQs() real* QQ = para->getParH(i)->slipBC.q27[0]; unsigned int sizeQ = para->getParH(i)->slipBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; builder->getSlipQs(Q.q27, i); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -863,33 +863,33 @@ void GridGenerator::allocArrays_BoundaryQs() real* QQ = para->getParH(i)->stressBC.q27[0]; unsigned int sizeQ = para->getParH(i)->stressBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; builder->getStressQs(Q.q27, i); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -909,33 +909,33 @@ void GridGenerator::allocArrays_BoundaryQs() real* QQ = para->getParH(i)->velocityBC.q27[0]; unsigned int sizeQ = para->getParH(i)->velocityBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; builder->getVelocityQs(Q.q27, i); @@ -992,33 +992,33 @@ void GridGenerator::allocArrays_BoundaryQs() real* QQ = para->getParH(i)->geometryBC.q27[0]; unsigned int sizeQ = para->getParH(i)->geometryBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE] = &QQ[dirE *sizeQ]; - Q.q27[dirW] = &QQ[dirW *sizeQ]; - Q.q27[dirN] = &QQ[dirN *sizeQ]; - Q.q27[dirS] = &QQ[dirS *sizeQ]; - Q.q27[dirT] = &QQ[dirT *sizeQ]; - Q.q27[dirB] = &QQ[dirB *sizeQ]; - Q.q27[dirNE] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS] = &QQ[dirTS *sizeQ]; + Q.q27[E] = &QQ[E *sizeQ]; + Q.q27[W] = &QQ[W *sizeQ]; + Q.q27[N] = &QQ[N *sizeQ]; + Q.q27[S] = &QQ[S *sizeQ]; + Q.q27[T] = &QQ[T *sizeQ]; + Q.q27[B] = &QQ[B *sizeQ]; + Q.q27[NE] = &QQ[NE *sizeQ]; + Q.q27[SW] = &QQ[SW *sizeQ]; + Q.q27[SE] = &QQ[SE *sizeQ]; + Q.q27[NW] = &QQ[NW *sizeQ]; + Q.q27[TE] = &QQ[TE *sizeQ]; + Q.q27[BW] = &QQ[BW *sizeQ]; + Q.q27[BE] = &QQ[BE *sizeQ]; + Q.q27[TW] = &QQ[TW *sizeQ]; + Q.q27[TN] = &QQ[TN *sizeQ]; + Q.q27[BS] = &QQ[BS *sizeQ]; + Q.q27[BN] = &QQ[BN *sizeQ]; + Q.q27[TS] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE] = &QQ[TNE *sizeQ]; + Q.q27[TSW] = &QQ[TSW *sizeQ]; + Q.q27[TSE] = &QQ[TSE *sizeQ]; + Q.q27[TNW] = &QQ[TNW *sizeQ]; + Q.q27[BNE] = &QQ[BNE *sizeQ]; + Q.q27[BSW] = &QQ[BSW *sizeQ]; + Q.q27[BSE] = &QQ[BSE *sizeQ]; + Q.q27[BNW] = &QQ[BNW *sizeQ]; ////////////////////////////////////////////////////////////////// builder->getGeometryQs(Q.q27, i); diff --git a/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp b/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp index 4a7522912..4138035c1 100644 --- a/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp +++ b/src/gpu/VirtualFluids_GPU/FindQ/FindQ.cpp @@ -39,33 +39,33 @@ void findQ(Parameter* para, int lev) //real radius = nny / 5.f;//2.56f; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// for(k=STARTOFFZ + 1 ; k<=nnz+STARTOFFZ-2 ; k++){ for(j=STARTOFFY + 1 ; j<=nny+STARTOFFY-2 ; j++){ //j<=nny/2+STARTOFFY //j<=STARTOFFY+1 @@ -95,89 +95,89 @@ void findQ(Parameter* para, int lev) { QIN.k[QIN.numberOfBCnodes] = kk[m]; - //Q.q27[dirE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirN ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirS ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirT ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirB ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirNE ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirSW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirSE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirNW ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirTE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirBW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirBE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirTW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirTN ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirBS ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirBN ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirTS ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[E ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[W ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[N ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[S ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[T ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[B ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[NE ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[SW ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[SE ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[NW ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[TE ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[BW ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[BE ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[TW ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[TN ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[BS ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[BN ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[TS ][QIN.numberOfBCnodes] = -1.f; //Q.q27[dirREST][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirTNE ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirTSW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirTSE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirTNW ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirBNE ][QIN.numberOfBCnodes] = 0.f; - //Q.q27[dirBSW ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirBSE ][QIN.numberOfBCnodes] = -1.f; - //Q.q27[dirBNW ][QIN.numberOfBCnodes] = 0.f; - - //Q.q27[dirE ][QIN.numberOfBCnodes] = ON[dirW ]; - //Q.q27[dirW ][QIN.numberOfBCnodes] = ON[dirE ]; - //Q.q27[dirN ][QIN.numberOfBCnodes] = ON[dirS ]; - //Q.q27[dirS ][QIN.numberOfBCnodes] = ON[dirN ]; - //Q.q27[dirT ][QIN.numberOfBCnodes] = ON[dirB ]; - //Q.q27[dirB ][QIN.numberOfBCnodes] = ON[dirT ]; - //Q.q27[dirNE ][QIN.numberOfBCnodes] = ON[dirSW ]; - //Q.q27[dirSW ][QIN.numberOfBCnodes] = ON[dirNE ]; - //Q.q27[dirSE ][QIN.numberOfBCnodes] = ON[dirNW ]; - //Q.q27[dirNW ][QIN.numberOfBCnodes] = ON[dirSE ]; - //Q.q27[dirTE ][QIN.numberOfBCnodes] = ON[dirBW ]; - //Q.q27[dirBW ][QIN.numberOfBCnodes] = ON[dirTE ]; - //Q.q27[dirBE ][QIN.numberOfBCnodes] = ON[dirTW ]; - //Q.q27[dirTW ][QIN.numberOfBCnodes] = ON[dirBE ]; - //Q.q27[dirTN ][QIN.numberOfBCnodes] = ON[dirBS ]; - //Q.q27[dirBS ][QIN.numberOfBCnodes] = ON[dirTN ]; - //Q.q27[dirBN ][QIN.numberOfBCnodes] = ON[dirTS ]; - //Q.q27[dirTS ][QIN.numberOfBCnodes] = ON[dirBN ]; + //Q.q27[TNE ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[TSW ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[TSE ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[TNW ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[BNE ][QIN.numberOfBCnodes] = 0.f; + //Q.q27[BSW ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[BSE ][QIN.numberOfBCnodes] = -1.f; + //Q.q27[BNW ][QIN.numberOfBCnodes] = 0.f; + + //Q.q27[E ][QIN.numberOfBCnodes] = ON[W ]; + //Q.q27[W ][QIN.numberOfBCnodes] = ON[E ]; + //Q.q27[N ][QIN.numberOfBCnodes] = ON[S ]; + //Q.q27[S ][QIN.numberOfBCnodes] = ON[N ]; + //Q.q27[T ][QIN.numberOfBCnodes] = ON[B ]; + //Q.q27[B ][QIN.numberOfBCnodes] = ON[T ]; + //Q.q27[NE ][QIN.numberOfBCnodes] = ON[SW ]; + //Q.q27[SW ][QIN.numberOfBCnodes] = ON[NE ]; + //Q.q27[SE ][QIN.numberOfBCnodes] = ON[NW ]; + //Q.q27[NW ][QIN.numberOfBCnodes] = ON[SE ]; + //Q.q27[TE ][QIN.numberOfBCnodes] = ON[BW ]; + //Q.q27[BW ][QIN.numberOfBCnodes] = ON[TE ]; + //Q.q27[BE ][QIN.numberOfBCnodes] = ON[TW ]; + //Q.q27[TW ][QIN.numberOfBCnodes] = ON[BE ]; + //Q.q27[TN ][QIN.numberOfBCnodes] = ON[BS ]; + //Q.q27[BS ][QIN.numberOfBCnodes] = ON[TN ]; + //Q.q27[BN ][QIN.numberOfBCnodes] = ON[TS ]; + //Q.q27[TS ][QIN.numberOfBCnodes] = ON[BN ]; //Q.q27[dirREST][QIN.numberOfBCnodes] = ON[dirREST]; - //Q.q27[dirTNE ][QIN.numberOfBCnodes] = ON[dirBSW ]; - //Q.q27[dirTSW ][QIN.numberOfBCnodes] = ON[dirBNE ]; - //Q.q27[dirTSE ][QIN.numberOfBCnodes] = ON[dirBNW ]; - //Q.q27[dirTNW ][QIN.numberOfBCnodes] = ON[dirBSE ]; - //Q.q27[dirBNE ][QIN.numberOfBCnodes] = ON[dirTSW ]; - //Q.q27[dirBSW ][QIN.numberOfBCnodes] = ON[dirTNE ]; - //Q.q27[dirBSE ][QIN.numberOfBCnodes] = ON[dirTNW ]; - //Q.q27[dirBNW ][QIN.numberOfBCnodes] = ON[dirTSE ]; - - Q.q27[dirE ][QIN.numberOfBCnodes] = ON[dirE ]; - Q.q27[dirW ][QIN.numberOfBCnodes] = ON[dirW ]; - Q.q27[dirN ][QIN.numberOfBCnodes] = ON[dirN ]; - Q.q27[dirS ][QIN.numberOfBCnodes] = ON[dirS ]; - Q.q27[dirT ][QIN.numberOfBCnodes] = ON[dirT ]; - Q.q27[dirB ][QIN.numberOfBCnodes] = ON[dirB ]; - Q.q27[dirNE ][QIN.numberOfBCnodes] = ON[dirNE ]; - Q.q27[dirSW ][QIN.numberOfBCnodes] = ON[dirSW ]; - Q.q27[dirSE ][QIN.numberOfBCnodes] = ON[dirSE ]; - Q.q27[dirNW ][QIN.numberOfBCnodes] = ON[dirNW ]; - Q.q27[dirTE ][QIN.numberOfBCnodes] = ON[dirTE ]; - Q.q27[dirBW ][QIN.numberOfBCnodes] = ON[dirBW ]; - Q.q27[dirBE ][QIN.numberOfBCnodes] = ON[dirBE ]; - Q.q27[dirTW ][QIN.numberOfBCnodes] = ON[dirTW ]; - Q.q27[dirTN ][QIN.numberOfBCnodes] = ON[dirTN ]; - Q.q27[dirBS ][QIN.numberOfBCnodes] = ON[dirBS ]; - Q.q27[dirBN ][QIN.numberOfBCnodes] = ON[dirBN ]; - Q.q27[dirTS ][QIN.numberOfBCnodes] = ON[dirTS ]; + //Q.q27[TNE ][QIN.numberOfBCnodes] = ON[BSW ]; + //Q.q27[TSW ][QIN.numberOfBCnodes] = ON[BNE ]; + //Q.q27[TSE ][QIN.numberOfBCnodes] = ON[BNW ]; + //Q.q27[TNW ][QIN.numberOfBCnodes] = ON[BSE ]; + //Q.q27[BNE ][QIN.numberOfBCnodes] = ON[TSW ]; + //Q.q27[BSW ][QIN.numberOfBCnodes] = ON[TNE ]; + //Q.q27[BSE ][QIN.numberOfBCnodes] = ON[TNW ]; + //Q.q27[BNW ][QIN.numberOfBCnodes] = ON[TSE ]; + + Q.q27[E ][QIN.numberOfBCnodes] = ON[E ]; + Q.q27[W ][QIN.numberOfBCnodes] = ON[W ]; + Q.q27[N ][QIN.numberOfBCnodes] = ON[N ]; + Q.q27[S ][QIN.numberOfBCnodes] = ON[S ]; + Q.q27[T ][QIN.numberOfBCnodes] = ON[T ]; + Q.q27[B ][QIN.numberOfBCnodes] = ON[B ]; + Q.q27[NE ][QIN.numberOfBCnodes] = ON[NE ]; + Q.q27[SW ][QIN.numberOfBCnodes] = ON[SW ]; + Q.q27[SE ][QIN.numberOfBCnodes] = ON[SE ]; + Q.q27[NW ][QIN.numberOfBCnodes] = ON[NW ]; + Q.q27[TE ][QIN.numberOfBCnodes] = ON[TE ]; + Q.q27[BW ][QIN.numberOfBCnodes] = ON[BW ]; + Q.q27[BE ][QIN.numberOfBCnodes] = ON[BE ]; + Q.q27[TW ][QIN.numberOfBCnodes] = ON[TW ]; + Q.q27[TN ][QIN.numberOfBCnodes] = ON[TN ]; + Q.q27[BS ][QIN.numberOfBCnodes] = ON[BS ]; + Q.q27[BN ][QIN.numberOfBCnodes] = ON[BN ]; + Q.q27[TS ][QIN.numberOfBCnodes] = ON[TS ]; Q.q27[dirREST][QIN.numberOfBCnodes] = ON[dirREST]; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = ON[dirTNE ]; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = ON[dirTSW ]; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = ON[dirTSE ]; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = ON[dirTNW ]; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = ON[dirBNE ]; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = ON[dirBSW ]; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = ON[dirBSE ]; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = ON[dirBNW ]; + Q.q27[TNE ][QIN.numberOfBCnodes] = ON[TNE ]; + Q.q27[TSW ][QIN.numberOfBCnodes] = ON[TSW ]; + Q.q27[TSE ][QIN.numberOfBCnodes] = ON[TSE ]; + Q.q27[TNW ][QIN.numberOfBCnodes] = ON[TNW ]; + Q.q27[BNE ][QIN.numberOfBCnodes] = ON[BNE ]; + Q.q27[BSW ][QIN.numberOfBCnodes] = ON[BSW ]; + Q.q27[BSE ][QIN.numberOfBCnodes] = ON[BSE ]; + Q.q27[BNW ][QIN.numberOfBCnodes] = ON[BNW ]; QIN.numberOfBCnodes++; } @@ -245,33 +245,33 @@ void findKforQ(Parameter* para, int lev) void findQ_MG( int nx, int ny, unsigned int nnx, unsigned int nny, unsigned int nnz, int* geo_mat, unsigned int* kk, unsigned int sizeQ, real* QQ, QforBoundaryConditions &QIN) { QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; // ! CAUTION ! Do not use this function! // As the order of the distributions was changed in July 2022, this does not work anymore. @@ -325,33 +325,33 @@ void findQ_MG( int nx, int ny, unsigned int nnx, unsigned int nny, unsigned int { QIN.k[QIN.numberOfBCnodes] = kk[m]; - Q.q27[dirE ][QIN.numberOfBCnodes] = ON[dirE ]; - Q.q27[dirW ][QIN.numberOfBCnodes] = ON[dirW ]; - Q.q27[dirN ][QIN.numberOfBCnodes] = ON[dirN ]; - Q.q27[dirS ][QIN.numberOfBCnodes] = ON[dirS ]; - Q.q27[dirT ][QIN.numberOfBCnodes] = ON[dirT ]; - Q.q27[dirB ][QIN.numberOfBCnodes] = ON[dirB ]; - Q.q27[dirNE ][QIN.numberOfBCnodes] = ON[dirNE ]; - Q.q27[dirSW ][QIN.numberOfBCnodes] = ON[dirSW ]; - Q.q27[dirSE ][QIN.numberOfBCnodes] = ON[dirSE ]; - Q.q27[dirNW ][QIN.numberOfBCnodes] = ON[dirNW ]; - Q.q27[dirTE ][QIN.numberOfBCnodes] = ON[dirTE ]; - Q.q27[dirBW ][QIN.numberOfBCnodes] = ON[dirBW ]; - Q.q27[dirBE ][QIN.numberOfBCnodes] = ON[dirBE ]; - Q.q27[dirTW ][QIN.numberOfBCnodes] = ON[dirTW ]; - Q.q27[dirTN ][QIN.numberOfBCnodes] = ON[dirTN ]; - Q.q27[dirBS ][QIN.numberOfBCnodes] = ON[dirBS ]; - Q.q27[dirBN ][QIN.numberOfBCnodes] = ON[dirBN ]; - Q.q27[dirTS ][QIN.numberOfBCnodes] = ON[dirTS ]; + Q.q27[E ][QIN.numberOfBCnodes] = ON[E ]; + Q.q27[W ][QIN.numberOfBCnodes] = ON[W ]; + Q.q27[N ][QIN.numberOfBCnodes] = ON[N ]; + Q.q27[S ][QIN.numberOfBCnodes] = ON[S ]; + Q.q27[T ][QIN.numberOfBCnodes] = ON[T ]; + Q.q27[B ][QIN.numberOfBCnodes] = ON[B ]; + Q.q27[NE ][QIN.numberOfBCnodes] = ON[NE ]; + Q.q27[SW ][QIN.numberOfBCnodes] = ON[SW ]; + Q.q27[SE ][QIN.numberOfBCnodes] = ON[SE ]; + Q.q27[NW ][QIN.numberOfBCnodes] = ON[NW ]; + Q.q27[TE ][QIN.numberOfBCnodes] = ON[TE ]; + Q.q27[BW ][QIN.numberOfBCnodes] = ON[BW ]; + Q.q27[BE ][QIN.numberOfBCnodes] = ON[BE ]; + Q.q27[TW ][QIN.numberOfBCnodes] = ON[TW ]; + Q.q27[TN ][QIN.numberOfBCnodes] = ON[TN ]; + Q.q27[BS ][QIN.numberOfBCnodes] = ON[BS ]; + Q.q27[BN ][QIN.numberOfBCnodes] = ON[BN ]; + Q.q27[TS ][QIN.numberOfBCnodes] = ON[TS ]; Q.q27[dirREST][QIN.numberOfBCnodes] = ON[dirREST]; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = ON[dirTNE ]; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = ON[dirTSW ]; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = ON[dirTSE ]; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = ON[dirTNW ]; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = ON[dirBNE ]; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = ON[dirBSW ]; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = ON[dirBSE ]; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = ON[dirBNW ]; + Q.q27[TNE ][QIN.numberOfBCnodes] = ON[TNE ]; + Q.q27[TSW ][QIN.numberOfBCnodes] = ON[TSW ]; + Q.q27[TSE ][QIN.numberOfBCnodes] = ON[TSE ]; + Q.q27[TNW ][QIN.numberOfBCnodes] = ON[TNW ]; + Q.q27[BNE ][QIN.numberOfBCnodes] = ON[BNE ]; + Q.q27[BSW ][QIN.numberOfBCnodes] = ON[BSW ]; + Q.q27[BSE ][QIN.numberOfBCnodes] = ON[BSE ]; + Q.q27[BNW ][QIN.numberOfBCnodes] = ON[BNW ]; QIN.numberOfBCnodes++; } @@ -446,33 +446,33 @@ void findQInflow(Parameter* para) QIN.numberOfBCnodes = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1); //unsigned int lj = ((nny+STARTOFFY-2)-(STARTOFFY+1)-1); @@ -495,33 +495,33 @@ void findQInflow(Parameter* para) //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny); deltaVz[QIN.numberOfBCnodes] = (real)0.f; ////////////////////////////////////////////////////////////////////////// - //Q.q27[dirE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirN ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirS ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirT ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirB ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirNE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirSW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirSE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirNW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirBW ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirBE ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirTW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTN ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirBS ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirBN ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirTS ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[E ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[W ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[N ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[S ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[T ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[B ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[NE ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[SW ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[SE ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[NW ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[TE ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[BW ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[BE ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[TW ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[TN ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[BS ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[BN ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[TS ][QIN.numberOfBCnodes] = (real)-1.f; //Q.q27[dirREST][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTNE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTSW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTSE ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirTNW ][QIN.numberOfBCnodes] = (real)-1.f; - //Q.q27[dirBNE ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirBSW ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirBSE ][QIN.numberOfBCnodes] = (real)1.f; - //Q.q27[dirBNW ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[TNE ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[TSW ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[TSE ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[TNW ][QIN.numberOfBCnodes] = (real)-1.f; + //Q.q27[BNE ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[BSW ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[BSE ][QIN.numberOfBCnodes] = (real)1.f; + //Q.q27[BNW ][QIN.numberOfBCnodes] = (real)1.f; ////////////////////////////////////////////////////////////////////////// @@ -529,33 +529,33 @@ void findQInflow(Parameter* para) // As the order of the distributions was changed in July 2022, this does not work anymore. // https://git.rz.tu-bs.de/irmb/VirtualFluids_dev/-/issues/14 - Q.q27[dirE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirT ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirB ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTN ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTS ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[E ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[W ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[N ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[S ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[T ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[B ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TN ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TS ][QIN.numberOfBCnodes] = (real)1.f; Q.q27[dirREST][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TNE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TNW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BNE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BNW ][QIN.numberOfBCnodes] = (real)-1.f; ////////////////////////////////////////////////////////////////////////// QIN.numberOfBCnodes++; } @@ -586,33 +586,33 @@ void findQInflow(Parameter* para) // vy[QIN.numberOfBCnodes] = 0.f; // vz[QIN.numberOfBCnodes] = u0; - // Q.q27[dirE ][QIN.numberOfBCnodes] = ON[dirE ]; - // Q.q27[dirW ][QIN.numberOfBCnodes] = ON[dirW ]; - // Q.q27[dirN ][QIN.numberOfBCnodes] = ON[dirN ]; - // Q.q27[dirS ][QIN.numberOfBCnodes] = ON[dirS ]; - // Q.q27[dirT ][QIN.numberOfBCnodes] = ON[dirT ]; - // Q.q27[dirB ][QIN.numberOfBCnodes] = ON[dirB ]; - // Q.q27[dirNE ][QIN.numberOfBCnodes] = ON[dirNE ]; - // Q.q27[dirSW ][QIN.numberOfBCnodes] = ON[dirSW ]; - // Q.q27[dirSE ][QIN.numberOfBCnodes] = ON[dirSE ]; - // Q.q27[dirNW ][QIN.numberOfBCnodes] = ON[dirNW ]; - // Q.q27[dirTE ][QIN.numberOfBCnodes] = ON[dirTE ]; - // Q.q27[dirBW ][QIN.numberOfBCnodes] = ON[dirBW ]; - // Q.q27[dirBE ][QIN.numberOfBCnodes] = ON[dirBE ]; - // Q.q27[dirTW ][QIN.numberOfBCnodes] = ON[dirTW ]; - // Q.q27[dirTN ][QIN.numberOfBCnodes] = ON[dirTN ]; - // Q.q27[dirBS ][QIN.numberOfBCnodes] = ON[dirBS ]; - // Q.q27[dirBN ][QIN.numberOfBCnodes] = ON[dirBN ]; - // Q.q27[dirTS ][QIN.numberOfBCnodes] = ON[dirTS ]; + // Q.q27[E ][QIN.numberOfBCnodes] = ON[E ]; + // Q.q27[W ][QIN.numberOfBCnodes] = ON[W ]; + // Q.q27[N ][QIN.numberOfBCnodes] = ON[N ]; + // Q.q27[S ][QIN.numberOfBCnodes] = ON[S ]; + // Q.q27[T ][QIN.numberOfBCnodes] = ON[T ]; + // Q.q27[B ][QIN.numberOfBCnodes] = ON[B ]; + // Q.q27[NE ][QIN.numberOfBCnodes] = ON[NE ]; + // Q.q27[SW ][QIN.numberOfBCnodes] = ON[SW ]; + // Q.q27[SE ][QIN.numberOfBCnodes] = ON[SE ]; + // Q.q27[NW ][QIN.numberOfBCnodes] = ON[NW ]; + // Q.q27[TE ][QIN.numberOfBCnodes] = ON[TE ]; + // Q.q27[BW ][QIN.numberOfBCnodes] = ON[BW ]; + // Q.q27[BE ][QIN.numberOfBCnodes] = ON[BE ]; + // Q.q27[TW ][QIN.numberOfBCnodes] = ON[TW ]; + // Q.q27[TN ][QIN.numberOfBCnodes] = ON[TN ]; + // Q.q27[BS ][QIN.numberOfBCnodes] = ON[BS ]; + // Q.q27[BN ][QIN.numberOfBCnodes] = ON[BN ]; + // Q.q27[TS ][QIN.numberOfBCnodes] = ON[TS ]; // Q.q27[dirREST][QIN.numberOfBCnodes] = ON[dirREST]; - // Q.q27[dirTNE ][QIN.numberOfBCnodes] = ON[dirTNE ]; - // Q.q27[dirTSW ][QIN.numberOfBCnodes] = ON[dirTSW ]; - // Q.q27[dirTSE ][QIN.numberOfBCnodes] = ON[dirTSE ]; - // Q.q27[dirTNW ][QIN.numberOfBCnodes] = ON[dirTNW ]; - // Q.q27[dirBNE ][QIN.numberOfBCnodes] = ON[dirBNE ]; - // Q.q27[dirBSW ][QIN.numberOfBCnodes] = ON[dirBSW ]; - // Q.q27[dirBSE ][QIN.numberOfBCnodes] = ON[dirBSE ]; - // Q.q27[dirBNW ][QIN.numberOfBCnodes] = ON[dirBNW ]; + // Q.q27[TNE ][QIN.numberOfBCnodes] = ON[TNE ]; + // Q.q27[TSW ][QIN.numberOfBCnodes] = ON[TSW ]; + // Q.q27[TSE ][QIN.numberOfBCnodes] = ON[TSE ]; + // Q.q27[TNW ][QIN.numberOfBCnodes] = ON[TNW ]; + // Q.q27[BNE ][QIN.numberOfBCnodes] = ON[BNE ]; + // Q.q27[BSW ][QIN.numberOfBCnodes] = ON[BSW ]; + // Q.q27[BSE ][QIN.numberOfBCnodes] = ON[BSE ]; + // Q.q27[BNW ][QIN.numberOfBCnodes] = ON[BNW ]; // QIN.numberOfBCnodes++; // } @@ -645,33 +645,33 @@ void findQInflow(Parameter* para) // vy[QIN.numberOfBCnodes] = 0.f; // vz[QIN.numberOfBCnodes] = 0.f;//u0; - // Q.q27[dirE ][QIN.numberOfBCnodes] = ON[dirE ]; - // Q.q27[dirW ][QIN.numberOfBCnodes] = ON[dirW ]; - // Q.q27[dirN ][QIN.numberOfBCnodes] = ON[dirN ]; - // Q.q27[dirS ][QIN.numberOfBCnodes] = ON[dirS ]; - // Q.q27[dirT ][QIN.numberOfBCnodes] = ON[dirT ]; - // Q.q27[dirB ][QIN.numberOfBCnodes] = ON[dirB ]; - // Q.q27[dirNE ][QIN.numberOfBCnodes] = ON[dirNE ]; - // Q.q27[dirSW ][QIN.numberOfBCnodes] = ON[dirSW ]; - // Q.q27[dirSE ][QIN.numberOfBCnodes] = ON[dirSE ]; - // Q.q27[dirNW ][QIN.numberOfBCnodes] = ON[dirNW ]; - // Q.q27[dirTE ][QIN.numberOfBCnodes] = ON[dirTE ]; - // Q.q27[dirBW ][QIN.numberOfBCnodes] = ON[dirBW ]; - // Q.q27[dirBE ][QIN.numberOfBCnodes] = ON[dirBE ]; - // Q.q27[dirTW ][QIN.numberOfBCnodes] = ON[dirTW ]; - // Q.q27[dirTN ][QIN.numberOfBCnodes] = ON[dirTN ]; - // Q.q27[dirBS ][QIN.numberOfBCnodes] = ON[dirBS ]; - // Q.q27[dirBN ][QIN.numberOfBCnodes] = ON[dirBN ]; - // Q.q27[dirTS ][QIN.numberOfBCnodes] = ON[dirTS ]; + // Q.q27[E ][QIN.numberOfBCnodes] = ON[E ]; + // Q.q27[W ][QIN.numberOfBCnodes] = ON[W ]; + // Q.q27[N ][QIN.numberOfBCnodes] = ON[N ]; + // Q.q27[S ][QIN.numberOfBCnodes] = ON[S ]; + // Q.q27[T ][QIN.numberOfBCnodes] = ON[T ]; + // Q.q27[B ][QIN.numberOfBCnodes] = ON[B ]; + // Q.q27[NE ][QIN.numberOfBCnodes] = ON[NE ]; + // Q.q27[SW ][QIN.numberOfBCnodes] = ON[SW ]; + // Q.q27[SE ][QIN.numberOfBCnodes] = ON[SE ]; + // Q.q27[NW ][QIN.numberOfBCnodes] = ON[NW ]; + // Q.q27[TE ][QIN.numberOfBCnodes] = ON[TE ]; + // Q.q27[BW ][QIN.numberOfBCnodes] = ON[BW ]; + // Q.q27[BE ][QIN.numberOfBCnodes] = ON[BE ]; + // Q.q27[TW ][QIN.numberOfBCnodes] = ON[TW ]; + // Q.q27[TN ][QIN.numberOfBCnodes] = ON[TN ]; + // Q.q27[BS ][QIN.numberOfBCnodes] = ON[BS ]; + // Q.q27[BN ][QIN.numberOfBCnodes] = ON[BN ]; + // Q.q27[TS ][QIN.numberOfBCnodes] = ON[TS ]; // Q.q27[dirREST][QIN.numberOfBCnodes] = ON[dirREST]; - // Q.q27[dirTNE ][QIN.numberOfBCnodes] = ON[dirTNE ]; - // Q.q27[dirTSW ][QIN.numberOfBCnodes] = ON[dirTSW ]; - // Q.q27[dirTSE ][QIN.numberOfBCnodes] = ON[dirTSE ]; - // Q.q27[dirTNW ][QIN.numberOfBCnodes] = ON[dirTNW ]; - // Q.q27[dirBNE ][QIN.numberOfBCnodes] = ON[dirBNE ]; - // Q.q27[dirBSW ][QIN.numberOfBCnodes] = ON[dirBSW ]; - // Q.q27[dirBSE ][QIN.numberOfBCnodes] = ON[dirBSE ]; - // Q.q27[dirBNW ][QIN.numberOfBCnodes] = ON[dirBNW ]; + // Q.q27[TNE ][QIN.numberOfBCnodes] = ON[TNE ]; + // Q.q27[TSW ][QIN.numberOfBCnodes] = ON[TSW ]; + // Q.q27[TSE ][QIN.numberOfBCnodes] = ON[TSE ]; + // Q.q27[TNW ][QIN.numberOfBCnodes] = ON[TNW ]; + // Q.q27[BNE ][QIN.numberOfBCnodes] = ON[BNE ]; + // Q.q27[BSW ][QIN.numberOfBCnodes] = ON[BSW ]; + // Q.q27[BSE ][QIN.numberOfBCnodes] = ON[BSE ]; + // Q.q27[BNW ][QIN.numberOfBCnodes] = ON[BNW ]; // QIN.numberOfBCnodes++; // } @@ -812,33 +812,33 @@ void findQOutflow(Parameter* para) QIN.numberOfBCnodes = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1); @@ -860,33 +860,33 @@ void findQOutflow(Parameter* para) //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj); //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny); deltaVz[QIN.numberOfBCnodes] = (real)0.f; - Q.q27[dirE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirT ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirB ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTN ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTS ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[E ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[W ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[N ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[S ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[T ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[B ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TN ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TS ][QIN.numberOfBCnodes] = (real)1.f; Q.q27[dirREST][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TNE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TNW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BNE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BNW ][QIN.numberOfBCnodes] = (real)-1.f; QIN.numberOfBCnodes++; } } @@ -974,33 +974,33 @@ void findKforQOutflow(Parameter* para) // unsigned int sizeQW, real* vxW, real* vyW, real* vzW, real*deltaVW, real* QQW, QforBoundaryConditions &QWin) //{ // QforBoundaryConditions QN; -// QN.q27[dirE ] = &QQN[dirE *sizeQN]; -// QN.q27[dirW ] = &QQN[dirW *sizeQN]; -// QN.q27[dirN ] = &QQN[dirN *sizeQN]; -// QN.q27[dirS ] = &QQN[dirS *sizeQN]; -// QN.q27[dirT ] = &QQN[dirT *sizeQN]; -// QN.q27[dirB ] = &QQN[dirB *sizeQN]; -// QN.q27[dirNE ] = &QQN[dirNE *sizeQN]; -// QN.q27[dirSW ] = &QQN[dirSW *sizeQN]; -// QN.q27[dirSE ] = &QQN[dirSE *sizeQN]; -// QN.q27[dirNW ] = &QQN[dirNW *sizeQN]; -// QN.q27[dirTE ] = &QQN[dirTE *sizeQN]; -// QN.q27[dirBW ] = &QQN[dirBW *sizeQN]; -// QN.q27[dirBE ] = &QQN[dirBE *sizeQN]; -// QN.q27[dirTW ] = &QQN[dirTW *sizeQN]; -// QN.q27[dirTN ] = &QQN[dirTN *sizeQN]; -// QN.q27[dirBS ] = &QQN[dirBS *sizeQN]; -// QN.q27[dirBN ] = &QQN[dirBN *sizeQN]; -// QN.q27[dirTS ] = &QQN[dirTS *sizeQN]; +// QN.q27[E ] = &QQN[E *sizeQN]; +// QN.q27[W ] = &QQN[W *sizeQN]; +// QN.q27[N ] = &QQN[N *sizeQN]; +// QN.q27[S ] = &QQN[S *sizeQN]; +// QN.q27[T ] = &QQN[T *sizeQN]; +// QN.q27[B ] = &QQN[B *sizeQN]; +// QN.q27[NE ] = &QQN[NE *sizeQN]; +// QN.q27[SW ] = &QQN[SW *sizeQN]; +// QN.q27[SE ] = &QQN[SE *sizeQN]; +// QN.q27[NW ] = &QQN[NW *sizeQN]; +// QN.q27[TE ] = &QQN[TE *sizeQN]; +// QN.q27[BW ] = &QQN[BW *sizeQN]; +// QN.q27[BE ] = &QQN[BE *sizeQN]; +// QN.q27[TW ] = &QQN[TW *sizeQN]; +// QN.q27[TN ] = &QQN[TN *sizeQN]; +// QN.q27[BS ] = &QQN[BS *sizeQN]; +// QN.q27[BN ] = &QQN[BN *sizeQN]; +// QN.q27[TS ] = &QQN[TS *sizeQN]; // QN.q27[dirREST] = &QQN[dirREST*sizeQN]; -// QN.q27[dirTNE ] = &QQN[dirTNE *sizeQN]; -// QN.q27[dirTSW ] = &QQN[dirTSW *sizeQN]; -// QN.q27[dirTSE ] = &QQN[dirTSE *sizeQN]; -// QN.q27[dirTNW ] = &QQN[dirTNW *sizeQN]; -// QN.q27[dirBNE ] = &QQN[dirBNE *sizeQN]; -// QN.q27[dirBSW ] = &QQN[dirBSW *sizeQN]; -// QN.q27[dirBSE ] = &QQN[dirBSE *sizeQN]; -// QN.q27[dirBNW ] = &QQN[dirBNW *sizeQN]; +// QN.q27[TNE ] = &QQN[TNE *sizeQN]; +// QN.q27[TSW ] = &QQN[TSW *sizeQN]; +// QN.q27[TSE ] = &QQN[TSE *sizeQN]; +// QN.q27[TNW ] = &QQN[TNW *sizeQN]; +// QN.q27[BNE ] = &QQN[BNE *sizeQN]; +// QN.q27[BSW ] = &QQN[BSW *sizeQN]; +// QN.q27[BSE ] = &QQN[BSE *sizeQN]; +// QN.q27[BNW ] = &QQN[BNW *sizeQN]; // // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ////////////// E W N S T B NE SW SE NW TE BW BE TW TN BS BN TS ZERO TNE BNE TSE BSE TNW BNW TSW BSW //////////////////////// @@ -1094,33 +1094,33 @@ void findQPressX0(Parameter* para, int lev) QIN.numberOfBCnodes = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1); @@ -1143,33 +1143,33 @@ void findQPressX0(Parameter* para, int lev) //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj); //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny); deltaVz[QIN.numberOfBCnodes] = (real)0.f; - Q.q27[dirE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirT ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirB ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[E ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[W ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[N ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[S ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[T ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[B ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[SE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TS ][QIN.numberOfBCnodes] = (real)-1.f; Q.q27[dirREST][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TNE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TSW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TNW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BNE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSW ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BSE ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BNW ][QIN.numberOfBCnodes] = (real)1.f; QIN.numberOfBCnodes++; } } @@ -1270,33 +1270,33 @@ void findQPressX1(Parameter* para, int lev) QIN.numberOfBCnodes = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; //unsigned int li = ((nnx+STARTOFFX-2)-(STARTOFFX+1)-1); @@ -1319,33 +1319,33 @@ void findQPressX1(Parameter* para, int lev) //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*(i-(STARTOFFX+1)-0.5f)*(li-1.5f-(i-(STARTOFFX+1)))*(j-(STARTOFFY+1)-0.5f)*(lj-1.5f-(j-(STARTOFFY+1))))/(li*lj*li*lj); //vz[QIN.numberOfBCnodes] = (real)(16.f*(u0*2.f)*i*j*(nx-i)*(ny-j))/(nx*nx*ny*ny); deltaVz[QIN.numberOfBCnodes] = (real)0.f; - Q.q27[dirE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirT ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirB ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirNE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirSE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirNW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBS ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBN ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[E ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[W ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[N ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[S ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[T ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[B ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[NE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[SW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[SE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[NW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BS ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BN ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TS ][QIN.numberOfBCnodes] = (real)-1.f; Q.q27[dirREST][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTNE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirTSE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirTNW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBNE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBSW ][QIN.numberOfBCnodes] = (real)-1.f; - Q.q27[dirBSE ][QIN.numberOfBCnodes] = (real)1.f; - Q.q27[dirBNW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TNE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TSW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[TSE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[TNW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BNE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BSW ][QIN.numberOfBCnodes] = (real)-1.f; + Q.q27[BSE ][QIN.numberOfBCnodes] = (real)1.f; + Q.q27[BNW ][QIN.numberOfBCnodes] = (real)-1.f; QIN.numberOfBCnodes++; } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusion27chim.cu b/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusion27chim.cu index f2de367c4..fa3221a0e 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusion27chim.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusion27chim.cu @@ -109,125 +109,125 @@ extern "C" __global__ void Factorized_Central_Moments_Advection_Diffusion_Device 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[E ] = &distributions[E *size_Mat]; + dist.f[W ] = &distributions[W *size_Mat]; + dist.f[N ] = &distributions[N *size_Mat]; + dist.f[S ] = &distributions[S *size_Mat]; + dist.f[T ] = &distributions[T *size_Mat]; + dist.f[B ] = &distributions[B *size_Mat]; + dist.f[NE ] = &distributions[NE *size_Mat]; + dist.f[SW ] = &distributions[SW *size_Mat]; + dist.f[SE ] = &distributions[SE *size_Mat]; + dist.f[NW ] = &distributions[NW *size_Mat]; + dist.f[TE ] = &distributions[TE *size_Mat]; + dist.f[BW ] = &distributions[BW *size_Mat]; + dist.f[BE ] = &distributions[BE *size_Mat]; + dist.f[TW ] = &distributions[TW *size_Mat]; + dist.f[TN ] = &distributions[TN *size_Mat]; + dist.f[BS ] = &distributions[BS *size_Mat]; + dist.f[BN ] = &distributions[BN *size_Mat]; + dist.f[TS ] = &distributions[TS *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[TNE ] = &distributions[TNE *size_Mat]; + dist.f[TSW ] = &distributions[TSW *size_Mat]; + dist.f[TSE ] = &distributions[TSE *size_Mat]; + dist.f[TNW ] = &distributions[TNW *size_Mat]; + dist.f[BNE ] = &distributions[BNE *size_Mat]; + dist.f[BSW ] = &distributions[BSW *size_Mat]; + dist.f[BSE ] = &distributions[BSE *size_Mat]; + dist.f[BNW ] = &distributions[BNW *size_Mat]; } 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[W ] = &distributions[E *size_Mat]; + dist.f[E ] = &distributions[W *size_Mat]; + dist.f[S ] = &distributions[N *size_Mat]; + dist.f[N ] = &distributions[S *size_Mat]; + dist.f[B ] = &distributions[T *size_Mat]; + dist.f[T ] = &distributions[B *size_Mat]; + dist.f[SW ] = &distributions[NE *size_Mat]; + dist.f[NE ] = &distributions[SW *size_Mat]; + dist.f[NW ] = &distributions[SE *size_Mat]; + dist.f[SE ] = &distributions[NW *size_Mat]; + dist.f[BW ] = &distributions[TE *size_Mat]; + dist.f[TE ] = &distributions[BW *size_Mat]; + dist.f[TW ] = &distributions[BE *size_Mat]; + dist.f[BE ] = &distributions[TW *size_Mat]; + dist.f[BS ] = &distributions[TN *size_Mat]; + dist.f[TN ] = &distributions[BS *size_Mat]; + dist.f[TS ] = &distributions[BN *size_Mat]; + dist.f[BN ] = &distributions[TS *size_Mat]; dist.f[dirREST] = &distributions[dirREST*size_Mat]; - dist.f[dirBSW ] = &distributions[dirTNE *size_Mat]; - dist.f[dirBNE ] = &distributions[dirTSW *size_Mat]; - dist.f[dirBNW ] = &distributions[dirTSE *size_Mat]; - dist.f[dirBSE ] = &distributions[dirTNW *size_Mat]; - dist.f[dirTSW ] = &distributions[dirBNE *size_Mat]; - dist.f[dirTNE ] = &distributions[dirBSW *size_Mat]; - dist.f[dirTNW ] = &distributions[dirBSE *size_Mat]; - dist.f[dirTSE ] = &distributions[dirBNW *size_Mat]; + dist.f[BSW ] = &distributions[TNE *size_Mat]; + dist.f[BNE ] = &distributions[TSW *size_Mat]; + dist.f[BNW ] = &distributions[TSE *size_Mat]; + dist.f[BSE ] = &distributions[TNW *size_Mat]; + dist.f[TSW ] = &distributions[BNE *size_Mat]; + dist.f[TNE ] = &distributions[BSW *size_Mat]; + dist.f[TNW ] = &distributions[BSE *size_Mat]; + dist.f[TSE ] = &distributions[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// Distributions27 distAD; if (isEvenTimestep) { - distAD.f[dirE ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirW ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[E ] = &distributionsAD[E *size_Mat]; + distAD.f[W ] = &distributionsAD[W *size_Mat]; + distAD.f[N ] = &distributionsAD[N *size_Mat]; + distAD.f[S ] = &distributionsAD[S *size_Mat]; + distAD.f[T ] = &distributionsAD[T *size_Mat]; + distAD.f[B ] = &distributionsAD[B *size_Mat]; + distAD.f[NE ] = &distributionsAD[NE *size_Mat]; + distAD.f[SW ] = &distributionsAD[SW *size_Mat]; + distAD.f[SE ] = &distributionsAD[SE *size_Mat]; + distAD.f[NW ] = &distributionsAD[NW *size_Mat]; + distAD.f[TE ] = &distributionsAD[TE *size_Mat]; + distAD.f[BW ] = &distributionsAD[BW *size_Mat]; + distAD.f[BE ] = &distributionsAD[BE *size_Mat]; + distAD.f[TW ] = &distributionsAD[TW *size_Mat]; + distAD.f[TN ] = &distributionsAD[TN *size_Mat]; + distAD.f[BS ] = &distributionsAD[BS *size_Mat]; + distAD.f[BN ] = &distributionsAD[BN *size_Mat]; + distAD.f[TS ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirTSE *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirBNW *size_Mat]; + distAD.f[TNE ] = &distributionsAD[TNE *size_Mat]; + distAD.f[TSW ] = &distributionsAD[TSW *size_Mat]; + distAD.f[TSE ] = &distributionsAD[TSE *size_Mat]; + distAD.f[TNW ] = &distributionsAD[TNW *size_Mat]; + distAD.f[BNE ] = &distributionsAD[BNE *size_Mat]; + distAD.f[BSW ] = &distributionsAD[BSW *size_Mat]; + distAD.f[BSE ] = &distributionsAD[BSE *size_Mat]; + distAD.f[BNW ] = &distributionsAD[BNW *size_Mat]; } else { - distAD.f[dirW ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirE ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[W ] = &distributionsAD[E *size_Mat]; + distAD.f[E ] = &distributionsAD[W *size_Mat]; + distAD.f[S ] = &distributionsAD[N *size_Mat]; + distAD.f[N ] = &distributionsAD[S *size_Mat]; + distAD.f[B ] = &distributionsAD[T *size_Mat]; + distAD.f[T ] = &distributionsAD[B *size_Mat]; + distAD.f[SW ] = &distributionsAD[NE *size_Mat]; + distAD.f[NE ] = &distributionsAD[SW *size_Mat]; + distAD.f[NW ] = &distributionsAD[SE *size_Mat]; + distAD.f[SE ] = &distributionsAD[NW *size_Mat]; + distAD.f[BW ] = &distributionsAD[TE *size_Mat]; + distAD.f[TE ] = &distributionsAD[BW *size_Mat]; + distAD.f[TW ] = &distributionsAD[BE *size_Mat]; + distAD.f[BE ] = &distributionsAD[TW *size_Mat]; + distAD.f[BS ] = &distributionsAD[TN *size_Mat]; + distAD.f[TN ] = &distributionsAD[BS *size_Mat]; + distAD.f[TS ] = &distributionsAD[BN *size_Mat]; + distAD.f[BN ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirTSE *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirBNW *size_Mat]; + distAD.f[BSW ] = &distributionsAD[TNE *size_Mat]; + distAD.f[BNE ] = &distributionsAD[TSW *size_Mat]; + distAD.f[BNW ] = &distributionsAD[TSE *size_Mat]; + distAD.f[BSE ] = &distributionsAD[TNW *size_Mat]; + distAD.f[TSW ] = &distributionsAD[BNE *size_Mat]; + distAD.f[TNE ] = &distributionsAD[BSW *size_Mat]; + distAD.f[TNW ] = &distributionsAD[BSE *size_Mat]; + distAD.f[TSE ] = &distributionsAD[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) @@ -241,63 +241,63 @@ extern "C" __global__ void Factorized_Central_Moments_Advection_Diffusion_Device //////////////////////////////////////////////////////////////////////////////////// //! - Set local distributions Fluid //! - real fcbb = (dist.f[dirE ])[k]; - real fabb = (dist.f[dirW ])[kw]; - real fbcb = (dist.f[dirN ])[k]; - real fbab = (dist.f[dirS ])[ks]; - real fbbc = (dist.f[dirT ])[k]; - real fbba = (dist.f[dirB ])[kb]; - real fccb = (dist.f[dirNE ])[k]; - real faab = (dist.f[dirSW ])[ksw]; - real fcab = (dist.f[dirSE ])[ks]; - real facb = (dist.f[dirNW ])[kw]; - real fcbc = (dist.f[dirTE ])[k]; - real faba = (dist.f[dirBW ])[kbw]; - real fcba = (dist.f[dirBE ])[kb]; - real fabc = (dist.f[dirTW ])[kw]; - real fbcc = (dist.f[dirTN ])[k]; - real fbaa = (dist.f[dirBS ])[kbs]; - real fbca = (dist.f[dirBN ])[kb]; - real fbac = (dist.f[dirTS ])[ks]; + real fcbb = (dist.f[E ])[k]; + real fabb = (dist.f[W ])[kw]; + real fbcb = (dist.f[N ])[k]; + real fbab = (dist.f[S ])[ks]; + real fbbc = (dist.f[T ])[k]; + real fbba = (dist.f[B ])[kb]; + real fccb = (dist.f[NE ])[k]; + real faab = (dist.f[SW ])[ksw]; + real fcab = (dist.f[SE ])[ks]; + real facb = (dist.f[NW ])[kw]; + real fcbc = (dist.f[TE ])[k]; + real faba = (dist.f[BW ])[kbw]; + real fcba = (dist.f[BE ])[kb]; + real fabc = (dist.f[TW ])[kw]; + real fbcc = (dist.f[TN ])[k]; + real fbaa = (dist.f[BS ])[kbs]; + real fbca = (dist.f[BN ])[kb]; + real fbac = (dist.f[TS ])[ks]; real fbbb = (dist.f[dirREST])[k]; - real fccc = (dist.f[dirTNE ])[k]; - real faac = (dist.f[dirTSW ])[ksw]; - real fcac = (dist.f[dirTSE ])[ks]; - real facc = (dist.f[dirTNW ])[kw]; - real fcca = (dist.f[dirBNE ])[kb]; - real faaa = (dist.f[dirBSW ])[kbsw]; - real fcaa = (dist.f[dirBSE ])[kbs]; - real faca = (dist.f[dirBNW ])[kbw]; + real fccc = (dist.f[TNE ])[k]; + real faac = (dist.f[TSW ])[ksw]; + real fcac = (dist.f[TSE ])[ks]; + real facc = (dist.f[TNW ])[kw]; + real fcca = (dist.f[BNE ])[kb]; + real faaa = (dist.f[BSW ])[kbsw]; + real fcaa = (dist.f[BSE ])[kbs]; + real faca = (dist.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //! - Set local distributions Advection Diffusion //! - real mfcbb = (distAD.f[dirE ])[k]; - real mfabb = (distAD.f[dirW ])[kw]; - real mfbcb = (distAD.f[dirN ])[k]; - real mfbab = (distAD.f[dirS ])[ks]; - real mfbbc = (distAD.f[dirT ])[k]; - real mfbba = (distAD.f[dirB ])[kb]; - real mfccb = (distAD.f[dirNE ])[k]; - real mfaab = (distAD.f[dirSW ])[ksw]; - real mfcab = (distAD.f[dirSE ])[ks]; - real mfacb = (distAD.f[dirNW ])[kw]; - real mfcbc = (distAD.f[dirTE ])[k]; - real mfaba = (distAD.f[dirBW ])[kbw]; - real mfcba = (distAD.f[dirBE ])[kb]; - real mfabc = (distAD.f[dirTW ])[kw]; - real mfbcc = (distAD.f[dirTN ])[k]; - real mfbaa = (distAD.f[dirBS ])[kbs]; - real mfbca = (distAD.f[dirBN ])[kb]; - real mfbac = (distAD.f[dirTS ])[ks]; + real mfcbb = (distAD.f[E ])[k]; + real mfabb = (distAD.f[W ])[kw]; + real mfbcb = (distAD.f[N ])[k]; + real mfbab = (distAD.f[S ])[ks]; + real mfbbc = (distAD.f[T ])[k]; + real mfbba = (distAD.f[B ])[kb]; + real mfccb = (distAD.f[NE ])[k]; + real mfaab = (distAD.f[SW ])[ksw]; + real mfcab = (distAD.f[SE ])[ks]; + real mfacb = (distAD.f[NW ])[kw]; + real mfcbc = (distAD.f[TE ])[k]; + real mfaba = (distAD.f[BW ])[kbw]; + real mfcba = (distAD.f[BE ])[kb]; + real mfabc = (distAD.f[TW ])[kw]; + real mfbcc = (distAD.f[TN ])[k]; + real mfbaa = (distAD.f[BS ])[kbs]; + real mfbca = (distAD.f[BN ])[kb]; + real mfbac = (distAD.f[TS ])[ks]; real mfbbb = (distAD.f[dirREST])[k]; - real mfccc = (distAD.f[dirTNE ])[k]; - real mfaac = (distAD.f[dirTSW ])[ksw]; - real mfcac = (distAD.f[dirTSE ])[ks]; - real mfacc = (distAD.f[dirTNW ])[kw]; - real mfcca = (distAD.f[dirBNE ])[kb]; - real mfaaa = (distAD.f[dirBSW ])[kbsw]; - real mfcaa = (distAD.f[dirBSE ])[kbs]; - real mfaca = (distAD.f[dirBNW ])[kbw]; + real mfccc = (distAD.f[TNE ])[k]; + real mfaac = (distAD.f[TSW ])[ksw]; + real mfcac = (distAD.f[TSE ])[ks]; + real mfacc = (distAD.f[TNW ])[kw]; + real mfcca = (distAD.f[BNE ])[kb]; + real mfaaa = (distAD.f[BSW ])[kbsw]; + real mfcaa = (distAD.f[BSE ])[kbs]; + real mfaca = (distAD.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a> @@ -503,33 +503,33 @@ extern "C" __global__ void Factorized_Central_Moments_Advection_Diffusion_Device //! stored arrays dependent on timestep is based on the esoteric twist algorithm //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), DOI:10.3390/computation5020019 ]</b></a> //! - (distAD.f[dirE ])[k ] = mfabb; - (distAD.f[dirW ])[kw ] = mfcbb; - (distAD.f[dirN ])[k ] = mfbab; - (distAD.f[dirS ])[ks ] = mfbcb; - (distAD.f[dirT ])[k ] = mfbba; - (distAD.f[dirB ])[kb ] = mfbbc; - (distAD.f[dirNE ])[k ] = mfaab; - (distAD.f[dirSW ])[ksw ] = mfccb; - (distAD.f[dirSE ])[ks ] = mfacb; - (distAD.f[dirNW ])[kw ] = mfcab; - (distAD.f[dirTE ])[k ] = mfaba; - (distAD.f[dirBW ])[kbw ] = mfcbc; - (distAD.f[dirBE ])[kb ] = mfabc; - (distAD.f[dirTW ])[kw ] = mfcba; - (distAD.f[dirTN ])[k ] = mfbaa; - (distAD.f[dirBS ])[kbs ] = mfbcc; - (distAD.f[dirBN ])[kb ] = mfbac; - (distAD.f[dirTS ])[ks ] = mfbca; + (distAD.f[E ])[k ] = mfabb; + (distAD.f[W ])[kw ] = mfcbb; + (distAD.f[N ])[k ] = mfbab; + (distAD.f[S ])[ks ] = mfbcb; + (distAD.f[T ])[k ] = mfbba; + (distAD.f[B ])[kb ] = mfbbc; + (distAD.f[NE ])[k ] = mfaab; + (distAD.f[SW ])[ksw ] = mfccb; + (distAD.f[SE ])[ks ] = mfacb; + (distAD.f[NW ])[kw ] = mfcab; + (distAD.f[TE ])[k ] = mfaba; + (distAD.f[BW ])[kbw ] = mfcbc; + (distAD.f[BE ])[kb ] = mfabc; + (distAD.f[TW ])[kw ] = mfcba; + (distAD.f[TN ])[k ] = mfbaa; + (distAD.f[BS ])[kbs ] = mfbcc; + (distAD.f[BN ])[kb ] = mfbac; + (distAD.f[TS ])[ks ] = mfbca; (distAD.f[dirREST])[k ] = mfbbb; - (distAD.f[dirTNE ])[k ] = mfaaa; - (distAD.f[dirTSE ])[ks ] = mfaca; - (distAD.f[dirBNE ])[kb ] = mfaac; - (distAD.f[dirBSE ])[kbs ] = mfacc; - (distAD.f[dirTNW ])[kw ] = mfcaa; - (distAD.f[dirTSW ])[ksw ] = mfcca; - (distAD.f[dirBNW ])[kbw ] = mfcac; - (distAD.f[dirBSW ])[kbsw] = mfccc; + (distAD.f[TNE ])[k ] = mfaaa; + (distAD.f[TSE ])[ks ] = mfaca; + (distAD.f[BNE ])[kb ] = mfaac; + (distAD.f[BSE ])[kbs ] = mfacc; + (distAD.f[TNW ])[kw ] = mfcaa; + (distAD.f[TSW ])[ksw ] = mfcca; + (distAD.f[BNW ])[kbw ] = mfcac; + (distAD.f[BSW ])[kbsw] = mfccc; } } //////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusionBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusionBCs27.cu index 510026522..caf7d1f2f 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusionBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/AdvectionDiffusionBCs27.cu @@ -25,63 +25,63 @@ extern "C" __global__ void QADPress7( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions7 D7; @@ -127,32 +127,32 @@ extern "C" __global__ void QADPress7( real* DD, // *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW, // *q_dirBSE, *q_dirBNW; - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - //q_dirNE = &QQ[dirNE * numberOfBCnodes]; - //q_dirSW = &QQ[dirSW * numberOfBCnodes]; - //q_dirSE = &QQ[dirSE * numberOfBCnodes]; - //q_dirNW = &QQ[dirNW * numberOfBCnodes]; - //q_dirTE = &QQ[dirTE * numberOfBCnodes]; - //q_dirBW = &QQ[dirBW * numberOfBCnodes]; - //q_dirBE = &QQ[dirBE * numberOfBCnodes]; - //q_dirTW = &QQ[dirTW * numberOfBCnodes]; - //q_dirTN = &QQ[dirTN * numberOfBCnodes]; - //q_dirBS = &QQ[dirBS * numberOfBCnodes]; - //q_dirBN = &QQ[dirBN * numberOfBCnodes]; - //q_dirTS = &QQ[dirTS * numberOfBCnodes]; - //q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - //q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - //q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - //q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - //q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - //q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - //q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - //q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + //q_dirNE = &QQ[NE * numberOfBCnodes]; + //q_dirSW = &QQ[SW * numberOfBCnodes]; + //q_dirSE = &QQ[SE * numberOfBCnodes]; + //q_dirNW = &QQ[NW * numberOfBCnodes]; + //q_dirTE = &QQ[TE * numberOfBCnodes]; + //q_dirBW = &QQ[BW * numberOfBCnodes]; + //q_dirBE = &QQ[BE * numberOfBCnodes]; + //q_dirTW = &QQ[TW * numberOfBCnodes]; + //q_dirTN = &QQ[TN * numberOfBCnodes]; + //q_dirBS = &QQ[BS * numberOfBCnodes]; + //q_dirBN = &QQ[BN * numberOfBCnodes]; + //q_dirTS = &QQ[TS * numberOfBCnodes]; + //q_dirTNE = &QQ[TNE * numberOfBCnodes]; + //q_dirTSW = &QQ[TSW * numberOfBCnodes]; + //q_dirTSE = &QQ[TSE * numberOfBCnodes]; + //q_dirTNW = &QQ[TNW * numberOfBCnodes]; + //q_dirBNE = &QQ[BNE * numberOfBCnodes]; + //q_dirBSW = &QQ[BSW * numberOfBCnodes]; + //q_dirBSE = &QQ[BSE * numberOfBCnodes]; + //q_dirBNW = &QQ[BNW * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -187,32 +187,32 @@ extern "C" __global__ void QADPress7( real* DD, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// /*real drho*/; //real vx1_Inflow = zero; @@ -466,125 +466,125 @@ extern "C" __global__ void QADPress27( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -605,32 +605,32 @@ extern "C" __global__ void QADPress27( real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -662,33 +662,33 @@ extern "C" __global__ void QADPress27( real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, /*drho, feq,*/ q; //drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -714,33 +714,33 @@ extern "C" __global__ void QADPress27( real* DD, vx2 = OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); vx3 = OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - real f27_W = (D27.f[dirE ])[ke ]; - real f27_E = (D27.f[dirW ])[kw ]; - real f27_S = (D27.f[dirN ])[kn ]; - real f27_N = (D27.f[dirS ])[ks ]; - real f27_B = (D27.f[dirT ])[kt ]; - real f27_T = (D27.f[dirB ])[kb ]; - real f27_SW = (D27.f[dirNE ])[kne ]; - real f27_NE = (D27.f[dirSW ])[ksw ]; - real f27_NW = (D27.f[dirSE ])[kse ]; - real f27_SE = (D27.f[dirNW ])[knw ]; - real f27_BW = (D27.f[dirTE ])[kte ]; - real f27_TE = (D27.f[dirBW ])[kbw ]; - real f27_TW = (D27.f[dirBE ])[kbe ]; - real f27_BE = (D27.f[dirTW ])[ktw ]; - real f27_BS = (D27.f[dirTN ])[ktn ]; - real f27_TN = (D27.f[dirBS ])[kbs ]; - real f27_TS = (D27.f[dirBN ])[kbn ]; - real f27_BN = (D27.f[dirTS ])[kts ]; + real f27_W = (D27.f[E ])[ke ]; + real f27_E = (D27.f[W ])[kw ]; + real f27_S = (D27.f[N ])[kn ]; + real f27_N = (D27.f[S ])[ks ]; + real f27_B = (D27.f[T ])[kt ]; + real f27_T = (D27.f[B ])[kb ]; + real f27_SW = (D27.f[NE ])[kne ]; + real f27_NE = (D27.f[SW ])[ksw ]; + real f27_NW = (D27.f[SE ])[kse ]; + real f27_SE = (D27.f[NW ])[knw ]; + real f27_BW = (D27.f[TE ])[kte ]; + real f27_TE = (D27.f[BW ])[kbw ]; + real f27_TW = (D27.f[BE ])[kbe ]; + real f27_BE = (D27.f[TW ])[ktw ]; + real f27_BS = (D27.f[TN ])[ktn ]; + real f27_TN = (D27.f[BS ])[kbs ]; + real f27_TS = (D27.f[BN ])[kbn ]; + real f27_BN = (D27.f[TS ])[kts ]; real f27_ZERO = (D27.f[dirREST])[kzero]; - real f27_BSW = (D27.f[dirTNE ])[ktne ]; - real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - real f27_BNW = (D27.f[dirTSE ])[ktse ]; - real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - real f27_TSW = (D27.f[dirBNE ])[kbne ]; - real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - real f27_TNW = (D27.f[dirBSE ])[kbse ]; - real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + real f27_BSW = (D27.f[TNE ])[ktne ]; + real f27_BNE = (D27.f[TSW ])[ktsw ]; + real f27_BNW = (D27.f[TSE ])[ktse ]; + real f27_BSE = (D27.f[TNW ])[ktnw ]; + real f27_TSW = (D27.f[BNE ])[kbne ]; + real f27_TNE = (D27.f[BSW ])[kbsw ]; + real f27_TNW = (D27.f[BSE ])[kbse ]; + real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -848,94 +848,94 @@ extern "C" __global__ void QADPress27( real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test //(D.f[dirREST])[k]=c1o10; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -995,125 +995,125 @@ extern "C" __global__ void QADPressNEQNeighbor27( Distributions27 D; if (isEvenTimestep == true) { - D.f[dirE] = &DD[dirE *size_Mat]; - D.f[dirW] = &DD[dirW *size_Mat]; - D.f[dirN] = &DD[dirN *size_Mat]; - D.f[dirS] = &DD[dirS *size_Mat]; - D.f[dirT] = &DD[dirT *size_Mat]; - D.f[dirB] = &DD[dirB *size_Mat]; - D.f[dirNE] = &DD[dirNE *size_Mat]; - D.f[dirSW] = &DD[dirSW *size_Mat]; - D.f[dirSE] = &DD[dirSE *size_Mat]; - D.f[dirNW] = &DD[dirNW *size_Mat]; - D.f[dirTE] = &DD[dirTE *size_Mat]; - D.f[dirBW] = &DD[dirBW *size_Mat]; - D.f[dirBE] = &DD[dirBE *size_Mat]; - D.f[dirTW] = &DD[dirTW *size_Mat]; - D.f[dirTN] = &DD[dirTN *size_Mat]; - D.f[dirBS] = &DD[dirBS *size_Mat]; - D.f[dirBN] = &DD[dirBN *size_Mat]; - D.f[dirTS] = &DD[dirTS *size_Mat]; + D.f[E] = &DD[E *size_Mat]; + D.f[W] = &DD[W *size_Mat]; + D.f[N] = &DD[N *size_Mat]; + D.f[S] = &DD[S *size_Mat]; + D.f[T] = &DD[T *size_Mat]; + D.f[B] = &DD[B *size_Mat]; + D.f[NE] = &DD[NE *size_Mat]; + D.f[SW] = &DD[SW *size_Mat]; + D.f[SE] = &DD[SE *size_Mat]; + D.f[NW] = &DD[NW *size_Mat]; + D.f[TE] = &DD[TE *size_Mat]; + D.f[BW] = &DD[BW *size_Mat]; + D.f[BE] = &DD[BE *size_Mat]; + D.f[TW] = &DD[TW *size_Mat]; + D.f[TN] = &DD[TN *size_Mat]; + D.f[BS] = &DD[BS *size_Mat]; + D.f[BN] = &DD[BN *size_Mat]; + D.f[TS] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirTNE *size_Mat]; - D.f[dirTSW] = &DD[dirTSW *size_Mat]; - D.f[dirTSE] = &DD[dirTSE *size_Mat]; - D.f[dirTNW] = &DD[dirTNW *size_Mat]; - D.f[dirBNE] = &DD[dirBNE *size_Mat]; - D.f[dirBSW] = &DD[dirBSW *size_Mat]; - D.f[dirBSE] = &DD[dirBSE *size_Mat]; - D.f[dirBNW] = &DD[dirBNW *size_Mat]; + D.f[TNE] = &DD[TNE *size_Mat]; + D.f[TSW] = &DD[TSW *size_Mat]; + D.f[TSE] = &DD[TSE *size_Mat]; + D.f[TNW] = &DD[TNW *size_Mat]; + D.f[BNE] = &DD[BNE *size_Mat]; + D.f[BSW] = &DD[BSW *size_Mat]; + D.f[BSE] = &DD[BSE *size_Mat]; + D.f[BNW] = &DD[BNW *size_Mat]; } else { - D.f[dirW] = &DD[dirE *size_Mat]; - D.f[dirE] = &DD[dirW *size_Mat]; - D.f[dirS] = &DD[dirN *size_Mat]; - D.f[dirN] = &DD[dirS *size_Mat]; - D.f[dirB] = &DD[dirT *size_Mat]; - D.f[dirT] = &DD[dirB *size_Mat]; - D.f[dirSW] = &DD[dirNE *size_Mat]; - D.f[dirNE] = &DD[dirSW *size_Mat]; - D.f[dirNW] = &DD[dirSE *size_Mat]; - D.f[dirSE] = &DD[dirNW *size_Mat]; - D.f[dirBW] = &DD[dirTE *size_Mat]; - D.f[dirTE] = &DD[dirBW *size_Mat]; - D.f[dirTW] = &DD[dirBE *size_Mat]; - D.f[dirBE] = &DD[dirTW *size_Mat]; - D.f[dirBS] = &DD[dirTN *size_Mat]; - D.f[dirTN] = &DD[dirBS *size_Mat]; - D.f[dirTS] = &DD[dirBN *size_Mat]; - D.f[dirBN] = &DD[dirTS *size_Mat]; + D.f[W] = &DD[E *size_Mat]; + D.f[E] = &DD[W *size_Mat]; + D.f[S] = &DD[N *size_Mat]; + D.f[N] = &DD[S *size_Mat]; + D.f[B] = &DD[T *size_Mat]; + D.f[T] = &DD[B *size_Mat]; + D.f[SW] = &DD[NE *size_Mat]; + D.f[NE] = &DD[SW *size_Mat]; + D.f[NW] = &DD[SE *size_Mat]; + D.f[SE] = &DD[NW *size_Mat]; + D.f[BW] = &DD[TE *size_Mat]; + D.f[TE] = &DD[BW *size_Mat]; + D.f[TW] = &DD[BE *size_Mat]; + D.f[BE] = &DD[TW *size_Mat]; + D.f[BS] = &DD[TN *size_Mat]; + D.f[TN] = &DD[BS *size_Mat]; + D.f[TS] = &DD[BN *size_Mat]; + D.f[BN] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirBSW *size_Mat]; - D.f[dirTSW] = &DD[dirBNE *size_Mat]; - D.f[dirTSE] = &DD[dirBNW *size_Mat]; - D.f[dirTNW] = &DD[dirBSE *size_Mat]; - D.f[dirBNE] = &DD[dirTSW *size_Mat]; - D.f[dirBSW] = &DD[dirTNE *size_Mat]; - D.f[dirBSE] = &DD[dirTNW *size_Mat]; - D.f[dirBNW] = &DD[dirTSE *size_Mat]; + D.f[TNE] = &DD[BSW *size_Mat]; + D.f[TSW] = &DD[BNE *size_Mat]; + D.f[TSE] = &DD[BNW *size_Mat]; + D.f[TNW] = &DD[BSE *size_Mat]; + D.f[BNE] = &DD[TSW *size_Mat]; + D.f[BSW] = &DD[TNE *size_Mat]; + D.f[BSE] = &DD[TNW *size_Mat]; + D.f[BNW] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep == true) { - D27.f[dirE] = &DD27[dirE *size_Mat]; - D27.f[dirW] = &DD27[dirW *size_Mat]; - D27.f[dirN] = &DD27[dirN *size_Mat]; - D27.f[dirS] = &DD27[dirS *size_Mat]; - D27.f[dirT] = &DD27[dirT *size_Mat]; - D27.f[dirB] = &DD27[dirB *size_Mat]; - D27.f[dirNE] = &DD27[dirNE *size_Mat]; - D27.f[dirSW] = &DD27[dirSW *size_Mat]; - D27.f[dirSE] = &DD27[dirSE *size_Mat]; - D27.f[dirNW] = &DD27[dirNW *size_Mat]; - D27.f[dirTE] = &DD27[dirTE *size_Mat]; - D27.f[dirBW] = &DD27[dirBW *size_Mat]; - D27.f[dirBE] = &DD27[dirBE *size_Mat]; - D27.f[dirTW] = &DD27[dirTW *size_Mat]; - D27.f[dirTN] = &DD27[dirTN *size_Mat]; - D27.f[dirBS] = &DD27[dirBS *size_Mat]; - D27.f[dirBN] = &DD27[dirBN *size_Mat]; - D27.f[dirTS] = &DD27[dirTS *size_Mat]; + D27.f[E] = &DD27[E *size_Mat]; + D27.f[W] = &DD27[W *size_Mat]; + D27.f[N] = &DD27[N *size_Mat]; + D27.f[S] = &DD27[S *size_Mat]; + D27.f[T] = &DD27[T *size_Mat]; + D27.f[B] = &DD27[B *size_Mat]; + D27.f[NE] = &DD27[NE *size_Mat]; + D27.f[SW] = &DD27[SW *size_Mat]; + D27.f[SE] = &DD27[SE *size_Mat]; + D27.f[NW] = &DD27[NW *size_Mat]; + D27.f[TE] = &DD27[TE *size_Mat]; + D27.f[BW] = &DD27[BW *size_Mat]; + D27.f[BE] = &DD27[BE *size_Mat]; + D27.f[TW] = &DD27[TW *size_Mat]; + D27.f[TN] = &DD27[TN *size_Mat]; + D27.f[BS] = &DD27[BS *size_Mat]; + D27.f[BN] = &DD27[BN *size_Mat]; + D27.f[TS] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW] = &DD27[dirBNW *size_Mat]; + D27.f[TNE] = &DD27[TNE *size_Mat]; + D27.f[TSW] = &DD27[TSW *size_Mat]; + D27.f[TSE] = &DD27[TSE *size_Mat]; + D27.f[TNW] = &DD27[TNW *size_Mat]; + D27.f[BNE] = &DD27[BNE *size_Mat]; + D27.f[BSW] = &DD27[BSW *size_Mat]; + D27.f[BSE] = &DD27[BSE *size_Mat]; + D27.f[BNW] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW] = &DD27[dirE *size_Mat]; - D27.f[dirE] = &DD27[dirW *size_Mat]; - D27.f[dirS] = &DD27[dirN *size_Mat]; - D27.f[dirN] = &DD27[dirS *size_Mat]; - D27.f[dirB] = &DD27[dirT *size_Mat]; - D27.f[dirT] = &DD27[dirB *size_Mat]; - D27.f[dirSW] = &DD27[dirNE *size_Mat]; - D27.f[dirNE] = &DD27[dirSW *size_Mat]; - D27.f[dirNW] = &DD27[dirSE *size_Mat]; - D27.f[dirSE] = &DD27[dirNW *size_Mat]; - D27.f[dirBW] = &DD27[dirTE *size_Mat]; - D27.f[dirTE] = &DD27[dirBW *size_Mat]; - D27.f[dirTW] = &DD27[dirBE *size_Mat]; - D27.f[dirBE] = &DD27[dirTW *size_Mat]; - D27.f[dirBS] = &DD27[dirTN *size_Mat]; - D27.f[dirTN] = &DD27[dirBS *size_Mat]; - D27.f[dirTS] = &DD27[dirBN *size_Mat]; - D27.f[dirBN] = &DD27[dirTS *size_Mat]; + D27.f[W] = &DD27[E *size_Mat]; + D27.f[E] = &DD27[W *size_Mat]; + D27.f[S] = &DD27[N *size_Mat]; + D27.f[N] = &DD27[S *size_Mat]; + D27.f[B] = &DD27[T *size_Mat]; + D27.f[T] = &DD27[B *size_Mat]; + D27.f[SW] = &DD27[NE *size_Mat]; + D27.f[NE] = &DD27[SW *size_Mat]; + D27.f[NW] = &DD27[SE *size_Mat]; + D27.f[SE] = &DD27[NW *size_Mat]; + D27.f[BW] = &DD27[TE *size_Mat]; + D27.f[TE] = &DD27[BW *size_Mat]; + D27.f[TW] = &DD27[BE *size_Mat]; + D27.f[BE] = &DD27[TW *size_Mat]; + D27.f[BS] = &DD27[TN *size_Mat]; + D27.f[TN] = &DD27[BS *size_Mat]; + D27.f[TS] = &DD27[BN *size_Mat]; + D27.f[BN] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW] = &DD27[dirTSE *size_Mat]; + D27.f[TNE] = &DD27[BSW *size_Mat]; + D27.f[TSW] = &DD27[BNE *size_Mat]; + D27.f[TSE] = &DD27[BNW *size_Mat]; + D27.f[TNW] = &DD27[BSE *size_Mat]; + D27.f[BNE] = &DD27[TSW *size_Mat]; + D27.f[BSW] = &DD27[TNE *size_Mat]; + D27.f[BSE] = &DD27[TNW *size_Mat]; + D27.f[BNW] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1162,33 +1162,33 @@ extern "C" __global__ void QADPressNEQNeighbor27( unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// //distributions - real f_W = (D.f[dirE])[ke]; - real f_E = (D.f[dirW])[kw]; - real f_S = (D.f[dirN])[kn]; - real f_N = (D.f[dirS])[ks]; - real f_B = (D.f[dirT])[kt]; - real f_T = (D.f[dirB])[kb]; - real f_SW = (D.f[dirNE])[kne]; - real f_NE = (D.f[dirSW])[ksw]; - real f_NW = (D.f[dirSE])[kse]; - real f_SE = (D.f[dirNW])[knw]; - real f_BW = (D.f[dirTE])[kte]; - real f_TE = (D.f[dirBW])[kbw]; - real f_TW = (D.f[dirBE])[kbe]; - real f_BE = (D.f[dirTW])[ktw]; - real f_BS = (D.f[dirTN])[ktn]; - real f_TN = (D.f[dirBS])[kbs]; - real f_TS = (D.f[dirBN])[kbn]; - real f_BN = (D.f[dirTS])[kts]; + real f_W = (D.f[E])[ke]; + real f_E = (D.f[W])[kw]; + real f_S = (D.f[N])[kn]; + real f_N = (D.f[S])[ks]; + real f_B = (D.f[T])[kt]; + real f_T = (D.f[B])[kb]; + real f_SW = (D.f[NE])[kne]; + real f_NE = (D.f[SW])[ksw]; + real f_NW = (D.f[SE])[kse]; + real f_SE = (D.f[NW])[knw]; + real f_BW = (D.f[TE])[kte]; + real f_TE = (D.f[BW])[kbw]; + real f_TW = (D.f[BE])[kbe]; + real f_BE = (D.f[TW])[ktw]; + real f_BS = (D.f[TN])[ktn]; + real f_TN = (D.f[BS])[kbs]; + real f_TS = (D.f[BN])[kbn]; + real f_BN = (D.f[TS])[kts]; real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE])[ktne]; - real f_BNE = (D.f[dirTSW])[ktsw]; - real f_BNW = (D.f[dirTSE])[ktse]; - real f_BSE = (D.f[dirTNW])[ktnw]; - real f_TSW = (D.f[dirBNE])[kbne]; - real f_TNE = (D.f[dirBSW])[kbsw]; - real f_TNW = (D.f[dirBSE])[kbse]; - real f_TSE = (D.f[dirBNW])[kbnw]; + real f_BSW = (D.f[TNE])[ktne]; + real f_BNE = (D.f[TSW])[ktsw]; + real f_BNW = (D.f[TSE])[ktse]; + real f_BSE = (D.f[TNW])[ktnw]; + real f_TSW = (D.f[BNE])[kbne]; + real f_TNE = (D.f[BSW])[kbsw]; + real f_TNW = (D.f[BSE])[kbse]; + real f_TSE = (D.f[BNW])[kbnw]; //////////////////////////////////////////////////////////////////////////////// //macroscopic values real rho0 = @@ -1212,33 +1212,33 @@ extern "C" __global__ void QADPressNEQNeighbor27( //AD - BC Nodes //////////////////////////////////////////////////////////////////////////////// //distributions - real f27_W = (D27.f[dirE])[ke]; - real f27_E = (D27.f[dirW])[kw]; - real f27_S = (D27.f[dirN])[kn]; - real f27_N = (D27.f[dirS])[ks]; - real f27_B = (D27.f[dirT])[kt]; - real f27_T = (D27.f[dirB])[kb]; - real f27_SW = (D27.f[dirNE])[kne]; - real f27_NE = (D27.f[dirSW])[ksw]; - real f27_NW = (D27.f[dirSE])[kse]; - real f27_SE = (D27.f[dirNW])[knw]; - real f27_BW = (D27.f[dirTE])[kte]; - real f27_TE = (D27.f[dirBW])[kbw]; - real f27_TW = (D27.f[dirBE])[kbe]; - real f27_BE = (D27.f[dirTW])[ktw]; - real f27_BS = (D27.f[dirTN])[ktn]; - real f27_TN = (D27.f[dirBS])[kbs]; - real f27_TS = (D27.f[dirBN])[kbn]; - real f27_BN = (D27.f[dirTS])[kts]; + real f27_W = (D27.f[E])[ke]; + real f27_E = (D27.f[W])[kw]; + real f27_S = (D27.f[N])[kn]; + real f27_N = (D27.f[S])[ks]; + real f27_B = (D27.f[T])[kt]; + real f27_T = (D27.f[B])[kb]; + real f27_SW = (D27.f[NE])[kne]; + real f27_NE = (D27.f[SW])[ksw]; + real f27_NW = (D27.f[SE])[kse]; + real f27_SE = (D27.f[NW])[knw]; + real f27_BW = (D27.f[TE])[kte]; + real f27_TE = (D27.f[BW])[kbw]; + real f27_TW = (D27.f[BE])[kbe]; + real f27_BE = (D27.f[TW])[ktw]; + real f27_BS = (D27.f[TN])[ktn]; + real f27_TN = (D27.f[BS])[kbs]; + real f27_TS = (D27.f[BN])[kbn]; + real f27_BN = (D27.f[TS])[kts]; real f27_ZERO = (D27.f[dirREST])[kzero]; - real f27_BSW = (D27.f[dirTNE])[ktne]; - real f27_BNE = (D27.f[dirTSW])[ktsw]; - real f27_BNW = (D27.f[dirTSE])[ktse]; - real f27_BSE = (D27.f[dirTNW])[ktnw]; - real f27_TSW = (D27.f[dirBNE])[kbne]; - real f27_TNE = (D27.f[dirBSW])[kbsw]; - real f27_TNW = (D27.f[dirBSE])[kbse]; - real f27_TSE = (D27.f[dirBNW])[kbnw]; + real f27_BSW = (D27.f[TNE])[ktne]; + real f27_BNE = (D27.f[TSW])[ktsw]; + real f27_BNW = (D27.f[TSE])[ktse]; + real f27_BSE = (D27.f[TNW])[ktnw]; + real f27_TSW = (D27.f[BNE])[kbne]; + real f27_TNE = (D27.f[BSW])[kbsw]; + real f27_TNW = (D27.f[BSE])[kbse]; + real f27_TSE = (D27.f[BNW])[kbnw]; //////////////////////////////////////////////////////////////////////////////// real cusq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -1344,33 +1344,33 @@ extern "C" __global__ void QADPressNEQNeighbor27( unsigned int kNbsw = neighborZ[kNsw]; //////////////////////////////////////////////////////////////////////////////// //update distributions at neighbor nodes - (D27.f[dirE ])[kNe ] = f27_W ; - (D27.f[dirW ])[kNw ] = f27_E ; - (D27.f[dirN ])[kNn ] = f27_S ; - (D27.f[dirS ])[kNs ] = f27_N ; - (D27.f[dirT ])[kNt ] = f27_B ; - (D27.f[dirB ])[kNb ] = f27_T ; - (D27.f[dirNE ])[kNne ] = f27_SW ; - (D27.f[dirSW ])[kNsw ] = f27_NE ; - (D27.f[dirSE ])[kNse ] = f27_NW ; - (D27.f[dirNW ])[kNnw ] = f27_SE ; - (D27.f[dirTE ])[kNte ] = f27_BW ; - (D27.f[dirBW ])[kNbw ] = f27_TE ; - (D27.f[dirBE ])[kNbe ] = f27_TW ; - (D27.f[dirTW ])[kNtw ] = f27_BE ; - (D27.f[dirTN ])[kNtn ] = f27_BS ; - (D27.f[dirBS ])[kNbs ] = f27_TN ; - (D27.f[dirBN ])[kNbn ] = f27_TS ; - (D27.f[dirTS ])[kNts ] = f27_BN ; + (D27.f[E ])[kNe ] = f27_W ; + (D27.f[W ])[kNw ] = f27_E ; + (D27.f[N ])[kNn ] = f27_S ; + (D27.f[S ])[kNs ] = f27_N ; + (D27.f[T ])[kNt ] = f27_B ; + (D27.f[B ])[kNb ] = f27_T ; + (D27.f[NE ])[kNne ] = f27_SW ; + (D27.f[SW ])[kNsw ] = f27_NE ; + (D27.f[SE ])[kNse ] = f27_NW ; + (D27.f[NW ])[kNnw ] = f27_SE ; + (D27.f[TE ])[kNte ] = f27_BW ; + (D27.f[BW ])[kNbw ] = f27_TE ; + (D27.f[BE ])[kNbe ] = f27_TW ; + (D27.f[TW ])[kNtw ] = f27_BE ; + (D27.f[TN ])[kNtn ] = f27_BS ; + (D27.f[BS ])[kNbs ] = f27_TN ; + (D27.f[BN ])[kNbn ] = f27_TS ; + (D27.f[TS ])[kNts ] = f27_BN ; (D27.f[dirREST])[kNzero] = f27_ZERO; - (D27.f[dirTNE ])[kNtne ] = f27_BSW ; - (D27.f[dirTSW ])[kNtsw ] = f27_BNE ; - (D27.f[dirTSE ])[kNtse ] = f27_BNW ; - (D27.f[dirTNW ])[kNtnw ] = f27_BSE ; - (D27.f[dirBNE ])[kNbne ] = f27_TSW ; - (D27.f[dirBSW ])[kNbsw ] = f27_TNE ; - (D27.f[dirBSE ])[kNbse ] = f27_TNW ; - (D27.f[dirBNW ])[kNbnw ] = f27_TSE ; + (D27.f[TNE ])[kNtne ] = f27_BSW ; + (D27.f[TSW ])[kNtsw ] = f27_BNE ; + (D27.f[TSE ])[kNtse ] = f27_BNW ; + (D27.f[TNW ])[kNtnw ] = f27_BSE ; + (D27.f[BNE ])[kNbne ] = f27_TSW ; + (D27.f[BSW ])[kNbsw ] = f27_TNE ; + (D27.f[BSE ])[kNbse ] = f27_TNW ; + (D27.f[BNW ])[kNbnw ] = f27_TSE ; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1432,63 +1432,63 @@ extern "C" __global__ void QADVel7( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions7 D7; @@ -1530,12 +1530,12 @@ extern "C" __global__ void QADVel7( real* DD, ////////////////////////////////////////////////////////////////////////////////// real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB;//, - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1570,32 +1570,32 @@ extern "C" __global__ void QADVel7( real* DD, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// /*real drho*/; real vx1_Inflow = c0o1; @@ -1849,125 +1849,125 @@ extern "C" __global__ void QADVel27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1988,32 +1988,32 @@ extern "C" __global__ void QADVel27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -2045,33 +2045,33 @@ extern "C" __global__ void QADVel27(real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, /*drho, feq,*/ q; ////drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -2097,33 +2097,33 @@ extern "C" __global__ void QADVel27(real* DD, vx2 = OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); vx3 = OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - //real f27_W = (D27.f[dirE ])[ke ]; - //real f27_E = (D27.f[dirW ])[kw ]; - //real f27_S = (D27.f[dirN ])[kn ]; - //real f27_N = (D27.f[dirS ])[ks ]; - //real f27_B = (D27.f[dirT ])[kt ]; - //real f27_T = (D27.f[dirB ])[kb ]; - //real f27_SW = (D27.f[dirNE ])[kne ]; - //real f27_NE = (D27.f[dirSW ])[ksw ]; - //real f27_NW = (D27.f[dirSE ])[kse ]; - //real f27_SE = (D27.f[dirNW ])[knw ]; - //real f27_BW = (D27.f[dirTE ])[kte ]; - //real f27_TE = (D27.f[dirBW ])[kbw ]; - //real f27_TW = (D27.f[dirBE ])[kbe ]; - //real f27_BE = (D27.f[dirTW ])[ktw ]; - //real f27_BS = (D27.f[dirTN ])[ktn ]; - //real f27_TN = (D27.f[dirBS ])[kbs ]; - //real f27_TS = (D27.f[dirBN ])[kbn ]; - //real f27_BN = (D27.f[dirTS ])[kts ]; + //real f27_W = (D27.f[E ])[ke ]; + //real f27_E = (D27.f[W ])[kw ]; + //real f27_S = (D27.f[N ])[kn ]; + //real f27_N = (D27.f[S ])[ks ]; + //real f27_B = (D27.f[T ])[kt ]; + //real f27_T = (D27.f[B ])[kb ]; + //real f27_SW = (D27.f[NE ])[kne ]; + //real f27_NE = (D27.f[SW ])[ksw ]; + //real f27_NW = (D27.f[SE ])[kse ]; + //real f27_SE = (D27.f[NW ])[knw ]; + //real f27_BW = (D27.f[TE ])[kte ]; + //real f27_TE = (D27.f[BW ])[kbw ]; + //real f27_TW = (D27.f[BE ])[kbe ]; + //real f27_BE = (D27.f[TW ])[ktw ]; + //real f27_BS = (D27.f[TN ])[ktn ]; + //real f27_TN = (D27.f[BS ])[kbs ]; + //real f27_TS = (D27.f[BN ])[kbn ]; + //real f27_BN = (D27.f[TS ])[kts ]; //real f27_ZERO = (D27.f[dirREST])[kzero]; - //real f27_BSW = (D27.f[dirTNE ])[ktne ]; - //real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - //real f27_BNW = (D27.f[dirTSE ])[ktse ]; - //real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - //real f27_TSW = (D27.f[dirBNE ])[kbne ]; - //real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - //real f27_TNW = (D27.f[dirBSE ])[kbse ]; - //real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + //real f27_BSW = (D27.f[TNE ])[ktne ]; + //real f27_BNE = (D27.f[TSW ])[ktsw ]; + //real f27_BNW = (D27.f[TSE ])[ktse ]; + //real f27_BSE = (D27.f[TNW ])[ktnw ]; + //real f27_TSW = (D27.f[BNE ])[kbne ]; + //real f27_TNE = (D27.f[BSW ])[kbsw ]; + //real f27_TNW = (D27.f[BSE ])[kbse ]; + //real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -2232,63 +2232,63 @@ extern "C" __global__ void QADVel27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -2298,84 +2298,84 @@ extern "C" __global__ void QADVel27(real* DD, //Test //(D.f[dirREST])[k]=c1o10; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //(D27.f[dirW ])[kw ]= four; - //(D27.f[dirE ])[ke ]= four; - //(D27.f[dirS ])[ks ]= four; - //(D27.f[dirN ])[kn ]= four; - //(D27.f[dirB ])[kb ]= four; - //(D27.f[dirT ])[kt ]= four; - //(D27.f[dirSW ])[ksw ]= four; - //(D27.f[dirNE ])[kne ]= four; - //(D27.f[dirNW ])[knw ]= four; - //(D27.f[dirSE ])[kse ]= four; - //(D27.f[dirBW ])[kbw ]= four; - //(D27.f[dirTE ])[kte ]= four; - //(D27.f[dirTW ])[ktw ]= four; - //(D27.f[dirBE ])[kbe ]= four; - //(D27.f[dirBS ])[kbs ]= four; - //(D27.f[dirTN ])[ktn ]= four; - //(D27.f[dirTS ])[kts ]= four; - //(D27.f[dirBN ])[kbn ]= four; - //(D27.f[dirBSW])[kbsw]= four; - //(D27.f[dirTNE])[ktne]= four; - //(D27.f[dirTSW])[ktsw]= four; - //(D27.f[dirBNE])[kbne]= four; - //(D27.f[dirBNW])[kbnw]= four; - //(D27.f[dirTSE])[ktse]= four; - //(D27.f[dirTNW])[ktnw]= four; - //(D27.f[dirBSE])[kbse]= four; - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; - //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[dirW ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); - //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[dirE ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); - //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[dirS ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); - //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[dirN ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); - //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[dirB ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); - //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[dirT ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); - //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[dirSW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); - //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[dirNE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); - //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[dirNW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); - //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[dirSE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); - //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[dirBW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); - //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[dirTE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); - //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[dirTW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); - //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[dirBE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); - //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[dirBS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); - //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[dirTN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); - //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[dirTS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); - //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[dirBN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); - //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[dirBSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); - //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[dirTNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); - //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[dirTSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); - //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[dirBNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); - //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[dirBNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); - //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[dirTSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); - //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[dirTNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); - //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[dirBSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); + //(D27.f[W ])[kw ]= four; + //(D27.f[E ])[ke ]= four; + //(D27.f[S ])[ks ]= four; + //(D27.f[N ])[kn ]= four; + //(D27.f[B ])[kb ]= four; + //(D27.f[T ])[kt ]= four; + //(D27.f[SW ])[ksw ]= four; + //(D27.f[NE ])[kne ]= four; + //(D27.f[NW ])[knw ]= four; + //(D27.f[SE ])[kse ]= four; + //(D27.f[BW ])[kbw ]= four; + //(D27.f[TE ])[kte ]= four; + //(D27.f[TW ])[ktw ]= four; + //(D27.f[BE ])[kbe ]= four; + //(D27.f[BS ])[kbs ]= four; + //(D27.f[TN ])[ktn ]= four; + //(D27.f[TS ])[kts ]= four; + //(D27.f[BN ])[kbn ]= four; + //(D27.f[BSW])[kbsw]= four; + //(D27.f[TNE])[ktne]= four; + //(D27.f[TSW])[ktsw]= four; + //(D27.f[BNE])[kbne]= four; + //(D27.f[BNW])[kbnw]= four; + //(D27.f[TSE])[ktse]= four; + //(D27.f[TNW])[ktnw]= four; + //(D27.f[BSE])[kbse]= four; + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; + //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[W ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); + //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[E ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); + //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[S ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); + //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[N ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); + //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[B ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); + //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[T ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); + //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[SW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); + //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[NE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); + //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[NW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); + //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[SE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); + //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[BW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); + //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[TE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); + //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[TW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); + //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[BE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); + //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[BS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); + //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[TN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); + //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[TS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); + //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[BN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); + //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[BSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); + //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[TNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); + //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[TSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); + //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[BNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); + //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[BNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); + //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[TSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); + //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[TNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); + //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[BSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -2436,63 +2436,63 @@ extern "C" __global__ void QAD7( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions7 D7; @@ -2538,32 +2538,32 @@ extern "C" __global__ void QAD7( real* DD, // *q_dirTNE, *q_dirTSW, *q_dirTSE, *q_dirTNW, *q_dirBNE, *q_dirBSW, // *q_dirBSE, *q_dirBNW; - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - //q_dirNE = &QQ[dirNE * numberOfBCnodes]; - //q_dirSW = &QQ[dirSW * numberOfBCnodes]; - //q_dirSE = &QQ[dirSE * numberOfBCnodes]; - //q_dirNW = &QQ[dirNW * numberOfBCnodes]; - //q_dirTE = &QQ[dirTE * numberOfBCnodes]; - //q_dirBW = &QQ[dirBW * numberOfBCnodes]; - //q_dirBE = &QQ[dirBE * numberOfBCnodes]; - //q_dirTW = &QQ[dirTW * numberOfBCnodes]; - //q_dirTN = &QQ[dirTN * numberOfBCnodes]; - //q_dirBS = &QQ[dirBS * numberOfBCnodes]; - //q_dirBN = &QQ[dirBN * numberOfBCnodes]; - //q_dirTS = &QQ[dirTS * numberOfBCnodes]; - //q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - //q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - //q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - //q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - //q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - //q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - //q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - //q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + //q_dirNE = &QQ[NE * numberOfBCnodes]; + //q_dirSW = &QQ[SW * numberOfBCnodes]; + //q_dirSE = &QQ[SE * numberOfBCnodes]; + //q_dirNW = &QQ[NW * numberOfBCnodes]; + //q_dirTE = &QQ[TE * numberOfBCnodes]; + //q_dirBW = &QQ[BW * numberOfBCnodes]; + //q_dirBE = &QQ[BE * numberOfBCnodes]; + //q_dirTW = &QQ[TW * numberOfBCnodes]; + //q_dirTN = &QQ[TN * numberOfBCnodes]; + //q_dirBS = &QQ[BS * numberOfBCnodes]; + //q_dirBN = &QQ[BN * numberOfBCnodes]; + //q_dirTS = &QQ[TS * numberOfBCnodes]; + //q_dirTNE = &QQ[TNE * numberOfBCnodes]; + //q_dirTSW = &QQ[TSW * numberOfBCnodes]; + //q_dirTSE = &QQ[TSE * numberOfBCnodes]; + //q_dirTNW = &QQ[TNW * numberOfBCnodes]; + //q_dirBNE = &QQ[BNE * numberOfBCnodes]; + //q_dirBSW = &QQ[BSW * numberOfBCnodes]; + //q_dirBSE = &QQ[BSE * numberOfBCnodes]; + //q_dirBNW = &QQ[BNW * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -2598,32 +2598,32 @@ extern "C" __global__ void QAD7( real* DD, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3/*, drho*/; //drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -2869,125 +2869,125 @@ extern "C" __global__ void QADDirichlet27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -3008,32 +3008,32 @@ extern "C" __global__ void QADDirichlet27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -3065,33 +3065,33 @@ extern "C" __global__ void QADDirichlet27( unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, /*drho, feq,*/ q; ////drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -3117,33 +3117,33 @@ extern "C" __global__ void QADDirichlet27( vx2 = OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); vx3 = OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - real f27_W = (D27.f[dirE ])[ke ]; - real f27_E = (D27.f[dirW ])[kw ]; - real f27_S = (D27.f[dirN ])[kn ]; - real f27_N = (D27.f[dirS ])[ks ]; - real f27_B = (D27.f[dirT ])[kt ]; - real f27_T = (D27.f[dirB ])[kb ]; - real f27_SW = (D27.f[dirNE ])[kne ]; - real f27_NE = (D27.f[dirSW ])[ksw ]; - real f27_NW = (D27.f[dirSE ])[kse ]; - real f27_SE = (D27.f[dirNW ])[knw ]; - real f27_BW = (D27.f[dirTE ])[kte ]; - real f27_TE = (D27.f[dirBW ])[kbw ]; - real f27_TW = (D27.f[dirBE ])[kbe ]; - real f27_BE = (D27.f[dirTW ])[ktw ]; - real f27_BS = (D27.f[dirTN ])[ktn ]; - real f27_TN = (D27.f[dirBS ])[kbs ]; - real f27_TS = (D27.f[dirBN ])[kbn ]; - real f27_BN = (D27.f[dirTS ])[kts ]; + real f27_W = (D27.f[E ])[ke ]; + real f27_E = (D27.f[W ])[kw ]; + real f27_S = (D27.f[N ])[kn ]; + real f27_N = (D27.f[S ])[ks ]; + real f27_B = (D27.f[T ])[kt ]; + real f27_T = (D27.f[B ])[kb ]; + real f27_SW = (D27.f[NE ])[kne ]; + real f27_NE = (D27.f[SW ])[ksw ]; + real f27_NW = (D27.f[SE ])[kse ]; + real f27_SE = (D27.f[NW ])[knw ]; + real f27_BW = (D27.f[TE ])[kte ]; + real f27_TE = (D27.f[BW ])[kbw ]; + real f27_TW = (D27.f[BE ])[kbe ]; + real f27_BE = (D27.f[TW ])[ktw ]; + real f27_BS = (D27.f[TN ])[ktn ]; + real f27_TN = (D27.f[BS ])[kbs ]; + real f27_TS = (D27.f[BN ])[kbn ]; + real f27_BN = (D27.f[TS ])[kts ]; real f27_ZERO = (D27.f[dirREST])[kzero]; - real f27_BSW = (D27.f[dirTNE ])[ktne ]; - real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - real f27_BNW = (D27.f[dirTSE ])[ktse ]; - real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - real f27_TSW = (D27.f[dirBNE ])[kbne ]; - real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - real f27_TNW = (D27.f[dirBSE ])[kbse ]; - real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + real f27_BSW = (D27.f[TNE ])[ktne ]; + real f27_BNE = (D27.f[TSW ])[ktsw ]; + real f27_BNW = (D27.f[TSE ])[ktse ]; + real f27_BSE = (D27.f[TNW ])[ktnw ]; + real f27_TSW = (D27.f[BNE ])[kbne ]; + real f27_TNE = (D27.f[BSW ])[kbsw ]; + real f27_TNW = (D27.f[BSE ])[kbse ]; + real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -3219,120 +3219,120 @@ extern "C" __global__ void QADDirichlet27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test //(D.f[dirREST])[k]=0.1f; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[ ke ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); - q = q_dirW[ kw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); - q = q_dirN[ kn ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); - q = q_dirS[ ks ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); - q = q_dirT[ kt ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); - q = q_dirB[ kb ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); - q = q_dirNE[ kne ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); - q = q_dirSW[ ksw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); - q = q_dirSE[ kse ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); - q = q_dirNW[ knw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); - q = q_dirTE[ kte ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); - q = q_dirBW[ kbw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); - q = q_dirBE[ kbe ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); - q = q_dirTW[ ktw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); - q = q_dirTN[ ktn ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); - q = q_dirBS[ kbs ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); - q = q_dirBN[ kbn ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); - q = q_dirTS[ kts ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); - q = q_dirTNE[ktne ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); - q = q_dirBSW[kbsw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); - q = q_dirBNE[kbne ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); - q = q_dirTSW[ktsw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); - q = q_dirTSE[ktse ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); - q = q_dirBNW[kbnw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); - q = q_dirBSE[kbse ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); - q = q_dirTNW[ktnw ]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); - //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[dirW ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); - //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[dirE ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); - //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[dirS ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); - //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[dirN ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); - //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[dirB ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); - //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[dirT ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); - //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[dirSW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); - //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[dirNE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); - //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[dirNW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); - //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[dirSE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); - //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[dirBW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); - //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[dirTE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); - //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[dirTW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); - //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[dirBE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); - //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[dirBS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); - //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[dirTN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); - //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[dirTS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); - //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[dirBN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); - //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[dirBSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); - //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[dirTNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); - //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[dirTSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); - //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[dirBNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); - //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[dirBNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); - //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[dirTSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); - //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[dirTNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); - //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[dirBSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); + q = q_dirE[ ke ]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); + q = q_dirW[ kw ]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); + q = q_dirN[ kn ]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); + q = q_dirS[ ks ]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); + q = q_dirT[ kt ]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); + q = q_dirB[ kb ]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); + q = q_dirNE[ kne ]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); + q = q_dirSW[ ksw ]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); + q = q_dirSE[ kse ]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); + q = q_dirNW[ knw ]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); + q = q_dirTE[ kte ]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); + q = q_dirBW[ kbw ]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); + q = q_dirBE[ kbe ]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); + q = q_dirTW[ ktw ]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); + q = q_dirTN[ ktn ]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); + q = q_dirBS[ kbs ]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); + q = q_dirBN[ kbn ]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); + q = q_dirTS[ kts ]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); + q = q_dirTNE[ktne ]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); + q = q_dirBSW[kbsw ]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); + q = q_dirBNE[kbne ]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); + q = q_dirTSW[ktsw ]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); + q = q_dirTSE[ktse ]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); + q = q_dirBNW[kbnw ]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); + q = q_dirBSE[kbse ]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); + q = q_dirTNW[ktnw ]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); + //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[W ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); + //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[E ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); + //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[S ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); + //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[N ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); + //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[B ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); + //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[T ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); + //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[SW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); + //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[NE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); + //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[NW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); + //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[SE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); + //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[BW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); + //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[TE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); + //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[TW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); + //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[BE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); + //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[BS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); + //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[TN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); + //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[TS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); + //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[BN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); + //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[BSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); + //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[TNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); + //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[TSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); + //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[BNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); + //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[BNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); + //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[TSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); + //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[TNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); + //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[BSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3394,125 +3394,125 @@ extern "C" __global__ void QADBB27( real* DD, //Distributions27 D; //if (isEvenTimestep==true) //{ - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; //} //else //{ - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; //} Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -3533,32 +3533,32 @@ extern "C" __global__ void QADBB27( real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -3590,33 +3590,33 @@ extern "C" __global__ void QADBB27( real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - //real f_W = (D.f[dirE ])[ke ]; - //real f_E = (D.f[dirW ])[kw ]; - //real f_S = (D.f[dirN ])[kn ]; - //real f_N = (D.f[dirS ])[ks ]; - //real f_B = (D.f[dirT ])[kt ]; - //real f_T = (D.f[dirB ])[kb ]; - //real f_SW = (D.f[dirNE ])[kne ]; - //real f_NE = (D.f[dirSW ])[ksw ]; - //real f_NW = (D.f[dirSE ])[kse ]; - //real f_SE = (D.f[dirNW ])[knw ]; - //real f_BW = (D.f[dirTE ])[kte ]; - //real f_TE = (D.f[dirBW ])[kbw ]; - //real f_TW = (D.f[dirBE ])[kbe ]; - //real f_BE = (D.f[dirTW ])[ktw ]; - //real f_BS = (D.f[dirTN ])[ktn ]; - //real f_TN = (D.f[dirBS ])[kbs ]; - //real f_TS = (D.f[dirBN ])[kbn ]; - //real f_BN = (D.f[dirTS ])[kts ]; + //real f_W = (D.f[E ])[ke ]; + //real f_E = (D.f[W ])[kw ]; + //real f_S = (D.f[N ])[kn ]; + //real f_N = (D.f[S ])[ks ]; + //real f_B = (D.f[T ])[kt ]; + //real f_T = (D.f[B ])[kb ]; + //real f_SW = (D.f[NE ])[kne ]; + //real f_NE = (D.f[SW ])[ksw ]; + //real f_NW = (D.f[SE ])[kse ]; + //real f_SE = (D.f[NW ])[knw ]; + //real f_BW = (D.f[TE ])[kte ]; + //real f_TE = (D.f[BW ])[kbw ]; + //real f_TW = (D.f[BE ])[kbe ]; + //real f_BE = (D.f[TW ])[ktw ]; + //real f_BS = (D.f[TN ])[ktn ]; + //real f_TN = (D.f[BS ])[kbs ]; + //real f_TS = (D.f[BN ])[kbn ]; + //real f_BN = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - //real f_BSW = (D.f[dirTNE ])[ktne ]; - //real f_BNE = (D.f[dirTSW ])[ktsw ]; - //real f_BNW = (D.f[dirTSE ])[ktse ]; - //real f_BSE = (D.f[dirTNW ])[ktnw ]; - //real f_TSW = (D.f[dirBNE ])[kbne ]; - //real f_TNE = (D.f[dirBSW ])[kbsw ]; - //real f_TNW = (D.f[dirBSE ])[kbse ]; - //real f_TSE = (D.f[dirBNW ])[kbnw ]; + //real f_BSW = (D.f[TNE ])[ktne ]; + //real f_BNE = (D.f[TSW ])[ktsw ]; + //real f_BNW = (D.f[TSE ])[ktse ]; + //real f_BSE = (D.f[TNW ])[ktnw ]; + //real f_TSW = (D.f[BNE ])[kbne ]; + //real f_TNE = (D.f[BSW ])[kbsw ]; + //real f_TNW = (D.f[BSE ])[kbse ]; + //real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //real vx1, vx2, vx3, /*drho, feq,*/ q; real q; @@ -3643,33 +3643,33 @@ extern "C" __global__ void QADBB27( real* DD, //vx2 = OORho*((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); //vx3 = OORho*((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - real f27_W = (D27.f[dirE ])[ke ]; - real f27_E = (D27.f[dirW ])[kw ]; - real f27_S = (D27.f[dirN ])[kn ]; - real f27_N = (D27.f[dirS ])[ks ]; - real f27_B = (D27.f[dirT ])[kt ]; - real f27_T = (D27.f[dirB ])[kb ]; - real f27_SW = (D27.f[dirNE ])[kne ]; - real f27_NE = (D27.f[dirSW ])[ksw ]; - real f27_NW = (D27.f[dirSE ])[kse ]; - real f27_SE = (D27.f[dirNW ])[knw ]; - real f27_BW = (D27.f[dirTE ])[kte ]; - real f27_TE = (D27.f[dirBW ])[kbw ]; - real f27_TW = (D27.f[dirBE ])[kbe ]; - real f27_BE = (D27.f[dirTW ])[ktw ]; - real f27_BS = (D27.f[dirTN ])[ktn ]; - real f27_TN = (D27.f[dirBS ])[kbs ]; - real f27_TS = (D27.f[dirBN ])[kbn ]; - real f27_BN = (D27.f[dirTS ])[kts ]; + real f27_W = (D27.f[E ])[ke ]; + real f27_E = (D27.f[W ])[kw ]; + real f27_S = (D27.f[N ])[kn ]; + real f27_N = (D27.f[S ])[ks ]; + real f27_B = (D27.f[T ])[kt ]; + real f27_T = (D27.f[B ])[kb ]; + real f27_SW = (D27.f[NE ])[kne ]; + real f27_NE = (D27.f[SW ])[ksw ]; + real f27_NW = (D27.f[SE ])[kse ]; + real f27_SE = (D27.f[NW ])[knw ]; + real f27_BW = (D27.f[TE ])[kte ]; + real f27_TE = (D27.f[BW ])[kbw ]; + real f27_TW = (D27.f[BE ])[kbe ]; + real f27_BE = (D27.f[TW ])[ktw ]; + real f27_BS = (D27.f[TN ])[ktn ]; + real f27_TN = (D27.f[BS ])[kbs ]; + real f27_TS = (D27.f[BN ])[kbn ]; + real f27_BN = (D27.f[TS ])[kts ]; //real f27_ZERO = (D27.f[dirREST])[kzero]; - real f27_BSW = (D27.f[dirTNE ])[ktne ]; - real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - real f27_BNW = (D27.f[dirTSE ])[ktse ]; - real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - real f27_TSW = (D27.f[dirBNE ])[kbne ]; - real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - real f27_TNW = (D27.f[dirBSE ])[kbse ]; - real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + real f27_BSW = (D27.f[TNE ])[ktne ]; + real f27_BNE = (D27.f[TSW ])[ktsw ]; + real f27_BNW = (D27.f[TSE ])[ktse ]; + real f27_BSE = (D27.f[TNW ])[ktnw ]; + real f27_TSW = (D27.f[BNE ])[kbne ]; + real f27_TNE = (D27.f[BSW ])[kbsw ]; + real f27_TNW = (D27.f[BSE ])[kbse ]; + real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -3745,94 +3745,94 @@ extern "C" __global__ void QADBB27( real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test //(D.f[dirREST])[k]=0.1f; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]=f27_E ; - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]=f27_W ; - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]=f27_N ; - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]=f27_S ; - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]=f27_T ; - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]=f27_B ; - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]=f27_NE ; - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]=f27_SW ; - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]=f27_SE ; - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]=f27_NW ; - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]=f27_TE ; - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]=f27_BW ; - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]=f27_BE ; - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]=f27_TW ; - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]=f27_TN ; - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]=f27_BS ; - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]=f27_BN ; - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]=f27_TS ; - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]=f27_TNE; - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]=f27_BSW; - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]=f27_BNE; - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]=f27_TSW; - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]=f27_TSE; - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]=f27_BNW; - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]=f27_BSE; - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]=f27_TNW; + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]=f27_E ; + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]=f27_W ; + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]=f27_N ; + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]=f27_S ; + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]=f27_T ; + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]=f27_B ; + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]=f27_NE ; + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]=f27_SW ; + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]=f27_SE ; + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]=f27_NW ; + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]=f27_TE ; + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]=f27_BW ; + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]=f27_BE ; + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]=f27_TW ; + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]=f27_TN ; + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]=f27_BS ; + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]=f27_BN ; + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]=f27_TS ; + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]=f27_TNE; + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]=f27_BSW; + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]=f27_BNE; + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]=f27_TSW; + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]=f27_TSE; + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]=f27_BNW; + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]=f27_BSE; + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]=f27_TNW; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3910,63 +3910,63 @@ extern "C" __global__ void QNoSlipADincomp7( //Distributions27 D; //if (isEvenTimestep==true) //{ - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; //} //else //{ - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; //} Distributions7 D7; @@ -4008,12 +4008,12 @@ extern "C" __global__ void QNoSlipADincomp7( ////////////////////////////////////////////////////////////////////////////////// real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB; - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -4045,32 +4045,32 @@ extern "C" __global__ void QNoSlipADincomp7( //unsigned int ktne = KQK; //unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - //real f_W = (D.f[dirE ])[ke ]; - //real f_E = (D.f[dirW ])[kw ]; - //real f_S = (D.f[dirN ])[kn ]; - //real f_N = (D.f[dirS ])[ks ]; - //real f_B = (D.f[dirT ])[kt ]; - //real f_T = (D.f[dirB ])[kb ]; - //real f_SW = (D.f[dirNE ])[kne ]; - //real f_NE = (D.f[dirSW ])[ksw ]; - //real f_NW = (D.f[dirSE ])[kse ]; - //real f_SE = (D.f[dirNW ])[knw ]; - //real f_BW = (D.f[dirTE ])[kte ]; - //real f_TE = (D.f[dirBW ])[kbw ]; - //real f_TW = (D.f[dirBE ])[kbe ]; - //real f_BE = (D.f[dirTW ])[ktw ]; - //real f_BS = (D.f[dirTN ])[ktn ]; - //real f_TN = (D.f[dirBS ])[kbs ]; - //real f_TS = (D.f[dirBN ])[kbn ]; - //real f_BN = (D.f[dirTS ])[kts ]; - //real f_BSW = (D.f[dirTNE ])[ktne ]; - //real f_BNE = (D.f[dirTSW ])[ktsw ]; - //real f_BNW = (D.f[dirTSE ])[ktse ]; - //real f_BSE = (D.f[dirTNW ])[ktnw ]; - //real f_TSW = (D.f[dirBNE ])[kbne ]; - //real f_TNE = (D.f[dirBSW ])[kbsw ]; - //real f_TNW = (D.f[dirBSE ])[kbse ]; - //real f_TSE = (D.f[dirBNW ])[kbnw ]; + //real f_W = (D.f[E ])[ke ]; + //real f_E = (D.f[W ])[kw ]; + //real f_S = (D.f[N ])[kn ]; + //real f_N = (D.f[S ])[ks ]; + //real f_B = (D.f[T ])[kt ]; + //real f_T = (D.f[B ])[kb ]; + //real f_SW = (D.f[NE ])[kne ]; + //real f_NE = (D.f[SW ])[ksw ]; + //real f_NW = (D.f[SE ])[kse ]; + //real f_SE = (D.f[NW ])[knw ]; + //real f_BW = (D.f[TE ])[kte ]; + //real f_TE = (D.f[BW ])[kbw ]; + //real f_TW = (D.f[BE ])[kbe ]; + //real f_BE = (D.f[TW ])[ktw ]; + //real f_BS = (D.f[TN ])[ktn ]; + //real f_TN = (D.f[BS ])[kbs ]; + //real f_TS = (D.f[BN ])[kbn ]; + //real f_BN = (D.f[TS ])[kts ]; + //real f_BSW = (D.f[TNE ])[ktne ]; + //real f_BNE = (D.f[TSW ])[ktsw ]; + //real f_BNW = (D.f[TSE ])[ktse ]; + //real f_BSE = (D.f[TNW ])[ktnw ]; + //real f_TSW = (D.f[BNE ])[kbne ]; + //real f_TNE = (D.f[BSW ])[kbsw ]; + //real f_TNW = (D.f[BSE ])[kbse ]; + //real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W)); //real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); @@ -4334,125 +4334,125 @@ extern "C" __global__ void QNoSlipADincomp27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -4473,32 +4473,32 @@ extern "C" __global__ void QNoSlipADincomp27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -4530,65 +4530,65 @@ extern "C" __global__ void QNoSlipADincomp27( unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W)); real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); real vx3 = ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - real f27_W = (D27.f[dirE ])[ke ]; - real f27_E = (D27.f[dirW ])[kw ]; - real f27_S = (D27.f[dirN ])[kn ]; - real f27_N = (D27.f[dirS ])[ks ]; - real f27_B = (D27.f[dirT ])[kt ]; - real f27_T = (D27.f[dirB ])[kb ]; - real f27_SW = (D27.f[dirNE ])[kne ]; - real f27_NE = (D27.f[dirSW ])[ksw ]; - real f27_NW = (D27.f[dirSE ])[kse ]; - real f27_SE = (D27.f[dirNW ])[knw ]; - real f27_BW = (D27.f[dirTE ])[kte ]; - real f27_TE = (D27.f[dirBW ])[kbw ]; - real f27_TW = (D27.f[dirBE ])[kbe ]; - real f27_BE = (D27.f[dirTW ])[ktw ]; - real f27_BS = (D27.f[dirTN ])[ktn ]; - real f27_TN = (D27.f[dirBS ])[kbs ]; - real f27_TS = (D27.f[dirBN ])[kbn ]; - real f27_BN = (D27.f[dirTS ])[kts ]; + real f27_W = (D27.f[E ])[ke ]; + real f27_E = (D27.f[W ])[kw ]; + real f27_S = (D27.f[N ])[kn ]; + real f27_N = (D27.f[S ])[ks ]; + real f27_B = (D27.f[T ])[kt ]; + real f27_T = (D27.f[B ])[kb ]; + real f27_SW = (D27.f[NE ])[kne ]; + real f27_NE = (D27.f[SW ])[ksw ]; + real f27_NW = (D27.f[SE ])[kse ]; + real f27_SE = (D27.f[NW ])[knw ]; + real f27_BW = (D27.f[TE ])[kte ]; + real f27_TE = (D27.f[BW ])[kbw ]; + real f27_TW = (D27.f[BE ])[kbe ]; + real f27_BE = (D27.f[TW ])[ktw ]; + real f27_BS = (D27.f[TN ])[ktn ]; + real f27_TN = (D27.f[BS ])[kbs ]; + real f27_TS = (D27.f[BN ])[kbn ]; + real f27_BN = (D27.f[TS ])[kts ]; real f27_ZERO = (D27.f[dirREST])[kzero]; - real f27_BSW = (D27.f[dirTNE ])[ktne ]; - real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - real f27_BNW = (D27.f[dirTSE ])[ktse ]; - real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - real f27_TSW = (D27.f[dirBNE ])[kbne ]; - real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - real f27_TNW = (D27.f[dirBSE ])[kbse ]; - real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + real f27_BSW = (D27.f[TNE ])[ktne ]; + real f27_BNE = (D27.f[TSW ])[ktsw ]; + real f27_BNW = (D27.f[TSE ])[ktse ]; + real f27_BSE = (D27.f[TNW ])[ktnw ]; + real f27_TSW = (D27.f[BNE ])[kbne ]; + real f27_TNE = (D27.f[BSW ])[kbsw ]; + real f27_TNW = (D27.f[BSE ])[kbse ]; + real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -4664,63 +4664,63 @@ extern "C" __global__ void QNoSlipADincomp27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -4728,32 +4728,32 @@ extern "C" __global__ void QNoSlipADincomp27( //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real q; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]=(c2o1*feqW27_W -(f27_E *(q*omegaD-c1o1)-omegaD*feq27_E *(q-c1o1))/(omegaD-c1o1)+f27_W *q)/(q+c1o1); + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]=(c2o1*feqW27_E -(f27_W *(q*omegaD-c1o1)-omegaD*feq27_W *(q-c1o1))/(omegaD-c1o1)+f27_E *q)/(q+c1o1); + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]=(c2o1*feqW27_S -(f27_N *(q*omegaD-c1o1)-omegaD*feq27_N *(q-c1o1))/(omegaD-c1o1)+f27_S *q)/(q+c1o1); + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]=(c2o1*feqW27_N -(f27_S *(q*omegaD-c1o1)-omegaD*feq27_S *(q-c1o1))/(omegaD-c1o1)+f27_N *q)/(q+c1o1); + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]=(c2o1*feqW27_B -(f27_T *(q*omegaD-c1o1)-omegaD*feq27_T *(q-c1o1))/(omegaD-c1o1)+f27_B *q)/(q+c1o1); + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]=(c2o1*feqW27_T -(f27_B *(q*omegaD-c1o1)-omegaD*feq27_B *(q-c1o1))/(omegaD-c1o1)+f27_T *q)/(q+c1o1); + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]=(c2o1*feqW27_SW -(f27_NE *(q*omegaD-c1o1)-omegaD*feq27_NE *(q-c1o1))/(omegaD-c1o1)+f27_SW *q)/(q+c1o1); + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]=(c2o1*feqW27_NE -(f27_SW *(q*omegaD-c1o1)-omegaD*feq27_SW *(q-c1o1))/(omegaD-c1o1)+f27_NE *q)/(q+c1o1); + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]=(c2o1*feqW27_NW -(f27_SE *(q*omegaD-c1o1)-omegaD*feq27_SE *(q-c1o1))/(omegaD-c1o1)+f27_NW *q)/(q+c1o1); + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]=(c2o1*feqW27_SE -(f27_NW *(q*omegaD-c1o1)-omegaD*feq27_NW *(q-c1o1))/(omegaD-c1o1)+f27_SE *q)/(q+c1o1); + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]=(c2o1*feqW27_BW -(f27_TE *(q*omegaD-c1o1)-omegaD*feq27_TE *(q-c1o1))/(omegaD-c1o1)+f27_BW *q)/(q+c1o1); + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]=(c2o1*feqW27_TE -(f27_BW *(q*omegaD-c1o1)-omegaD*feq27_BW *(q-c1o1))/(omegaD-c1o1)+f27_TE *q)/(q+c1o1); + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]=(c2o1*feqW27_TW -(f27_BE *(q*omegaD-c1o1)-omegaD*feq27_BE *(q-c1o1))/(omegaD-c1o1)+f27_TW *q)/(q+c1o1); + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]=(c2o1*feqW27_BE -(f27_TW *(q*omegaD-c1o1)-omegaD*feq27_TW *(q-c1o1))/(omegaD-c1o1)+f27_BE *q)/(q+c1o1); + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]=(c2o1*feqW27_BS -(f27_TN *(q*omegaD-c1o1)-omegaD*feq27_TN *(q-c1o1))/(omegaD-c1o1)+f27_BS *q)/(q+c1o1); + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]=(c2o1*feqW27_TN -(f27_BS *(q*omegaD-c1o1)-omegaD*feq27_BS *(q-c1o1))/(omegaD-c1o1)+f27_TN *q)/(q+c1o1); + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]=(c2o1*feqW27_TS -(f27_BN *(q*omegaD-c1o1)-omegaD*feq27_BN *(q-c1o1))/(omegaD-c1o1)+f27_TS *q)/(q+c1o1); + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]=(c2o1*feqW27_BN -(f27_TS *(q*omegaD-c1o1)-omegaD*feq27_TS *(q-c1o1))/(omegaD-c1o1)+f27_BN *q)/(q+c1o1); + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]=(c2o1*feqW27_BSW-(f27_TNE*(q*omegaD-c1o1)-omegaD*feq27_TNE*(q-c1o1))/(omegaD-c1o1)+f27_BSW*q)/(q+c1o1); + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]=(c2o1*feqW27_TNE-(f27_BSW*(q*omegaD-c1o1)-omegaD*feq27_BSW*(q-c1o1))/(omegaD-c1o1)+f27_TNE*q)/(q+c1o1); + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]=(c2o1*feqW27_TSW-(f27_BNE*(q*omegaD-c1o1)-omegaD*feq27_BNE*(q-c1o1))/(omegaD-c1o1)+f27_TSW*q)/(q+c1o1); + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]=(c2o1*feqW27_BNE-(f27_TSW*(q*omegaD-c1o1)-omegaD*feq27_TSW*(q-c1o1))/(omegaD-c1o1)+f27_BNE*q)/(q+c1o1); + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]=(c2o1*feqW27_BNW-(f27_TSE*(q*omegaD-c1o1)-omegaD*feq27_TSE*(q-c1o1))/(omegaD-c1o1)+f27_BNW*q)/(q+c1o1); + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]=(c2o1*feqW27_TSE-(f27_BNW*(q*omegaD-c1o1)-omegaD*feq27_BNW*(q-c1o1))/(omegaD-c1o1)+f27_TSE*q)/(q+c1o1); + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]=(c2o1*feqW27_TNW-(f27_BSE*(q*omegaD-c1o1)-omegaD*feq27_BSE*(q-c1o1))/(omegaD-c1o1)+f27_TNW*q)/(q+c1o1); + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]=(c2o1*feqW27_BSE-(f27_TNW*(q*omegaD-c1o1)-omegaD*feq27_TNW*(q-c1o1))/(omegaD-c1o1)+f27_BSE*q)/(q+c1o1); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -4816,63 +4816,63 @@ extern "C" __global__ void QADVeloIncomp7( //Distributions27 D; //if (isEvenTimestep==true) //{ - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; //} //else //{ - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; //} Distributions7 D7; @@ -4914,12 +4914,12 @@ extern "C" __global__ void QADVeloIncomp7( ////////////////////////////////////////////////////////////////////////////////// real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB; - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -4951,32 +4951,32 @@ extern "C" __global__ void QADVeloIncomp7( //unsigned int ktne = KQK; //unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - //real f_W = (D.f[dirE ])[ke ]; - //real f_E = (D.f[dirW ])[kw ]; - //real f_S = (D.f[dirN ])[kn ]; - //real f_N = (D.f[dirS ])[ks ]; - //real f_B = (D.f[dirT ])[kt ]; - //real f_T = (D.f[dirB ])[kb ]; - //real f_SW = (D.f[dirNE ])[kne ]; - //real f_NE = (D.f[dirSW ])[ksw ]; - //real f_NW = (D.f[dirSE ])[kse ]; - //real f_SE = (D.f[dirNW ])[knw ]; - //real f_BW = (D.f[dirTE ])[kte ]; - //real f_TE = (D.f[dirBW ])[kbw ]; - //real f_TW = (D.f[dirBE ])[kbe ]; - //real f_BE = (D.f[dirTW ])[ktw ]; - //real f_BS = (D.f[dirTN ])[ktn ]; - //real f_TN = (D.f[dirBS ])[kbs ]; - //real f_TS = (D.f[dirBN ])[kbn ]; - //real f_BN = (D.f[dirTS ])[kts ]; - //real f_BSW = (D.f[dirTNE ])[ktne ]; - //real f_BNE = (D.f[dirTSW ])[ktsw ]; - //real f_BNW = (D.f[dirTSE ])[ktse ]; - //real f_BSE = (D.f[dirTNW ])[ktnw ]; - //real f_TSW = (D.f[dirBNE ])[kbne ]; - //real f_TNE = (D.f[dirBSW ])[kbsw ]; - //real f_TNW = (D.f[dirBSE ])[kbse ]; - //real f_TSE = (D.f[dirBNW ])[kbnw ]; + //real f_W = (D.f[E ])[ke ]; + //real f_E = (D.f[W ])[kw ]; + //real f_S = (D.f[N ])[kn ]; + //real f_N = (D.f[S ])[ks ]; + //real f_B = (D.f[T ])[kt ]; + //real f_T = (D.f[B ])[kb ]; + //real f_SW = (D.f[NE ])[kne ]; + //real f_NE = (D.f[SW ])[ksw ]; + //real f_NW = (D.f[SE ])[kse ]; + //real f_SE = (D.f[NW ])[knw ]; + //real f_BW = (D.f[TE ])[kte ]; + //real f_TE = (D.f[BW ])[kbw ]; + //real f_TW = (D.f[BE ])[kbe ]; + //real f_BE = (D.f[TW ])[ktw ]; + //real f_BS = (D.f[TN ])[ktn ]; + //real f_TN = (D.f[BS ])[kbs ]; + //real f_TS = (D.f[BN ])[kbn ]; + //real f_BN = (D.f[TS ])[kts ]; + //real f_BSW = (D.f[TNE ])[ktne ]; + //real f_BNE = (D.f[TSW ])[ktsw ]; + //real f_BNW = (D.f[TSE ])[ktse ]; + //real f_BSE = (D.f[TNW ])[ktnw ]; + //real f_TSW = (D.f[BNE ])[kbne ]; + //real f_TNE = (D.f[BSW ])[kbsw ]; + //real f_TNW = (D.f[BSE ])[kbse ]; + //real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //real vx1_Inflow = c0o1; //real vx2_Inflow = velo[k]; @@ -5294,125 +5294,125 @@ extern "C" __global__ void QADVeloIncomp27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -5433,32 +5433,32 @@ extern "C" __global__ void QADVeloIncomp27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -5490,65 +5490,65 @@ extern "C" __global__ void QADVeloIncomp27( unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W)); real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); real vx3 = ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - //real f27_W = (D27.f[dirE ])[ke ]; - //real f27_E = (D27.f[dirW ])[kw ]; - //real f27_S = (D27.f[dirN ])[kn ]; - //real f27_N = (D27.f[dirS ])[ks ]; - //real f27_B = (D27.f[dirT ])[kt ]; - //real f27_T = (D27.f[dirB ])[kb ]; - //real f27_SW = (D27.f[dirNE ])[kne ]; - //real f27_NE = (D27.f[dirSW ])[ksw ]; - //real f27_NW = (D27.f[dirSE ])[kse ]; - //real f27_SE = (D27.f[dirNW ])[knw ]; - //real f27_BW = (D27.f[dirTE ])[kte ]; - //real f27_TE = (D27.f[dirBW ])[kbw ]; - //real f27_TW = (D27.f[dirBE ])[kbe ]; - //real f27_BE = (D27.f[dirTW ])[ktw ]; - //real f27_BS = (D27.f[dirTN ])[ktn ]; - //real f27_TN = (D27.f[dirBS ])[kbs ]; - //real f27_TS = (D27.f[dirBN ])[kbn ]; - //real f27_BN = (D27.f[dirTS ])[kts ]; + //real f27_W = (D27.f[E ])[ke ]; + //real f27_E = (D27.f[W ])[kw ]; + //real f27_S = (D27.f[N ])[kn ]; + //real f27_N = (D27.f[S ])[ks ]; + //real f27_B = (D27.f[T ])[kt ]; + //real f27_T = (D27.f[B ])[kb ]; + //real f27_SW = (D27.f[NE ])[kne ]; + //real f27_NE = (D27.f[SW ])[ksw ]; + //real f27_NW = (D27.f[SE ])[kse ]; + //real f27_SE = (D27.f[NW ])[knw ]; + //real f27_BW = (D27.f[TE ])[kte ]; + //real f27_TE = (D27.f[BW ])[kbw ]; + //real f27_TW = (D27.f[BE ])[kbe ]; + //real f27_BE = (D27.f[TW ])[ktw ]; + //real f27_BS = (D27.f[TN ])[ktn ]; + //real f27_TN = (D27.f[BS ])[kbs ]; + //real f27_TS = (D27.f[BN ])[kbn ]; + //real f27_BN = (D27.f[TS ])[kts ]; //real f27_ZERO = (D27.f[dirREST])[kzero]; - //real f27_BSW = (D27.f[dirTNE ])[ktne ]; - //real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - //real f27_BNW = (D27.f[dirTSE ])[ktse ]; - //real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - //real f27_TSW = (D27.f[dirBNE ])[kbne ]; - //real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - //real f27_TNW = (D27.f[dirBSE ])[kbse ]; - //real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + //real f27_BSW = (D27.f[TNE ])[ktne ]; + //real f27_BNE = (D27.f[TSW ])[ktsw ]; + //real f27_BNW = (D27.f[TSE ])[ktse ]; + //real f27_BSE = (D27.f[TNW ])[ktnw ]; + //real f27_TSW = (D27.f[BNE ])[kbne ]; + //real f27_TNE = (D27.f[BSW ])[kbsw ]; + //real f27_TNW = (D27.f[BSE ])[kbse ]; + //real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -5629,63 +5629,63 @@ extern "C" __global__ void QADVeloIncomp27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -5693,58 +5693,58 @@ extern "C" __global__ void QADVeloIncomp27( //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real q; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; - //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[dirW ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); - //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[dirE ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); - //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[dirS ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); - //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[dirN ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); - //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[dirB ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); - //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[dirT ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); - //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[dirSW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); - //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[dirNE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); - //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[dirNW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); - //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[dirSE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); - //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[dirBW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); - //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[dirTE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); - //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[dirTW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); - //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[dirBE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); - //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[dirBS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); - //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[dirTN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); - //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[dirTS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); - //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[dirBN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); - //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[dirBSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); - //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[dirTNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); - //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[dirTSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); - //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[dirBNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); - //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[dirBNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); - //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[dirTSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); - //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[dirTNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); - //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[dirBSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; + //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[W ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); + //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[E ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); + //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[S ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); + //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[N ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); + //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[B ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); + //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[T ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); + //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[SW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); + //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[NE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); + //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[NW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); + //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[SE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); + //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[BW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); + //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[TE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); + //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[TW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); + //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[BE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); + //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[BS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); + //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[TN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); + //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[TS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); + //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[BN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); + //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[BSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); + //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[TNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); + //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[TSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); + //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[BNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); + //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[BNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); + //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[TSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); + //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[TNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); + //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[BSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -5808,63 +5808,63 @@ extern "C" __global__ void QADPressIncomp7(int inx, /* Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; }*/ Distributions7 D7; @@ -5906,12 +5906,12 @@ extern "C" __global__ void QADPressIncomp7(int inx, ////////////////////////////////////////////////////////////////////////////////// real *q_dirE, *q_dirW, *q_dirN, *q_dirS, *q_dirT, *q_dirB; - q_dirE = &QQ[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; ////////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -5946,32 +5946,32 @@ extern "C" __global__ void QADPressIncomp7(int inx, /* 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ];*/ + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ];*/ //////////////////////////////////////////////////////////////////////////////// //real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W)); //real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); @@ -6247,125 +6247,125 @@ extern "C" __global__ void QADPressIncomp27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -6386,32 +6386,32 @@ extern "C" __global__ void QADPressIncomp27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -6443,65 +6443,65 @@ extern "C" __global__ void QADPressIncomp27( unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_TSE-f_BNW)+(f_BSE-f_TNW) +(f_NE-f_SW)+(f_SE-f_NW)+(f_TE-f_BW)+(f_BE-f_TW)+(f_E-f_W)); real vx2 = ((f_TNE-f_BSW)+(f_BNE-f_TSW)+(f_BNW-f_TSE)+(f_TNW-f_BSE) +(f_NE-f_SW)+(f_NW-f_SE)+(f_TN-f_BS)+(f_BN-f_TS)+(f_N-f_S)); real vx3 = ((f_TNE-f_BSW)+(f_TSW-f_BNE)+(f_TSE-f_BNW)+(f_TNW-f_BSE) +(f_TE-f_BW)+(f_TW-f_BE)+(f_TN-f_BS)+(f_TS-f_BN)+(f_T-f_B)); //////////////////////////////////////////////////////////////////////////////// - //real f27_W = (D27.f[dirE ])[ke ]; - //real f27_E = (D27.f[dirW ])[kw ]; - //real f27_S = (D27.f[dirN ])[kn ]; - //real f27_N = (D27.f[dirS ])[ks ]; - //real f27_B = (D27.f[dirT ])[kt ]; - //real f27_T = (D27.f[dirB ])[kb ]; - //real f27_SW = (D27.f[dirNE ])[kne ]; - //real f27_NE = (D27.f[dirSW ])[ksw ]; - //real f27_NW = (D27.f[dirSE ])[kse ]; - //real f27_SE = (D27.f[dirNW ])[knw ]; - //real f27_BW = (D27.f[dirTE ])[kte ]; - //real f27_TE = (D27.f[dirBW ])[kbw ]; - //real f27_TW = (D27.f[dirBE ])[kbe ]; - //real f27_BE = (D27.f[dirTW ])[ktw ]; - //real f27_BS = (D27.f[dirTN ])[ktn ]; - //real f27_TN = (D27.f[dirBS ])[kbs ]; - //real f27_TS = (D27.f[dirBN ])[kbn ]; - //real f27_BN = (D27.f[dirTS ])[kts ]; + //real f27_W = (D27.f[E ])[ke ]; + //real f27_E = (D27.f[W ])[kw ]; + //real f27_S = (D27.f[N ])[kn ]; + //real f27_N = (D27.f[S ])[ks ]; + //real f27_B = (D27.f[T ])[kt ]; + //real f27_T = (D27.f[B ])[kb ]; + //real f27_SW = (D27.f[NE ])[kne ]; + //real f27_NE = (D27.f[SW ])[ksw ]; + //real f27_NW = (D27.f[SE ])[kse ]; + //real f27_SE = (D27.f[NW ])[knw ]; + //real f27_BW = (D27.f[TE ])[kte ]; + //real f27_TE = (D27.f[BW ])[kbw ]; + //real f27_TW = (D27.f[BE ])[kbe ]; + //real f27_BE = (D27.f[TW ])[ktw ]; + //real f27_BS = (D27.f[TN ])[ktn ]; + //real f27_TN = (D27.f[BS ])[kbs ]; + //real f27_TS = (D27.f[BN ])[kbn ]; + //real f27_BN = (D27.f[TS ])[kts ]; //real f27_ZERO = (D27.f[dirREST])[kzero]; - //real f27_BSW = (D27.f[dirTNE ])[ktne ]; - //real f27_BNE = (D27.f[dirTSW ])[ktsw ]; - //real f27_BNW = (D27.f[dirTSE ])[ktse ]; - //real f27_BSE = (D27.f[dirTNW ])[ktnw ]; - //real f27_TSW = (D27.f[dirBNE ])[kbne ]; - //real f27_TNE = (D27.f[dirBSW ])[kbsw ]; - //real f27_TNW = (D27.f[dirBSE ])[kbse ]; - //real f27_TSE = (D27.f[dirBNW ])[kbnw ]; + //real f27_BSW = (D27.f[TNE ])[ktne ]; + //real f27_BNE = (D27.f[TSW ])[ktsw ]; + //real f27_BNW = (D27.f[TSE ])[ktse ]; + //real f27_BSE = (D27.f[TNW ])[ktnw ]; + //real f27_TSW = (D27.f[BNE ])[kbne ]; + //real f27_TNE = (D27.f[BSW ])[kbsw ]; + //real f27_TNW = (D27.f[BSE ])[kbse ]; + //real f27_TSE = (D27.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //////////////////////////////////////////////////////////////////////////////// @@ -6582,63 +6582,63 @@ extern "C" __global__ void QADPressIncomp27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -6646,58 +6646,58 @@ extern "C" __global__ void QADPressIncomp27( //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real q; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirW ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirE ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirS ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirN ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirB ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirT ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirNW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirSE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirTNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[dirBSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; - //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[dirW ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); - //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[dirE ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); - //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[dirS ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); - //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[dirN ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); - //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[dirB ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); - //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[dirT ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); - //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[dirSW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); - //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[dirNE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); - //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[dirNW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); - //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[dirSE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); - //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[dirBW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); - //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[dirTE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); - //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[dirTW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); - //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[dirBE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); - //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[dirBS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); - //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[dirTN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); - //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[dirTS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); - //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[dirBN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); - //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[dirBSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); - //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[dirTNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); - //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[dirTSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); - //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[dirBNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); - //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[dirBNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); - //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[dirTSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); - //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[dirTNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); - //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[dirBSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[W ])[kw ]= -feqW27_W + c2o1 * c2o27 * TempD; + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[E ])[ke ]= -feqW27_E + c2o1 * c2o27 * TempD; + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[S ])[ks ]= -feqW27_S + c2o1 * c2o27 * TempD; + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[N ])[kn ]= -feqW27_N + c2o1 * c2o27 * TempD; + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D27.f[B ])[kb ]= -feqW27_B + c2o1 * c2o27 * TempD; + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D27.f[T ])[kt ]= -feqW27_T + c2o1 * c2o27 * TempD; + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SW ])[ksw ]= -feqW27_SW + c2o1 * c1o54 * TempD; + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NE ])[kne ]= -feqW27_NE + c2o1 * c1o54 * TempD; + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[NW ])[knw ]= -feqW27_NW + c2o1 * c1o54 * TempD; + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[SE ])[kse ]= -feqW27_SE + c2o1 * c1o54 * TempD; + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BW ])[kbw ]= -feqW27_BW + c2o1 * c1o54 * TempD; + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TE ])[kte ]= -feqW27_TE + c2o1 * c1o54 * TempD; + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TW ])[ktw ]= -feqW27_TW + c2o1 * c1o54 * TempD; + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BE ])[kbe ]= -feqW27_BE + c2o1 * c1o54 * TempD; + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BS ])[kbs ]= -feqW27_BS + c2o1 * c1o54 * TempD; + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TN ])[ktn ]= -feqW27_TN + c2o1 * c1o54 * TempD; + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TS ])[kts ]= -feqW27_TS + c2o1 * c1o54 * TempD; + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BN ])[kbn ]= -feqW27_BN + c2o1 * c1o54 * TempD; + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSW])[kbsw]= -feqW27_BSW+ c2o1 * c1o216 * TempD; + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNE])[ktne]= -feqW27_TNE+ c2o1 * c1o216 * TempD; + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSW])[ktsw]= -feqW27_TSW+ c2o1 * c1o216 * TempD; + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNE])[kbne]= -feqW27_BNE+ c2o1 * c1o216 * TempD; + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BNW])[kbnw]= -feqW27_BNW+ c2o1 * c1o216 * TempD; + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TSE])[ktse]= -feqW27_TSE+ c2o1 * c1o216 * TempD; + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D27.f[TNW])[ktnw]= -feqW27_TNW+ c2o1 * c1o216 * TempD; + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D27.f[BSE])[kbse]= -feqW27_BSE+ c2o1 * c1o216 * TempD; + //q = q_dirE[k]; if (q>=zero && q<=one) (D27.f[W ])[kw ]=(two*feqW27_W -(f27_E *(q*omegaD-one)-omegaD*feq27_E *(q-one))/(omegaD-one)+f27_W *q)/(q+one); + //q = q_dirW[k]; if (q>=zero && q<=one) (D27.f[E ])[ke ]=(two*feqW27_E -(f27_W *(q*omegaD-one)-omegaD*feq27_W *(q-one))/(omegaD-one)+f27_E *q)/(q+one); + //q = q_dirN[k]; if (q>=zero && q<=one) (D27.f[S ])[ks ]=(two*feqW27_S -(f27_N *(q*omegaD-one)-omegaD*feq27_N *(q-one))/(omegaD-one)+f27_S *q)/(q+one); + //q = q_dirS[k]; if (q>=zero && q<=one) (D27.f[N ])[kn ]=(two*feqW27_N -(f27_S *(q*omegaD-one)-omegaD*feq27_S *(q-one))/(omegaD-one)+f27_N *q)/(q+one); + //q = q_dirT[k]; if (q>=zero && q<=one) (D27.f[B ])[kb ]=(two*feqW27_B -(f27_T *(q*omegaD-one)-omegaD*feq27_T *(q-one))/(omegaD-one)+f27_B *q)/(q+one); + //q = q_dirB[k]; if (q>=zero && q<=one) (D27.f[T ])[kt ]=(two*feqW27_T -(f27_B *(q*omegaD-one)-omegaD*feq27_B *(q-one))/(omegaD-one)+f27_T *q)/(q+one); + //q = q_dirNE[k]; if (q>=zero && q<=one) (D27.f[SW ])[ksw ]=(two*feqW27_SW -(f27_NE *(q*omegaD-one)-omegaD*feq27_NE *(q-one))/(omegaD-one)+f27_SW *q)/(q+one); + //q = q_dirSW[k]; if (q>=zero && q<=one) (D27.f[NE ])[kne ]=(two*feqW27_NE -(f27_SW *(q*omegaD-one)-omegaD*feq27_SW *(q-one))/(omegaD-one)+f27_NE *q)/(q+one); + //q = q_dirSE[k]; if (q>=zero && q<=one) (D27.f[NW ])[knw ]=(two*feqW27_NW -(f27_SE *(q*omegaD-one)-omegaD*feq27_SE *(q-one))/(omegaD-one)+f27_NW *q)/(q+one); + //q = q_dirNW[k]; if (q>=zero && q<=one) (D27.f[SE ])[kse ]=(two*feqW27_SE -(f27_NW *(q*omegaD-one)-omegaD*feq27_NW *(q-one))/(omegaD-one)+f27_SE *q)/(q+one); + //q = q_dirTE[k]; if (q>=zero && q<=one) (D27.f[BW ])[kbw ]=(two*feqW27_BW -(f27_TE *(q*omegaD-one)-omegaD*feq27_TE *(q-one))/(omegaD-one)+f27_BW *q)/(q+one); + //q = q_dirBW[k]; if (q>=zero && q<=one) (D27.f[TE ])[kte ]=(two*feqW27_TE -(f27_BW *(q*omegaD-one)-omegaD*feq27_BW *(q-one))/(omegaD-one)+f27_TE *q)/(q+one); + //q = q_dirBE[k]; if (q>=zero && q<=one) (D27.f[TW ])[ktw ]=(two*feqW27_TW -(f27_BE *(q*omegaD-one)-omegaD*feq27_BE *(q-one))/(omegaD-one)+f27_TW *q)/(q+one); + //q = q_dirTW[k]; if (q>=zero && q<=one) (D27.f[BE ])[kbe ]=(two*feqW27_BE -(f27_TW *(q*omegaD-one)-omegaD*feq27_TW *(q-one))/(omegaD-one)+f27_BE *q)/(q+one); + //q = q_dirTN[k]; if (q>=zero && q<=one) (D27.f[BS ])[kbs ]=(two*feqW27_BS -(f27_TN *(q*omegaD-one)-omegaD*feq27_TN *(q-one))/(omegaD-one)+f27_BS *q)/(q+one); + //q = q_dirBS[k]; if (q>=zero && q<=one) (D27.f[TN ])[ktn ]=(two*feqW27_TN -(f27_BS *(q*omegaD-one)-omegaD*feq27_BS *(q-one))/(omegaD-one)+f27_TN *q)/(q+one); + //q = q_dirBN[k]; if (q>=zero && q<=one) (D27.f[TS ])[kts ]=(two*feqW27_TS -(f27_BN *(q*omegaD-one)-omegaD*feq27_BN *(q-one))/(omegaD-one)+f27_TS *q)/(q+one); + //q = q_dirTS[k]; if (q>=zero && q<=one) (D27.f[BN ])[kbn ]=(two*feqW27_BN -(f27_TS *(q*omegaD-one)-omegaD*feq27_TS *(q-one))/(omegaD-one)+f27_BN *q)/(q+one); + //q = q_dirTNE[k]; if (q>=zero && q<=one) (D27.f[BSW])[kbsw]=(two*feqW27_BSW-(f27_TNE*(q*omegaD-one)-omegaD*feq27_TNE*(q-one))/(omegaD-one)+f27_BSW*q)/(q+one); + //q = q_dirBSW[k]; if (q>=zero && q<=one) (D27.f[TNE])[ktne]=(two*feqW27_TNE-(f27_BSW*(q*omegaD-one)-omegaD*feq27_BSW*(q-one))/(omegaD-one)+f27_TNE*q)/(q+one); + //q = q_dirBNE[k]; if (q>=zero && q<=one) (D27.f[TSW])[ktsw]=(two*feqW27_TSW-(f27_BNE*(q*omegaD-one)-omegaD*feq27_BNE*(q-one))/(omegaD-one)+f27_TSW*q)/(q+one); + //q = q_dirTSW[k]; if (q>=zero && q<=one) (D27.f[BNE])[kbne]=(two*feqW27_BNE-(f27_TSW*(q*omegaD-one)-omegaD*feq27_TSW*(q-one))/(omegaD-one)+f27_BNE*q)/(q+one); + //q = q_dirTSE[k]; if (q>=zero && q<=one) (D27.f[BNW])[kbnw]=(two*feqW27_BNW-(f27_TSE*(q*omegaD-one)-omegaD*feq27_TSE*(q-one))/(omegaD-one)+f27_BNW*q)/(q+one); + //q = q_dirBNW[k]; if (q>=zero && q<=one) (D27.f[TSE])[ktse]=(two*feqW27_TSE-(f27_BNW*(q*omegaD-one)-omegaD*feq27_BNW*(q-one))/(omegaD-one)+f27_TSE*q)/(q+one); + //q = q_dirBSE[k]; if (q>=zero && q<=one) (D27.f[TNW])[ktnw]=(two*feqW27_TNW-(f27_BSE*(q*omegaD-one)-omegaD*feq27_BSE*(q-one))/(omegaD-one)+f27_TNW*q)/(q+one); + //q = q_dirTNW[k]; if (q>=zero && q<=one) (D27.f[BSE])[kbse]=(two*feqW27_BSE-(f27_TNW*(q*omegaD-one)-omegaD*feq27_TNW*(q-one))/(omegaD-one)+f27_BSE*q)/(q+one); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -6746,125 +6746,125 @@ extern "C" __global__ void AD_SlipVelDeviceComp( Distributions27 D; if (isEvenTimestep) { - D.f[dirE ] = &distributions[dirE * size_Mat]; - D.f[dirW ] = &distributions[dirW * size_Mat]; - D.f[dirN ] = &distributions[dirN * size_Mat]; - D.f[dirS ] = &distributions[dirS * size_Mat]; - D.f[dirT ] = &distributions[dirT * size_Mat]; - D.f[dirB ] = &distributions[dirB * size_Mat]; - D.f[dirNE ] = &distributions[dirNE * size_Mat]; - D.f[dirSW ] = &distributions[dirSW * size_Mat]; - D.f[dirSE ] = &distributions[dirSE * size_Mat]; - D.f[dirNW ] = &distributions[dirNW * size_Mat]; - D.f[dirTE ] = &distributions[dirTE * size_Mat]; - D.f[dirBW ] = &distributions[dirBW * size_Mat]; - D.f[dirBE ] = &distributions[dirBE * size_Mat]; - D.f[dirTW ] = &distributions[dirTW * size_Mat]; - D.f[dirTN ] = &distributions[dirTN * size_Mat]; - D.f[dirBS ] = &distributions[dirBS * size_Mat]; - D.f[dirBN ] = &distributions[dirBN * size_Mat]; - D.f[dirTS ] = &distributions[dirTS * size_Mat]; + D.f[E ] = &distributions[E * size_Mat]; + D.f[W ] = &distributions[W * size_Mat]; + D.f[N ] = &distributions[N * size_Mat]; + D.f[S ] = &distributions[S * size_Mat]; + D.f[T ] = &distributions[T * size_Mat]; + D.f[B ] = &distributions[B * size_Mat]; + D.f[NE ] = &distributions[NE * size_Mat]; + D.f[SW ] = &distributions[SW * size_Mat]; + D.f[SE ] = &distributions[SE * size_Mat]; + D.f[NW ] = &distributions[NW * size_Mat]; + D.f[TE ] = &distributions[TE * size_Mat]; + D.f[BW ] = &distributions[BW * size_Mat]; + D.f[BE ] = &distributions[BE * size_Mat]; + D.f[TW ] = &distributions[TW * size_Mat]; + D.f[TN ] = &distributions[TN * size_Mat]; + D.f[BS ] = &distributions[BS * size_Mat]; + D.f[BN ] = &distributions[BN * size_Mat]; + D.f[TS ] = &distributions[TS * size_Mat]; D.f[dirREST] = &distributions[dirREST * size_Mat]; - D.f[dirTNE ] = &distributions[dirTNE * size_Mat]; - D.f[dirTSW ] = &distributions[dirTSW * size_Mat]; - D.f[dirTSE ] = &distributions[dirTSE * size_Mat]; - D.f[dirTNW ] = &distributions[dirTNW * size_Mat]; - D.f[dirBNE ] = &distributions[dirBNE * size_Mat]; - D.f[dirBSW ] = &distributions[dirBSW * size_Mat]; - D.f[dirBSE ] = &distributions[dirBSE * size_Mat]; - D.f[dirBNW ] = &distributions[dirBNW * size_Mat]; + D.f[TNE ] = &distributions[TNE * size_Mat]; + D.f[TSW ] = &distributions[TSW * size_Mat]; + D.f[TSE ] = &distributions[TSE * size_Mat]; + D.f[TNW ] = &distributions[TNW * size_Mat]; + D.f[BNE ] = &distributions[BNE * size_Mat]; + D.f[BSW ] = &distributions[BSW * size_Mat]; + D.f[BSE ] = &distributions[BSE * size_Mat]; + D.f[BNW ] = &distributions[BNW * size_Mat]; } else { - D.f[dirW ] = &distributions[dirE * size_Mat]; - D.f[dirE ] = &distributions[dirW * size_Mat]; - D.f[dirS ] = &distributions[dirN * size_Mat]; - D.f[dirN ] = &distributions[dirS * size_Mat]; - D.f[dirB ] = &distributions[dirT * size_Mat]; - D.f[dirT ] = &distributions[dirB * size_Mat]; - D.f[dirSW ] = &distributions[dirNE * size_Mat]; - D.f[dirNE ] = &distributions[dirSW * size_Mat]; - D.f[dirNW ] = &distributions[dirSE * size_Mat]; - D.f[dirSE ] = &distributions[dirNW * size_Mat]; - D.f[dirBW ] = &distributions[dirTE * size_Mat]; - D.f[dirTE ] = &distributions[dirBW * size_Mat]; - D.f[dirTW ] = &distributions[dirBE * size_Mat]; - D.f[dirBE ] = &distributions[dirTW * size_Mat]; - D.f[dirBS ] = &distributions[dirTN * size_Mat]; - D.f[dirTN ] = &distributions[dirBS * size_Mat]; - D.f[dirTS ] = &distributions[dirBN * size_Mat]; - D.f[dirBN ] = &distributions[dirTS * size_Mat]; + D.f[W ] = &distributions[E * size_Mat]; + D.f[E ] = &distributions[W * size_Mat]; + D.f[S ] = &distributions[N * size_Mat]; + D.f[N ] = &distributions[S * size_Mat]; + D.f[B ] = &distributions[T * size_Mat]; + D.f[T ] = &distributions[B * size_Mat]; + D.f[SW ] = &distributions[NE * size_Mat]; + D.f[NE ] = &distributions[SW * size_Mat]; + D.f[NW ] = &distributions[SE * size_Mat]; + D.f[SE ] = &distributions[NW * size_Mat]; + D.f[BW ] = &distributions[TE * size_Mat]; + D.f[TE ] = &distributions[BW * size_Mat]; + D.f[TW ] = &distributions[BE * size_Mat]; + D.f[BE ] = &distributions[TW * size_Mat]; + D.f[BS ] = &distributions[TN * size_Mat]; + D.f[TN ] = &distributions[BS * size_Mat]; + D.f[TS ] = &distributions[BN * size_Mat]; + D.f[BN ] = &distributions[TS * size_Mat]; D.f[dirREST] = &distributions[dirREST * size_Mat]; - D.f[dirTNE ] = &distributions[dirBSW * size_Mat]; - D.f[dirTSW ] = &distributions[dirBNE * size_Mat]; - D.f[dirTSE ] = &distributions[dirBNW * size_Mat]; - D.f[dirTNW ] = &distributions[dirBSE * size_Mat]; - D.f[dirBNE ] = &distributions[dirTSW * size_Mat]; - D.f[dirBSW ] = &distributions[dirTNE * size_Mat]; - D.f[dirBSE ] = &distributions[dirTNW * size_Mat]; - D.f[dirBNW ] = &distributions[dirTSE * size_Mat]; + D.f[TNE ] = &distributions[BSW * size_Mat]; + D.f[TSW ] = &distributions[BNE * size_Mat]; + D.f[TSE ] = &distributions[BNW * size_Mat]; + D.f[TNW ] = &distributions[BSE * size_Mat]; + D.f[BNE ] = &distributions[TSW * size_Mat]; + D.f[BSW ] = &distributions[TNE * size_Mat]; + D.f[BSE ] = &distributions[TNW * size_Mat]; + D.f[BNW ] = &distributions[TSE * size_Mat]; } //////////////////////////////////////////////////////////////////////////////// Distributions27 DAD; if (isEvenTimestep) { - DAD.f[dirE ] = &distributionsAD[dirE * size_Mat]; - DAD.f[dirW ] = &distributionsAD[dirW * size_Mat]; - DAD.f[dirN ] = &distributionsAD[dirN * size_Mat]; - DAD.f[dirS ] = &distributionsAD[dirS * size_Mat]; - DAD.f[dirT ] = &distributionsAD[dirT * size_Mat]; - DAD.f[dirB ] = &distributionsAD[dirB * size_Mat]; - DAD.f[dirNE ] = &distributionsAD[dirNE * size_Mat]; - DAD.f[dirSW ] = &distributionsAD[dirSW * size_Mat]; - DAD.f[dirSE ] = &distributionsAD[dirSE * size_Mat]; - DAD.f[dirNW ] = &distributionsAD[dirNW * size_Mat]; - DAD.f[dirTE ] = &distributionsAD[dirTE * size_Mat]; - DAD.f[dirBW ] = &distributionsAD[dirBW * size_Mat]; - DAD.f[dirBE ] = &distributionsAD[dirBE * size_Mat]; - DAD.f[dirTW ] = &distributionsAD[dirTW * size_Mat]; - DAD.f[dirTN ] = &distributionsAD[dirTN * size_Mat]; - DAD.f[dirBS ] = &distributionsAD[dirBS * size_Mat]; - DAD.f[dirBN ] = &distributionsAD[dirBN * size_Mat]; - DAD.f[dirTS ] = &distributionsAD[dirTS * size_Mat]; + DAD.f[E ] = &distributionsAD[E * size_Mat]; + DAD.f[W ] = &distributionsAD[W * size_Mat]; + DAD.f[N ] = &distributionsAD[N * size_Mat]; + DAD.f[S ] = &distributionsAD[S * size_Mat]; + DAD.f[T ] = &distributionsAD[T * size_Mat]; + DAD.f[B ] = &distributionsAD[B * size_Mat]; + DAD.f[NE ] = &distributionsAD[NE * size_Mat]; + DAD.f[SW ] = &distributionsAD[SW * size_Mat]; + DAD.f[SE ] = &distributionsAD[SE * size_Mat]; + DAD.f[NW ] = &distributionsAD[NW * size_Mat]; + DAD.f[TE ] = &distributionsAD[TE * size_Mat]; + DAD.f[BW ] = &distributionsAD[BW * size_Mat]; + DAD.f[BE ] = &distributionsAD[BE * size_Mat]; + DAD.f[TW ] = &distributionsAD[TW * size_Mat]; + DAD.f[TN ] = &distributionsAD[TN * size_Mat]; + DAD.f[BS ] = &distributionsAD[BS * size_Mat]; + DAD.f[BN ] = &distributionsAD[BN * size_Mat]; + DAD.f[TS ] = &distributionsAD[TS * size_Mat]; DAD.f[dirREST] = &distributionsAD[dirREST * size_Mat]; - DAD.f[dirTNE ] = &distributionsAD[dirTNE * size_Mat]; - DAD.f[dirTSW ] = &distributionsAD[dirTSW * size_Mat]; - DAD.f[dirTSE ] = &distributionsAD[dirTSE * size_Mat]; - DAD.f[dirTNW ] = &distributionsAD[dirTNW * size_Mat]; - DAD.f[dirBNE ] = &distributionsAD[dirBNE * size_Mat]; - DAD.f[dirBSW ] = &distributionsAD[dirBSW * size_Mat]; - DAD.f[dirBSE ] = &distributionsAD[dirBSE * size_Mat]; - DAD.f[dirBNW ] = &distributionsAD[dirBNW * size_Mat]; + DAD.f[TNE ] = &distributionsAD[TNE * size_Mat]; + DAD.f[TSW ] = &distributionsAD[TSW * size_Mat]; + DAD.f[TSE ] = &distributionsAD[TSE * size_Mat]; + DAD.f[TNW ] = &distributionsAD[TNW * size_Mat]; + DAD.f[BNE ] = &distributionsAD[BNE * size_Mat]; + DAD.f[BSW ] = &distributionsAD[BSW * size_Mat]; + DAD.f[BSE ] = &distributionsAD[BSE * size_Mat]; + DAD.f[BNW ] = &distributionsAD[BNW * size_Mat]; } else { - DAD.f[dirW ] = &distributionsAD[dirE * size_Mat]; - DAD.f[dirE ] = &distributionsAD[dirW * size_Mat]; - DAD.f[dirS ] = &distributionsAD[dirN * size_Mat]; - DAD.f[dirN ] = &distributionsAD[dirS * size_Mat]; - DAD.f[dirB ] = &distributionsAD[dirT * size_Mat]; - DAD.f[dirT ] = &distributionsAD[dirB * size_Mat]; - DAD.f[dirSW ] = &distributionsAD[dirNE * size_Mat]; - DAD.f[dirNE ] = &distributionsAD[dirSW * size_Mat]; - DAD.f[dirNW ] = &distributionsAD[dirSE * size_Mat]; - DAD.f[dirSE ] = &distributionsAD[dirNW * size_Mat]; - DAD.f[dirBW ] = &distributionsAD[dirTE * size_Mat]; - DAD.f[dirTE ] = &distributionsAD[dirBW * size_Mat]; - DAD.f[dirTW ] = &distributionsAD[dirBE * size_Mat]; - DAD.f[dirBE ] = &distributionsAD[dirTW * size_Mat]; - DAD.f[dirBS ] = &distributionsAD[dirTN * size_Mat]; - DAD.f[dirTN ] = &distributionsAD[dirBS * size_Mat]; - DAD.f[dirTS ] = &distributionsAD[dirBN * size_Mat]; - DAD.f[dirBN ] = &distributionsAD[dirTS * size_Mat]; + DAD.f[W ] = &distributionsAD[E * size_Mat]; + DAD.f[E ] = &distributionsAD[W * size_Mat]; + DAD.f[S ] = &distributionsAD[N * size_Mat]; + DAD.f[N ] = &distributionsAD[S * size_Mat]; + DAD.f[B ] = &distributionsAD[T * size_Mat]; + DAD.f[T ] = &distributionsAD[B * size_Mat]; + DAD.f[SW ] = &distributionsAD[NE * size_Mat]; + DAD.f[NE ] = &distributionsAD[SW * size_Mat]; + DAD.f[NW ] = &distributionsAD[SE * size_Mat]; + DAD.f[SE ] = &distributionsAD[NW * size_Mat]; + DAD.f[BW ] = &distributionsAD[TE * size_Mat]; + DAD.f[TE ] = &distributionsAD[BW * size_Mat]; + DAD.f[TW ] = &distributionsAD[BE * size_Mat]; + DAD.f[BE ] = &distributionsAD[TW * size_Mat]; + DAD.f[BS ] = &distributionsAD[TN * size_Mat]; + DAD.f[TN ] = &distributionsAD[BS * size_Mat]; + DAD.f[TS ] = &distributionsAD[BN * size_Mat]; + DAD.f[BN ] = &distributionsAD[TS * size_Mat]; DAD.f[dirREST] = &distributionsAD[dirREST * size_Mat]; - DAD.f[dirTNE ] = &distributionsAD[dirBSW * size_Mat]; - DAD.f[dirTSW ] = &distributionsAD[dirBNE * size_Mat]; - DAD.f[dirTSE ] = &distributionsAD[dirBNW * size_Mat]; - DAD.f[dirTNW ] = &distributionsAD[dirBSE * size_Mat]; - DAD.f[dirBNE ] = &distributionsAD[dirTSW * size_Mat]; - DAD.f[dirBSW ] = &distributionsAD[dirTNE * size_Mat]; - DAD.f[dirBSE ] = &distributionsAD[dirTNW * size_Mat]; - DAD.f[dirBNW ] = &distributionsAD[dirTSE * size_Mat]; + DAD.f[TNE ] = &distributionsAD[BSW * size_Mat]; + DAD.f[TSW ] = &distributionsAD[BNE * size_Mat]; + DAD.f[TSE ] = &distributionsAD[BNW * size_Mat]; + DAD.f[TNW ] = &distributionsAD[BSE * size_Mat]; + DAD.f[BNE ] = &distributionsAD[TSW * size_Mat]; + DAD.f[BSW ] = &distributionsAD[TNE * size_Mat]; + DAD.f[BSE ] = &distributionsAD[TNW * size_Mat]; + DAD.f[BNW ] = &distributionsAD[TSE * size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -6889,32 +6889,32 @@ extern "C" __global__ void AD_SlipVelDeviceComp( * 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 = &Qarrays[dirE * numberOfBCnodes]; - q_dirW = &Qarrays[dirW * numberOfBCnodes]; - q_dirN = &Qarrays[dirN * numberOfBCnodes]; - q_dirS = &Qarrays[dirS * numberOfBCnodes]; - q_dirT = &Qarrays[dirT * numberOfBCnodes]; - q_dirB = &Qarrays[dirB * numberOfBCnodes]; - q_dirNE = &Qarrays[dirNE * numberOfBCnodes]; - q_dirSW = &Qarrays[dirSW * numberOfBCnodes]; - q_dirSE = &Qarrays[dirSE * numberOfBCnodes]; - q_dirNW = &Qarrays[dirNW * numberOfBCnodes]; - q_dirTE = &Qarrays[dirTE * numberOfBCnodes]; - q_dirBW = &Qarrays[dirBW * numberOfBCnodes]; - q_dirBE = &Qarrays[dirBE * numberOfBCnodes]; - q_dirTW = &Qarrays[dirTW * numberOfBCnodes]; - q_dirTN = &Qarrays[dirTN * numberOfBCnodes]; - q_dirBS = &Qarrays[dirBS * numberOfBCnodes]; - q_dirBN = &Qarrays[dirBN * numberOfBCnodes]; - q_dirTS = &Qarrays[dirTS * numberOfBCnodes]; - q_dirTNE = &Qarrays[dirTNE * numberOfBCnodes]; - q_dirTSW = &Qarrays[dirTSW * numberOfBCnodes]; - q_dirTSE = &Qarrays[dirTSE * numberOfBCnodes]; - q_dirTNW = &Qarrays[dirTNW * numberOfBCnodes]; - q_dirBNE = &Qarrays[dirBNE * numberOfBCnodes]; - q_dirBSW = &Qarrays[dirBSW * numberOfBCnodes]; - q_dirBSE = &Qarrays[dirBSE * numberOfBCnodes]; - q_dirBNW = &Qarrays[dirBNW * numberOfBCnodes]; + q_dirE = &Qarrays[E * numberOfBCnodes]; + q_dirW = &Qarrays[W * numberOfBCnodes]; + q_dirN = &Qarrays[N * numberOfBCnodes]; + q_dirS = &Qarrays[S * numberOfBCnodes]; + q_dirT = &Qarrays[T * numberOfBCnodes]; + q_dirB = &Qarrays[B * numberOfBCnodes]; + q_dirNE = &Qarrays[NE * numberOfBCnodes]; + q_dirSW = &Qarrays[SW * numberOfBCnodes]; + q_dirSE = &Qarrays[SE * numberOfBCnodes]; + q_dirNW = &Qarrays[NW * numberOfBCnodes]; + q_dirTE = &Qarrays[TE * numberOfBCnodes]; + q_dirBW = &Qarrays[BW * numberOfBCnodes]; + q_dirBE = &Qarrays[BE * numberOfBCnodes]; + q_dirTW = &Qarrays[TW * numberOfBCnodes]; + q_dirTN = &Qarrays[TN * numberOfBCnodes]; + q_dirBS = &Qarrays[BS * numberOfBCnodes]; + q_dirBN = &Qarrays[BN * numberOfBCnodes]; + q_dirTS = &Qarrays[TS * numberOfBCnodes]; + q_dirTNE = &Qarrays[TNE * numberOfBCnodes]; + q_dirTSW = &Qarrays[TSW * numberOfBCnodes]; + q_dirTSE = &Qarrays[TSE * numberOfBCnodes]; + q_dirTNW = &Qarrays[TNW * numberOfBCnodes]; + q_dirBNE = &Qarrays[BNE * numberOfBCnodes]; + q_dirBSW = &Qarrays[BSW * numberOfBCnodes]; + q_dirBSE = &Qarrays[BSE * numberOfBCnodes]; + q_dirBNW = &Qarrays[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = QindexArray[k]; @@ -6949,32 +6949,32 @@ extern "C" __global__ void AD_SlipVelDeviceComp( 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[dirE])[ke]; - f_E = (D.f[dirW])[kw]; - f_S = (D.f[dirN])[kn]; - f_N = (D.f[dirS])[ks]; - f_B = (D.f[dirT])[kt]; - f_T = (D.f[dirB])[kb]; - f_SW = (D.f[dirNE])[kne]; - f_NE = (D.f[dirSW])[ksw]; - f_NW = (D.f[dirSE])[kse]; - f_SE = (D.f[dirNW])[knw]; - f_BW = (D.f[dirTE])[kte]; - f_TE = (D.f[dirBW])[kbw]; - f_TW = (D.f[dirBE])[kbe]; - f_BE = (D.f[dirTW])[ktw]; - f_BS = (D.f[dirTN])[ktn]; - f_TN = (D.f[dirBS])[kbs]; - f_TS = (D.f[dirBN])[kbn]; - f_BN = (D.f[dirTS])[kts]; - f_BSW = (D.f[dirTNE])[ktne]; - f_BNE = (D.f[dirTSW])[ktsw]; - f_BNW = (D.f[dirTSE])[ktse]; - f_BSE = (D.f[dirTNW])[ktnw]; - f_TSW = (D.f[dirBNE])[kbne]; - f_TNE = (D.f[dirBSW])[kbsw]; - f_TNW = (D.f[dirBSE])[kbse]; - f_TSE = (D.f[dirBNW])[kbnw]; + f_W = (D.f[E])[ke]; + f_E = (D.f[W])[kw]; + f_S = (D.f[N])[kn]; + f_N = (D.f[S])[ks]; + f_B = (D.f[T])[kt]; + f_T = (D.f[B])[kb]; + f_SW = (D.f[NE])[kne]; + f_NE = (D.f[SW])[ksw]; + f_NW = (D.f[SE])[kse]; + f_SE = (D.f[NW])[knw]; + f_BW = (D.f[TE])[kte]; + f_TE = (D.f[BW])[kbw]; + f_TW = (D.f[BE])[kbe]; + f_BE = (D.f[TW])[ktw]; + f_BS = (D.f[TN])[ktn]; + f_TN = (D.f[BS])[kbs]; + f_TS = (D.f[BN])[kbn]; + f_BN = (D.f[TS])[kts]; + f_BSW = (D.f[TNE])[ktne]; + f_BNE = (D.f[TSW])[ktsw]; + f_BNW = (D.f[TSE])[ktse]; + f_BSE = (D.f[TNW])[ktnw]; + f_TSW = (D.f[BNE])[kbne]; + f_TNE = (D.f[BSW])[kbsw]; + f_TNW = (D.f[BSE])[kbse]; + f_TSE = (D.f[BNW])[kbnw]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -6997,92 +6997,92 @@ extern "C" __global__ void AD_SlipVelDeviceComp( real cu_sq = c3o2 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3) * (c1o1 + drho); //////////////////////////////////////////////////////////////////////////////// - f_W = (DAD.f[dirE])[ke]; - f_E = (DAD.f[dirW])[kw]; - f_S = (DAD.f[dirN])[kn]; - f_N = (DAD.f[dirS])[ks]; - f_B = (DAD.f[dirT])[kt]; - f_T = (DAD.f[dirB])[kb]; - f_SW = (DAD.f[dirNE])[kne]; - f_NE = (DAD.f[dirSW])[ksw]; - f_NW = (DAD.f[dirSE])[kse]; - f_SE = (DAD.f[dirNW])[knw]; - f_BW = (DAD.f[dirTE])[kte]; - f_TE = (DAD.f[dirBW])[kbw]; - f_TW = (DAD.f[dirBE])[kbe]; - f_BE = (DAD.f[dirTW])[ktw]; - f_BS = (DAD.f[dirTN])[ktn]; - f_TN = (DAD.f[dirBS])[kbs]; - f_TS = (DAD.f[dirBN])[kbn]; - f_BN = (DAD.f[dirTS])[kts]; - f_BSW = (DAD.f[dirTNE])[ktne]; - f_BNE = (DAD.f[dirTSW])[ktsw]; - f_BNW = (DAD.f[dirTSE])[ktse]; - f_BSE = (DAD.f[dirTNW])[ktnw]; - f_TSW = (DAD.f[dirBNE])[kbne]; - f_TNE = (DAD.f[dirBSW])[kbsw]; - f_TNW = (DAD.f[dirBSE])[kbse]; - f_TSE = (DAD.f[dirBNW])[kbnw]; + f_W = (DAD.f[E])[ke]; + f_E = (DAD.f[W])[kw]; + f_S = (DAD.f[N])[kn]; + f_N = (DAD.f[S])[ks]; + f_B = (DAD.f[T])[kt]; + f_T = (DAD.f[B])[kb]; + f_SW = (DAD.f[NE])[kne]; + f_NE = (DAD.f[SW])[ksw]; + f_NW = (DAD.f[SE])[kse]; + f_SE = (DAD.f[NW])[knw]; + f_BW = (DAD.f[TE])[kte]; + f_TE = (DAD.f[BW])[kbw]; + f_TW = (DAD.f[BE])[kbe]; + f_BE = (DAD.f[TW])[ktw]; + f_BS = (DAD.f[TN])[ktn]; + f_TN = (DAD.f[BS])[kbs]; + f_TS = (DAD.f[BN])[kbn]; + f_BN = (DAD.f[TS])[kts]; + f_BSW = (DAD.f[TNE])[ktne]; + f_BNE = (DAD.f[TSW])[ktsw]; + f_BNW = (DAD.f[TSE])[ktse]; + f_BSE = (DAD.f[TNW])[ktnw]; + f_TSW = (DAD.f[BNE])[kbne]; + f_TNE = (DAD.f[BSW])[kbsw]; + f_TNW = (DAD.f[BSE])[kbse]; + f_TSE = (DAD.f[BNW])[kbnw]; ////////////////////////////////////////////////////////////////////////// if (!isEvenTimestep) { - DAD.f[dirE ] = &distributionsAD[dirE * size_Mat]; - DAD.f[dirW ] = &distributionsAD[dirW * size_Mat]; - DAD.f[dirN ] = &distributionsAD[dirN * size_Mat]; - DAD.f[dirS ] = &distributionsAD[dirS * size_Mat]; - DAD.f[dirT ] = &distributionsAD[dirT * size_Mat]; - DAD.f[dirB ] = &distributionsAD[dirB * size_Mat]; - DAD.f[dirNE ] = &distributionsAD[dirNE * size_Mat]; - DAD.f[dirSW ] = &distributionsAD[dirSW * size_Mat]; - DAD.f[dirSE ] = &distributionsAD[dirSE * size_Mat]; - DAD.f[dirNW ] = &distributionsAD[dirNW * size_Mat]; - DAD.f[dirTE ] = &distributionsAD[dirTE * size_Mat]; - DAD.f[dirBW ] = &distributionsAD[dirBW * size_Mat]; - DAD.f[dirBE ] = &distributionsAD[dirBE * size_Mat]; - DAD.f[dirTW ] = &distributionsAD[dirTW * size_Mat]; - DAD.f[dirTN ] = &distributionsAD[dirTN * size_Mat]; - DAD.f[dirBS ] = &distributionsAD[dirBS * size_Mat]; - DAD.f[dirBN ] = &distributionsAD[dirBN * size_Mat]; - DAD.f[dirTS ] = &distributionsAD[dirTS * size_Mat]; + DAD.f[E ] = &distributionsAD[E * size_Mat]; + DAD.f[W ] = &distributionsAD[W * size_Mat]; + DAD.f[N ] = &distributionsAD[N * size_Mat]; + DAD.f[S ] = &distributionsAD[S * size_Mat]; + DAD.f[T ] = &distributionsAD[T * size_Mat]; + DAD.f[B ] = &distributionsAD[B * size_Mat]; + DAD.f[NE ] = &distributionsAD[NE * size_Mat]; + DAD.f[SW ] = &distributionsAD[SW * size_Mat]; + DAD.f[SE ] = &distributionsAD[SE * size_Mat]; + DAD.f[NW ] = &distributionsAD[NW * size_Mat]; + DAD.f[TE ] = &distributionsAD[TE * size_Mat]; + DAD.f[BW ] = &distributionsAD[BW * size_Mat]; + DAD.f[BE ] = &distributionsAD[BE * size_Mat]; + DAD.f[TW ] = &distributionsAD[TW * size_Mat]; + DAD.f[TN ] = &distributionsAD[TN * size_Mat]; + DAD.f[BS ] = &distributionsAD[BS * size_Mat]; + DAD.f[BN ] = &distributionsAD[BN * size_Mat]; + DAD.f[TS ] = &distributionsAD[TS * size_Mat]; DAD.f[dirREST] = &distributionsAD[dirREST * size_Mat]; - DAD.f[dirTNE ] = &distributionsAD[dirTNE * size_Mat]; - DAD.f[dirTSW ] = &distributionsAD[dirTSW * size_Mat]; - DAD.f[dirTSE ] = &distributionsAD[dirTSE * size_Mat]; - DAD.f[dirTNW ] = &distributionsAD[dirTNW * size_Mat]; - DAD.f[dirBNE ] = &distributionsAD[dirBNE * size_Mat]; - DAD.f[dirBSW ] = &distributionsAD[dirBSW * size_Mat]; - DAD.f[dirBSE ] = &distributionsAD[dirBSE * size_Mat]; - DAD.f[dirBNW ] = &distributionsAD[dirBNW * size_Mat]; + DAD.f[TNE ] = &distributionsAD[TNE * size_Mat]; + DAD.f[TSW ] = &distributionsAD[TSW * size_Mat]; + DAD.f[TSE ] = &distributionsAD[TSE * size_Mat]; + DAD.f[TNW ] = &distributionsAD[TNW * size_Mat]; + DAD.f[BNE ] = &distributionsAD[BNE * size_Mat]; + DAD.f[BSW ] = &distributionsAD[BSW * size_Mat]; + DAD.f[BSE ] = &distributionsAD[BSE * size_Mat]; + DAD.f[BNW ] = &distributionsAD[BNW * size_Mat]; } else { - DAD.f[dirW ] = &distributionsAD[dirE * size_Mat]; - DAD.f[dirE ] = &distributionsAD[dirW * size_Mat]; - DAD.f[dirS ] = &distributionsAD[dirN * size_Mat]; - DAD.f[dirN ] = &distributionsAD[dirS * size_Mat]; - DAD.f[dirB ] = &distributionsAD[dirT * size_Mat]; - DAD.f[dirT ] = &distributionsAD[dirB * size_Mat]; - DAD.f[dirSW ] = &distributionsAD[dirNE * size_Mat]; - DAD.f[dirNE ] = &distributionsAD[dirSW * size_Mat]; - DAD.f[dirNW ] = &distributionsAD[dirSE * size_Mat]; - DAD.f[dirSE ] = &distributionsAD[dirNW * size_Mat]; - DAD.f[dirBW ] = &distributionsAD[dirTE * size_Mat]; - DAD.f[dirTE ] = &distributionsAD[dirBW * size_Mat]; - DAD.f[dirTW ] = &distributionsAD[dirBE * size_Mat]; - DAD.f[dirBE ] = &distributionsAD[dirTW * size_Mat]; - DAD.f[dirBS ] = &distributionsAD[dirTN * size_Mat]; - DAD.f[dirTN ] = &distributionsAD[dirBS * size_Mat]; - DAD.f[dirTS ] = &distributionsAD[dirBN * size_Mat]; - DAD.f[dirBN ] = &distributionsAD[dirTS * size_Mat]; + DAD.f[W ] = &distributionsAD[E * size_Mat]; + DAD.f[E ] = &distributionsAD[W * size_Mat]; + DAD.f[S ] = &distributionsAD[N * size_Mat]; + DAD.f[N ] = &distributionsAD[S * size_Mat]; + DAD.f[B ] = &distributionsAD[T * size_Mat]; + DAD.f[T ] = &distributionsAD[B * size_Mat]; + DAD.f[SW ] = &distributionsAD[NE * size_Mat]; + DAD.f[NE ] = &distributionsAD[SW * size_Mat]; + DAD.f[NW ] = &distributionsAD[SE * size_Mat]; + DAD.f[SE ] = &distributionsAD[NW * size_Mat]; + DAD.f[BW ] = &distributionsAD[TE * size_Mat]; + DAD.f[TE ] = &distributionsAD[BW * size_Mat]; + DAD.f[TW ] = &distributionsAD[BE * size_Mat]; + DAD.f[BE ] = &distributionsAD[TW * size_Mat]; + DAD.f[BS ] = &distributionsAD[TN * size_Mat]; + DAD.f[TN ] = &distributionsAD[BS * size_Mat]; + DAD.f[TS ] = &distributionsAD[BN * size_Mat]; + DAD.f[BN ] = &distributionsAD[TS * size_Mat]; DAD.f[dirREST] = &distributionsAD[dirREST * size_Mat]; - DAD.f[dirTNE ] = &distributionsAD[dirBSW * size_Mat]; - DAD.f[dirTSW ] = &distributionsAD[dirBNE * size_Mat]; - DAD.f[dirTSE ] = &distributionsAD[dirBNW * size_Mat]; - DAD.f[dirTNW ] = &distributionsAD[dirBSE * size_Mat]; - DAD.f[dirBNE ] = &distributionsAD[dirTSW * size_Mat]; - DAD.f[dirBSW ] = &distributionsAD[dirTNE * size_Mat]; - DAD.f[dirBSE ] = &distributionsAD[dirTNW * size_Mat]; - DAD.f[dirBNW ] = &distributionsAD[dirTSE * size_Mat]; + DAD.f[TNE ] = &distributionsAD[BSW * size_Mat]; + DAD.f[TSW ] = &distributionsAD[BNE * size_Mat]; + DAD.f[TSE ] = &distributionsAD[BNW * size_Mat]; + DAD.f[TNW ] = &distributionsAD[BSE * size_Mat]; + DAD.f[BNE ] = &distributionsAD[TSW * size_Mat]; + DAD.f[BSW ] = &distributionsAD[TNE * size_Mat]; + DAD.f[BSE ] = &distributionsAD[TNW * size_Mat]; + DAD.f[BNW ] = &distributionsAD[TSE * size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real concentration = @@ -7116,32 +7116,32 @@ extern "C" __global__ void AD_SlipVelDeviceComp( real jTan3 = jx3 - NormJ * NormZ; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - q = q_dirE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirW ])[kw ] = calcDistributionBC_AD(q, c2o27, vx1, cu_sq, f_E, f_W, omegaDiffusivity, jTan1, concentration); } - q = q_dirW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirE ])[ke ] = calcDistributionBC_AD(q, c2o27, -vx1, cu_sq, f_W, f_E, omegaDiffusivity, -jTan1, concentration); } - q = q_dirN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirS ])[ks ] = calcDistributionBC_AD(q, c2o27, vx2, cu_sq, f_N, f_S, omegaDiffusivity, jTan2, concentration); } - q = q_dirS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirN ])[kn ] = calcDistributionBC_AD(q, c2o27, -vx2, cu_sq, f_S, f_N, omegaDiffusivity, -jTan2, concentration); } - q = q_dirT[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirB ])[kb ] = calcDistributionBC_AD(q, c2o27, vx3, cu_sq, f_T, f_B, omegaDiffusivity, jTan3, concentration); } - q = q_dirB[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirT ])[kt ] = calcDistributionBC_AD(q, c2o27, -vx3, cu_sq, f_B, f_T, omegaDiffusivity, -jTan3, concentration); } - q = q_dirNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirSW ])[ksw ] = calcDistributionBC_AD(q, c1o54, vx1+vx2, cu_sq, f_NE, f_SW, omegaDiffusivity, jTan1+jTan2, concentration); } - q = q_dirSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirNE ])[kne ] = calcDistributionBC_AD(q, c1o54, -vx1-vx2, cu_sq, f_SW, f_NE, omegaDiffusivity, -jTan1-jTan2, concentration); } - q = q_dirSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirNW ])[knw ] = calcDistributionBC_AD(q, c1o54, vx1-vx2, cu_sq, f_SE, f_NW, omegaDiffusivity, jTan1-jTan2, concentration); } - q = q_dirNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirSE ])[kse ] = calcDistributionBC_AD(q, c1o54, -vx1+vx2, cu_sq, f_NW, f_SE, omegaDiffusivity, -jTan1+jTan2, concentration); } - q = q_dirTE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBW ])[kbw ] = calcDistributionBC_AD(q, c1o54, vx1 +vx3, cu_sq, f_TE, f_BW, omegaDiffusivity, jTan1 +jTan3, concentration); } - q = q_dirBW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTE ])[kte ] = calcDistributionBC_AD(q, c1o54, -vx1 -vx3, cu_sq, f_BW, f_TE, omegaDiffusivity, -jTan1 -jTan3, concentration); } - q = q_dirBE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTW ])[ktw ] = calcDistributionBC_AD(q, c1o54, vx1 -vx3, cu_sq, f_BE, f_TW, omegaDiffusivity, jTan1 -jTan3, concentration); } - q = q_dirTW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBE ])[kbe ] = calcDistributionBC_AD(q, c1o54, -vx1 +vx3, cu_sq, f_TW, f_BE, omegaDiffusivity, -jTan1 +jTan3, concentration); } - q = q_dirTN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBS ])[kbs ] = calcDistributionBC_AD(q, c1o54, vx2+vx3, cu_sq, f_TN, f_BS, omegaDiffusivity, jTan2+jTan3, concentration); } - q = q_dirBS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTN ])[ktn ] = calcDistributionBC_AD(q, c1o54, -vx2-vx3, cu_sq, f_BS, f_TN, omegaDiffusivity, -jTan2-jTan3, concentration); } - q = q_dirBN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTS ])[kts ] = calcDistributionBC_AD(q, c1o54, vx2-vx3, cu_sq, f_BN, f_TS, omegaDiffusivity, jTan2-jTan3, concentration); } - q = q_dirTS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBN ])[kbn ] = calcDistributionBC_AD(q, c1o54, -vx2+vx3, cu_sq, f_TS, f_BN, omegaDiffusivity, -jTan2+jTan3, concentration); } - q = q_dirTNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBSW])[kbsw] = calcDistributionBC_AD(q, c1o216, vx1+vx2+vx3, cu_sq, f_TNE, f_BSW, omegaDiffusivity, jTan1+jTan2+jTan3, concentration); } - q = q_dirBSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTNE])[ktne] = calcDistributionBC_AD(q, c1o216, -vx1-vx2-vx3, cu_sq, f_BSW, f_TNE, omegaDiffusivity, -jTan1-jTan2-jTan3, concentration); } - q = q_dirBNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTSW])[ktsw] = calcDistributionBC_AD(q, c1o216, vx1+vx2-vx3, cu_sq, f_BNE, f_TSW, omegaDiffusivity, jTan1+jTan2-jTan3, concentration); } - q = q_dirTSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBNE])[kbne] = calcDistributionBC_AD(q, c1o216, -vx1-vx2+vx3, cu_sq, f_TSW, f_BNE, omegaDiffusivity, -jTan1-jTan2+jTan3, concentration); } - q = q_dirTSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBNW])[kbnw] = calcDistributionBC_AD(q, c1o216, vx1-vx2+vx3, cu_sq, f_TSE, f_BNW, omegaDiffusivity, jTan1-jTan2+jTan3, concentration); } - q = q_dirBNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTSE])[ktse] = calcDistributionBC_AD(q, c1o216, -vx1+vx2-vx3, cu_sq, f_BNW, f_TSE, omegaDiffusivity, -jTan1+jTan2-jTan3, concentration); } - q = q_dirBSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirTNW])[ktnw] = calcDistributionBC_AD(q, c1o216, vx1-vx2-vx3, cu_sq, f_BSE, f_TNW, omegaDiffusivity, jTan1-jTan2-jTan3, concentration); } - q = q_dirTNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[dirBSE])[kbse] = calcDistributionBC_AD(q, c1o216, -vx1+vx2+vx3, cu_sq, f_TNW, f_BSE, omegaDiffusivity, -jTan1+jTan2+jTan3, concentration); } + q = q_dirE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[W ])[kw ] = calcDistributionBC_AD(q, c2o27, vx1, cu_sq, f_E, f_W, omegaDiffusivity, jTan1, concentration); } + q = q_dirW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[E ])[ke ] = calcDistributionBC_AD(q, c2o27, -vx1, cu_sq, f_W, f_E, omegaDiffusivity, -jTan1, concentration); } + q = q_dirN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[S ])[ks ] = calcDistributionBC_AD(q, c2o27, vx2, cu_sq, f_N, f_S, omegaDiffusivity, jTan2, concentration); } + q = q_dirS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[N ])[kn ] = calcDistributionBC_AD(q, c2o27, -vx2, cu_sq, f_S, f_N, omegaDiffusivity, -jTan2, concentration); } + q = q_dirT[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[B ])[kb ] = calcDistributionBC_AD(q, c2o27, vx3, cu_sq, f_T, f_B, omegaDiffusivity, jTan3, concentration); } + q = q_dirB[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[T ])[kt ] = calcDistributionBC_AD(q, c2o27, -vx3, cu_sq, f_B, f_T, omegaDiffusivity, -jTan3, concentration); } + q = q_dirNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[SW ])[ksw ] = calcDistributionBC_AD(q, c1o54, vx1+vx2, cu_sq, f_NE, f_SW, omegaDiffusivity, jTan1+jTan2, concentration); } + q = q_dirSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[NE ])[kne ] = calcDistributionBC_AD(q, c1o54, -vx1-vx2, cu_sq, f_SW, f_NE, omegaDiffusivity, -jTan1-jTan2, concentration); } + q = q_dirSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[NW ])[knw ] = calcDistributionBC_AD(q, c1o54, vx1-vx2, cu_sq, f_SE, f_NW, omegaDiffusivity, jTan1-jTan2, concentration); } + q = q_dirNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[SE ])[kse ] = calcDistributionBC_AD(q, c1o54, -vx1+vx2, cu_sq, f_NW, f_SE, omegaDiffusivity, -jTan1+jTan2, concentration); } + q = q_dirTE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BW ])[kbw ] = calcDistributionBC_AD(q, c1o54, vx1 +vx3, cu_sq, f_TE, f_BW, omegaDiffusivity, jTan1 +jTan3, concentration); } + q = q_dirBW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TE ])[kte ] = calcDistributionBC_AD(q, c1o54, -vx1 -vx3, cu_sq, f_BW, f_TE, omegaDiffusivity, -jTan1 -jTan3, concentration); } + q = q_dirBE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TW ])[ktw ] = calcDistributionBC_AD(q, c1o54, vx1 -vx3, cu_sq, f_BE, f_TW, omegaDiffusivity, jTan1 -jTan3, concentration); } + q = q_dirTW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BE ])[kbe ] = calcDistributionBC_AD(q, c1o54, -vx1 +vx3, cu_sq, f_TW, f_BE, omegaDiffusivity, -jTan1 +jTan3, concentration); } + q = q_dirTN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BS ])[kbs ] = calcDistributionBC_AD(q, c1o54, vx2+vx3, cu_sq, f_TN, f_BS, omegaDiffusivity, jTan2+jTan3, concentration); } + q = q_dirBS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TN ])[ktn ] = calcDistributionBC_AD(q, c1o54, -vx2-vx3, cu_sq, f_BS, f_TN, omegaDiffusivity, -jTan2-jTan3, concentration); } + q = q_dirBN[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TS ])[kts ] = calcDistributionBC_AD(q, c1o54, vx2-vx3, cu_sq, f_BN, f_TS, omegaDiffusivity, jTan2-jTan3, concentration); } + q = q_dirTS[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BN ])[kbn ] = calcDistributionBC_AD(q, c1o54, -vx2+vx3, cu_sq, f_TS, f_BN, omegaDiffusivity, -jTan2+jTan3, concentration); } + q = q_dirTNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BSW])[kbsw] = calcDistributionBC_AD(q, c1o216, vx1+vx2+vx3, cu_sq, f_TNE, f_BSW, omegaDiffusivity, jTan1+jTan2+jTan3, concentration); } + q = q_dirBSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TNE])[ktne] = calcDistributionBC_AD(q, c1o216, -vx1-vx2-vx3, cu_sq, f_BSW, f_TNE, omegaDiffusivity, -jTan1-jTan2-jTan3, concentration); } + q = q_dirBNE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TSW])[ktsw] = calcDistributionBC_AD(q, c1o216, vx1+vx2-vx3, cu_sq, f_BNE, f_TSW, omegaDiffusivity, jTan1+jTan2-jTan3, concentration); } + q = q_dirTSW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BNE])[kbne] = calcDistributionBC_AD(q, c1o216, -vx1-vx2+vx3, cu_sq, f_TSW, f_BNE, omegaDiffusivity, -jTan1-jTan2+jTan3, concentration); } + q = q_dirTSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BNW])[kbnw] = calcDistributionBC_AD(q, c1o216, vx1-vx2+vx3, cu_sq, f_TSE, f_BNW, omegaDiffusivity, jTan1-jTan2+jTan3, concentration); } + q = q_dirBNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TSE])[ktse] = calcDistributionBC_AD(q, c1o216, -vx1+vx2-vx3, cu_sq, f_BNW, f_TSE, omegaDiffusivity, -jTan1+jTan2-jTan3, concentration); } + q = q_dirBSE[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[TNW])[ktnw] = calcDistributionBC_AD(q, c1o216, vx1-vx2-vx3, cu_sq, f_BSE, f_TNW, omegaDiffusivity, jTan1-jTan2-jTan3, concentration); } + q = q_dirTNW[k]; if (q >= c0o1 && q <= c1o1) { (DAD.f[BSE])[kbse] = calcDistributionBC_AD(q, c1o216, -vx1+vx2+vx3, cu_sq, f_TNW, f_BSE, omegaDiffusivity, -jTan1+jTan2+jTan3, concentration); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/CP27.cu b/src/gpu/VirtualFluids_GPU/GPU/CP27.cu index 2cceb3401..32b2df908 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CP27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/CP27.cu @@ -19,63 +19,63 @@ extern "C" __global__ void CalcCP27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -123,20 +123,20 @@ extern "C" __global__ void CalcCP27(real* DD, //////////////////////////////////////////////////////////////////////////////// double PressCP; - PressCP = (D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ + PressCP = (D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ (D.f[dirREST])[kzero]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]; + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// cpPress[k] = PressCP; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu b/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu index 5dc47af0f..a769af512 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Calc2ndMoments27.cu @@ -23,63 +23,63 @@ extern "C" __global__ void LBCalc2ndMomentsIncompSP27( real* kxyFromfcNEQ, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -125,33 +125,33 @@ extern "C" __global__ void LBCalc2ndMomentsIncompSP27( real* kxyFromfcNEQ, 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_ZERO,*/f_TNE, f_TSW, f_TSE, f_TNW, f_BNE, f_BSW, f_BSE, f_BNW; - f_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; //f_ZERO = (D.f[dirREST])[kzero]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3; kxyFromfcNEQ[k] = c0o1; @@ -222,63 +222,63 @@ extern "C" __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -325,33 +325,33 @@ extern "C" __global__ void LBCalc2ndMomentsCompSP27(real* kxyFromfcNEQ, ////////////////////////////////////////////////////////////////////////// real f_ZERO; 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; f_ZERO = (D.f[dirREST])[kzero]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// real drho; real vx1, vx2, vx3, rho; @@ -448,63 +448,63 @@ extern "C" __global__ void LBCalc3rdMomentsIncompSP27( real* CUMbbb, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -517,33 +517,33 @@ extern "C" __global__ void LBCalc3rdMomentsIncompSP27( real* CUMbbb, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + @@ -882,63 +882,63 @@ extern "C" __global__ void LBCalc3rdMomentsCompSP27(real* CUMbbb, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -951,33 +951,33 @@ extern "C" __global__ void LBCalc3rdMomentsCompSP27(real* CUMbbb, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -1323,63 +1323,63 @@ extern "C" __global__ void LBCalcHigherMomentsIncompSP27( real* CUMcbb, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -1392,33 +1392,33 @@ extern "C" __global__ void LBCalcHigherMomentsIncompSP27( real* CUMcbb, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real vvx =((((mfccc-mfaaa) + (mfcac-mfaca)) + ((mfcaa-mfacc) + (mfcca-mfaac))) + (((mfcba-mfabc) + (mfcbc-mfaba)) + ((mfcab-mfacb) + (mfccb-mfaab))) + @@ -1777,63 +1777,63 @@ extern "C" __global__ void LBCalcHigherMomentsCompSP27( real* CUMcbb, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -1846,33 +1846,33 @@ extern "C" __global__ void LBCalcHigherMomentsCompSP27( real* CUMcbb, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + diff --git a/src/gpu/VirtualFluids_GPU/GPU/CalcConc27.cu b/src/gpu/VirtualFluids_GPU/GPU/CalcConc27.cu index 81ecbf8f4..1f3b2443c 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CalcConc27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/CalcConc27.cu @@ -75,63 +75,63 @@ extern "C" __global__ void CalcConc27( Distributions27 distAD; if (isEvenTimestep) { - distAD.f[dirE ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirW ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[E ] = &distributionsAD[E *size_Mat]; + distAD.f[W ] = &distributionsAD[W *size_Mat]; + distAD.f[N ] = &distributionsAD[N *size_Mat]; + distAD.f[S ] = &distributionsAD[S *size_Mat]; + distAD.f[T ] = &distributionsAD[T *size_Mat]; + distAD.f[B ] = &distributionsAD[B *size_Mat]; + distAD.f[NE ] = &distributionsAD[NE *size_Mat]; + distAD.f[SW ] = &distributionsAD[SW *size_Mat]; + distAD.f[SE ] = &distributionsAD[SE *size_Mat]; + distAD.f[NW ] = &distributionsAD[NW *size_Mat]; + distAD.f[TE ] = &distributionsAD[TE *size_Mat]; + distAD.f[BW ] = &distributionsAD[BW *size_Mat]; + distAD.f[BE ] = &distributionsAD[BE *size_Mat]; + distAD.f[TW ] = &distributionsAD[TW *size_Mat]; + distAD.f[TN ] = &distributionsAD[TN *size_Mat]; + distAD.f[BS ] = &distributionsAD[BS *size_Mat]; + distAD.f[BN ] = &distributionsAD[BN *size_Mat]; + distAD.f[TS ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirTSE *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirBNW *size_Mat]; + distAD.f[TNE ] = &distributionsAD[TNE *size_Mat]; + distAD.f[TSW ] = &distributionsAD[TSW *size_Mat]; + distAD.f[TSE ] = &distributionsAD[TSE *size_Mat]; + distAD.f[TNW ] = &distributionsAD[TNW *size_Mat]; + distAD.f[BNE ] = &distributionsAD[BNE *size_Mat]; + distAD.f[BSW ] = &distributionsAD[BSW *size_Mat]; + distAD.f[BSE ] = &distributionsAD[BSE *size_Mat]; + distAD.f[BNW ] = &distributionsAD[BNW *size_Mat]; } else { - distAD.f[dirW ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirE ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[W ] = &distributionsAD[E *size_Mat]; + distAD.f[E ] = &distributionsAD[W *size_Mat]; + distAD.f[S ] = &distributionsAD[N *size_Mat]; + distAD.f[N ] = &distributionsAD[S *size_Mat]; + distAD.f[B ] = &distributionsAD[T *size_Mat]; + distAD.f[T ] = &distributionsAD[B *size_Mat]; + distAD.f[SW ] = &distributionsAD[NE *size_Mat]; + distAD.f[NE ] = &distributionsAD[SW *size_Mat]; + distAD.f[NW ] = &distributionsAD[SE *size_Mat]; + distAD.f[SE ] = &distributionsAD[NW *size_Mat]; + distAD.f[BW ] = &distributionsAD[TE *size_Mat]; + distAD.f[TE ] = &distributionsAD[BW *size_Mat]; + distAD.f[TW ] = &distributionsAD[BE *size_Mat]; + distAD.f[BE ] = &distributionsAD[TW *size_Mat]; + distAD.f[BS ] = &distributionsAD[TN *size_Mat]; + distAD.f[TN ] = &distributionsAD[BS *size_Mat]; + distAD.f[TS ] = &distributionsAD[BN *size_Mat]; + distAD.f[BN ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirBNW *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirTSE *size_Mat]; + distAD.f[TNE ] = &distributionsAD[BSW *size_Mat]; + distAD.f[TSW ] = &distributionsAD[BNE *size_Mat]; + distAD.f[TSE ] = &distributionsAD[BNW *size_Mat]; + distAD.f[TNW ] = &distributionsAD[BSE *size_Mat]; + distAD.f[BNE ] = &distributionsAD[TSW *size_Mat]; + distAD.f[BSW ] = &distributionsAD[TNE *size_Mat]; + distAD.f[BSE ] = &distributionsAD[TNW *size_Mat]; + distAD.f[BNW ] = &distributionsAD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) @@ -165,33 +165,33 @@ extern "C" __global__ void CalcConc27( //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real mfcbb = (distAD.f[dirE ])[ke ]; - real mfabb = (distAD.f[dirW ])[kw ]; - real mfbcb = (distAD.f[dirN ])[kn ]; - real mfbab = (distAD.f[dirS ])[ks ]; - real mfbbc = (distAD.f[dirT ])[kt ]; - real mfbba = (distAD.f[dirB ])[kb ]; - real mfccb = (distAD.f[dirNE ])[kne ]; - real mfaab = (distAD.f[dirSW ])[ksw ]; - real mfcab = (distAD.f[dirSE ])[kse ]; - real mfacb = (distAD.f[dirNW ])[knw ]; - real mfcbc = (distAD.f[dirTE ])[kte ]; - real mfaba = (distAD.f[dirBW ])[kbw ]; - real mfcba = (distAD.f[dirBE ])[kbe ]; - real mfabc = (distAD.f[dirTW ])[ktw ]; - real mfbcc = (distAD.f[dirTN ])[ktn ]; - real mfbaa = (distAD.f[dirBS ])[kbs ]; - real mfbca = (distAD.f[dirBN ])[kbn ]; - real mfbac = (distAD.f[dirTS ])[kts ]; + real mfcbb = (distAD.f[E ])[ke ]; + real mfabb = (distAD.f[W ])[kw ]; + real mfbcb = (distAD.f[N ])[kn ]; + real mfbab = (distAD.f[S ])[ks ]; + real mfbbc = (distAD.f[T ])[kt ]; + real mfbba = (distAD.f[B ])[kb ]; + real mfccb = (distAD.f[NE ])[kne ]; + real mfaab = (distAD.f[SW ])[ksw ]; + real mfcab = (distAD.f[SE ])[kse ]; + real mfacb = (distAD.f[NW ])[knw ]; + real mfcbc = (distAD.f[TE ])[kte ]; + real mfaba = (distAD.f[BW ])[kbw ]; + real mfcba = (distAD.f[BE ])[kbe ]; + real mfabc = (distAD.f[TW ])[ktw ]; + real mfbcc = (distAD.f[TN ])[ktn ]; + real mfbaa = (distAD.f[BS ])[kbs ]; + real mfbca = (distAD.f[BN ])[kbn ]; + real mfbac = (distAD.f[TS ])[kts ]; real mfbbb = (distAD.f[dirREST])[k ]; - real mfccc = (distAD.f[dirTNE ])[ktne]; - real mfaac = (distAD.f[dirTSW ])[ktsw]; - real mfcac = (distAD.f[dirTSE ])[ktse]; - real mfacc = (distAD.f[dirTNW ])[ktnw]; - real mfcca = (distAD.f[dirBNE ])[kbne]; - real mfaaa = (distAD.f[dirBSW ])[kbsw]; - real mfcaa = (distAD.f[dirBSE ])[kbse]; - real mfaca = (distAD.f[dirBNW ])[kbnw]; + real mfccc = (distAD.f[TNE ])[ktne]; + real mfaac = (distAD.f[TSW ])[ktsw]; + real mfcac = (distAD.f[TSE ])[ktse]; + real mfacc = (distAD.f[TNW ])[ktnw]; + real mfcca = (distAD.f[BNE ])[kbne]; + real mfaaa = (distAD.f[BSW ])[kbsw]; + real mfcaa = (distAD.f[BSE ])[kbse]; + real mfaca = (distAD.f[BNW ])[kbnw]; ////////////////////////////////////////////////////////////////////////// //! - Calculate concentration using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), DOI:10.1016/j.camwa.2015.05.001 ]</b></a> @@ -326,63 +326,63 @@ extern "C" __global__ void CalcConc7( real* Conc, // Distributions27 D27; // if (isEvenTimestep==true) // { -// D27.f[dirE ] = &DD27[dirE *size_Mat]; -// D27.f[dirW ] = &DD27[dirW *size_Mat]; -// D27.f[dirN ] = &DD27[dirN *size_Mat]; -// D27.f[dirS ] = &DD27[dirS *size_Mat]; -// D27.f[dirT ] = &DD27[dirT *size_Mat]; -// D27.f[dirB ] = &DD27[dirB *size_Mat]; -// D27.f[dirNE ] = &DD27[dirNE *size_Mat]; -// D27.f[dirSW ] = &DD27[dirSW *size_Mat]; -// D27.f[dirSE ] = &DD27[dirSE *size_Mat]; -// D27.f[dirNW ] = &DD27[dirNW *size_Mat]; -// D27.f[dirTE ] = &DD27[dirTE *size_Mat]; -// D27.f[dirBW ] = &DD27[dirBW *size_Mat]; -// D27.f[dirBE ] = &DD27[dirBE *size_Mat]; -// D27.f[dirTW ] = &DD27[dirTW *size_Mat]; -// D27.f[dirTN ] = &DD27[dirTN *size_Mat]; -// D27.f[dirBS ] = &DD27[dirBS *size_Mat]; -// D27.f[dirBN ] = &DD27[dirBN *size_Mat]; -// D27.f[dirTS ] = &DD27[dirTS *size_Mat]; +// D27.f[E ] = &DD27[E *size_Mat]; +// D27.f[W ] = &DD27[W *size_Mat]; +// D27.f[N ] = &DD27[N *size_Mat]; +// D27.f[S ] = &DD27[S *size_Mat]; +// D27.f[T ] = &DD27[T *size_Mat]; +// D27.f[B ] = &DD27[B *size_Mat]; +// D27.f[NE ] = &DD27[NE *size_Mat]; +// D27.f[SW ] = &DD27[SW *size_Mat]; +// D27.f[SE ] = &DD27[SE *size_Mat]; +// D27.f[NW ] = &DD27[NW *size_Mat]; +// D27.f[TE ] = &DD27[TE *size_Mat]; +// D27.f[BW ] = &DD27[BW *size_Mat]; +// D27.f[BE ] = &DD27[BE *size_Mat]; +// D27.f[TW ] = &DD27[TW *size_Mat]; +// D27.f[TN ] = &DD27[TN *size_Mat]; +// D27.f[BS ] = &DD27[BS *size_Mat]; +// D27.f[BN ] = &DD27[BN *size_Mat]; +// D27.f[TS ] = &DD27[TS *size_Mat]; // D27.f[dirREST] = &DD27[dirREST*size_Mat]; -// D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; -// D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; -// D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; -// D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; -// D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; -// D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; -// D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; -// D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; +// D27.f[TNE ] = &DD27[TNE *size_Mat]; +// D27.f[TSW ] = &DD27[TSW *size_Mat]; +// D27.f[TSE ] = &DD27[TSE *size_Mat]; +// D27.f[TNW ] = &DD27[TNW *size_Mat]; +// D27.f[BNE ] = &DD27[BNE *size_Mat]; +// D27.f[BSW ] = &DD27[BSW *size_Mat]; +// D27.f[BSE ] = &DD27[BSE *size_Mat]; +// D27.f[BNW ] = &DD27[BNW *size_Mat]; // } // else // { -// D27.f[dirW ] = &DD27[dirE *size_Mat]; -// D27.f[dirE ] = &DD27[dirW *size_Mat]; -// D27.f[dirS ] = &DD27[dirN *size_Mat]; -// D27.f[dirN ] = &DD27[dirS *size_Mat]; -// D27.f[dirB ] = &DD27[dirT *size_Mat]; -// D27.f[dirT ] = &DD27[dirB *size_Mat]; -// D27.f[dirSW ] = &DD27[dirNE *size_Mat]; -// D27.f[dirNE ] = &DD27[dirSW *size_Mat]; -// D27.f[dirNW ] = &DD27[dirSE *size_Mat]; -// D27.f[dirSE ] = &DD27[dirNW *size_Mat]; -// D27.f[dirBW ] = &DD27[dirTE *size_Mat]; -// D27.f[dirTE ] = &DD27[dirBW *size_Mat]; -// D27.f[dirTW ] = &DD27[dirBE *size_Mat]; -// D27.f[dirBE ] = &DD27[dirTW *size_Mat]; -// D27.f[dirBS ] = &DD27[dirTN *size_Mat]; -// D27.f[dirTN ] = &DD27[dirBS *size_Mat]; -// D27.f[dirTS ] = &DD27[dirBN *size_Mat]; -// D27.f[dirBN ] = &DD27[dirTS *size_Mat]; +// D27.f[W ] = &DD27[E *size_Mat]; +// D27.f[E ] = &DD27[W *size_Mat]; +// D27.f[S ] = &DD27[N *size_Mat]; +// D27.f[N ] = &DD27[S *size_Mat]; +// D27.f[B ] = &DD27[T *size_Mat]; +// D27.f[T ] = &DD27[B *size_Mat]; +// D27.f[SW ] = &DD27[NE *size_Mat]; +// D27.f[NE ] = &DD27[SW *size_Mat]; +// D27.f[NW ] = &DD27[SE *size_Mat]; +// D27.f[SE ] = &DD27[NW *size_Mat]; +// D27.f[BW ] = &DD27[TE *size_Mat]; +// D27.f[TE ] = &DD27[BW *size_Mat]; +// D27.f[TW ] = &DD27[BE *size_Mat]; +// D27.f[BE ] = &DD27[TW *size_Mat]; +// D27.f[BS ] = &DD27[TN *size_Mat]; +// D27.f[TN ] = &DD27[BS *size_Mat]; +// D27.f[TS ] = &DD27[BN *size_Mat]; +// D27.f[BN ] = &DD27[TS *size_Mat]; // D27.f[dirREST] = &DD27[dirREST*size_Mat]; -// D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; -// D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; -// D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; -// D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; -// D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; -// D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; -// D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; -// D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; +// D27.f[BSW ] = &DD27[TNE *size_Mat]; +// D27.f[BNE ] = &DD27[TSW *size_Mat]; +// D27.f[BNW ] = &DD27[TSE *size_Mat]; +// D27.f[BSE ] = &DD27[TNW *size_Mat]; +// D27.f[TSW ] = &DD27[BNE *size_Mat]; +// D27.f[TNE ] = &DD27[BSW *size_Mat]; +// D27.f[TNW ] = &DD27[BSE *size_Mat]; +// D27.f[TSE ] = &DD27[BNW *size_Mat]; // } // //////////////////////////////////////////////////////////////////////////////// // const unsigned x = threadIdx.x; // Globaler x-Index @@ -431,20 +431,20 @@ extern "C" __global__ void CalcConc7( real* Conc, // if(geoD[k] == GEO_FLUID) // { -// Conc[k] = (D27.f[dirE ])[ke ]+ (D27.f[dirW ])[kw ]+ -// (D27.f[dirN ])[kn ]+ (D27.f[dirS ])[ks ]+ -// (D27.f[dirT ])[kt ]+ (D27.f[dirB ])[kb ]+ -// (D27.f[dirNE ])[kne ]+ (D27.f[dirSW ])[ksw ]+ -// (D27.f[dirSE ])[kse ]+ (D27.f[dirNW ])[knw ]+ -// (D27.f[dirTE ])[kte ]+ (D27.f[dirBW ])[kbw ]+ -// (D27.f[dirBE ])[kbe ]+ (D27.f[dirTW ])[ktw ]+ -// (D27.f[dirTN ])[ktn ]+ (D27.f[dirBS ])[kbs ]+ -// (D27.f[dirBN ])[kbn ]+ (D27.f[dirTS ])[kts ]+ +// Conc[k] = (D27.f[E ])[ke ]+ (D27.f[W ])[kw ]+ +// (D27.f[N ])[kn ]+ (D27.f[S ])[ks ]+ +// (D27.f[T ])[kt ]+ (D27.f[B ])[kb ]+ +// (D27.f[NE ])[kne ]+ (D27.f[SW ])[ksw ]+ +// (D27.f[SE ])[kse ]+ (D27.f[NW ])[knw ]+ +// (D27.f[TE ])[kte ]+ (D27.f[BW ])[kbw ]+ +// (D27.f[BE ])[kbe ]+ (D27.f[TW ])[ktw ]+ +// (D27.f[TN ])[ktn ]+ (D27.f[BS ])[kbs ]+ +// (D27.f[BN ])[kbn ]+ (D27.f[TS ])[kts ]+ // (D27.f[dirREST])[kzero]+ -// (D27.f[dirTNE ])[ktne]+ (D27.f[dirTSW ])[ktsw]+ -// (D27.f[dirTSE ])[ktse]+ (D27.f[dirTNW ])[ktnw]+ -// (D27.f[dirBNE ])[kbne]+ (D27.f[dirBSW ])[kbsw]+ -// (D27.f[dirBSE ])[kbse]+ (D27.f[dirBNW ])[kbnw]; +// (D27.f[TNE ])[ktne]+ (D27.f[TSW ])[ktsw]+ +// (D27.f[TSE ])[ktse]+ (D27.f[TNW ])[ktnw]+ +// (D27.f[BNE ])[kbne]+ (D27.f[BSW ])[kbsw]+ +// (D27.f[BSE ])[kbse]+ (D27.f[BNW ])[kbnw]; // } // } // } @@ -587,63 +587,63 @@ extern "C" __global__ void GetPlaneConc27(real* Conc, Distributions27 D27; if (isEvenTimestep==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -692,20 +692,20 @@ extern "C" __global__ void GetPlaneConc27(real* Conc, if(geoD[k] == GEO_FLUID) { - Conc[k] = (D27.f[dirE ])[ke ]+ (D27.f[dirW ])[kw ]+ - (D27.f[dirN ])[kn ]+ (D27.f[dirS ])[ks ]+ - (D27.f[dirT ])[kt ]+ (D27.f[dirB ])[kb ]+ - (D27.f[dirNE ])[kne ]+ (D27.f[dirSW ])[ksw ]+ - (D27.f[dirSE ])[kse ]+ (D27.f[dirNW ])[knw ]+ - (D27.f[dirTE ])[kte ]+ (D27.f[dirBW ])[kbw ]+ - (D27.f[dirBE ])[kbe ]+ (D27.f[dirTW ])[ktw ]+ - (D27.f[dirTN ])[ktn ]+ (D27.f[dirBS ])[kbs ]+ - (D27.f[dirBN ])[kbn ]+ (D27.f[dirTS ])[kts ]+ + Conc[k] = (D27.f[E ])[ke ]+ (D27.f[W ])[kw ]+ + (D27.f[N ])[kn ]+ (D27.f[S ])[ks ]+ + (D27.f[T ])[kt ]+ (D27.f[B ])[kb ]+ + (D27.f[NE ])[kne ]+ (D27.f[SW ])[ksw ]+ + (D27.f[SE ])[kse ]+ (D27.f[NW ])[knw ]+ + (D27.f[TE ])[kte ]+ (D27.f[BW ])[kbw ]+ + (D27.f[BE ])[kbe ]+ (D27.f[TW ])[ktw ]+ + (D27.f[TN ])[ktn ]+ (D27.f[BS ])[kbs ]+ + (D27.f[BN ])[kbn ]+ (D27.f[TS ])[kts ]+ (D27.f[dirREST])[kzero]+ - (D27.f[dirTNE ])[ktne]+ (D27.f[dirTSW ])[ktsw]+ - (D27.f[dirTSE ])[ktse]+ (D27.f[dirTNW ])[ktnw]+ - (D27.f[dirBNE ])[kbne]+ (D27.f[dirBSW ])[kbsw]+ - (D27.f[dirBSE ])[kbse]+ (D27.f[dirBNW ])[kbnw]; + (D27.f[TNE ])[ktne]+ (D27.f[TSW ])[ktsw]+ + (D27.f[TSE ])[ktse]+ (D27.f[TNW ])[ktnw]+ + (D27.f[BNE ])[kbne]+ (D27.f[BSW ])[kbsw]+ + (D27.f[BSE ])[kbse]+ (D27.f[BNW ])[kbnw]; } } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu index ca4c70340..8d4aadefd 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu @@ -85,63 +85,63 @@ extern "C" __global__ void LBCalcMacSP27( real* vxD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -194,66 +194,66 @@ extern "C" __global__ void LBCalcMacSP27( real* vxD, if(geoD[k] == GEO_FLUID) { - rhoD[k] = (D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ + rhoD[k] = (D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ (D.f[dirREST])[kzero]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]; - - vxD[k] = (D.f[dirE ])[ke ]- (D.f[dirW ])[kw ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]- (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]- (D.f[dirTW ])[ktw ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]- (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]; - - vyD[k] = (D.f[dirN ])[kn ]- (D.f[dirS ])[ks ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]- - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]- (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]- - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]; - - vzD[k] = (D.f[dirT ])[kt ]- (D.f[dirB ])[kb ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]- - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]- - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]- - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]; - - pressD[k] = ((D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]; + + vxD[k] = (D.f[E ])[ke ]- (D.f[W ])[kw ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]- (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]- (D.f[TW ])[ktw ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]- (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]; + + vyD[k] = (D.f[N ])[kn ]- (D.f[S ])[ks ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]- + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]- (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]- + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]; + + vzD[k] = (D.f[T ])[kt ]- (D.f[B ])[kb ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]- + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]- + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]- + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]; + + pressD[k] = ((D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ 2.f*( - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ])+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ])+ 3.f*( - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw])- + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw])- rhoD[k]-(vxD[k] * vxD[k] + vyD[k] * vyD[k] + vzD[k] * vzD[k]) * (c1o1+c0o1*rhoD[k])) * c1o2+rhoD[k]; // times zero for incompressible case //achtung op hart gesetzt Annahme op = 1 ; ^^^^(1.0/op-0.5)=0.5 @@ -345,63 +345,63 @@ extern "C" __global__ void LBCalcMedSP27( real* vxD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -460,70 +460,70 @@ extern "C" __global__ void LBCalcMedSP27( real* vxD, if(geoD[k] == GEO_FLUID) { - rhoD[k] = (D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ + rhoD[k] = (D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ (D.f[dirREST])[kzero]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]+ + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]+ RHO; - vxD[k] = (D.f[dirE ])[ke ]- (D.f[dirW ])[kw ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]- (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]- (D.f[dirTW ])[ktw ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]- (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]+ + vxD[k] = (D.f[E ])[ke ]- (D.f[W ])[kw ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]- (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]- (D.f[TW ])[ktw ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]- (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]+ VX; - vyD[k] = (D.f[dirN ])[kn ]- (D.f[dirS ])[ks ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]- - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]- (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]- - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]+ + vyD[k] = (D.f[N ])[kn ]- (D.f[S ])[ks ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]- + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]- (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]- + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]+ VY; - vzD[k] = (D.f[dirT ])[kt ]- (D.f[dirB ])[kb ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]- - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]- - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]- - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]+ + vzD[k] = (D.f[T ])[kt ]- (D.f[B ])[kb ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]- + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]- + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]- + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]+ VZ; - pressD[k] = ((D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ + pressD[k] = ((D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ c2o1*( - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ])+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ])+ c3o1*( - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw])- + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw])- rhoD[k]-(vxD[k] * vxD[k] + vyD[k] * vyD[k] + vzD[k] * vzD[k]) * (c1o1+rhoD[k])) * c1o2+rhoD[k]+ PRESS; //achtung op hart gesetzt Annahme op = 1 ; ^^^^(1.0/op-0.5)=0.5 @@ -569,63 +569,63 @@ extern "C" __global__ void LBCalcMedCompSP27( real* vxD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -684,33 +684,33 @@ extern "C" __global__ void LBCalcMedCompSP27( real* vxD, if(geoD[k] == GEO_FLUID) { - real mfcbb = (D.f[dirE])[k];//[ke ]; - real mfabb = (D.f[dirW])[kw];//[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ]; - real mfbab = (D.f[dirS])[ks];//[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ]; - real mfbba = (D.f[dirB])[kb];//[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ]; - real mfaab = (D.f[dirSW])[ksw];//[ksw ]; - real mfcab = (D.f[dirSE])[ks];//[kse ]; - real mfacb = (D.f[dirNW])[kw];//[knw ]; - real mfcbc = (D.f[dirTE])[k];//[kte ]; - real mfaba = (D.f[dirBW])[kbw];//[kbw ]; - real mfcba = (D.f[dirBE])[kb];//[kbe ]; - real mfabc = (D.f[dirTW])[kw];//[ktw ]; - real mfbcc = (D.f[dirTN])[k];//[ktn ]; - real mfbaa = (D.f[dirBS])[kbs];//[kbs ]; - real mfbca = (D.f[dirBN])[kb];//[kbn ]; - real mfbac = (D.f[dirTS])[ks];//[kts ]; + real mfcbb = (D.f[E])[k];//[ke ]; + real mfabb = (D.f[W])[kw];//[kw ]; + real mfbcb = (D.f[N])[k];//[kn ]; + real mfbab = (D.f[S])[ks];//[ks ]; + real mfbbc = (D.f[T])[k];//[kt ]; + real mfbba = (D.f[B])[kb];//[kb ]; + real mfccb = (D.f[NE])[k];//[kne ]; + real mfaab = (D.f[SW])[ksw];//[ksw ]; + real mfcab = (D.f[SE])[ks];//[kse ]; + real mfacb = (D.f[NW])[kw];//[knw ]; + real mfcbc = (D.f[TE])[k];//[kte ]; + real mfaba = (D.f[BW])[kbw];//[kbw ]; + real mfcba = (D.f[BE])[kb];//[kbe ]; + real mfabc = (D.f[TW])[kw];//[ktw ]; + real mfbcc = (D.f[TN])[k];//[ktn ]; + real mfbaa = (D.f[BS])[kbs];//[kbs ]; + real mfbca = (D.f[BN])[kb];//[kbn ]; + real mfbac = (D.f[TS])[ks];//[kts ]; real mfbbb = (D.f[dirREST])[k];//[kzero]; - real mfccc = (D.f[dirTNE])[k];//[ktne ]; - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ]; - real mfcac = (D.f[dirTSE])[ks];//[ktse ]; - real mfacc = (D.f[dirTNW])[kw];//[ktnw ]; - real mfcca = (D.f[dirBNE])[kb];//[kbne ]; - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ]; - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ]; + real mfccc = (D.f[TNE])[k];//[ktne ]; + real mfaac = (D.f[TSW])[ksw];//[ktsw ]; + real mfcac = (D.f[TSE])[ks];//[ktse ]; + real mfacc = (D.f[TNW])[kw];//[ktnw ]; + real mfcca = (D.f[BNE])[kb];//[kbne ]; + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ]; + real mfaca = (D.f[BNW])[kbw];//[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + @@ -735,72 +735,72 @@ extern "C" __global__ void LBCalcMedCompSP27( real* vxD, (mfbbc - mfbba)) / rho) + VZ; //rhoD[k] = - // (D.f[dirE])[ke] + (D.f[dirW])[kw] + - // (D.f[dirN])[kn] + (D.f[dirS])[ks] + - // (D.f[dirT])[kt] + (D.f[dirB])[kb] + - // (D.f[dirNE])[kne] + (D.f[dirSW])[ksw] + - // (D.f[dirSE])[kse] + (D.f[dirNW])[knw] + - // (D.f[dirTE])[kte] + (D.f[dirBW])[kbw] + - // (D.f[dirBE])[kbe] + (D.f[dirTW])[ktw] + - // (D.f[dirTN])[ktn] + (D.f[dirBS])[kbs] + - // (D.f[dirBN])[kbn] + (D.f[dirTS])[kts] + + // (D.f[E])[ke] + (D.f[W])[kw] + + // (D.f[N])[kn] + (D.f[S])[ks] + + // (D.f[T])[kt] + (D.f[B])[kb] + + // (D.f[NE])[kne] + (D.f[SW])[ksw] + + // (D.f[SE])[kse] + (D.f[NW])[knw] + + // (D.f[TE])[kte] + (D.f[BW])[kbw] + + // (D.f[BE])[kbe] + (D.f[TW])[ktw] + + // (D.f[TN])[ktn] + (D.f[BS])[kbs] + + // (D.f[BN])[kbn] + (D.f[TS])[kts] + // (D.f[dirREST])[kzero] + - // (D.f[dirTNE])[ktne] + (D.f[dirTSW])[ktsw] + - // (D.f[dirTSE])[ktse] + (D.f[dirTNW])[ktnw] + - // (D.f[dirBNE])[kbne] + (D.f[dirBSW])[kbsw] + - // (D.f[dirBSE])[kbse] + (D.f[dirBNW])[kbnw];// +RHO; + // (D.f[TNE])[ktne] + (D.f[TSW])[ktsw] + + // (D.f[TSE])[ktse] + (D.f[TNW])[ktnw] + + // (D.f[BNE])[kbne] + (D.f[BSW])[kbsw] + + // (D.f[BSE])[kbse] + (D.f[BNW])[kbnw];// +RHO; // vxD[k] = - //((D.f[dirE ])[ke ]- (D.f[dirW ])[kw ]+ - // (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]+ - // (D.f[dirSE ])[kse ]- (D.f[dirNW ])[knw ]+ - // (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]+ - // (D.f[dirBE ])[kbe ]- (D.f[dirTW ])[ktw ]+ - // (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]+ - // (D.f[dirTSE ])[ktse]- (D.f[dirTNW ])[ktnw]+ - // (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]+ - // (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]) / (one + rhoD[k])+ + //((D.f[E ])[ke ]- (D.f[W ])[kw ]+ + // (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]+ + // (D.f[SE ])[kse ]- (D.f[NW ])[knw ]+ + // (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]+ + // (D.f[BE ])[kbe ]- (D.f[TW ])[ktw ]+ + // (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]+ + // (D.f[TSE ])[ktse]- (D.f[TNW ])[ktnw]+ + // (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]+ + // (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]) / (one + rhoD[k])+ // VX; // vyD[k] = - //((D.f[dirN ])[kn ]- (D.f[dirS ])[ks ]+ - // (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]- - // (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - // (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]+ - // (D.f[dirBN ])[kbn ]- (D.f[dirTS ])[kts ]+ - // (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]- - // (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - // (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - // (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]) / (one + rhoD[k])+ + //((D.f[N ])[kn ]- (D.f[S ])[ks ]+ + // (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]- + // (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + // (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]+ + // (D.f[BN ])[kbn ]- (D.f[TS ])[kts ]+ + // (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]- + // (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + // (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + // (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]) / (one + rhoD[k])+ // VY; // vzD[k] = - //((D.f[dirT ])[kt ]- (D.f[dirB ])[kb ]+ - // (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]- - // (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - // (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]- - // (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ - // (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - // (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]- - // (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - // (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]) / (one + rhoD[k])+ + //((D.f[T ])[kt ]- (D.f[B ])[kb ]+ + // (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]- + // (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + // (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]- + // (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ + // (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + // (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]- + // (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + // (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]) / (one + rhoD[k])+ // VZ; - pressD[k] = ((D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ + pressD[k] = ((D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ c2o1*( - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ])+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ])+ c3o1*( - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw])- + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw])- rhoD[k]-(vxD[k] * vxD[k] + vyD[k] * vyD[k] + vzD[k] * vzD[k]) * (c1o1+rhoD[k])) * c1o2+rhoD[k]+ PRESS; //achtung op hart gesetzt Annahme op = 1 ; ^^^^(1.0/op-0.5)=0.5 @@ -849,125 +849,125 @@ extern "C" __global__ void LBCalcMedCompAD27( Distributions27 D; if (isEvenTimestep == true) { - D.f[dirE] = &DD[dirE *size_Mat]; - D.f[dirW] = &DD[dirW *size_Mat]; - D.f[dirN] = &DD[dirN *size_Mat]; - D.f[dirS] = &DD[dirS *size_Mat]; - D.f[dirT] = &DD[dirT *size_Mat]; - D.f[dirB] = &DD[dirB *size_Mat]; - D.f[dirNE] = &DD[dirNE *size_Mat]; - D.f[dirSW] = &DD[dirSW *size_Mat]; - D.f[dirSE] = &DD[dirSE *size_Mat]; - D.f[dirNW] = &DD[dirNW *size_Mat]; - D.f[dirTE] = &DD[dirTE *size_Mat]; - D.f[dirBW] = &DD[dirBW *size_Mat]; - D.f[dirBE] = &DD[dirBE *size_Mat]; - D.f[dirTW] = &DD[dirTW *size_Mat]; - D.f[dirTN] = &DD[dirTN *size_Mat]; - D.f[dirBS] = &DD[dirBS *size_Mat]; - D.f[dirBN] = &DD[dirBN *size_Mat]; - D.f[dirTS] = &DD[dirTS *size_Mat]; + D.f[E] = &DD[E *size_Mat]; + D.f[W] = &DD[W *size_Mat]; + D.f[N] = &DD[N *size_Mat]; + D.f[S] = &DD[S *size_Mat]; + D.f[T] = &DD[T *size_Mat]; + D.f[B] = &DD[B *size_Mat]; + D.f[NE] = &DD[NE *size_Mat]; + D.f[SW] = &DD[SW *size_Mat]; + D.f[SE] = &DD[SE *size_Mat]; + D.f[NW] = &DD[NW *size_Mat]; + D.f[TE] = &DD[TE *size_Mat]; + D.f[BW] = &DD[BW *size_Mat]; + D.f[BE] = &DD[BE *size_Mat]; + D.f[TW] = &DD[TW *size_Mat]; + D.f[TN] = &DD[TN *size_Mat]; + D.f[BS] = &DD[BS *size_Mat]; + D.f[BN] = &DD[BN *size_Mat]; + D.f[TS] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirTNE *size_Mat]; - D.f[dirTSW] = &DD[dirTSW *size_Mat]; - D.f[dirTSE] = &DD[dirTSE *size_Mat]; - D.f[dirTNW] = &DD[dirTNW *size_Mat]; - D.f[dirBNE] = &DD[dirBNE *size_Mat]; - D.f[dirBSW] = &DD[dirBSW *size_Mat]; - D.f[dirBSE] = &DD[dirBSE *size_Mat]; - D.f[dirBNW] = &DD[dirBNW *size_Mat]; + D.f[TNE] = &DD[TNE *size_Mat]; + D.f[TSW] = &DD[TSW *size_Mat]; + D.f[TSE] = &DD[TSE *size_Mat]; + D.f[TNW] = &DD[TNW *size_Mat]; + D.f[BNE] = &DD[BNE *size_Mat]; + D.f[BSW] = &DD[BSW *size_Mat]; + D.f[BSE] = &DD[BSE *size_Mat]; + D.f[BNW] = &DD[BNW *size_Mat]; } else { - D.f[dirW] = &DD[dirE *size_Mat]; - D.f[dirE] = &DD[dirW *size_Mat]; - D.f[dirS] = &DD[dirN *size_Mat]; - D.f[dirN] = &DD[dirS *size_Mat]; - D.f[dirB] = &DD[dirT *size_Mat]; - D.f[dirT] = &DD[dirB *size_Mat]; - D.f[dirSW] = &DD[dirNE *size_Mat]; - D.f[dirNE] = &DD[dirSW *size_Mat]; - D.f[dirNW] = &DD[dirSE *size_Mat]; - D.f[dirSE] = &DD[dirNW *size_Mat]; - D.f[dirBW] = &DD[dirTE *size_Mat]; - D.f[dirTE] = &DD[dirBW *size_Mat]; - D.f[dirTW] = &DD[dirBE *size_Mat]; - D.f[dirBE] = &DD[dirTW *size_Mat]; - D.f[dirBS] = &DD[dirTN *size_Mat]; - D.f[dirTN] = &DD[dirBS *size_Mat]; - D.f[dirTS] = &DD[dirBN *size_Mat]; - D.f[dirBN] = &DD[dirTS *size_Mat]; + D.f[W] = &DD[E *size_Mat]; + D.f[E] = &DD[W *size_Mat]; + D.f[S] = &DD[N *size_Mat]; + D.f[N] = &DD[S *size_Mat]; + D.f[B] = &DD[T *size_Mat]; + D.f[T] = &DD[B *size_Mat]; + D.f[SW] = &DD[NE *size_Mat]; + D.f[NE] = &DD[SW *size_Mat]; + D.f[NW] = &DD[SE *size_Mat]; + D.f[SE] = &DD[NW *size_Mat]; + D.f[BW] = &DD[TE *size_Mat]; + D.f[TE] = &DD[BW *size_Mat]; + D.f[TW] = &DD[BE *size_Mat]; + D.f[BE] = &DD[TW *size_Mat]; + D.f[BS] = &DD[TN *size_Mat]; + D.f[TN] = &DD[BS *size_Mat]; + D.f[TS] = &DD[BN *size_Mat]; + D.f[BN] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirBSW *size_Mat]; - D.f[dirTSW] = &DD[dirBNE *size_Mat]; - D.f[dirTSE] = &DD[dirBNW *size_Mat]; - D.f[dirTNW] = &DD[dirBSE *size_Mat]; - D.f[dirBNE] = &DD[dirTSW *size_Mat]; - D.f[dirBSW] = &DD[dirTNE *size_Mat]; - D.f[dirBSE] = &DD[dirTNW *size_Mat]; - D.f[dirBNW] = &DD[dirTSE *size_Mat]; + D.f[TNE] = &DD[BSW *size_Mat]; + D.f[TSW] = &DD[BNE *size_Mat]; + D.f[TSE] = &DD[BNW *size_Mat]; + D.f[TNW] = &DD[BSE *size_Mat]; + D.f[BNE] = &DD[TSW *size_Mat]; + D.f[BSW] = &DD[TNE *size_Mat]; + D.f[BSE] = &DD[TNW *size_Mat]; + D.f[BNW] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// Distributions27 Dad; if (isEvenTimestep == true) { - Dad.f[dirE] = &DD_AD[dirE *size_Mat]; - Dad.f[dirW] = &DD_AD[dirW *size_Mat]; - Dad.f[dirN] = &DD_AD[dirN *size_Mat]; - Dad.f[dirS] = &DD_AD[dirS *size_Mat]; - Dad.f[dirT] = &DD_AD[dirT *size_Mat]; - Dad.f[dirB] = &DD_AD[dirB *size_Mat]; - Dad.f[dirNE] = &DD_AD[dirNE *size_Mat]; - Dad.f[dirSW] = &DD_AD[dirSW *size_Mat]; - Dad.f[dirSE] = &DD_AD[dirSE *size_Mat]; - Dad.f[dirNW] = &DD_AD[dirNW *size_Mat]; - Dad.f[dirTE] = &DD_AD[dirTE *size_Mat]; - Dad.f[dirBW] = &DD_AD[dirBW *size_Mat]; - Dad.f[dirBE] = &DD_AD[dirBE *size_Mat]; - Dad.f[dirTW] = &DD_AD[dirTW *size_Mat]; - Dad.f[dirTN] = &DD_AD[dirTN *size_Mat]; - Dad.f[dirBS] = &DD_AD[dirBS *size_Mat]; - Dad.f[dirBN] = &DD_AD[dirBN *size_Mat]; - Dad.f[dirTS] = &DD_AD[dirTS *size_Mat]; + Dad.f[E] = &DD_AD[E *size_Mat]; + Dad.f[W] = &DD_AD[W *size_Mat]; + Dad.f[N] = &DD_AD[N *size_Mat]; + Dad.f[S] = &DD_AD[S *size_Mat]; + Dad.f[T] = &DD_AD[T *size_Mat]; + Dad.f[B] = &DD_AD[B *size_Mat]; + Dad.f[NE] = &DD_AD[NE *size_Mat]; + Dad.f[SW] = &DD_AD[SW *size_Mat]; + Dad.f[SE] = &DD_AD[SE *size_Mat]; + Dad.f[NW] = &DD_AD[NW *size_Mat]; + Dad.f[TE] = &DD_AD[TE *size_Mat]; + Dad.f[BW] = &DD_AD[BW *size_Mat]; + Dad.f[BE] = &DD_AD[BE *size_Mat]; + Dad.f[TW] = &DD_AD[TW *size_Mat]; + Dad.f[TN] = &DD_AD[TN *size_Mat]; + Dad.f[BS] = &DD_AD[BS *size_Mat]; + Dad.f[BN] = &DD_AD[BN *size_Mat]; + Dad.f[TS] = &DD_AD[TS *size_Mat]; Dad.f[dirREST] = &DD_AD[dirREST*size_Mat]; - Dad.f[dirTNE] = &DD_AD[dirTNE *size_Mat]; - Dad.f[dirTSW] = &DD_AD[dirTSW *size_Mat]; - Dad.f[dirTSE] = &DD_AD[dirTSE *size_Mat]; - Dad.f[dirTNW] = &DD_AD[dirTNW *size_Mat]; - Dad.f[dirBNE] = &DD_AD[dirBNE *size_Mat]; - Dad.f[dirBSW] = &DD_AD[dirBSW *size_Mat]; - Dad.f[dirBSE] = &DD_AD[dirBSE *size_Mat]; - Dad.f[dirBNW] = &DD_AD[dirBNW *size_Mat]; + Dad.f[TNE] = &DD_AD[TNE *size_Mat]; + Dad.f[TSW] = &DD_AD[TSW *size_Mat]; + Dad.f[TSE] = &DD_AD[TSE *size_Mat]; + Dad.f[TNW] = &DD_AD[TNW *size_Mat]; + Dad.f[BNE] = &DD_AD[BNE *size_Mat]; + Dad.f[BSW] = &DD_AD[BSW *size_Mat]; + Dad.f[BSE] = &DD_AD[BSE *size_Mat]; + Dad.f[BNW] = &DD_AD[BNW *size_Mat]; } else { - Dad.f[dirW] = &DD_AD[dirE *size_Mat]; - Dad.f[dirE] = &DD_AD[dirW *size_Mat]; - Dad.f[dirS] = &DD_AD[dirN *size_Mat]; - Dad.f[dirN] = &DD_AD[dirS *size_Mat]; - Dad.f[dirB] = &DD_AD[dirT *size_Mat]; - Dad.f[dirT] = &DD_AD[dirB *size_Mat]; - Dad.f[dirSW] = &DD_AD[dirNE *size_Mat]; - Dad.f[dirNE] = &DD_AD[dirSW *size_Mat]; - Dad.f[dirNW] = &DD_AD[dirSE *size_Mat]; - Dad.f[dirSE] = &DD_AD[dirNW *size_Mat]; - Dad.f[dirBW] = &DD_AD[dirTE *size_Mat]; - Dad.f[dirTE] = &DD_AD[dirBW *size_Mat]; - Dad.f[dirTW] = &DD_AD[dirBE *size_Mat]; - Dad.f[dirBE] = &DD_AD[dirTW *size_Mat]; - Dad.f[dirBS] = &DD_AD[dirTN *size_Mat]; - Dad.f[dirTN] = &DD_AD[dirBS *size_Mat]; - Dad.f[dirTS] = &DD_AD[dirBN *size_Mat]; - Dad.f[dirBN] = &DD_AD[dirTS *size_Mat]; + Dad.f[W] = &DD_AD[E *size_Mat]; + Dad.f[E] = &DD_AD[W *size_Mat]; + Dad.f[S] = &DD_AD[N *size_Mat]; + Dad.f[N] = &DD_AD[S *size_Mat]; + Dad.f[B] = &DD_AD[T *size_Mat]; + Dad.f[T] = &DD_AD[B *size_Mat]; + Dad.f[SW] = &DD_AD[NE *size_Mat]; + Dad.f[NE] = &DD_AD[SW *size_Mat]; + Dad.f[NW] = &DD_AD[SE *size_Mat]; + Dad.f[SE] = &DD_AD[NW *size_Mat]; + Dad.f[BW] = &DD_AD[TE *size_Mat]; + Dad.f[TE] = &DD_AD[BW *size_Mat]; + Dad.f[TW] = &DD_AD[BE *size_Mat]; + Dad.f[BE] = &DD_AD[TW *size_Mat]; + Dad.f[BS] = &DD_AD[TN *size_Mat]; + Dad.f[TN] = &DD_AD[BS *size_Mat]; + Dad.f[TS] = &DD_AD[BN *size_Mat]; + Dad.f[BN] = &DD_AD[TS *size_Mat]; Dad.f[dirREST] = &DD_AD[dirREST*size_Mat]; - Dad.f[dirTNE] = &DD_AD[dirBSW *size_Mat]; - Dad.f[dirTSW] = &DD_AD[dirBNE *size_Mat]; - Dad.f[dirTSE] = &DD_AD[dirBNW *size_Mat]; - Dad.f[dirTNW] = &DD_AD[dirBSE *size_Mat]; - Dad.f[dirBNE] = &DD_AD[dirTSW *size_Mat]; - Dad.f[dirBSW] = &DD_AD[dirTNE *size_Mat]; - Dad.f[dirBSE] = &DD_AD[dirTNW *size_Mat]; - Dad.f[dirBNW] = &DD_AD[dirTSE *size_Mat]; + Dad.f[TNE] = &DD_AD[BSW *size_Mat]; + Dad.f[TSW] = &DD_AD[BNE *size_Mat]; + Dad.f[TSE] = &DD_AD[BNW *size_Mat]; + Dad.f[TNW] = &DD_AD[BSE *size_Mat]; + Dad.f[BNE] = &DD_AD[TSW *size_Mat]; + Dad.f[BSW] = &DD_AD[TNE *size_Mat]; + Dad.f[BSE] = &DD_AD[TNW *size_Mat]; + Dad.f[BNW] = &DD_AD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1028,33 +1028,33 @@ extern "C" __global__ void LBCalcMedCompAD27( if (geoD[k] == GEO_FLUID) { - real mfcbb = (D.f[dirE])[k];//[ke ]; - real mfabb = (D.f[dirW])[kw];//[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ]; - real mfbab = (D.f[dirS])[ks];//[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ]; - real mfbba = (D.f[dirB])[kb];//[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ]; - real mfaab = (D.f[dirSW])[ksw];//[ksw ]; - real mfcab = (D.f[dirSE])[ks];//[kse ]; - real mfacb = (D.f[dirNW])[kw];//[knw ]; - real mfcbc = (D.f[dirTE])[k];//[kte ]; - real mfaba = (D.f[dirBW])[kbw];//[kbw ]; - real mfcba = (D.f[dirBE])[kb];//[kbe ]; - real mfabc = (D.f[dirTW])[kw];//[ktw ]; - real mfbcc = (D.f[dirTN])[k];//[ktn ]; - real mfbaa = (D.f[dirBS])[kbs];//[kbs ]; - real mfbca = (D.f[dirBN])[kb];//[kbn ]; - real mfbac = (D.f[dirTS])[ks];//[kts ]; + real mfcbb = (D.f[E])[k];//[ke ]; + real mfabb = (D.f[W])[kw];//[kw ]; + real mfbcb = (D.f[N])[k];//[kn ]; + real mfbab = (D.f[S])[ks];//[ks ]; + real mfbbc = (D.f[T])[k];//[kt ]; + real mfbba = (D.f[B])[kb];//[kb ]; + real mfccb = (D.f[NE])[k];//[kne ]; + real mfaab = (D.f[SW])[ksw];//[ksw ]; + real mfcab = (D.f[SE])[ks];//[kse ]; + real mfacb = (D.f[NW])[kw];//[knw ]; + real mfcbc = (D.f[TE])[k];//[kte ]; + real mfaba = (D.f[BW])[kbw];//[kbw ]; + real mfcba = (D.f[BE])[kb];//[kbe ]; + real mfabc = (D.f[TW])[kw];//[ktw ]; + real mfbcc = (D.f[TN])[k];//[ktn ]; + real mfbaa = (D.f[BS])[kbs];//[kbs ]; + real mfbca = (D.f[BN])[kb];//[kbn ]; + real mfbac = (D.f[TS])[ks];//[kts ]; real mfbbb = (D.f[dirREST])[k];//[kzero]; - real mfccc = (D.f[dirTNE])[k];//[ktne ]; - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ]; - real mfcac = (D.f[dirTSE])[ks];//[ktse ]; - real mfacc = (D.f[dirTNW])[kw];//[ktnw ]; - real mfcca = (D.f[dirBNE])[kb];//[kbne ]; - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ]; - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ]; + real mfccc = (D.f[TNE])[k];//[ktne ]; + real mfaac = (D.f[TSW])[ksw];//[ktsw ]; + real mfcac = (D.f[TSE])[ks];//[ktse ]; + real mfacc = (D.f[TNW])[kw];//[ktnw ]; + real mfcca = (D.f[BNE])[kb];//[kbne ]; + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ]; + real mfaca = (D.f[BNW])[kbw];//[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + @@ -1081,52 +1081,52 @@ extern "C" __global__ void LBCalcMedCompAD27( (mfbbc - mfbba)) / rho) + VZ; pressD[k] = - ((D.f[dirE])[ke] + (D.f[dirW])[kw] + - (D.f[dirN])[kn] + (D.f[dirS])[ks] + - (D.f[dirT])[kt] + (D.f[dirB])[kb] + + ((D.f[E])[ke] + (D.f[W])[kw] + + (D.f[N])[kn] + (D.f[S])[ks] + + (D.f[T])[kt] + (D.f[B])[kb] + c2o1*( - (D.f[dirNE])[kne] + (D.f[dirSW])[ksw] + - (D.f[dirSE])[kse] + (D.f[dirNW])[knw] + - (D.f[dirTE])[kte] + (D.f[dirBW])[kbw] + - (D.f[dirBE])[kbe] + (D.f[dirTW])[ktw] + - (D.f[dirTN])[ktn] + (D.f[dirBS])[kbs] + - (D.f[dirBN])[kbn] + (D.f[dirTS])[kts]) + + (D.f[NE])[kne] + (D.f[SW])[ksw] + + (D.f[SE])[kse] + (D.f[NW])[knw] + + (D.f[TE])[kte] + (D.f[BW])[kbw] + + (D.f[BE])[kbe] + (D.f[TW])[ktw] + + (D.f[TN])[ktn] + (D.f[BS])[kbs] + + (D.f[BN])[kbn] + (D.f[TS])[kts]) + c3o1*( - (D.f[dirTNE])[ktne] + (D.f[dirTSW])[ktsw] + - (D.f[dirTSE])[ktse] + (D.f[dirTNW])[ktnw] + - (D.f[dirBNE])[kbne] + (D.f[dirBSW])[kbsw] + - (D.f[dirBSE])[kbse] + (D.f[dirBNW])[kbnw]) - + (D.f[TNE])[ktne] + (D.f[TSW])[ktsw] + + (D.f[TSE])[ktse] + (D.f[TNW])[ktnw] + + (D.f[BNE])[kbne] + (D.f[BSW])[kbsw] + + (D.f[BSE])[kbse] + (D.f[BNW])[kbnw]) - rhoD[k] - (vxD[k] * vxD[k] + vyD[k] * vyD[k] + vzD[k] * vzD[k]) * (c1o1 + rhoD[k])) * c1o2 + rhoD[k] + PRESS; //achtung op hart gesetzt Annahme op = 1 ; ^^^^(1.0/op-0.5)=0.5 ////////////////////////////////////////////////////////////////////////// - mfcbb = (Dad.f[dirE ])[k ]; - mfabb = (Dad.f[dirW ])[kw ]; - mfbcb = (Dad.f[dirN ])[k ]; - mfbab = (Dad.f[dirS ])[ks ]; - mfbbc = (Dad.f[dirT ])[k ]; - mfbba = (Dad.f[dirB ])[kb ]; - mfccb = (Dad.f[dirNE ])[k ]; - mfaab = (Dad.f[dirSW ])[ksw ]; - mfcab = (Dad.f[dirSE ])[ks ]; - mfacb = (Dad.f[dirNW ])[kw ]; - mfcbc = (Dad.f[dirTE ])[k ]; - mfaba = (Dad.f[dirBW ])[kbw ]; - mfcba = (Dad.f[dirBE ])[kb ]; - mfabc = (Dad.f[dirTW ])[kw ]; - mfbcc = (Dad.f[dirTN ])[k ]; - mfbaa = (Dad.f[dirBS ])[kbs ]; - mfbca = (Dad.f[dirBN ])[kb ]; - mfbac = (Dad.f[dirTS ])[ks ]; + mfcbb = (Dad.f[E ])[k ]; + mfabb = (Dad.f[W ])[kw ]; + mfbcb = (Dad.f[N ])[k ]; + mfbab = (Dad.f[S ])[ks ]; + mfbbc = (Dad.f[T ])[k ]; + mfbba = (Dad.f[B ])[kb ]; + mfccb = (Dad.f[NE ])[k ]; + mfaab = (Dad.f[SW ])[ksw ]; + mfcab = (Dad.f[SE ])[ks ]; + mfacb = (Dad.f[NW ])[kw ]; + mfcbc = (Dad.f[TE ])[k ]; + mfaba = (Dad.f[BW ])[kbw ]; + mfcba = (Dad.f[BE ])[kb ]; + mfabc = (Dad.f[TW ])[kw ]; + mfbcc = (Dad.f[TN ])[k ]; + mfbaa = (Dad.f[BS ])[kbs ]; + mfbca = (Dad.f[BN ])[kb ]; + mfbac = (Dad.f[TS ])[ks ]; mfbbb = (Dad.f[dirREST])[k ]; - mfccc = (Dad.f[dirTNE ])[k ]; - mfaac = (Dad.f[dirTSW ])[ksw ]; - mfcac = (Dad.f[dirTSE ])[ks ]; - mfacc = (Dad.f[dirTNW ])[kw ]; - mfcca = (Dad.f[dirBNE ])[kb ]; - mfaaa = (Dad.f[dirBSW ])[kbsw]; - mfcaa = (Dad.f[dirBSE ])[kbs ]; - mfaca = (Dad.f[dirBNW ])[kbw ]; + mfccc = (Dad.f[TNE ])[k ]; + mfaac = (Dad.f[TSW ])[ksw ]; + mfcac = (Dad.f[TSE ])[ks ]; + mfacc = (Dad.f[TNW ])[kw ]; + mfcca = (Dad.f[BNE ])[kb ]; + mfaaa = (Dad.f[BSW ])[kbsw]; + mfcaa = (Dad.f[BSE ])[kbs ]; + mfaca = (Dad.f[BNW ])[kbw ]; ////////////////////////////////////////////////////////////////////////// concD[k] = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + @@ -1357,63 +1357,63 @@ extern "C" __global__ void LBCalcMeasurePoints( real* vxMP, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1463,50 +1463,50 @@ extern "C" __global__ void LBCalcMeasurePoints( real* vxMP, if(geoD[kzero] == GEO_FLUID) { - rhoMP[kMac]= (D.f[dirE ])[ke ]+ (D.f[dirW ])[kw ]+ - (D.f[dirN ])[kn ]+ (D.f[dirS ])[ks ]+ - (D.f[dirT ])[kt ]+ (D.f[dirB ])[kb ]+ - (D.f[dirNE ])[kne ]+ (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]+ (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]+ (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ + rhoMP[kMac]= (D.f[E ])[ke ]+ (D.f[W ])[kw ]+ + (D.f[N ])[kn ]+ (D.f[S ])[ks ]+ + (D.f[T ])[kt ]+ (D.f[B ])[kb ]+ + (D.f[NE ])[kne ]+ (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]+ (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]+ (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ (D.f[dirREST])[kzero]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]+ (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]; - - vxMP[kMac] = (D.f[dirE ])[ke ]- (D.f[dirW ])[kw ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]+ - (D.f[dirSE ])[kse ]- (D.f[dirNW ])[knw ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]+ - (D.f[dirBE ])[kbe ]- (D.f[dirTW ])[ktw ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]- (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]+ - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]; - - vyMP[kMac] = (D.f[dirN ])[kn ]- (D.f[dirS ])[ks ]+ - (D.f[dirNE ])[kne ]- (D.f[dirSW ])[ksw ]- - (D.f[dirSE ])[kse ]+ (D.f[dirNW ])[knw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]+ - (D.f[dirBN ])[kbn ]- (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]- (D.f[dirTSW ])[ktsw]- - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]+ - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]+ (D.f[dirBNW ])[kbnw]; - - vzMP[kMac] = (D.f[dirT ])[kt ]- (D.f[dirB ])[kb ]+ - (D.f[dirTE ])[kte ]- (D.f[dirBW ])[kbw ]- - (D.f[dirBE ])[kbe ]+ (D.f[dirTW ])[ktw ]+ - (D.f[dirTN ])[ktn ]- (D.f[dirBS ])[kbs ]- - (D.f[dirBN ])[kbn ]+ (D.f[dirTS ])[kts ]+ - (D.f[dirTNE ])[ktne]+ (D.f[dirTSW ])[ktsw]+ - (D.f[dirTSE ])[ktse]+ (D.f[dirTNW ])[ktnw]- - (D.f[dirBNE ])[kbne]- (D.f[dirBSW ])[kbsw]- - (D.f[dirBSE ])[kbse]- (D.f[dirBNW ])[kbnw]; + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]+ (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]; + + vxMP[kMac] = (D.f[E ])[ke ]- (D.f[W ])[kw ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]+ + (D.f[SE ])[kse ]- (D.f[NW ])[knw ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]+ + (D.f[BE ])[kbe ]- (D.f[TW ])[ktw ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]- (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]+ + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]; + + vyMP[kMac] = (D.f[N ])[kn ]- (D.f[S ])[ks ]+ + (D.f[NE ])[kne ]- (D.f[SW ])[ksw ]- + (D.f[SE ])[kse ]+ (D.f[NW ])[knw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]+ + (D.f[BN ])[kbn ]- (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]- (D.f[TSW ])[ktsw]- + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]+ + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]+ (D.f[BNW ])[kbnw]; + + vzMP[kMac] = (D.f[T ])[kt ]- (D.f[B ])[kb ]+ + (D.f[TE ])[kte ]- (D.f[BW ])[kbw ]- + (D.f[BE ])[kbe ]+ (D.f[TW ])[ktw ]+ + (D.f[TN ])[ktn ]- (D.f[BS ])[kbs ]- + (D.f[BN ])[kbn ]+ (D.f[TS ])[kts ]+ + (D.f[TNE ])[ktne]+ (D.f[TSW ])[ktsw]+ + (D.f[TSE ])[ktse]+ (D.f[TNW ])[ktnw]- + (D.f[BNE ])[kbne]- (D.f[BSW ])[kbsw]- + (D.f[BSE ])[kbse]- (D.f[BNW ])[kbnw]; } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cascade27.cu b/src/gpu/VirtualFluids_GPU/GPU/Cascade27.cu index 189fdc914..e1445e92b 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Cascade27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Cascade27.cu @@ -38,63 +38,63 @@ extern "C" __global__ void LB_Kernel_Cascade_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -127,33 +127,33 @@ extern "C" __global__ void LB_Kernel_Cascade_SP_27( real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW ])[kw ];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS ])[ks ];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB ])[kb ];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW ])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW ])[kw ];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE ])[k ];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW ])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW ])[kw ];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN ])[k ];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS ])[ks ];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E ])[k ];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W ])[kw ];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S ])[ks ];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B ])[kb ];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW ])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW ])[kw ];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE ])[k ];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW ])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW ])[kw ];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN ])[k ];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS ])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS ])[ks ];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k ];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE ])[k ];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE ])[k ];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW ])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE ])[ks ];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW ])[kw ];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE ])[kb ];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW ])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -729,33 +729,33 @@ extern "C" __global__ void LB_Kernel_Cascade_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[ dirW ])[kw ] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[ dirN ])[k ] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[ dirS ])[ks ] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[ dirT ])[k ] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[ dirB ])[kb ] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[ dirNE ])[k ] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[ dirSW ])[ksw ] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[ dirSE ])[ks ] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[ dirNW ])[kw ] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[ dirTE ])[k ] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[ dirBW ])[kbw ] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[ dirBE ])[kb ] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[ dirTW ])[kw ] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[ dirTN ])[k ] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[ dirBS ])[kbs ] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[ dirBN ])[kb ] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[ dirTS ])[ks ] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[ E ])[k ] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[ W ])[kw ] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[ N ])[k ] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[ S ])[ks ] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[ T ])[k ] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[ B ])[kb ] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[ NE ])[k ] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[ SW ])[ksw ] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[ SE ])[ks ] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[ NW ])[kw ] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[ TE ])[k ] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[ BW ])[kbw ] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[ BE ])[kb ] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[ TW ])[kw ] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[ TN ])[k ] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[ BS ])[kbs ] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[ BN ])[kb ] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[ TS ])[ks ] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[ dirREST])[k ] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[ dirTNE ])[k ] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[ dirTSE ])[ks ] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[ dirBNE ])[kb ] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[ dirBSE ])[kbs ] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[ dirTNW ])[kw ] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[ dirTSW ])[ksw ] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[ dirBNW ])[kbw ] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[ dirBSW ])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[ TNE ])[k ] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[ TSE ])[ks ] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[ BNE ])[kb ] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[ BSE ])[kbs ] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[ TNW ])[kw ] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[ TSW ])[ksw ] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[ BNW ])[kbw ] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[ BSW ])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -865,63 +865,63 @@ extern "C" __global__ void LB_Kernel_Casc_Comp_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -954,33 +954,33 @@ extern "C" __global__ void LB_Kernel_Casc_Comp_SP_27( real omega, unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real E = (D.f[dirE ])[ke ];// + c2over27 ; - real W = (D.f[dirW ])[kw ];// + c2over27 ; - real N = (D.f[dirN ])[kn ];// + c2over27 ; - real S = (D.f[dirS ])[ks ];// + c2over27 ; - real F = (D.f[dirT ])[kt ];// + c2over27 ; - real B = (D.f[dirB ])[kb ];// + c2over27 ; - real Ne = (D.f[dirNE ])[kne ];// + c1over54 ; - real Sw = (D.f[dirSW ])[ksw ];// + c1over54 ; - real Se = (D.f[dirSE ])[kse ];// + c1over54 ; - real Nw = (D.f[dirNW ])[knw ];// + c1over54 ; - real Ef = (D.f[dirTE ])[kte ];// + c1over54 ; - real Wb = (D.f[dirBW ])[kbw ];// + c1over54 ; - real Eb = (D.f[dirBE ])[kbe ];// + c1over54 ; - real Wf = (D.f[dirTW ])[ktw ];// + c1over54 ; - real Nf = (D.f[dirTN ])[ktn ];// + c1over54 ; - real Sb = (D.f[dirBS ])[kbs ];// + c1over54 ; - real Nb = (D.f[dirBN ])[kbn ];// + c1over54 ; - real Sf = (D.f[dirTS ])[kts ];// + c1over54 ; + real E = (D.f[E ])[ke ];// + c2over27 ; + real W = (D.f[W ])[kw ];// + c2over27 ; + real N = (D.f[N ])[kn ];// + c2over27 ; + real S = (D.f[S ])[ks ];// + c2over27 ; + real F = (D.f[T ])[kt ];// + c2over27 ; + real B = (D.f[B ])[kb ];// + c2over27 ; + real Ne = (D.f[NE ])[kne ];// + c1over54 ; + real Sw = (D.f[SW ])[ksw ];// + c1over54 ; + real Se = (D.f[SE ])[kse ];// + c1over54 ; + real Nw = (D.f[NW ])[knw ];// + c1over54 ; + real Ef = (D.f[TE ])[kte ];// + c1over54 ; + real Wb = (D.f[BW ])[kbw ];// + c1over54 ; + real Eb = (D.f[BE ])[kbe ];// + c1over54 ; + real Wf = (D.f[TW ])[ktw ];// + c1over54 ; + real Nf = (D.f[TN ])[ktn ];// + c1over54 ; + real Sb = (D.f[BS ])[kbs ];// + c1over54 ; + real Nb = (D.f[BN ])[kbn ];// + c1over54 ; + real Sf = (D.f[TS ])[kts ];// + c1over54 ; real R = (D.f[dirREST])[kzero];// + c8over27 ; - real Nef = (D.f[dirTNE ])[ktne ];// + c1over216; - real Swf = (D.f[dirTSW ])[ktsw ];// + c1over216; - real Sef = (D.f[dirTSE ])[ktse ];// + c1over216; - real Nwf = (D.f[dirTNW ])[ktnw ];// + c1over216; - real Neb = (D.f[dirBNE ])[kbne ];// + c1over216; - real Swb = (D.f[dirBSW ])[kbsw ];// + c1over216; - real Seb = (D.f[dirBSE ])[kbse ];// + c1over216; - real Nwb = (D.f[dirBNW ])[kbnw ];// + c1over216; + real Nef = (D.f[TNE ])[ktne ];// + c1over216; + real Swf = (D.f[TSW ])[ktsw ];// + c1over216; + real Sef = (D.f[TSE ])[ktse ];// + c1over216; + real Nwf = (D.f[TNW ])[ktnw ];// + c1over216; + real Neb = (D.f[BNE ])[kbne ];// + c1over216; + real Swb = (D.f[BSW ])[kbsw ];// + c1over216; + real Seb = (D.f[BSE ])[kbse ];// + c1over216; + real Nwb = (D.f[BNW ])[kbnw ];// + c1over216; //////////////////////////////////////////////////////////////////////////////////// real rho=Nw+W+Sw+S+Se+E+Ne+N+R+Nf+Nb+Sf+Sb+Ef+Eb+Wf+Wb+Nwf+Nwb+Nef+Neb+Swf+Swb+Sef+Seb+F+B+c1o1;// ACHTUNG ne EINS !!!!!!!! real pix=(Ne+E+Se+Ef+Eb-Nw-W-Sw-Wf-Wb+Nef+Neb+Sef+Seb-Nwf-Nwb-Swf-Swb); @@ -1609,33 +1609,33 @@ extern "C" __global__ void LB_Kernel_Casc_Comp_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[ke ] = mfabb;// - c2over27 ;// - (D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; - (D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; - (D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; - (D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; - (D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; - (D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; - (D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; - (D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; - (D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; - (D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; - (D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; - (D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; - (D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; - (D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; - (D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; - (D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; - (D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; + (D.f[ E ])[ke ] = mfabb;// - c2over27 ;// + (D.f[ W ])[kw ] = mfcbb;// - c2over27 ; + (D.f[ N ])[kn ] = mfbab;// - c2over27 ; + (D.f[ S ])[ks ] = mfbcb;// - c2over27 ; + (D.f[ T ])[kt ] = mfbba;// - c2over27 ; + (D.f[ B ])[kb ] = mfbbc;// - c2over27 ; + (D.f[ NE ])[kne ] = mfaab;// - c1over54 ; + (D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; + (D.f[ SE ])[kse ] = mfacb;// - c1over54 ; + (D.f[ NW ])[knw ] = mfcab;// - c1over54 ; + (D.f[ TE ])[kte ] = mfaba;// - c1over54 ; + (D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; + (D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; + (D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; + (D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; + (D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; + (D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; + (D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; - (D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; - (D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; - (D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; - (D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; - (D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; - (D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; - (D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; - (D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; + (D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; + (D.f[ TSE ])[ktse ] = mfaca;// - c1over216; + (D.f[ BNE ])[kbne ] = mfaac;// - c1over216; + (D.f[ BSE ])[kbse ] = mfacc;// - c1over216; + (D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; + (D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; + (D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; + (D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; //////////////////////////////////////////////////////////////////////////////////// } } @@ -1712,63 +1712,63 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_OHM_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -1801,33 +1801,33 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_OHM_27( real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fE = (D.f[dirE ])[k ];//ke - real fW = (D.f[dirW ])[kw ]; - real fN = (D.f[dirN ])[k ];//kn - real fS = (D.f[dirS ])[ks ]; - real fT = (D.f[dirT ])[k ];//kt - real fB = (D.f[dirB ])[kb ]; - real fNE = (D.f[dirNE ])[k ];//kne - real fSW = (D.f[dirSW ])[ksw]; - real fSE = (D.f[dirSE ])[ks ];//kse - real fNW = (D.f[dirNW ])[kw ];//knw - real fTE = (D.f[dirTE ])[k ];//kte - real fBW = (D.f[dirBW ])[kbw]; - real fBE = (D.f[dirBE ])[kb ];//kbe - real fTW = (D.f[dirTW ])[kw ];//ktw - real fTN = (D.f[dirTN ])[k ];//ktn - real fBS = (D.f[dirBS ])[kbs]; - real fBN = (D.f[dirBN ])[kb ];//kbn - real fTS = (D.f[dirTS ])[ks ];//kts + real fE = (D.f[E ])[k ];//ke + real fW = (D.f[W ])[kw ]; + real fN = (D.f[N ])[k ];//kn + real fS = (D.f[S ])[ks ]; + real fT = (D.f[T ])[k ];//kt + real fB = (D.f[B ])[kb ]; + real fNE = (D.f[NE ])[k ];//kne + real fSW = (D.f[SW ])[ksw]; + real fSE = (D.f[SE ])[ks ];//kse + real fNW = (D.f[NW ])[kw ];//knw + real fTE = (D.f[TE ])[k ];//kte + real fBW = (D.f[BW ])[kbw]; + real fBE = (D.f[BE ])[kb ];//kbe + real fTW = (D.f[TW ])[kw ];//ktw + real fTN = (D.f[TN ])[k ];//ktn + real fBS = (D.f[BS ])[kbs]; + real fBN = (D.f[BN ])[kb ];//kbn + real fTS = (D.f[TS ])[ks ];//kts real fZERO = (D.f[dirREST])[k ];//kzero - real fTNE = (D.f[dirTNE ])[k ];//ktne - real fTSW = (D.f[dirTSW ])[ksw];//ktsw - real fTSE = (D.f[dirTSE ])[ks ];//ktse - real fTNW = (D.f[dirTNW ])[kw ];//ktnw - real fBNE = (D.f[dirBNE ])[kb ];//kbne - real fBSW = (D.f[dirBSW ])[kbsw]; - real fBSE = (D.f[dirBSE ])[kbs];//kbse - real fBNW = (D.f[dirBNW ])[kbw];//kbnw + real fTNE = (D.f[TNE ])[k ];//ktne + real fTSW = (D.f[TSW ])[ksw];//ktsw + real fTSE = (D.f[TSE ])[ks ];//ktse + real fTNW = (D.f[TNW ])[kw ];//ktnw + real fBNE = (D.f[BNE ])[kb ];//kbne + real fBSW = (D.f[BSW ])[kbsw]; + real fBSE = (D.f[BSE ])[kbs];//kbse + real fBNW = (D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real rho0 = (fTNE+fBSW)+(fTSW+fBNE)+(fTSE+fBNW)+(fTNW+fBSE)+(fNE+fSW)+(fNW+fSE)+(fTE+fBW)+(fBE+fTW)+(fTN+fBS)+(fBN+fTS)+(fE+fW)+(fN+fS)+(fT+fB)+fZERO; real rho = rho0 + c1o1; @@ -2183,92 +2183,92 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_OHM_27( real omega, c2o1*(/*vx2y*MzYZZ +*/ vx*MzXYYZZ + vz*MzXXYYZ /*+ vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY*/ + vy*MzXXYZZ/* + vy2z*MzXXZ*/);//+ //four*(/*vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY +*/ vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ); - //(D.f[ dirE ])[k ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 - vx ); //ke - //(D.f[ dirW ])[kw ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 + vx ); - //(D.f[ dirN ])[k ] = c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 - vy ); //kn - //(D.f[ dirS ])[ks ] = c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 + vy ); - //(D.f[ dirT ])[k ] = c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 - vz ); //kt - //(D.f[ dirB ])[kb ] = c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 + vz ); - //(D.f[ dirNE ])[k ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne - //(D.f[ dirSW ])[ksw ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); - //(D.f[ dirSE ])[ks ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse - //(D.f[ dirNW ])[kw ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw - //(D.f[ dirTE ])[k ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte - //(D.f[ dirBW ])[kbw ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); - //(D.f[ dirBE ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe - //(D.f[ dirTW ])[kw ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw - //(D.f[ dirTN ])[k ] = c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn - //(D.f[ dirBS ])[kbs ] = c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); - //(D.f[ dirBN ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn - //(D.f[ dirTS ])[ks ] = c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts + //(D.f[ E ])[k ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 - vx ); //ke + //(D.f[ W ])[kw ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 + vx ); + //(D.f[ N ])[k ] = c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 - vy ); //kn + //(D.f[ S ])[ks ] = c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 + vy ); + //(D.f[ T ])[k ] = c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 - vz ); //kt + //(D.f[ B ])[kb ] = c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 + vz ); + //(D.f[ NE ])[k ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne + //(D.f[ SW ])[ksw ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); + //(D.f[ SE ])[ks ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse + //(D.f[ NW ])[kw ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw + //(D.f[ TE ])[k ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte + //(D.f[ BW ])[kbw ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); + //(D.f[ BE ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe + //(D.f[ TW ])[kw ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw + //(D.f[ TN ])[k ] = c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn + //(D.f[ BS ])[kbs ] = c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); + //(D.f[ BN ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn + //(D.f[ TS ])[ks ] = c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts //(D.f[ dirREST])[k ] = rho*(-mu200 + mu220 - mu222 + mu202 - mu020 + mu022 - mu002 )+rho0; //kzero - //(D.f[ dirTNE ])[k ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne - //(D.f[ dirTSE ])[ks ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse - //(D.f[ dirBNE ])[kb ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne - //(D.f[ dirBSE ])[kbs ] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse - //(D.f[ dirTNW ])[kw ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw - //(D.f[ dirTSW ])[ksw ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw - //(D.f[ dirBNW ])[kbw ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw - //(D.f[ dirBSW ])[kbsw] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); - (D.f[ dirE ])[k ] = c1o2*rho*(+ mu222 + ( - mu220 - mu202 ) + ( + mu200 ) + ( - mu122) + ( + mu102 + mu120) + ( - vx ) ); //ke - (D.f[ dirW ])[kw ] = c1o2*rho*(+ mu222 + ( - mu220 - mu202 ) + ( + mu200 ) + ( + mu122) + ( - mu102 - mu120) + ( + vx ) ); - (D.f[ dirN ])[k ] = c1o2*rho*(+ mu222 + ( - mu220 - mu022) + ( + mu020 ) + ( - mu212 ) + ( + mu012 + mu210 ) + ( - vy ) ); //kn - (D.f[ dirS ])[ks ] = c1o2*rho*(+ mu222 + ( - mu220 - mu022) + ( + mu020 ) + ( + mu212 ) + ( - mu012 - mu210 ) + ( + vy ) ); - (D.f[ dirT ])[k ] = c1o2*rho*(+ mu222 + ( - mu202 - mu022) + ( + mu002) + ( - mu221 ) + ( + mu201 + mu021 ) + ( - vz ) ); //kt - (D.f[ dirB ])[kb ] = c1o2*rho*(+ mu222 + ( - mu202 - mu022) + ( + mu002) + ( + mu221 ) + ( - mu201 - mu021 ) + ( + vz ) ); - (D.f[ dirNE ])[k ] = c1o4*rho*(- mu222 + ( - mu112 + mu220 ) + (+ mu110 ) + ( + mu212 + mu122) + ( - mu210 - mu120) ); //kne - (D.f[ dirSW ])[ksw ] = c1o4*rho*(- mu222 + ( - mu112 + mu220 ) + (+ mu110 ) + ( - mu212 - mu122) + ( + mu210 + mu120) ); - (D.f[ dirSE ])[ks ] = c1o4*rho*(- mu222 + ( + mu112 + mu220 ) + (- mu110 ) + ( - mu212 + mu122) + ( + mu210 - mu120) ); //kse - (D.f[ dirNW ])[kw ] = c1o4*rho*(- mu222 + ( + mu112 + mu220 ) + (- mu110 ) + ( + mu212 - mu122) + ( - mu210 + mu120) ); //knw - (D.f[ dirTE ])[k ] = c1o4*rho*(- mu222 + ( - mu121 + mu202 ) + ( + mu101 ) + ( + mu221 + mu122) + ( - mu201 - mu102 ) ); //kte - (D.f[ dirBW ])[kbw ] = c1o4*rho*(- mu222 + ( - mu121 + mu202 ) + ( + mu101 ) + ( - mu221 - mu122) + ( + mu201 + mu102 ) ); - (D.f[ dirBE ])[kb ] = c1o4*rho*(- mu222 + ( + mu121 + mu202 ) + ( - mu101 ) + ( - mu221 + mu122) + ( + mu201 - mu102 ) ); //kbe - (D.f[ dirTW ])[kw ] = c1o4*rho*(- mu222 + ( + mu121 + mu202 ) + ( - mu101 ) + ( + mu221 - mu122) + ( - mu201 + mu102 ) ); //ktw - (D.f[ dirTN ])[k ] = c1o4*rho*(- mu222 + (- mu211 + mu022) + ( + mu011 ) + ( + mu221 + mu212 ) + ( - mu021 - mu012 ) ); //ktn - (D.f[ dirBS ])[kbs ] = c1o4*rho*(- mu222 + (- mu211 + mu022) + ( + mu011 ) + ( - mu221 - mu212 ) + ( + mu021 + mu012 ) ); - (D.f[ dirBN ])[kb ] = c1o4*rho*(- mu222 + (+ mu211 + mu022) + ( - mu011 ) + ( - mu221 + mu212 ) + ( + mu021 - mu012 ) ); //kbn - (D.f[ dirTS ])[ks ] = c1o4*rho*(- mu222 + (+ mu211 + mu022) + ( - mu011 ) + ( + mu221 - mu212 ) + ( - mu021 + mu012 ) ); //kts + //(D.f[ TNE ])[k ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne + //(D.f[ TSE ])[ks ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse + //(D.f[ BNE ])[kb ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne + //(D.f[ BSE ])[kbs ] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse + //(D.f[ TNW ])[kw ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw + //(D.f[ TSW ])[ksw ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw + //(D.f[ BNW ])[kbw ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw + //(D.f[ BSW ])[kbsw] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); + (D.f[ E ])[k ] = c1o2*rho*(+ mu222 + ( - mu220 - mu202 ) + ( + mu200 ) + ( - mu122) + ( + mu102 + mu120) + ( - vx ) ); //ke + (D.f[ W ])[kw ] = c1o2*rho*(+ mu222 + ( - mu220 - mu202 ) + ( + mu200 ) + ( + mu122) + ( - mu102 - mu120) + ( + vx ) ); + (D.f[ N ])[k ] = c1o2*rho*(+ mu222 + ( - mu220 - mu022) + ( + mu020 ) + ( - mu212 ) + ( + mu012 + mu210 ) + ( - vy ) ); //kn + (D.f[ S ])[ks ] = c1o2*rho*(+ mu222 + ( - mu220 - mu022) + ( + mu020 ) + ( + mu212 ) + ( - mu012 - mu210 ) + ( + vy ) ); + (D.f[ T ])[k ] = c1o2*rho*(+ mu222 + ( - mu202 - mu022) + ( + mu002) + ( - mu221 ) + ( + mu201 + mu021 ) + ( - vz ) ); //kt + (D.f[ B ])[kb ] = c1o2*rho*(+ mu222 + ( - mu202 - mu022) + ( + mu002) + ( + mu221 ) + ( - mu201 - mu021 ) + ( + vz ) ); + (D.f[ NE ])[k ] = c1o4*rho*(- mu222 + ( - mu112 + mu220 ) + (+ mu110 ) + ( + mu212 + mu122) + ( - mu210 - mu120) ); //kne + (D.f[ SW ])[ksw ] = c1o4*rho*(- mu222 + ( - mu112 + mu220 ) + (+ mu110 ) + ( - mu212 - mu122) + ( + mu210 + mu120) ); + (D.f[ SE ])[ks ] = c1o4*rho*(- mu222 + ( + mu112 + mu220 ) + (- mu110 ) + ( - mu212 + mu122) + ( + mu210 - mu120) ); //kse + (D.f[ NW ])[kw ] = c1o4*rho*(- mu222 + ( + mu112 + mu220 ) + (- mu110 ) + ( + mu212 - mu122) + ( - mu210 + mu120) ); //knw + (D.f[ TE ])[k ] = c1o4*rho*(- mu222 + ( - mu121 + mu202 ) + ( + mu101 ) + ( + mu221 + mu122) + ( - mu201 - mu102 ) ); //kte + (D.f[ BW ])[kbw ] = c1o4*rho*(- mu222 + ( - mu121 + mu202 ) + ( + mu101 ) + ( - mu221 - mu122) + ( + mu201 + mu102 ) ); + (D.f[ BE ])[kb ] = c1o4*rho*(- mu222 + ( + mu121 + mu202 ) + ( - mu101 ) + ( - mu221 + mu122) + ( + mu201 - mu102 ) ); //kbe + (D.f[ TW ])[kw ] = c1o4*rho*(- mu222 + ( + mu121 + mu202 ) + ( - mu101 ) + ( + mu221 - mu122) + ( - mu201 + mu102 ) ); //ktw + (D.f[ TN ])[k ] = c1o4*rho*(- mu222 + (- mu211 + mu022) + ( + mu011 ) + ( + mu221 + mu212 ) + ( - mu021 - mu012 ) ); //ktn + (D.f[ BS ])[kbs ] = c1o4*rho*(- mu222 + (- mu211 + mu022) + ( + mu011 ) + ( - mu221 - mu212 ) + ( + mu021 + mu012 ) ); + (D.f[ BN ])[kb ] = c1o4*rho*(- mu222 + (+ mu211 + mu022) + ( - mu011 ) + ( - mu221 + mu212 ) + ( + mu021 - mu012 ) ); //kbn + (D.f[ TS ])[ks ] = c1o4*rho*(- mu222 + (+ mu211 + mu022) + ( - mu011 ) + ( + mu221 - mu212 ) + ( - mu021 + mu012 ) ); //kts (D.f[ dirREST])[k ] = rho*(- mu222 + ( + mu220 + mu202 + mu022) + ( - mu200 - mu020 - mu002) )+rho0; //kzero - (D.f[ dirTNE ])[k ] = c1o8*rho*(+ mu222 + (+ mu211 + mu121 + mu112 ) + ( - mu221 - mu212 - mu122) + ( - mu111 ) ); //ktne - (D.f[ dirTSE ])[ks ] = c1o8*rho*(+ mu222 + (- mu211 + mu121 - mu112 ) + ( - mu221 + mu212 - mu122) + ( + mu111 ) ); //ktse - (D.f[ dirBNE ])[kb ] = c1o8*rho*(+ mu222 + (- mu211 - mu121 + mu112 ) + ( + mu221 - mu212 - mu122) + ( + mu111 ) ); //kbne - (D.f[ dirBSE ])[kbs ] = c1o8*rho*(+ mu222 + (+ mu211 - mu121 - mu112 ) + ( + mu221 + mu212 - mu122) + ( - mu111 ) ); //kbse - (D.f[ dirTNW ])[kw ] = c1o8*rho*(+ mu222 + (+ mu211 - mu121 - mu112 ) + ( - mu221 - mu212 + mu122) + ( + mu111 ) ); //ktnw - (D.f[ dirTSW ])[ksw ] = c1o8*rho*(+ mu222 + (- mu211 - mu121 + mu112 ) + ( - mu221 + mu212 + mu122) + ( - mu111 ) ); //ktsw - (D.f[ dirBNW ])[kbw ] = c1o8*rho*(+ mu222 + (- mu211 + mu121 - mu112 ) + ( + mu221 - mu212 + mu122) + ( - mu111 ) ); //kbnw - (D.f[ dirBSW ])[kbsw] = c1o8*rho*(+ mu222 + (+ mu211 + mu121 + mu112 ) + ( + mu221 + mu212 + mu122) + ( + mu111 ) ); + (D.f[ TNE ])[k ] = c1o8*rho*(+ mu222 + (+ mu211 + mu121 + mu112 ) + ( - mu221 - mu212 - mu122) + ( - mu111 ) ); //ktne + (D.f[ TSE ])[ks ] = c1o8*rho*(+ mu222 + (- mu211 + mu121 - mu112 ) + ( - mu221 + mu212 - mu122) + ( + mu111 ) ); //ktse + (D.f[ BNE ])[kb ] = c1o8*rho*(+ mu222 + (- mu211 - mu121 + mu112 ) + ( + mu221 - mu212 - mu122) + ( + mu111 ) ); //kbne + (D.f[ BSE ])[kbs ] = c1o8*rho*(+ mu222 + (+ mu211 - mu121 - mu112 ) + ( + mu221 + mu212 - mu122) + ( - mu111 ) ); //kbse + (D.f[ TNW ])[kw ] = c1o8*rho*(+ mu222 + (+ mu211 - mu121 - mu112 ) + ( - mu221 - mu212 + mu122) + ( + mu111 ) ); //ktnw + (D.f[ TSW ])[ksw ] = c1o8*rho*(+ mu222 + (- mu211 - mu121 + mu112 ) + ( - mu221 + mu212 + mu122) + ( - mu111 ) ); //ktsw + (D.f[ BNW ])[kbw ] = c1o8*rho*(+ mu222 + (- mu211 + mu121 - mu112 ) + ( + mu221 - mu212 + mu122) + ( - mu111 ) ); //kbnw + (D.f[ BSW ])[kbsw] = c1o8*rho*(+ mu222 + (+ mu211 + mu121 + mu112 ) + ( + mu221 + mu212 + mu122) + ( + mu111 ) ); ////////////////////////////////////////////////////////////////////////// //BGK ////////////////////////////////////////////////////////////////////////// - //(D.f[ dirE ])[k ] = fW ; - //(D.f[ dirW ])[kw ] = fE ; - //(D.f[ dirN ])[k ] = fS ; - //(D.f[ dirS ])[ks ] = fN ; - //(D.f[ dirT ])[k ] = fB ; - //(D.f[ dirB ])[kb ] = fT ; - //(D.f[ dirNE ])[k ] = fSW ; - //(D.f[ dirSW ])[ksw ] = fNE ; - //(D.f[ dirSE ])[ks ] = fNW ; - //(D.f[ dirNW ])[kw ] = fSE ; - //(D.f[ dirTE ])[k ] = fBW ; - //(D.f[ dirBW ])[kbw ] = fTE ; - //(D.f[ dirBE ])[kb ] = fTW ; - //(D.f[ dirTW ])[kw ] = fBE ; - //(D.f[ dirTN ])[k ] = fBS ; - //(D.f[ dirBS ])[kbs ] = fTN ; - //(D.f[ dirBN ])[kb ] = fTS ; - //(D.f[ dirTS ])[ks ] = fBN ; + //(D.f[ E ])[k ] = fW ; + //(D.f[ W ])[kw ] = fE ; + //(D.f[ N ])[k ] = fS ; + //(D.f[ S ])[ks ] = fN ; + //(D.f[ T ])[k ] = fB ; + //(D.f[ B ])[kb ] = fT ; + //(D.f[ NE ])[k ] = fSW ; + //(D.f[ SW ])[ksw ] = fNE ; + //(D.f[ SE ])[ks ] = fNW ; + //(D.f[ NW ])[kw ] = fSE ; + //(D.f[ TE ])[k ] = fBW ; + //(D.f[ BW ])[kbw ] = fTE ; + //(D.f[ BE ])[kb ] = fTW ; + //(D.f[ TW ])[kw ] = fBE ; + //(D.f[ TN ])[k ] = fBS ; + //(D.f[ BS ])[kbs ] = fTN ; + //(D.f[ BN ])[kb ] = fTS ; + //(D.f[ TS ])[ks ] = fBN ; //(D.f[ dirREST])[k ] = fZERO ; - //(D.f[ dirTNE ])[k ] = fBSW ; - //(D.f[ dirTSE ])[ks ] = fBNW ; - //(D.f[ dirBNE ])[kb ] = fTSW ; - //(D.f[ dirBSE ])[kbs ] = fTNW ; - //(D.f[ dirTNW ])[kw ] = fBSE ; - //(D.f[ dirTSW ])[ksw ] = fBNE ; - //(D.f[ dirBNW ])[kbw ] = fTSE ; - //(D.f[ dirBSW ])[kbsw] = fTNE ; + //(D.f[ TNE ])[k ] = fBSW ; + //(D.f[ TSE ])[ks ] = fBNW ; + //(D.f[ BNE ])[kb ] = fTSW ; + //(D.f[ BSE ])[kbs ] = fTNW ; + //(D.f[ TNW ])[kw ] = fBSE ; + //(D.f[ TSW ])[ksw ] = fBNE ; + //(D.f[ BNW ])[kbw ] = fTSE ; + //(D.f[ BSW ])[kbsw] = fTNE ; } } } @@ -2344,63 +2344,63 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -2433,33 +2433,33 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_27( real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fE = (D.f[dirE ])[k ];//ke - real fW = (D.f[dirW ])[kw ]; - real fN = (D.f[dirN ])[k ];//kn - real fS = (D.f[dirS ])[ks ]; - real fT = (D.f[dirT ])[k ];//kt - real fB = (D.f[dirB ])[kb ]; - real fNE = (D.f[dirNE ])[k ];//kne - real fSW = (D.f[dirSW ])[ksw]; - real fSE = (D.f[dirSE ])[ks ];//kse - real fNW = (D.f[dirNW ])[kw ];//knw - real fTE = (D.f[dirTE ])[k ];//kte - real fBW = (D.f[dirBW ])[kbw]; - real fBE = (D.f[dirBE ])[kb ];//kbe - real fTW = (D.f[dirTW ])[kw ];//ktw - real fTN = (D.f[dirTN ])[k ];//ktn - real fBS = (D.f[dirBS ])[kbs]; - real fBN = (D.f[dirBN ])[kb ];//kbn - real fTS = (D.f[dirTS ])[ks ];//kts + real fE = (D.f[E ])[k ];//ke + real fW = (D.f[W ])[kw ]; + real fN = (D.f[N ])[k ];//kn + real fS = (D.f[S ])[ks ]; + real fT = (D.f[T ])[k ];//kt + real fB = (D.f[B ])[kb ]; + real fNE = (D.f[NE ])[k ];//kne + real fSW = (D.f[SW ])[ksw]; + real fSE = (D.f[SE ])[ks ];//kse + real fNW = (D.f[NW ])[kw ];//knw + real fTE = (D.f[TE ])[k ];//kte + real fBW = (D.f[BW ])[kbw]; + real fBE = (D.f[BE ])[kb ];//kbe + real fTW = (D.f[TW ])[kw ];//ktw + real fTN = (D.f[TN ])[k ];//ktn + real fBS = (D.f[BS ])[kbs]; + real fBN = (D.f[BN ])[kb ];//kbn + real fTS = (D.f[TS ])[ks ];//kts real fZERO = (D.f[dirREST])[k ];//kzero - real fTNE = (D.f[dirTNE ])[k ];//ktne - real fTSW = (D.f[dirTSW ])[ksw];//ktsw - real fTSE = (D.f[dirTSE ])[ks ];//ktse - real fTNW = (D.f[dirTNW ])[kw ];//ktnw - real fBNE = (D.f[dirBNE ])[kb ];//kbne - real fBSW = (D.f[dirBSW ])[kbsw]; - real fBSE = (D.f[dirBSE ])[kbs];//kbse - real fBNW = (D.f[dirBNW ])[kbw];//kbnw + real fTNE = (D.f[TNE ])[k ];//ktne + real fTSW = (D.f[TSW ])[ksw];//ktsw + real fTSE = (D.f[TSE ])[ks ];//ktse + real fTNW = (D.f[TNW ])[kw ];//ktnw + real fBNE = (D.f[BNE ])[kb ];//kbne + real fBSW = (D.f[BSW ])[kbsw]; + real fBSE = (D.f[BSE ])[kbs];//kbse + real fBNW = (D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real rho0 = fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW; real rho = rho0 + c1o1; @@ -2735,65 +2735,65 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_27( real omega, c2o1*(vx2y*MzYZZ + vx*MzXYYZZ + vz*MzXXYYZ + vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY + vy*MzXXYZZ + vy2z*MzXXZ)+ c4o1*(vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY + vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ); - (D.f[ dirE ])[k ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 - vx ); //ke - (D.f[ dirW ])[kw ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 + vx ); - (D.f[ dirN ])[k ] = c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 - vy ); //kn - (D.f[ dirS ])[ks ] = c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 + vy ); - (D.f[ dirT ])[k ] = c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 - vz ); //kt - (D.f[ dirB ])[kb ] = c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 + vz ); - (D.f[ dirNE ])[k ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne - (D.f[ dirSW ])[ksw ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); - (D.f[ dirSE ])[ks ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse - (D.f[ dirNW ])[kw ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw - (D.f[ dirTE ])[k ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte - (D.f[ dirBW ])[kbw ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); - (D.f[ dirBE ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe - (D.f[ dirTW ])[kw ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw - (D.f[ dirTN ])[k ] = c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn - (D.f[ dirBS ])[kbs ] = c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); - (D.f[ dirBN ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn - (D.f[ dirTS ])[ks ] = c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts + (D.f[ E ])[k ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 - vx ); //ke + (D.f[ W ])[kw ] = c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 + vx ); + (D.f[ N ])[k ] = c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 - vy ); //kn + (D.f[ S ])[ks ] = c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 + vy ); + (D.f[ T ])[k ] = c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 - vz ); //kt + (D.f[ B ])[kb ] = c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 + vz ); + (D.f[ NE ])[k ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne + (D.f[ SW ])[ksw ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); + (D.f[ SE ])[ks ] = c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse + (D.f[ NW ])[kw ] = c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw + (D.f[ TE ])[k ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte + (D.f[ BW ])[kbw ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); + (D.f[ BE ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe + (D.f[ TW ])[kw ] = c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw + (D.f[ TN ])[k ] = c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn + (D.f[ BS ])[kbs ] = c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); + (D.f[ BN ])[kb ] = c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn + (D.f[ TS ])[ks ] = c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts (D.f[ dirREST])[k ] = rho*(-mu200 + mu220 - mu222 + mu202 - mu020 + mu022 - mu002 )+rho0; //kzero - (D.f[ dirTNE ])[k ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne - (D.f[ dirTSE ])[ks ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse - (D.f[ dirBNE ])[kb ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne - (D.f[ dirBSE ])[kbs ] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse - (D.f[ dirTNW ])[kw ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw - (D.f[ dirTSW ])[ksw ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw - (D.f[ dirBNW ])[kbw ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw - (D.f[ dirBSW ])[kbsw] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); + (D.f[ TNE ])[k ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne + (D.f[ TSE ])[ks ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse + (D.f[ BNE ])[kb ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne + (D.f[ BSE ])[kbs ] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse + (D.f[ TNW ])[kw ] = c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw + (D.f[ TSW ])[ksw ] = c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw + (D.f[ BNW ])[kbw ] = c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw + (D.f[ BSW ])[kbsw] = c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); ////////////////////////////////////////////////////////////////////////// //BGK ////////////////////////////////////////////////////////////////////////// - //(D.f[ dirE ])[k ] = fW ; - //(D.f[ dirW ])[kw ] = fE ; - //(D.f[ dirN ])[k ] = fS ; - //(D.f[ dirS ])[ks ] = fN ; - //(D.f[ dirT ])[k ] = fB ; - //(D.f[ dirB ])[kb ] = fT ; - //(D.f[ dirNE ])[k ] = fSW ; - //(D.f[ dirSW ])[ksw ] = fNE ; - //(D.f[ dirSE ])[ks ] = fNW ; - //(D.f[ dirNW ])[kw ] = fSE ; - //(D.f[ dirTE ])[k ] = fBW ; - //(D.f[ dirBW ])[kbw ] = fTE ; - //(D.f[ dirBE ])[kb ] = fTW ; - //(D.f[ dirTW ])[kw ] = fBE ; - //(D.f[ dirTN ])[k ] = fBS ; - //(D.f[ dirBS ])[kbs ] = fTN ; - //(D.f[ dirBN ])[kb ] = fTS ; - //(D.f[ dirTS ])[ks ] = fBN ; + //(D.f[ E ])[k ] = fW ; + //(D.f[ W ])[kw ] = fE ; + //(D.f[ N ])[k ] = fS ; + //(D.f[ S ])[ks ] = fN ; + //(D.f[ T ])[k ] = fB ; + //(D.f[ B ])[kb ] = fT ; + //(D.f[ NE ])[k ] = fSW ; + //(D.f[ SW ])[ksw ] = fNE ; + //(D.f[ SE ])[ks ] = fNW ; + //(D.f[ NW ])[kw ] = fSE ; + //(D.f[ TE ])[k ] = fBW ; + //(D.f[ BW ])[kbw ] = fTE ; + //(D.f[ BE ])[kb ] = fTW ; + //(D.f[ TW ])[kw ] = fBE ; + //(D.f[ TN ])[k ] = fBS ; + //(D.f[ BS ])[kbs ] = fTN ; + //(D.f[ BN ])[kb ] = fTS ; + //(D.f[ TS ])[ks ] = fBN ; //(D.f[ dirREST])[k ] = fZERO ; - //(D.f[ dirTNE ])[k ] = fBSW ; - //(D.f[ dirTSE ])[ks ] = fBNW ; - //(D.f[ dirBNE ])[kb ] = fTSW ; - //(D.f[ dirBSE ])[kbs ] = fTNW ; - //(D.f[ dirTNW ])[kw ] = fBSE ; - //(D.f[ dirTSW ])[ksw ] = fBNE ; - //(D.f[ dirBNW ])[kbw ] = fTSE ; - //(D.f[ dirBSW ])[kbsw] = fTNE ; + //(D.f[ TNE ])[k ] = fBSW ; + //(D.f[ TSE ])[ks ] = fBNW ; + //(D.f[ BNE ])[kb ] = fTSW ; + //(D.f[ BSE ])[kbs ] = fTNW ; + //(D.f[ TNW ])[kw ] = fBSE ; + //(D.f[ TSW ])[ksw ] = fBNE ; + //(D.f[ BNW ])[kbw ] = fTSE ; + //(D.f[ BSW ])[kbsw] = fTNE ; } } } @@ -2869,63 +2869,63 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_Diff_27(real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -2958,33 +2958,33 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_Diff_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fE = (D.f[dirE ])[k ];//ke - real fW = (D.f[dirW ])[kw ]; - real fN = (D.f[dirN ])[k ];//kn - real fS = (D.f[dirS ])[ks ]; - real fT = (D.f[dirT ])[k ];//kt - real fB = (D.f[dirB ])[kb ]; - real fNE = (D.f[dirNE ])[k ];//kne - real fSW = (D.f[dirSW ])[ksw]; - real fSE = (D.f[dirSE ])[ks ];//kse - real fNW = (D.f[dirNW ])[kw ];//knw - real fTE = (D.f[dirTE ])[k ];//kte - real fBW = (D.f[dirBW ])[kbw]; - real fBE = (D.f[dirBE ])[kb ];//kbe - real fTW = (D.f[dirTW ])[kw ];//ktw - real fTN = (D.f[dirTN ])[k ];//ktn - real fBS = (D.f[dirBS ])[kbs]; - real fBN = (D.f[dirBN ])[kb ];//kbn - real fTS = (D.f[dirTS ])[ks ];//kts + real fE = (D.f[E ])[k ];//ke + real fW = (D.f[W ])[kw ]; + real fN = (D.f[N ])[k ];//kn + real fS = (D.f[S ])[ks ]; + real fT = (D.f[T ])[k ];//kt + real fB = (D.f[B ])[kb ]; + real fNE = (D.f[NE ])[k ];//kne + real fSW = (D.f[SW ])[ksw]; + real fSE = (D.f[SE ])[ks ];//kse + real fNW = (D.f[NW ])[kw ];//knw + real fTE = (D.f[TE ])[k ];//kte + real fBW = (D.f[BW ])[kbw]; + real fBE = (D.f[BE ])[kb ];//kbe + real fTW = (D.f[TW ])[kw ];//ktw + real fTN = (D.f[TN ])[k ];//ktn + real fBS = (D.f[BS ])[kbs]; + real fBN = (D.f[BN ])[kb ];//kbn + real fTS = (D.f[TS ])[ks ];//kts real fZERO = (D.f[dirREST])[k ];//kzero - real fTNE = (D.f[dirTNE ])[k ];//ktne - real fTSW = (D.f[dirTSW ])[ksw];//ktsw - real fTSE = (D.f[dirTSE ])[ks ];//ktse - real fTNW = (D.f[dirTNW ])[kw ];//ktnw - real fBNE = (D.f[dirBNE ])[kb ];//kbne - real fBSW = (D.f[dirBSW ])[kbsw]; - real fBSE = (D.f[dirBSE ])[kbs];//kbse - real fBNW = (D.f[dirBNW ])[kbw];//kbnw + real fTNE = (D.f[TNE ])[k ];//ktne + real fTSW = (D.f[TSW ])[ksw];//ktsw + real fTSE = (D.f[TSE ])[ks ];//ktse + real fTNW = (D.f[TNW ])[kw ];//ktnw + real fBNE = (D.f[BNE ])[kb ];//kbne + real fBSW = (D.f[BSW ])[kbsw]; + real fBSE = (D.f[BSE ])[kbs];//kbse + real fBNW = (D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real rho0 = fZERO+fE+fW+fN+fS+fT+fB+fNE+fSW+fSE+fNW+fTE+fBW+fBE+fTW+fTN+fBS+fBN+fTS+fTNE+fTSW+fTSE+fTNW+fBNE+fBSW+fBSE+fBNW; real rho = rho0 + c1o1; @@ -3257,65 +3257,65 @@ extern "C" __global__ void LB_Kernel_Casc_SP_MS_Diff_27(real omega, c2o1*(vx2y*MzYZZ + vx*MzXYYZZ + vz*MzXXYYZ + vyz2*MzXXY + vx2z*MzYYZ + vxy2*MzXZZ + vxz2*MzXYY + vy*MzXXYZZ + vy2z*MzXXZ)+ c4o1*(vxy2z*MzXZ + vx2yz*MzYZ + vxyz2*MzXY + vxy*MzXYZZ + vxz*MzXYYZ + vyz*MzXXYZ); - (D.f[ dirE ])[k ] = fW - c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 ); //ke - (D.f[ dirW ])[kw ] = fE - c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 ); - (D.f[ dirN ])[k ] = fS - c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 ); //kn - (D.f[ dirS ])[ks ] = fN - c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 ); - (D.f[ dirT ])[k ] = fB - c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 ); //kt - (D.f[ dirB ])[kb ] = fT - c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 ); - (D.f[ dirNE ])[k ] = fSW - c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne - (D.f[ dirSW ])[ksw ] = fNE - c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); - (D.f[ dirSE ])[ks ] = fNW - c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse - (D.f[ dirNW ])[kw ] = fSE - c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw - (D.f[ dirTE ])[k ] = fBW - c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte - (D.f[ dirBW ])[kbw ] = fTE - c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); - (D.f[ dirBE ])[kb ] = fTW - c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe - (D.f[ dirTW ])[kw ] = fBE - c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw - (D.f[ dirTN ])[k ] = fBS - c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn - (D.f[ dirBS ])[kbs ] = fTN - c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); - (D.f[ dirBN ])[kb ] = fTS - c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn - (D.f[ dirTS ])[ks ] = fBN - c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts + (D.f[ E ])[k ] = fW - c1o2*rho*( mu200 - mu220 + mu222 - mu202 + mu120 - mu122 + mu102 ); //ke + (D.f[ W ])[kw ] = fE - c1o2*rho*( mu200 - mu220 + mu222 - mu202 - mu120 + mu122 - mu102 ); + (D.f[ N ])[k ] = fS - c1o2*rho*( mu210 - mu220 + mu222 - mu212 + mu020 - mu022 + mu012 ); //kn + (D.f[ S ])[ks ] = fN - c1o2*rho*(-mu210 - mu220 + mu222 + mu212 + mu020 - mu022 - mu012 ); + (D.f[ T ])[k ] = fB - c1o2*rho*(-mu221 + mu222 + mu201 - mu202 + mu021 - mu022 + mu002 ); //kt + (D.f[ B ])[kb ] = fT - c1o2*rho*( mu221 + mu222 - mu201 - mu202 - mu021 - mu022 + mu002 ); + (D.f[ NE ])[k ] = fSW - c1o4*rho*(-mu210 + mu220 - mu222 + mu212 + mu110 - mu120 + mu122 - mu112); //kne + (D.f[ SW ])[ksw ] = fNE - c1o4*rho*( mu210 + mu220 - mu222 - mu212 + mu110 + mu120 - mu122 - mu112); + (D.f[ SE ])[ks ] = fNW - c1o4*rho*( mu210 + mu220 - mu222 - mu212 - mu110 - mu120 + mu122 + mu112); //kse + (D.f[ NW ])[kw ] = fSE - c1o4*rho*(-mu210 + mu220 - mu222 + mu212 - mu110 + mu120 - mu122 + mu112); //knw + (D.f[ TE ])[k ] = fBW - c1o4*rho*( mu221 - mu222 - mu201 + mu202 - mu121 + mu122 + mu101 - mu102); //kte + (D.f[ BW ])[kbw ] = fTE - c1o4*rho*(-mu221 - mu222 + mu201 + mu202 - mu121 - mu122 + mu101 + mu102); + (D.f[ BE ])[kb ] = fTW - c1o4*rho*(-mu221 - mu222 + mu201 + mu202 + mu121 + mu122 - mu101 - mu102); //kbe + (D.f[ TW ])[kw ] = fBE - c1o4*rho*( mu221 - mu222 - mu201 + mu202 + mu121 - mu122 - mu101 + mu102); //ktw + (D.f[ TN ])[k ] = fBS - c1o4*rho*( mu221 - mu222 - mu211 + mu212 - mu021 + mu022 + mu011 - mu012); //ktn + (D.f[ BS ])[kbs ] = fTN - c1o4*rho*(-mu221 - mu222 - mu211 - mu212 + mu021 + mu022 + mu011 + mu012); + (D.f[ BN ])[kb ] = fTS - c1o4*rho*(-mu221 - mu222 + mu211 + mu212 + mu021 + mu022 - mu011 - mu012); //kbn + (D.f[ TS ])[ks ] = fBN - c1o4*rho*( mu221 - mu222 + mu211 - mu212 - mu021 + mu022 - mu011 + mu012); //kts (D.f[ dirREST])[k ] = fZERO - rho*(-mu200 + mu220 - mu222 + mu202 - mu020 + mu022 - mu002 ); //kzero - (D.f[ dirTNE ])[k ] = fBSW - c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne - (D.f[ dirTSE ])[ks ] = fBNW - c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse - (D.f[ dirBNE ])[kb ] = fTSW - c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne - (D.f[ dirBSE ])[kbs ] = fTNW - c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse - (D.f[ dirTNW ])[kw ] = fBSE - c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw - (D.f[ dirTSW ])[ksw ] = fBNE - c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw - (D.f[ dirBNW ])[kbw ] = fTSE - c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw - (D.f[ dirBSW ])[kbsw] = fTNE - c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); + (D.f[ TNE ])[k ] = fBSW - c1o8*rho*(-mu221 + mu222 + mu211 - mu212 + mu121 - mu122 - mu111 + mu112); //ktne + (D.f[ TSE ])[ks ] = fBNW - c1o8*rho*(-mu221 + mu222 - mu211 + mu212 + mu121 - mu122 + mu111 - mu112); //ktse + (D.f[ BNE ])[kb ] = fTSW - c1o8*rho*( mu221 + mu222 - mu211 - mu212 - mu121 - mu122 + mu111 + mu112); //kbne + (D.f[ BSE ])[kbs ] = fTNW - c1o8*rho*( mu221 + mu222 + mu211 + mu212 - mu121 - mu122 - mu111 - mu112); //kbse + (D.f[ TNW ])[kw ] = fBSE - c1o8*rho*(-mu221 + mu222 + mu211 - mu212 - mu121 + mu122 + mu111 - mu112); //ktnw + (D.f[ TSW ])[ksw ] = fBNE - c1o8*rho*(-mu221 + mu222 - mu211 + mu212 - mu121 + mu122 - mu111 + mu112); //ktsw + (D.f[ BNW ])[kbw ] = fTSE - c1o8*rho*( mu221 + mu222 - mu211 - mu212 + mu121 + mu122 - mu111 - mu112); //kbnw + (D.f[ BSW ])[kbsw] = fTNE - c1o8*rho*( mu221 + mu222 + mu211 + mu212 + mu121 + mu122 + mu111 + mu112); ////////////////////////////////////////////////////////////////////////// //BGK ////////////////////////////////////////////////////////////////////////// - //(D.f[ dirE ])[k ] = fW ; - //(D.f[ dirW ])[kw ] = fE ; - //(D.f[ dirN ])[k ] = fS ; - //(D.f[ dirS ])[ks ] = fN ; - //(D.f[ dirT ])[k ] = fB ; - //(D.f[ dirB ])[kb ] = fT ; - //(D.f[ dirNE ])[k ] = fSW ; - //(D.f[ dirSW ])[ksw ] = fNE ; - //(D.f[ dirSE ])[ks ] = fNW ; - //(D.f[ dirNW ])[kw ] = fSE ; - //(D.f[ dirTE ])[k ] = fBW ; - //(D.f[ dirBW ])[kbw ] = fTE ; - //(D.f[ dirBE ])[kb ] = fTW ; - //(D.f[ dirTW ])[kw ] = fBE ; - //(D.f[ dirTN ])[k ] = fBS ; - //(D.f[ dirBS ])[kbs ] = fTN ; - //(D.f[ dirBN ])[kb ] = fTS ; - //(D.f[ dirTS ])[ks ] = fBN ; + //(D.f[ E ])[k ] = fW ; + //(D.f[ W ])[kw ] = fE ; + //(D.f[ N ])[k ] = fS ; + //(D.f[ S ])[ks ] = fN ; + //(D.f[ T ])[k ] = fB ; + //(D.f[ B ])[kb ] = fT ; + //(D.f[ NE ])[k ] = fSW ; + //(D.f[ SW ])[ksw ] = fNE ; + //(D.f[ SE ])[ks ] = fNW ; + //(D.f[ NW ])[kw ] = fSE ; + //(D.f[ TE ])[k ] = fBW ; + //(D.f[ BW ])[kbw ] = fTE ; + //(D.f[ BE ])[kb ] = fTW ; + //(D.f[ TW ])[kw ] = fBE ; + //(D.f[ TN ])[k ] = fBS ; + //(D.f[ BS ])[kbs ] = fTN ; + //(D.f[ BN ])[kb ] = fTS ; + //(D.f[ TS ])[ks ] = fBN ; //(D.f[ dirREST])[k ] = fZERO ; - //(D.f[ dirTNE ])[k ] = fBSW ; - //(D.f[ dirTSE ])[ks ] = fBNW ; - //(D.f[ dirBNE ])[kb ] = fTSW ; - //(D.f[ dirBSE ])[kbs ] = fTNW ; - //(D.f[ dirTNW ])[kw ] = fBSE ; - //(D.f[ dirTSW ])[ksw ] = fBNE ; - //(D.f[ dirBNW ])[kbw ] = fTSE ; - //(D.f[ dirBSW ])[kbsw] = fTNE ; + //(D.f[ TNE ])[k ] = fBSW ; + //(D.f[ TSE ])[ks ] = fBNW ; + //(D.f[ BNE ])[kb ] = fTSW ; + //(D.f[ BSE ])[kbs ] = fTNW ; + //(D.f[ TNW ])[kw ] = fBSE ; + //(D.f[ TSW ])[ksw ] = fBNE ; + //(D.f[ BNW ])[kbw ] = fTSE ; + //(D.f[ BSW ])[kbsw] = fTNE ; } } } @@ -3391,63 +3391,63 @@ extern "C" __global__ void LB_Kernel_Casc_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -3510,33 +3510,33 @@ extern "C" __global__ void LB_Kernel_Casc_SP_27( real omega, ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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_ZERO, f_TNE,f_TNW,f_TSE,f_TSW, f_BNE,f_BNW,f_BSE,f_BSW; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - f_E = (D.f[dirE ])[ke]+c2o27; - f_W = (D.f[dirW ])[kw]+c2o27; - f_N = (D.f[dirN ])[kn]+c2o27; - f_S = (D.f[dirS ])[ks]+c2o27; - f_T = (D.f[dirT ])[kt]+c2o27; - f_B = (D.f[dirB ])[kb]+c2o27; - f_NE = (D.f[dirNE ])[kne]+c1o54; - f_SW = (D.f[dirSW ])[ksw]+c1o54; - f_SE = (D.f[dirSE ])[kse]+c1o54; - f_NW = (D.f[dirNW ])[knw]+c1o54; - f_TE = (D.f[dirTE ])[kte]+c1o54; - f_BW = (D.f[dirBW ])[kbw]+c1o54; - f_BE = (D.f[dirBE ])[kbe]+c1o54; - f_TW = (D.f[dirTW ])[ktw]+c1o54; - f_TN = (D.f[dirTN ])[ktn]+c1o54; - f_BS = (D.f[dirBS ])[kbs]+c1o54; - f_BN = (D.f[dirBN ])[kbn]+c1o54; - f_TS = (D.f[dirTS ])[kts]+c1o54; + f_E = (D.f[E ])[ke]+c2o27; + f_W = (D.f[W ])[kw]+c2o27; + f_N = (D.f[N ])[kn]+c2o27; + f_S = (D.f[S ])[ks]+c2o27; + f_T = (D.f[T ])[kt]+c2o27; + f_B = (D.f[B ])[kb]+c2o27; + f_NE = (D.f[NE ])[kne]+c1o54; + f_SW = (D.f[SW ])[ksw]+c1o54; + f_SE = (D.f[SE ])[kse]+c1o54; + f_NW = (D.f[NW ])[knw]+c1o54; + f_TE = (D.f[TE ])[kte]+c1o54; + f_BW = (D.f[BW ])[kbw]+c1o54; + f_BE = (D.f[BE ])[kbe]+c1o54; + f_TW = (D.f[TW ])[ktw]+c1o54; + f_TN = (D.f[TN ])[ktn]+c1o54; + f_BS = (D.f[BS ])[kbs]+c1o54; + f_BN = (D.f[BN ])[kbn]+c1o54; + f_TS = (D.f[TS ])[kts]+c1o54; f_ZERO = (D.f[dirREST])[kzero]+c8o27; - f_TNE = (D.f[dirTNE ])[ktne]+c1o216; - f_TSW = (D.f[dirTSW ])[ktsw]+c1o216; - f_TSE = (D.f[dirTSE ])[ktse]+c1o216; - f_TNW = (D.f[dirTNW ])[ktnw]+c1o216; - f_BNE = (D.f[dirBNE ])[kbne]+c1o216; - f_BSW = (D.f[dirBSW ])[kbsw]+c1o216; - f_BSE = (D.f[dirBSE ])[kbse]+c1o216; - f_BNW = (D.f[dirBNW ])[kbnw]+c1o216; + f_TNE = (D.f[TNE ])[ktne]+c1o216; + f_TSW = (D.f[TSW ])[ktsw]+c1o216; + f_TSE = (D.f[TSE ])[ktse]+c1o216; + f_TNW = (D.f[TNW ])[ktnw]+c1o216; + f_BNE = (D.f[BNE ])[kbne]+c1o216; + f_BSW = (D.f[BSW ])[kbsw]+c1o216; + f_BSE = (D.f[BSE ])[kbse]+c1o216; + f_BNW = (D.f[BNW ])[kbnw]+c1o216; //////////////////////////////////////////////////////////////////////////////// if( BC == GEO_FLUID || BC == GEO_VELO) @@ -3975,38 +3975,38 @@ extern "C" __global__ void LB_Kernel_Casc_SP_27( real omega, } } - (D.f[ dirE ])[ke ] = f_W-c2o27; - (D.f[ dirW ])[kw ] = f_E-c2o27; + (D.f[ E ])[ke ] = f_W-c2o27; + (D.f[ W ])[kw ] = f_E-c2o27; - (D.f[ dirN ])[kn ] = f_S-c2o27; - (D.f[ dirS ])[ks ] = f_N-c2o27; - (D.f[ dirT ])[kt ] = f_B-c2o27; - (D.f[ dirB ])[kb ] = f_T-c2o27; + (D.f[ N ])[kn ] = f_S-c2o27; + (D.f[ S ])[ks ] = f_N-c2o27; + (D.f[ T ])[kt ] = f_B-c2o27; + (D.f[ B ])[kb ] = f_T-c2o27; - (D.f[ dirNE ])[kne] = f_SW-c1o54; - (D.f[ dirSW ])[ksw] = f_NE-c1o54; - (D.f[ dirSE ])[kse] = f_NW-c1o54; - (D.f[ dirNW ])[knw] = f_SE-c1o54; - (D.f[ dirTE ])[kte] = f_BW-c1o54; - (D.f[ dirBW ])[kbw] = f_TE-c1o54; - (D.f[ dirBE ])[kbe] = f_TW-c1o54; - (D.f[ dirTW ])[ktw] = f_BE-c1o54; + (D.f[ NE ])[kne] = f_SW-c1o54; + (D.f[ SW ])[ksw] = f_NE-c1o54; + (D.f[ SE ])[kse] = f_NW-c1o54; + (D.f[ NW ])[knw] = f_SE-c1o54; + (D.f[ TE ])[kte] = f_BW-c1o54; + (D.f[ BW ])[kbw] = f_TE-c1o54; + (D.f[ BE ])[kbe] = f_TW-c1o54; + (D.f[ TW ])[ktw] = f_BE-c1o54; - (D.f[ dirTN ])[ktn] = f_BS-c1o54; - (D.f[ dirBS ])[kbs] = f_TN-c1o54; - (D.f[ dirBN ])[kbn] = f_TS-c1o54; - (D.f[ dirTS ])[kts] = f_BN-c1o54; + (D.f[ TN ])[ktn] = f_BS-c1o54; + (D.f[ BS ])[kbs] = f_TN-c1o54; + (D.f[ BN ])[kbn] = f_TS-c1o54; + (D.f[ TS ])[kts] = f_BN-c1o54; (D.f[ dirREST])[k] = f_ZERO-c8o27; - (D.f[ dirTNE ])[ktne] = f_BSW-c1o216; - (D.f[ dirTSE ])[ktse] = f_BNW-c1o216; - (D.f[ dirBNE ])[kbne] = f_TSW-c1o216; - (D.f[ dirBSE ])[kbse] = f_TNW-c1o216; - (D.f[ dirTNW ])[ktnw] = f_BSE-c1o216; - (D.f[ dirTSW ])[ktsw] = f_BNE-c1o216; - (D.f[ dirBNW ])[kbnw] = f_TSE-c1o216; - (D.f[ dirBSW ])[kbsw] = f_TNE-c1o216; + (D.f[ TNE ])[ktne] = f_BSW-c1o216; + (D.f[ TSE ])[ktse] = f_BNW-c1o216; + (D.f[ BNE ])[kbne] = f_TSW-c1o216; + (D.f[ BSE ])[kbse] = f_TNW-c1o216; + (D.f[ TNW ])[ktnw] = f_BSE-c1o216; + (D.f[ TSW ])[ktsw] = f_BNE-c1o216; + (D.f[ BNW ])[kbnw] = f_TSE-c1o216; + (D.f[ BSW ])[kbsw] = f_TNE-c1o216; } __syncthreads(); } @@ -4087,63 +4087,63 @@ extern "C" __global__ void LB_Kernel_Casc27(real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -4206,33 +4206,33 @@ extern "C" __global__ void LB_Kernel_Casc27(real omega, ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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_ZERO, f_TNE,f_TNW,f_TSE,f_TSW, f_BNE,f_BNW,f_BSE,f_BSW; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - f_E = (D.f[dirE ])[ke]+c2o27; - f_W = (D.f[dirW ])[kw]+c2o27; - f_N = (D.f[dirN ])[kn]+c2o27; - f_S = (D.f[dirS ])[ks]+c2o27; - f_T = (D.f[dirT ])[kt]+c2o27; - f_B = (D.f[dirB ])[kb]+c2o27; - f_NE = (D.f[dirNE ])[kne]+c1o54; - f_SW = (D.f[dirSW ])[ksw]+c1o54; - f_SE = (D.f[dirSE ])[kse]+c1o54; - f_NW = (D.f[dirNW ])[knw]+c1o54; - f_TE = (D.f[dirTE ])[kte]+c1o54; - f_BW = (D.f[dirBW ])[kbw]+c1o54; - f_BE = (D.f[dirBE ])[kbe]+c1o54; - f_TW = (D.f[dirTW ])[ktw]+c1o54; - f_TN = (D.f[dirTN ])[ktn]+c1o54; - f_BS = (D.f[dirBS ])[kbs]+c1o54; - f_BN = (D.f[dirBN ])[kbn]+c1o54; - f_TS = (D.f[dirTS ])[kts]+c1o54; + f_E = (D.f[E ])[ke]+c2o27; + f_W = (D.f[W ])[kw]+c2o27; + f_N = (D.f[N ])[kn]+c2o27; + f_S = (D.f[S ])[ks]+c2o27; + f_T = (D.f[T ])[kt]+c2o27; + f_B = (D.f[B ])[kb]+c2o27; + f_NE = (D.f[NE ])[kne]+c1o54; + f_SW = (D.f[SW ])[ksw]+c1o54; + f_SE = (D.f[SE ])[kse]+c1o54; + f_NW = (D.f[NW ])[knw]+c1o54; + f_TE = (D.f[TE ])[kte]+c1o54; + f_BW = (D.f[BW ])[kbw]+c1o54; + f_BE = (D.f[BE ])[kbe]+c1o54; + f_TW = (D.f[TW ])[ktw]+c1o54; + f_TN = (D.f[TN ])[ktn]+c1o54; + f_BS = (D.f[BS ])[kbs]+c1o54; + f_BN = (D.f[BN ])[kbn]+c1o54; + f_TS = (D.f[TS ])[kts]+c1o54; f_ZERO = (D.f[dirREST])[kzero]+c8o27; - f_TNE = (D.f[dirTNE ])[ktne]+c1o216; - f_TSW = (D.f[dirTSW ])[ktsw]+c1o216; - f_TSE = (D.f[dirTSE ])[ktse]+c1o216; - f_TNW = (D.f[dirTNW ])[ktnw]+c1o216; - f_BNE = (D.f[dirBNE ])[kbne]+c1o216; - f_BSW = (D.f[dirBSW ])[kbsw]+c1o216; - f_BSE = (D.f[dirBSE ])[kbse]+c1o216; - f_BNW = (D.f[dirBNW ])[kbnw]+c1o216; + f_TNE = (D.f[TNE ])[ktne]+c1o216; + f_TSW = (D.f[TSW ])[ktsw]+c1o216; + f_TSE = (D.f[TSE ])[ktse]+c1o216; + f_TNW = (D.f[TNW ])[ktnw]+c1o216; + f_BNE = (D.f[BNE ])[kbne]+c1o216; + f_BSW = (D.f[BSW ])[kbsw]+c1o216; + f_BSE = (D.f[BSE ])[kbse]+c1o216; + f_BNW = (D.f[BNW ])[kbnw]+c1o216; //////////////////////////////////////////////////////////////////////////////// if( BC == GEO_FLUID || BC == GEO_VELO) @@ -4671,38 +4671,38 @@ extern "C" __global__ void LB_Kernel_Casc27(real omega, } } - (D.f[ dirE ])[ke ] = f_W-c2o27; - (D.f[ dirW ])[kw ] = f_E-c2o27; + (D.f[ E ])[ke ] = f_W-c2o27; + (D.f[ W ])[kw ] = f_E-c2o27; - (D.f[ dirN ])[kn ] = f_S-c2o27; - (D.f[ dirS ])[ks ] = f_N-c2o27; - (D.f[ dirT ])[kt ] = f_B-c2o27; - (D.f[ dirB ])[kb ] = f_T-c2o27; + (D.f[ N ])[kn ] = f_S-c2o27; + (D.f[ S ])[ks ] = f_N-c2o27; + (D.f[ T ])[kt ] = f_B-c2o27; + (D.f[ B ])[kb ] = f_T-c2o27; - (D.f[ dirNE ])[kne] = f_SW-c1o54; - (D.f[ dirSW ])[ksw] = f_NE-c1o54; - (D.f[ dirSE ])[kse] = f_NW-c1o54; - (D.f[ dirNW ])[knw] = f_SE-c1o54; - (D.f[ dirTE ])[kte] = f_BW-c1o54; - (D.f[ dirBW ])[kbw] = f_TE-c1o54; - (D.f[ dirBE ])[kbe] = f_TW-c1o54; - (D.f[ dirTW ])[ktw] = f_BE-c1o54; + (D.f[ NE ])[kne] = f_SW-c1o54; + (D.f[ SW ])[ksw] = f_NE-c1o54; + (D.f[ SE ])[kse] = f_NW-c1o54; + (D.f[ NW ])[knw] = f_SE-c1o54; + (D.f[ TE ])[kte] = f_BW-c1o54; + (D.f[ BW ])[kbw] = f_TE-c1o54; + (D.f[ BE ])[kbe] = f_TW-c1o54; + (D.f[ TW ])[ktw] = f_BE-c1o54; - (D.f[ dirTN ])[ktn] = f_BS-c1o54; - (D.f[ dirBS ])[kbs] = f_TN-c1o54; - (D.f[ dirBN ])[kbn] = f_TS-c1o54; - (D.f[ dirTS ])[kts] = f_BN-c1o54; + (D.f[ TN ])[ktn] = f_BS-c1o54; + (D.f[ BS ])[kbs] = f_TN-c1o54; + (D.f[ BN ])[kbn] = f_TS-c1o54; + (D.f[ TS ])[kts] = f_BN-c1o54; (D.f[ dirREST])[k] = f_ZERO-c8o27; - (D.f[ dirTNE ])[ktne] = f_BSW-c1o216; - (D.f[ dirTSE ])[ktse] = f_BNW-c1o216; - (D.f[ dirBNE ])[kbne] = f_TSW-c1o216; - (D.f[ dirBSE ])[kbse] = f_TNW-c1o216; - (D.f[ dirTNW ])[ktnw] = f_BSE-c1o216; - (D.f[ dirTSW ])[ktsw] = f_BNE-c1o216; - (D.f[ dirBNW ])[kbnw] = f_TSE-c1o216; - (D.f[ dirBSW ])[kbsw] = f_TNE-c1o216; + (D.f[ TNE ])[ktne] = f_BSW-c1o216; + (D.f[ TSE ])[ktse] = f_BNW-c1o216; + (D.f[ BNE ])[kbne] = f_TSW-c1o216; + (D.f[ BSE ])[kbse] = f_TNW-c1o216; + (D.f[ TNW ])[ktnw] = f_BSE-c1o216; + (D.f[ TSW ])[ktsw] = f_BNE-c1o216; + (D.f[ BNW ])[kbnw] = f_TSE-c1o216; + (D.f[ BSW ])[kbsw] = f_TNE-c1o216; } __syncthreads(); } diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu index 8765a7e78..b0ba7b052 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27.cu @@ -47,63 +47,63 @@ extern "C" __global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -136,33 +136,33 @@ extern "C" __global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW ])[kw ];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS ])[ks ];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB ])[kb ];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW ])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW ])[kw ];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE ])[k ];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW ])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW ])[kw ];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN ])[k ];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS ])[ks ];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E ])[k ];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W ])[kw ];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S ])[ks ];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B ])[kb ];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW ])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW ])[kw ];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE ])[k ];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW ])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW ])[kw ];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN ])[k ];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS ])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS ])[ks ];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k ];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE ])[k ];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE ])[k ];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW ])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE ])[ks ];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW ])[kw ];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE ])[kb ];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW ])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -893,33 +893,33 @@ extern "C" __global__ void LB_Kernel_Kum_AA2016_Comp_Bulk_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[ dirW ])[kw ] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[ dirN ])[k ] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[ dirS ])[ks ] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[ dirT ])[k ] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[ dirB ])[kb ] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[ dirNE ])[k ] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[ dirSW ])[ksw ] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[ dirSE ])[ks ] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[ dirNW ])[kw ] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[ dirTE ])[k ] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[ dirBW ])[kbw ] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[ dirBE ])[kb ] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[ dirTW ])[kw ] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[ dirTN ])[k ] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[ dirBS ])[kbs ] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[ dirBN ])[kb ] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[ dirTS ])[ks ] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[ E ])[k ] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[ W ])[kw ] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[ N ])[k ] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[ S ])[ks ] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[ T ])[k ] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[ B ])[kb ] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[ NE ])[k ] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[ SW ])[ksw ] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[ SE ])[ks ] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[ NW ])[kw ] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[ TE ])[k ] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[ BW ])[kbw ] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[ BE ])[kb ] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[ TW ])[kw ] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[ TN ])[k ] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[ BS ])[kbs ] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[ BN ])[kb ] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[ TS ])[ks ] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[ dirREST])[k ] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[ dirTNE ])[k ] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[ dirTSE ])[ks ] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[ dirBNE ])[kb ] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[ dirBSE ])[kbs ] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[ dirTNW ])[kw ] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[ dirTSW ])[ksw ] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[ dirBNW ])[kbw ] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[ dirBSW ])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[ TNE ])[k ] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[ TSE ])[ks ] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[ BNE ])[kb ] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[ BSE ])[kbs ] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[ TNW ])[kw ] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[ TSW ])[ksw ] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[ BNW ])[kbw ] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[ BSW ])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -999,63 +999,63 @@ extern "C" __global__ void LB_Kernel_Kum_IsoTest_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -1088,33 +1088,33 @@ extern "C" __global__ void LB_Kernel_Kum_IsoTest_SP_27( real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW ])[kw ];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS ])[ks ];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB ])[kb ];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW ])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW ])[kw ];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE ])[k ];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW ])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW ])[kw ];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN ])[k ];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS ])[ks ];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E ])[k ];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W ])[kw ];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S ])[ks ];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B ])[kb ];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW ])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW ])[kw ];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE ])[k ];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW ])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW ])[kw ];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN ])[k ];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS ])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS ])[ks ];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k ];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE ])[k ];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE ])[k ];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW ])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE ])[ks ];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW ])[kw ];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE ])[kb ];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW ])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -1932,33 +1932,33 @@ extern "C" __global__ void LB_Kernel_Kum_IsoTest_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[ dirW ])[kw ] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[ dirN ])[k ] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[ dirS ])[ks ] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[ dirT ])[k ] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[ dirB ])[kb ] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[ dirNE ])[k ] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[ dirSW ])[ksw ] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[ dirSE ])[ks ] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[ dirNW ])[kw ] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[ dirTE ])[k ] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[ dirBW ])[kbw ] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[ dirBE ])[kb ] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[ dirTW ])[kw ] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[ dirTN ])[k ] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[ dirBS ])[kbs ] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[ dirBN ])[kb ] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[ dirTS ])[ks ] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[ E ])[k ] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[ W ])[kw ] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[ N ])[k ] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[ S ])[ks ] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[ T ])[k ] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[ B ])[kb ] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[ NE ])[k ] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[ SW ])[ksw ] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[ SE ])[ks ] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[ NW ])[kw ] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[ TE ])[k ] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[ BW ])[kbw ] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[ BE ])[kb ] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[ TW ])[kw ] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[ TN ])[k ] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[ BS ])[kbs ] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[ BN ])[kb ] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[ TS ])[ks ] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[ dirREST])[k ] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[ dirTNE ])[k ] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[ dirTSE ])[ks ] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[ dirBNE ])[kb ] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[ dirBSE ])[kbs ] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[ dirTNW ])[kw ] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[ dirTSW ])[ksw ] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[ dirBNW ])[kbw ] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[ dirBSW ])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[ TNE ])[k ] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[ TSE ])[ks ] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[ BNE ])[kb ] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[ BSE ])[kbs ] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[ TNW ])[kw ] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[ TSW ])[ksw ] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[ BNW ])[kbw ] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[ BSW ])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -2040,63 +2040,63 @@ extern "C" __global__ void LB_Kernel_Kum_1h_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -2157,33 +2157,33 @@ extern "C" __global__ void LB_Kernel_Kum_1h_SP_27( real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW ])[kw ];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS ])[ks ];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB ])[kb ];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW ])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW ])[kw ];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE ])[k ];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW ])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW ])[kw ];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN ])[k ];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS ])[ks ];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E ])[k ];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W ])[kw ];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S ])[ks ];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B ])[kb ];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW ])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW ])[kw ];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE ])[k ];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW ])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW ])[kw ];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN ])[k ];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS ])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS ])[ks ];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k ];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE ])[k ];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE ])[k ];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW ])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE ])[ks ];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW ])[kw ];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE ])[kb ];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW ])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //Ship real coord0X = 281.125f;//7.5f; @@ -3159,33 +3159,33 @@ extern "C" __global__ void LB_Kernel_Kum_1h_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[ dirW ])[kw ] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[ dirN ])[k ] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[ dirS ])[ks ] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[ dirT ])[k ] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[ dirB ])[kb ] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[ dirNE ])[k ] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[ dirSW ])[ksw ] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[ dirSE ])[ks ] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[ dirNW ])[kw ] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[ dirTE ])[k ] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[ dirBW ])[kbw ] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[ dirBE ])[kb ] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[ dirTW ])[kw ] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[ dirTN ])[k ] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[ dirBS ])[kbs ] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[ dirBN ])[kb ] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[ dirTS ])[ks ] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[ E ])[k ] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[ W ])[kw ] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[ N ])[k ] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[ S ])[ks ] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[ T ])[k ] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[ B ])[kb ] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[ NE ])[k ] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[ SW ])[ksw ] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[ SE ])[ks ] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[ NW ])[kw ] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[ TE ])[k ] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[ BW ])[kbw ] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[ BE ])[kb ] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[ TW ])[kw ] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[ TN ])[k ] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[ BS ])[kbs ] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[ BN ])[kb ] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[ TS ])[ks ] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[ dirREST])[k ] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[ dirTNE ])[k ] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[ dirTSE ])[ks ] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[ dirBNE ])[kb ] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[ dirBSE ])[kbs ] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[ dirTNW ])[kw ] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[ dirTSW ])[ksw ] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[ dirBNW ])[kbw ] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[ dirBSW ])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[ TNE ])[k ] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[ TSE ])[ks ] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[ BNE ])[kb ] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[ BSE ])[kbs ] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[ TNW ])[kw ] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[ TSW ])[ksw ] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[ BNW ])[kbw ] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[ BSW ])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -3262,63 +3262,63 @@ extern "C" __global__ void LB_Kernel_Kum_New_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -3379,33 +3379,33 @@ extern "C" __global__ void LB_Kernel_Kum_New_SP_27( real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW ])[kw ];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS ])[ks ];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB ])[kb ];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW ])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW ])[kw ];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE ])[k ];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW ])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW ])[kw ];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN ])[k ];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS ])[ks ];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E ])[k ];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W ])[kw ];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S ])[ks ];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B ])[kb ];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW ])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW ])[kw ];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE ])[k ];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW ])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW ])[kw ];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN ])[k ];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS ])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS ])[ks ];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k ];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE ])[k ];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE ])[k ];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW ])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE ])[ks ];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW ])[kw ];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE ])[kb ];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW ])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -4431,33 +4431,33 @@ extern "C" __global__ void LB_Kernel_Kum_New_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[ dirW ])[kw ] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[ dirN ])[k ] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[ dirS ])[ks ] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[ dirT ])[k ] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[ dirB ])[kb ] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[ dirNE ])[k ] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[ dirSW ])[ksw ] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[ dirSE ])[ks ] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[ dirNW ])[kw ] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[ dirTE ])[k ] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[ dirBW ])[kbw ] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[ dirBE ])[kb ] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[ dirTW ])[kw ] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[ dirTN ])[k ] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[ dirBS ])[kbs ] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[ dirBN ])[kb ] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[ dirTS ])[ks ] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[ E ])[k ] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[ W ])[kw ] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[ N ])[k ] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[ S ])[ks ] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[ T ])[k ] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[ B ])[kb ] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[ NE ])[k ] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[ SW ])[ksw ] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[ SE ])[ks ] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[ NW ])[kw ] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[ TE ])[k ] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[ BW ])[kbw ] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[ BE ])[kb ] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[ TW ])[kw ] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[ TN ])[k ] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[ BS ])[kbs ] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[ BN ])[kb ] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[ TS ])[ks ] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[ dirREST])[k ] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[ dirTNE ])[k ] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[ dirTSE ])[ks ] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[ dirBNE ])[kb ] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[ dirBSE ])[kbs ] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[ dirTNW ])[kw ] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[ dirTSW ])[ksw ] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[ dirBNW ])[kbw ] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[ dirBSW ])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[ TNE ])[k ] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[ TSE ])[ks ] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[ BNE ])[kb ] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[ BSE ])[kbs ] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[ TNW ])[kw ] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[ TSW ])[ksw ] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[ BNW ])[kbw ] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[ BSW ])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -4534,63 +4534,63 @@ extern "C" __global__ void LB_Kernel_Kum_Comp_SP_27( real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -4623,33 +4623,33 @@ extern "C" __global__ void LB_Kernel_Kum_Comp_SP_27( real omega, unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real E = (D.f[dirE ])[ke ];// + c2over27 ; - real W = (D.f[dirW ])[kw ];// + c2over27 ; - real N = (D.f[dirN ])[kn ];// + c2over27 ; - real S = (D.f[dirS ])[ks ];// + c2over27 ; - real F = (D.f[dirT ])[kt ];// + c2over27 ; - real B = (D.f[dirB ])[kb ];// + c2over27 ; - real Ne = (D.f[dirNE ])[kne ];// + c1over54 ; - real Sw = (D.f[dirSW ])[ksw ];// + c1over54 ; - real Se = (D.f[dirSE ])[kse ];// + c1over54 ; - real Nw = (D.f[dirNW ])[knw ];// + c1over54 ; - real Ef = (D.f[dirTE ])[kte ];// + c1over54 ; - real Wb = (D.f[dirBW ])[kbw ];// + c1over54 ; - real Eb = (D.f[dirBE ])[kbe ];// + c1over54 ; - real Wf = (D.f[dirTW ])[ktw ];// + c1over54 ; - real Nf = (D.f[dirTN ])[ktn ];// + c1over54 ; - real Sb = (D.f[dirBS ])[kbs ];// + c1over54 ; - real Nb = (D.f[dirBN ])[kbn ];// + c1over54 ; - real Sf = (D.f[dirTS ])[kts ];// + c1over54 ; + real E = (D.f[E ])[ke ];// + c2over27 ; + real W = (D.f[W ])[kw ];// + c2over27 ; + real N = (D.f[N ])[kn ];// + c2over27 ; + real S = (D.f[S ])[ks ];// + c2over27 ; + real F = (D.f[T ])[kt ];// + c2over27 ; + real B = (D.f[B ])[kb ];// + c2over27 ; + real Ne = (D.f[NE ])[kne ];// + c1over54 ; + real Sw = (D.f[SW ])[ksw ];// + c1over54 ; + real Se = (D.f[SE ])[kse ];// + c1over54 ; + real Nw = (D.f[NW ])[knw ];// + c1over54 ; + real Ef = (D.f[TE ])[kte ];// + c1over54 ; + real Wb = (D.f[BW ])[kbw ];// + c1over54 ; + real Eb = (D.f[BE ])[kbe ];// + c1over54 ; + real Wf = (D.f[TW ])[ktw ];// + c1over54 ; + real Nf = (D.f[TN ])[ktn ];// + c1over54 ; + real Sb = (D.f[BS ])[kbs ];// + c1over54 ; + real Nb = (D.f[BN ])[kbn ];// + c1over54 ; + real Sf = (D.f[TS ])[kts ];// + c1over54 ; real R = (D.f[dirREST])[kzero];// + c8over27 ; - real Nef = (D.f[dirTNE ])[ktne ];// + c1over216; - real Swf = (D.f[dirTSW ])[ktsw ];// + c1over216; - real Sef = (D.f[dirTSE ])[ktse ];// + c1over216; - real Nwf = (D.f[dirTNW ])[ktnw ];// + c1over216; - real Neb = (D.f[dirBNE ])[kbne ];// + c1over216; - real Swb = (D.f[dirBSW ])[kbsw ];// + c1over216; - real Seb = (D.f[dirBSE ])[kbse ];// + c1over216; - real Nwb = (D.f[dirBNW ])[kbnw ];// + c1over216; + real Nef = (D.f[TNE ])[ktne ];// + c1over216; + real Swf = (D.f[TSW ])[ktsw ];// + c1over216; + real Sef = (D.f[TSE ])[ktse ];// + c1over216; + real Nwf = (D.f[TNW ])[ktnw ];// + c1over216; + real Neb = (D.f[BNE ])[kbne ];// + c1over216; + real Swb = (D.f[BSW ])[kbsw ];// + c1over216; + real Seb = (D.f[BSE ])[kbse ];// + c1over216; + real Nwb = (D.f[BNW ])[kbnw ];// + c1over216; //////////////////////////////////////////////////////////////////////////////////// real fx = c0o1; real fy = c0o1; @@ -5371,33 +5371,33 @@ extern "C" __global__ void LB_Kernel_Kum_Comp_SP_27( real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[ke ] = mfabb;// - c2over27 ;// - (D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; - (D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; - (D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; - (D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; - (D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; - (D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; - (D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; - (D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; - (D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; - (D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; - (D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; - (D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; - (D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; - (D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; - (D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; - (D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; - (D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; + (D.f[ E ])[ke ] = mfabb;// - c2over27 ;// + (D.f[ W ])[kw ] = mfcbb;// - c2over27 ; + (D.f[ N ])[kn ] = mfbab;// - c2over27 ; + (D.f[ S ])[ks ] = mfbcb;// - c2over27 ; + (D.f[ T ])[kt ] = mfbba;// - c2over27 ; + (D.f[ B ])[kb ] = mfbbc;// - c2over27 ; + (D.f[ NE ])[kne ] = mfaab;// - c1over54 ; + (D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; + (D.f[ SE ])[kse ] = mfacb;// - c1over54 ; + (D.f[ NW ])[knw ] = mfcab;// - c1over54 ; + (D.f[ TE ])[kte ] = mfaba;// - c1over54 ; + (D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; + (D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; + (D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; + (D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; + (D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; + (D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; + (D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; - (D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; - (D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; - (D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; - (D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; - (D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; - (D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; - (D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; - (D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; + (D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; + (D.f[ TSE ])[ktse ] = mfaca;// - c1over216; + (D.f[ BNE ])[kbne ] = mfaac;// - c1over216; + (D.f[ BSE ])[kbse ] = mfacc;// - c1over216; + (D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; + (D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; + (D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; + (D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; //////////////////////////////////////////////////////////////////////////////////// } } @@ -5477,63 +5477,63 @@ extern "C" __global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -5567,33 +5567,33 @@ extern "C" __global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw ]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw ]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs ]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw ]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw ]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs ]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw ]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs ]; - real mfaca = (D.f[dirBNW ])[kbw ]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw ]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs ]; + real mfaca = (D.f[BNW ])[kbw ]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -6348,33 +6348,33 @@ extern "C" __global__ void LB_Kernel_Kum_New_Comp_SRT_SP_27( ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; mfbbb += drho - drhoPost; //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE ])[k ] = mfabb; - (D.f[dirW ])[kw ] = mfcbb; - (D.f[dirN ])[k ] = mfbab; - (D.f[dirS ])[ks ] = mfbcb; - (D.f[dirT ])[k ] = mfbba; - (D.f[dirB ])[kb ] = mfbbc; - (D.f[dirNE ])[k ] = mfaab; - (D.f[dirSW ])[ksw ] = mfccb; - (D.f[dirSE ])[ks ] = mfacb; - (D.f[dirNW ])[kw ] = mfcab; - (D.f[dirTE ])[k ] = mfaba; - (D.f[dirBW ])[kbw ] = mfcbc; - (D.f[dirBE ])[kb ] = mfabc; - (D.f[dirTW ])[kw ] = mfcba; - (D.f[dirTN ])[k ] = mfbaa; - (D.f[dirBS ])[kbs ] = mfbcc; - (D.f[dirBN ])[kb ] = mfbac; - (D.f[dirTS ])[ks ] = mfbca; + (D.f[E ])[k ] = mfabb; + (D.f[W ])[kw ] = mfcbb; + (D.f[N ])[k ] = mfbab; + (D.f[S ])[ks ] = mfbcb; + (D.f[T ])[k ] = mfbba; + (D.f[B ])[kb ] = mfbbc; + (D.f[NE ])[k ] = mfaab; + (D.f[SW ])[ksw ] = mfccb; + (D.f[SE ])[ks ] = mfacb; + (D.f[NW ])[kw ] = mfcab; + (D.f[TE ])[k ] = mfaba; + (D.f[BW ])[kbw ] = mfcbc; + (D.f[BE ])[kb ] = mfabc; + (D.f[TW ])[kw ] = mfcba; + (D.f[TN ])[k ] = mfbaa; + (D.f[BS ])[kbs ] = mfbcc; + (D.f[BN ])[kb ] = mfbac; + (D.f[TS ])[ks ] = mfbca; (D.f[dirREST])[k ] = mfbbb; - (D.f[dirTNE ])[k ] = mfaaa; - (D.f[dirTSE ])[ks ] = mfaca; - (D.f[dirBNE ])[kb ] = mfaac; - (D.f[dirBSE ])[kbs ] = mfacc; - (D.f[dirTNW ])[kw ] = mfcaa; - (D.f[dirTSW ])[ksw ] = mfcca; - (D.f[dirBNW ])[kbw ] = mfcac; - (D.f[dirBSW ])[kbsw] = mfccc; + (D.f[TNE ])[k ] = mfaaa; + (D.f[TSE ])[ks ] = mfaca; + (D.f[BNE ])[kb ] = mfaac; + (D.f[BSE ])[kbs ] = mfacc; + (D.f[TNW ])[kw ] = mfcaa; + (D.f[TSW ])[ksw ] = mfcca; + (D.f[BNW ])[kbw ] = mfcac; + (D.f[BSW ])[kbsw] = mfccc; } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu index 14eb72fd9..577a0209c 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant27chim.cu @@ -76,63 +76,63 @@ extern "C" __global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_ Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -168,33 +168,33 @@ extern "C" __global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -884,33 +884,33 @@ extern "C" __global__ void Cumulant_One_preconditioned_errorDiffusion_chim_Comp_ // ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; //mfbbb += drho - drhoPost; //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -991,63 +991,63 @@ extern "C" __global__ void Cumulant_One_preconditioned_chim_Comp_SP_27( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -1083,33 +1083,33 @@ extern "C" __global__ void Cumulant_One_preconditioned_chim_Comp_SP_27( ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1680,33 +1680,33 @@ extern "C" __global__ void Cumulant_One_preconditioned_chim_Comp_SP_27( ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; mfbbb += drho - drhoPost; //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } @@ -1787,63 +1787,63 @@ extern "C" __global__ void Cumulant_One_chim_Comp_SP_27( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //index @@ -1855,33 +1855,33 @@ extern "C" __global__ void Cumulant_One_chim_Comp_SP_27( unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw ]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw ]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs ]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw ]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw ]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs ]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw ]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs ]; - real mfaca = (D.f[dirBNW ])[kbw ]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw ]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs ]; + real mfaca = (D.f[BNW ])[kbw ]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -2202,33 +2202,33 @@ extern "C" __global__ void Cumulant_One_chim_Comp_SP_27( ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; mfbbb += drho - drhoPost; //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE ])[k ] = mfabb; - (D.f[dirW ])[kw ] = mfcbb; - (D.f[dirN ])[k ] = mfbab; - (D.f[dirS ])[ks ] = mfbcb; - (D.f[dirT ])[k ] = mfbba; - (D.f[dirB ])[kb ] = mfbbc; - (D.f[dirNE ])[k ] = mfaab; - (D.f[dirSW ])[ksw ] = mfccb; - (D.f[dirSE ])[ks ] = mfacb; - (D.f[dirNW ])[kw ] = mfcab; - (D.f[dirTE ])[k ] = mfaba; - (D.f[dirBW ])[kbw ] = mfcbc; - (D.f[dirBE ])[kb ] = mfabc; - (D.f[dirTW ])[kw ] = mfcba; - (D.f[dirTN ])[k ] = mfbaa; - (D.f[dirBS ])[kbs ] = mfbcc; - (D.f[dirBN ])[kb ] = mfbac; - (D.f[dirTS ])[ks ] = mfbca; + (D.f[E ])[k ] = mfabb; + (D.f[W ])[kw ] = mfcbb; + (D.f[N ])[k ] = mfbab; + (D.f[S ])[ks ] = mfbcb; + (D.f[T ])[k ] = mfbba; + (D.f[B ])[kb ] = mfbbc; + (D.f[NE ])[k ] = mfaab; + (D.f[SW ])[ksw ] = mfccb; + (D.f[SE ])[ks ] = mfacb; + (D.f[NW ])[kw ] = mfcab; + (D.f[TE ])[k ] = mfaba; + (D.f[BW ])[kbw ] = mfcbc; + (D.f[BE ])[kb ] = mfabc; + (D.f[TW ])[kw ] = mfcba; + (D.f[TN ])[k ] = mfbaa; + (D.f[BS ])[kbs ] = mfbcc; + (D.f[BN ])[kb ] = mfbac; + (D.f[TS ])[ks ] = mfbca; (D.f[dirREST])[k ] = mfbbb; - (D.f[dirTNE ])[k ] = mfaaa; - (D.f[dirTSE ])[ks ] = mfaca; - (D.f[dirBNE ])[kb ] = mfaac; - (D.f[dirBSE ])[kbs ] = mfacc; - (D.f[dirTNW ])[kw ] = mfcaa; - (D.f[dirTSW ])[ksw ] = mfcca; - (D.f[dirBNW ])[kbw ] = mfcac; - (D.f[dirBSW ])[kbsw] = mfccc; + (D.f[TNE ])[k ] = mfaaa; + (D.f[TSE ])[ks ] = mfaca; + (D.f[BNE ])[kb ] = mfaac; + (D.f[BSE ])[kbs ] = mfacc; + (D.f[TNW ])[kw ] = mfcaa; + (D.f[TSW ])[ksw ] = mfcca; + (D.f[BNW ])[kbw ] = mfcac; + (D.f[BSW ])[kbsw] = mfccc; } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu b/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu index e6aaca2fa..e2df445c2 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Cumulant_F3_27.cu @@ -52,83 +52,83 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions6 G; if (EvenOrOdd == true) { - G.g[dirE] = &G6[dirE *size_Mat]; - G.g[dirW] = &G6[dirW *size_Mat]; - G.g[dirN] = &G6[dirN *size_Mat]; - G.g[dirS] = &G6[dirS *size_Mat]; - G.g[dirT] = &G6[dirT *size_Mat]; - G.g[dirB] = &G6[dirB *size_Mat]; + G.g[E] = &G6[E *size_Mat]; + G.g[W] = &G6[W *size_Mat]; + G.g[N] = &G6[N *size_Mat]; + G.g[S] = &G6[S *size_Mat]; + G.g[T] = &G6[T *size_Mat]; + G.g[B] = &G6[B *size_Mat]; } else { - G.g[dirW] = &G6[dirE *size_Mat]; - G.g[dirE] = &G6[dirW *size_Mat]; - G.g[dirS] = &G6[dirN *size_Mat]; - G.g[dirN] = &G6[dirS *size_Mat]; - G.g[dirB] = &G6[dirT *size_Mat]; - G.g[dirT] = &G6[dirB *size_Mat]; + G.g[W] = &G6[E *size_Mat]; + G.g[E] = &G6[W *size_Mat]; + G.g[S] = &G6[N *size_Mat]; + G.g[N] = &G6[S *size_Mat]; + G.g[B] = &G6[T *size_Mat]; + G.g[T] = &G6[B *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -161,43 +161,43 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = (G.g[dirE])[k]; - real mgabb = (G.g[dirW])[kw]; - real mgbcb = (G.g[dirN])[k]; - real mgbab = (G.g[dirS])[ks]; - real mgbbc = (G.g[dirT])[k]; - real mgbba = (G.g[dirB])[kb]; + real mgcbb = (G.g[E])[k]; + real mgabb = (G.g[W])[kw]; + real mgbcb = (G.g[N])[k]; + real mgbab = (G.g[S])[ks]; + real mgbbc = (G.g[T])[k]; + real mgbba = (G.g[B])[kb]; real dxuxdxux = c1o2 * (-mgcbb + mgabb); real dyuydyuy = c1o2 * (-mgbcb + mgbab); real dzuzdzuz = c1o2 * (-mgbbc + mgbba); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -911,41 +911,41 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, ////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////// - //(D.f[dirE])[k] = mfabb; - //(D.f[dirW])[kw] = mfcbb; - //(D.f[dirN])[k] = mfbab; - //(D.f[dirS])[ks] = mfbcb; - //(D.f[dirT])[k] = mfbba; - //(D.f[dirB])[kb] = mfbbc; - //(D.f[dirNE])[k] = mfaab; - //(D.f[dirSW])[ksw] = mfccb; - //(D.f[dirSE])[ks] = mfacb; - //(D.f[dirNW])[kw] = mfcab; - //(D.f[dirTE])[k] = mfaba; - //(D.f[dirBW])[kbw] = mfcbc; - //(D.f[dirBE])[kb] = mfabc; - //(D.f[dirTW])[kw] = mfcba; - //(D.f[dirTN])[k] = mfbaa; - //(D.f[dirBS])[kbs] = mfbcc; - //(D.f[dirBN])[kb] = mfbac; - //(D.f[dirTS])[ks] = mfbca; + //(D.f[E])[k] = mfabb; + //(D.f[W])[kw] = mfcbb; + //(D.f[N])[k] = mfbab; + //(D.f[S])[ks] = mfbcb; + //(D.f[T])[k] = mfbba; + //(D.f[B])[kb] = mfbbc; + //(D.f[NE])[k] = mfaab; + //(D.f[SW])[ksw] = mfccb; + //(D.f[SE])[ks] = mfacb; + //(D.f[NW])[kw] = mfcab; + //(D.f[TE])[k] = mfaba; + //(D.f[BW])[kbw] = mfcbc; + //(D.f[BE])[kb] = mfabc; + //(D.f[TW])[kw] = mfcba; + //(D.f[TN])[k] = mfbaa; + //(D.f[BS])[kbs] = mfbcc; + //(D.f[BN])[kb] = mfbac; + //(D.f[TS])[ks] = mfbca; //(D.f[dirREST])[k] = mfbbb; - //(D.f[dirTNE])[k] = mfaaa; - //(D.f[dirTSE])[ks] = mfaca; - //(D.f[dirBNE])[kb] = mfaac; - //(D.f[dirBSE])[kbs] = mfacc; - //(D.f[dirTNW])[kw] = mfcaa; - //(D.f[dirTSW])[ksw] = mfcca; - //(D.f[dirBNW])[kbw] = mfcac; - //(D.f[dirBSW])[kbsw] = mfccc; + //(D.f[TNE])[k] = mfaaa; + //(D.f[TSE])[ks] = mfaca; + //(D.f[BNE])[kb] = mfaac; + //(D.f[BSE])[kbs] = mfacc; + //(D.f[TNW])[kw] = mfcaa; + //(D.f[TSW])[ksw] = mfcca; + //(D.f[BNW])[kbw] = mfcac; + //(D.f[BSW])[kbsw] = mfccc; ////////////////////////////////////////////////////////////////////////////////////// - //(G.g[dirE])[k] = mgabb; - //(G.g[dirW])[kw] = mgcbb; - //(G.g[dirN])[k] = mgbab; - //(G.g[dirS])[ks] = mgbcb; - //(G.g[dirT])[k] = mgbba; - //(G.g[dirB])[kb] = mgbbc; + //(G.g[E])[k] = mgabb; + //(G.g[W])[kw] = mgcbb; + //(G.g[N])[k] = mgbab; + //(G.g[S])[ks] = mgbcb; + //(G.g[T])[k] = mgbba; + //(G.g[B])[kb] = mgbbc; } } } @@ -1024,83 +1024,83 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // Distributions27 D; // if (EvenOrOdd == true) // { -// D.f[dirE] = &DDStart[dirE *size_Mat]; -// D.f[dirW] = &DDStart[dirW *size_Mat]; -// D.f[dirN] = &DDStart[dirN *size_Mat]; -// D.f[dirS] = &DDStart[dirS *size_Mat]; -// D.f[dirT] = &DDStart[dirT *size_Mat]; -// D.f[dirB] = &DDStart[dirB *size_Mat]; -// D.f[dirNE] = &DDStart[dirNE *size_Mat]; -// D.f[dirSW] = &DDStart[dirSW *size_Mat]; -// D.f[dirSE] = &DDStart[dirSE *size_Mat]; -// D.f[dirNW] = &DDStart[dirNW *size_Mat]; -// D.f[dirTE] = &DDStart[dirTE *size_Mat]; -// D.f[dirBW] = &DDStart[dirBW *size_Mat]; -// D.f[dirBE] = &DDStart[dirBE *size_Mat]; -// D.f[dirTW] = &DDStart[dirTW *size_Mat]; -// D.f[dirTN] = &DDStart[dirTN *size_Mat]; -// D.f[dirBS] = &DDStart[dirBS *size_Mat]; -// D.f[dirBN] = &DDStart[dirBN *size_Mat]; -// D.f[dirTS] = &DDStart[dirTS *size_Mat]; +// D.f[E] = &DDStart[E *size_Mat]; +// D.f[W] = &DDStart[W *size_Mat]; +// D.f[N] = &DDStart[N *size_Mat]; +// D.f[S] = &DDStart[S *size_Mat]; +// D.f[T] = &DDStart[T *size_Mat]; +// D.f[B] = &DDStart[B *size_Mat]; +// D.f[NE] = &DDStart[NE *size_Mat]; +// D.f[SW] = &DDStart[SW *size_Mat]; +// D.f[SE] = &DDStart[SE *size_Mat]; +// D.f[NW] = &DDStart[NW *size_Mat]; +// D.f[TE] = &DDStart[TE *size_Mat]; +// D.f[BW] = &DDStart[BW *size_Mat]; +// D.f[BE] = &DDStart[BE *size_Mat]; +// D.f[TW] = &DDStart[TW *size_Mat]; +// D.f[TN] = &DDStart[TN *size_Mat]; +// D.f[BS] = &DDStart[BS *size_Mat]; +// D.f[BN] = &DDStart[BN *size_Mat]; +// D.f[TS] = &DDStart[TS *size_Mat]; // D.f[dirREST] = &DDStart[dirREST*size_Mat]; -// D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; -// D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; -// D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; -// D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; -// D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; -// D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; -// D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; -// D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; +// D.f[TNE] = &DDStart[TNE *size_Mat]; +// D.f[TSW] = &DDStart[TSW *size_Mat]; +// D.f[TSE] = &DDStart[TSE *size_Mat]; +// D.f[TNW] = &DDStart[TNW *size_Mat]; +// D.f[BNE] = &DDStart[BNE *size_Mat]; +// D.f[BSW] = &DDStart[BSW *size_Mat]; +// D.f[BSE] = &DDStart[BSE *size_Mat]; +// D.f[BNW] = &DDStart[BNW *size_Mat]; // } // else // { -// D.f[dirW] = &DDStart[dirE *size_Mat]; -// D.f[dirE] = &DDStart[dirW *size_Mat]; -// D.f[dirS] = &DDStart[dirN *size_Mat]; -// D.f[dirN] = &DDStart[dirS *size_Mat]; -// D.f[dirB] = &DDStart[dirT *size_Mat]; -// D.f[dirT] = &DDStart[dirB *size_Mat]; -// D.f[dirSW] = &DDStart[dirNE *size_Mat]; -// D.f[dirNE] = &DDStart[dirSW *size_Mat]; -// D.f[dirNW] = &DDStart[dirSE *size_Mat]; -// D.f[dirSE] = &DDStart[dirNW *size_Mat]; -// D.f[dirBW] = &DDStart[dirTE *size_Mat]; -// D.f[dirTE] = &DDStart[dirBW *size_Mat]; -// D.f[dirTW] = &DDStart[dirBE *size_Mat]; -// D.f[dirBE] = &DDStart[dirTW *size_Mat]; -// D.f[dirBS] = &DDStart[dirTN *size_Mat]; -// D.f[dirTN] = &DDStart[dirBS *size_Mat]; -// D.f[dirTS] = &DDStart[dirBN *size_Mat]; -// D.f[dirBN] = &DDStart[dirTS *size_Mat]; +// D.f[W] = &DDStart[E *size_Mat]; +// D.f[E] = &DDStart[W *size_Mat]; +// D.f[S] = &DDStart[N *size_Mat]; +// D.f[N] = &DDStart[S *size_Mat]; +// D.f[B] = &DDStart[T *size_Mat]; +// D.f[T] = &DDStart[B *size_Mat]; +// D.f[SW] = &DDStart[NE *size_Mat]; +// D.f[NE] = &DDStart[SW *size_Mat]; +// D.f[NW] = &DDStart[SE *size_Mat]; +// D.f[SE] = &DDStart[NW *size_Mat]; +// D.f[BW] = &DDStart[TE *size_Mat]; +// D.f[TE] = &DDStart[BW *size_Mat]; +// D.f[TW] = &DDStart[BE *size_Mat]; +// D.f[BE] = &DDStart[TW *size_Mat]; +// D.f[BS] = &DDStart[TN *size_Mat]; +// D.f[TN] = &DDStart[BS *size_Mat]; +// D.f[TS] = &DDStart[BN *size_Mat]; +// D.f[BN] = &DDStart[TS *size_Mat]; // D.f[dirREST] = &DDStart[dirREST*size_Mat]; -// D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; -// D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; -// D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; -// D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; -// D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; -// D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; -// D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; -// D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; +// D.f[BSW] = &DDStart[TNE *size_Mat]; +// D.f[BNE] = &DDStart[TSW *size_Mat]; +// D.f[BNW] = &DDStart[TSE *size_Mat]; +// D.f[BSE] = &DDStart[TNW *size_Mat]; +// D.f[TSW] = &DDStart[BNE *size_Mat]; +// D.f[TNE] = &DDStart[BSW *size_Mat]; +// D.f[TNW] = &DDStart[BSE *size_Mat]; +// D.f[TSE] = &DDStart[BNW *size_Mat]; // } // // Distributions6 G; // if (EvenOrOdd == true) // { -// G.g[dirE] = &G6[dirE *size_Mat]; -// G.g[dirW] = &G6[dirW *size_Mat]; -// G.g[dirN] = &G6[dirN *size_Mat]; -// G.g[dirS] = &G6[dirS *size_Mat]; -// G.g[dirT] = &G6[dirT *size_Mat]; -// G.g[dirB] = &G6[dirB *size_Mat]; +// G.g[E] = &G6[E *size_Mat]; +// G.g[W] = &G6[W *size_Mat]; +// G.g[N] = &G6[N *size_Mat]; +// G.g[S] = &G6[S *size_Mat]; +// G.g[T] = &G6[T *size_Mat]; +// G.g[B] = &G6[B *size_Mat]; // } // else // { -// G.g[dirW] = &G6[dirE *size_Mat]; -// G.g[dirE] = &G6[dirW *size_Mat]; -// G.g[dirS] = &G6[dirN *size_Mat]; -// G.g[dirN] = &G6[dirS *size_Mat]; -// G.g[dirB] = &G6[dirT *size_Mat]; -// G.g[dirT] = &G6[dirB *size_Mat]; +// G.g[W] = &G6[E *size_Mat]; +// G.g[E] = &G6[W *size_Mat]; +// G.g[S] = &G6[N *size_Mat]; +// G.g[N] = &G6[S *size_Mat]; +// G.g[B] = &G6[T *size_Mat]; +// G.g[T] = &G6[B *size_Mat]; // } // // //////////////////////////////////////////////////////////////////////////////// @@ -1133,43 +1133,43 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // //unsigned int ktne = k; // unsigned int kbsw = neighborZ[ksw]; // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// real mgcbb = (G.g[dirE])[k]; -// real mgabb = (G.g[dirW])[kw]; -// real mgbcb = (G.g[dirN])[k]; -// real mgbab = (G.g[dirS])[ks]; -// real mgbbc = (G.g[dirT])[k]; -// real mgbba = (G.g[dirB])[kb]; +// real mgcbb = (G.g[E])[k]; +// real mgabb = (G.g[W])[kw]; +// real mgbcb = (G.g[N])[k]; +// real mgbab = (G.g[S])[ks]; +// real mgbbc = (G.g[T])[k]; +// real mgbba = (G.g[B])[kb]; // real dxuxdxux = c1o2 * (-mgcbb + mgabb); // real dyuydyuy = c1o2 * (-mgbcb + mgbab); // real dzuzdzuz = c1o2 * (-mgbbc + mgbba); // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// real mfcbb = (D.f[dirE])[k]; -// real mfabb = (D.f[dirW])[kw]; -// real mfbcb = (D.f[dirN])[k]; -// real mfbab = (D.f[dirS])[ks]; -// real mfbbc = (D.f[dirT])[k]; -// real mfbba = (D.f[dirB])[kb]; -// real mfccb = (D.f[dirNE])[k]; -// real mfaab = (D.f[dirSW])[ksw]; -// real mfcab = (D.f[dirSE])[ks]; -// real mfacb = (D.f[dirNW])[kw]; -// real mfcbc = (D.f[dirTE])[k]; -// real mfaba = (D.f[dirBW])[kbw]; -// real mfcba = (D.f[dirBE])[kb]; -// real mfabc = (D.f[dirTW])[kw]; -// real mfbcc = (D.f[dirTN])[k]; -// real mfbaa = (D.f[dirBS])[kbs]; -// real mfbca = (D.f[dirBN])[kb]; -// real mfbac = (D.f[dirTS])[ks]; +// real mfcbb = (D.f[E])[k]; +// real mfabb = (D.f[W])[kw]; +// real mfbcb = (D.f[N])[k]; +// real mfbab = (D.f[S])[ks]; +// real mfbbc = (D.f[T])[k]; +// real mfbba = (D.f[B])[kb]; +// real mfccb = (D.f[NE])[k]; +// real mfaab = (D.f[SW])[ksw]; +// real mfcab = (D.f[SE])[ks]; +// real mfacb = (D.f[NW])[kw]; +// real mfcbc = (D.f[TE])[k]; +// real mfaba = (D.f[BW])[kbw]; +// real mfcba = (D.f[BE])[kb]; +// real mfabc = (D.f[TW])[kw]; +// real mfbcc = (D.f[TN])[k]; +// real mfbaa = (D.f[BS])[kbs]; +// real mfbca = (D.f[BN])[kb]; +// real mfbac = (D.f[TS])[ks]; // real mfbbb = (D.f[dirREST])[k]; -// real mfccc = (D.f[dirTNE])[k]; -// real mfaac = (D.f[dirTSW])[ksw]; -// real mfcac = (D.f[dirTSE])[ks]; -// real mfacc = (D.f[dirTNW])[kw]; -// real mfcca = (D.f[dirBNE])[kb]; -// real mfaaa = (D.f[dirBSW])[kbsw]; -// real mfcaa = (D.f[dirBSE])[kbs]; -// real mfaca = (D.f[dirBNW])[kbw]; +// real mfccc = (D.f[TNE])[k]; +// real mfaac = (D.f[TSW])[ksw]; +// real mfcac = (D.f[TSE])[ks]; +// real mfacc = (D.f[TNW])[kw]; +// real mfcca = (D.f[BNE])[kb]; +// real mfaaa = (D.f[BSW])[kbsw]; +// real mfcaa = (D.f[BSE])[kbs]; +// real mfaca = (D.f[BNW])[kbw]; // //////////////////////////////////////////////////////////////////////////////////// // real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + // (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1891,41 +1891,41 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // //////////////////////////////////////////////////////////////////////////////////// // // //////////////////////////////////////////////////////////////////////////////////// -// (D.f[dirE])[k] = mfabb; -// (D.f[dirW])[kw] = mfcbb; -// (D.f[dirN])[k] = mfbab; -// (D.f[dirS])[ks] = mfbcb; -// (D.f[dirT])[k] = mfbba; -// (D.f[dirB])[kb] = mfbbc; -// (D.f[dirNE])[k] = mfaab; -// (D.f[dirSW])[ksw] = mfccb; -// (D.f[dirSE])[ks] = mfacb; -// (D.f[dirNW])[kw] = mfcab; -// (D.f[dirTE])[k] = mfaba; -// (D.f[dirBW])[kbw] = mfcbc; -// (D.f[dirBE])[kb] = mfabc; -// (D.f[dirTW])[kw] = mfcba; -// (D.f[dirTN])[k] = mfbaa; -// (D.f[dirBS])[kbs] = mfbcc; -// (D.f[dirBN])[kb] = mfbac; -// (D.f[dirTS])[ks] = mfbca; +// (D.f[E])[k] = mfabb; +// (D.f[W])[kw] = mfcbb; +// (D.f[N])[k] = mfbab; +// (D.f[S])[ks] = mfbcb; +// (D.f[T])[k] = mfbba; +// (D.f[B])[kb] = mfbbc; +// (D.f[NE])[k] = mfaab; +// (D.f[SW])[ksw] = mfccb; +// (D.f[SE])[ks] = mfacb; +// (D.f[NW])[kw] = mfcab; +// (D.f[TE])[k] = mfaba; +// (D.f[BW])[kbw] = mfcbc; +// (D.f[BE])[kb] = mfabc; +// (D.f[TW])[kw] = mfcba; +// (D.f[TN])[k] = mfbaa; +// (D.f[BS])[kbs] = mfbcc; +// (D.f[BN])[kb] = mfbac; +// (D.f[TS])[ks] = mfbca; // (D.f[dirREST])[k] = mfbbb; -// (D.f[dirTNE])[k] = mfaaa; -// (D.f[dirTSE])[ks] = mfaca; -// (D.f[dirBNE])[kb] = mfaac; -// (D.f[dirBSE])[kbs] = mfacc; -// (D.f[dirTNW])[kw] = mfcaa; -// (D.f[dirTSW])[ksw] = mfcca; -// (D.f[dirBNW])[kbw] = mfcac; -// (D.f[dirBSW])[kbsw] = mfccc; -// //////////////////////////////////////////////////////////////////////////////////// -// -// (G.g[dirE])[k] = mgabb; -// (G.g[dirW])[kw] = mgcbb; -// (G.g[dirN])[k] = mgbab; -// (G.g[dirS])[ks] = mgbcb; -// (G.g[dirT])[k] = mgbba; -// (G.g[dirB])[kb] = mgbbc; +// (D.f[TNE])[k] = mfaaa; +// (D.f[TSE])[ks] = mfaca; +// (D.f[BNE])[kb] = mfaac; +// (D.f[BSE])[kbs] = mfacc; +// (D.f[TNW])[kw] = mfcaa; +// (D.f[TSW])[ksw] = mfcca; +// (D.f[BNW])[kbw] = mfcac; +// (D.f[BSW])[kbsw] = mfccc; +// //////////////////////////////////////////////////////////////////////////////////// +// +// (G.g[E])[k] = mgabb; +// (G.g[W])[kw] = mgcbb; +// (G.g[N])[k] = mgbab; +// (G.g[S])[ks] = mgbcb; +// (G.g[T])[k] = mgbba; +// (G.g[B])[kb] = mgbbc; // } // } //} @@ -2004,83 +2004,83 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // Distributions27 D; // if (EvenOrOdd == true) // { -// D.f[dirE] = &DDStart[dirE *size_Mat]; -// D.f[dirW] = &DDStart[dirW *size_Mat]; -// D.f[dirN] = &DDStart[dirN *size_Mat]; -// D.f[dirS] = &DDStart[dirS *size_Mat]; -// D.f[dirT] = &DDStart[dirT *size_Mat]; -// D.f[dirB] = &DDStart[dirB *size_Mat]; -// D.f[dirNE] = &DDStart[dirNE *size_Mat]; -// D.f[dirSW] = &DDStart[dirSW *size_Mat]; -// D.f[dirSE] = &DDStart[dirSE *size_Mat]; -// D.f[dirNW] = &DDStart[dirNW *size_Mat]; -// D.f[dirTE] = &DDStart[dirTE *size_Mat]; -// D.f[dirBW] = &DDStart[dirBW *size_Mat]; -// D.f[dirBE] = &DDStart[dirBE *size_Mat]; -// D.f[dirTW] = &DDStart[dirTW *size_Mat]; -// D.f[dirTN] = &DDStart[dirTN *size_Mat]; -// D.f[dirBS] = &DDStart[dirBS *size_Mat]; -// D.f[dirBN] = &DDStart[dirBN *size_Mat]; -// D.f[dirTS] = &DDStart[dirTS *size_Mat]; +// D.f[E] = &DDStart[E *size_Mat]; +// D.f[W] = &DDStart[W *size_Mat]; +// D.f[N] = &DDStart[N *size_Mat]; +// D.f[S] = &DDStart[S *size_Mat]; +// D.f[T] = &DDStart[T *size_Mat]; +// D.f[B] = &DDStart[B *size_Mat]; +// D.f[NE] = &DDStart[NE *size_Mat]; +// D.f[SW] = &DDStart[SW *size_Mat]; +// D.f[SE] = &DDStart[SE *size_Mat]; +// D.f[NW] = &DDStart[NW *size_Mat]; +// D.f[TE] = &DDStart[TE *size_Mat]; +// D.f[BW] = &DDStart[BW *size_Mat]; +// D.f[BE] = &DDStart[BE *size_Mat]; +// D.f[TW] = &DDStart[TW *size_Mat]; +// D.f[TN] = &DDStart[TN *size_Mat]; +// D.f[BS] = &DDStart[BS *size_Mat]; +// D.f[BN] = &DDStart[BN *size_Mat]; +// D.f[TS] = &DDStart[TS *size_Mat]; // D.f[dirREST] = &DDStart[dirREST*size_Mat]; -// D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; -// D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; -// D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; -// D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; -// D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; -// D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; -// D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; -// D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; +// D.f[TNE] = &DDStart[TNE *size_Mat]; +// D.f[TSW] = &DDStart[TSW *size_Mat]; +// D.f[TSE] = &DDStart[TSE *size_Mat]; +// D.f[TNW] = &DDStart[TNW *size_Mat]; +// D.f[BNE] = &DDStart[BNE *size_Mat]; +// D.f[BSW] = &DDStart[BSW *size_Mat]; +// D.f[BSE] = &DDStart[BSE *size_Mat]; +// D.f[BNW] = &DDStart[BNW *size_Mat]; // } // else // { -// D.f[dirW] = &DDStart[dirE *size_Mat]; -// D.f[dirE] = &DDStart[dirW *size_Mat]; -// D.f[dirS] = &DDStart[dirN *size_Mat]; -// D.f[dirN] = &DDStart[dirS *size_Mat]; -// D.f[dirB] = &DDStart[dirT *size_Mat]; -// D.f[dirT] = &DDStart[dirB *size_Mat]; -// D.f[dirSW] = &DDStart[dirNE *size_Mat]; -// D.f[dirNE] = &DDStart[dirSW *size_Mat]; -// D.f[dirNW] = &DDStart[dirSE *size_Mat]; -// D.f[dirSE] = &DDStart[dirNW *size_Mat]; -// D.f[dirBW] = &DDStart[dirTE *size_Mat]; -// D.f[dirTE] = &DDStart[dirBW *size_Mat]; -// D.f[dirTW] = &DDStart[dirBE *size_Mat]; -// D.f[dirBE] = &DDStart[dirTW *size_Mat]; -// D.f[dirBS] = &DDStart[dirTN *size_Mat]; -// D.f[dirTN] = &DDStart[dirBS *size_Mat]; -// D.f[dirTS] = &DDStart[dirBN *size_Mat]; -// D.f[dirBN] = &DDStart[dirTS *size_Mat]; +// D.f[W] = &DDStart[E *size_Mat]; +// D.f[E] = &DDStart[W *size_Mat]; +// D.f[S] = &DDStart[N *size_Mat]; +// D.f[N] = &DDStart[S *size_Mat]; +// D.f[B] = &DDStart[T *size_Mat]; +// D.f[T] = &DDStart[B *size_Mat]; +// D.f[SW] = &DDStart[NE *size_Mat]; +// D.f[NE] = &DDStart[SW *size_Mat]; +// D.f[NW] = &DDStart[SE *size_Mat]; +// D.f[SE] = &DDStart[NW *size_Mat]; +// D.f[BW] = &DDStart[TE *size_Mat]; +// D.f[TE] = &DDStart[BW *size_Mat]; +// D.f[TW] = &DDStart[BE *size_Mat]; +// D.f[BE] = &DDStart[TW *size_Mat]; +// D.f[BS] = &DDStart[TN *size_Mat]; +// D.f[TN] = &DDStart[BS *size_Mat]; +// D.f[TS] = &DDStart[BN *size_Mat]; +// D.f[BN] = &DDStart[TS *size_Mat]; // D.f[dirREST] = &DDStart[dirREST*size_Mat]; -// D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; -// D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; -// D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; -// D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; -// D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; -// D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; -// D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; -// D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; +// D.f[BSW] = &DDStart[TNE *size_Mat]; +// D.f[BNE] = &DDStart[TSW *size_Mat]; +// D.f[BNW] = &DDStart[TSE *size_Mat]; +// D.f[BSE] = &DDStart[TNW *size_Mat]; +// D.f[TSW] = &DDStart[BNE *size_Mat]; +// D.f[TNE] = &DDStart[BSW *size_Mat]; +// D.f[TNW] = &DDStart[BSE *size_Mat]; +// D.f[TSE] = &DDStart[BNW *size_Mat]; // } // // Distributions6 G; // if (EvenOrOdd == true) // { -// G.g[dirE] = &G6[dirE *size_Mat]; -// G.g[dirW] = &G6[dirW *size_Mat]; -// G.g[dirN] = &G6[dirN *size_Mat]; -// G.g[dirS] = &G6[dirS *size_Mat]; -// G.g[dirT] = &G6[dirT *size_Mat]; -// G.g[dirB] = &G6[dirB *size_Mat]; +// G.g[E] = &G6[E *size_Mat]; +// G.g[W] = &G6[W *size_Mat]; +// G.g[N] = &G6[N *size_Mat]; +// G.g[S] = &G6[S *size_Mat]; +// G.g[T] = &G6[T *size_Mat]; +// G.g[B] = &G6[B *size_Mat]; // } // else // { -// G.g[dirW] = &G6[dirE *size_Mat]; -// G.g[dirE] = &G6[dirW *size_Mat]; -// G.g[dirS] = &G6[dirN *size_Mat]; -// G.g[dirN] = &G6[dirS *size_Mat]; -// G.g[dirB] = &G6[dirT *size_Mat]; -// G.g[dirT] = &G6[dirB *size_Mat]; +// G.g[W] = &G6[E *size_Mat]; +// G.g[E] = &G6[W *size_Mat]; +// G.g[S] = &G6[N *size_Mat]; +// G.g[N] = &G6[S *size_Mat]; +// G.g[B] = &G6[T *size_Mat]; +// G.g[T] = &G6[B *size_Mat]; // } // // //////////////////////////////////////////////////////////////////////////////// @@ -2141,43 +2141,43 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // //unsigned int ktne = k; // //unsigned int kbsw = neighborZ[ksw]; // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// real mgcbb = (G.g[dirE])[k]; -// real mgabb = (G.g[dirW])[kw]; -// real mgbcb = (G.g[dirN])[k]; -// real mgbab = (G.g[dirS])[ks]; -// real mgbbc = (G.g[dirT])[k]; -// real mgbba = (G.g[dirB])[kb]; +// real mgcbb = (G.g[E])[k]; +// real mgabb = (G.g[W])[kw]; +// real mgbcb = (G.g[N])[k]; +// real mgbab = (G.g[S])[ks]; +// real mgbbc = (G.g[T])[k]; +// real mgbba = (G.g[B])[kb]; // real dxxux = c1o2 * (-mgcbb + mgabb); // real dyyuy = c1o2 * (-mgbcb + mgbab); // real dzzuz = c1o2 * (-mgbbc + mgbba); // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke -// real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; -// real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn -// real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; -// real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt -// real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; -// real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne -// real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; -// real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse -// real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw -// real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte -// real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; -// real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe -// real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw -// real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn -// real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; -// real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn -// real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts +// real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke +// real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; +// real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn +// real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; +// real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt +// real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; +// real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne +// real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; +// real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse +// real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw +// real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte +// real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; +// real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe +// real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw +// real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn +// real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; +// real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn +// real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts // real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero -// real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne -// real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw -// real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse -// real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw -// real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne -// real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; -// real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse -// real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw +// real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne +// real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw +// real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse +// real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw +// real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne +// real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; +// real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse +// real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw // //////////////////////////////////////////////////////////////////////////////////// // real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + // (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -3011,41 +3011,41 @@ extern "C" __global__ void LB_PostProcessor_F3_2018_Fehlberg(real omega, // //////////////////////////////////////////////////////////////////////////////////// // // //////////////////////////////////////////////////////////////////////////////////// -// (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] -// (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] -// (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] -// (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] -// (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] -// (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] -// (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] -// (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] -// (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] -// (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] -// (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] -// (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] -// (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] -// (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] -// (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] -// (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] -// (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] -// (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] +// (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] +// (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] +// (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] +// (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] +// (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] +// (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] +// (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] +// (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] +// (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] +// (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] +// (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] +// (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] +// (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] +// (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] +// (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] +// (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] +// (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] +// (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] // (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] -// (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] -// (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] -// (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] -// (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] -// (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] -// (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] -// (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] -// (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] -// //////////////////////////////////////////////////////////////////////////////////// -// -// (G.g[dirE])[k] = mgabb; -// (G.g[dirW])[kw] = mgcbb; -// (G.g[dirN])[k] = mgbab; -// (G.g[dirS])[ks] = mgbcb; -// (G.g[dirT])[k] = mgbba; -// (G.g[dirB])[kb] = mgbbc; +// (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] +// (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] +// (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] +// (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] +// (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] +// (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] +// (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] +// (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] +// //////////////////////////////////////////////////////////////////////////////////// +// +// (G.g[E])[k] = mgabb; +// (G.g[W])[kw] = mgcbb; +// (G.g[N])[k] = mgbab; +// (G.g[S])[ks] = mgbcb; +// (G.g[T])[k] = mgbba; +// (G.g[B])[kb] = mgbbc; // } // } //} diff --git a/src/gpu/VirtualFluids_GPU/GPU/DragLift27.cu b/src/gpu/VirtualFluids_GPU/GPU/DragLift27.cu index 8d5d855b0..c7f6c23c0 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/DragLift27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/DragLift27.cu @@ -22,63 +22,63 @@ extern "C" __global__ void DragLiftPost27( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -99,32 +99,32 @@ extern "C" __global__ void DragLiftPost27( real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -159,32 +159,32 @@ extern "C" __global__ void DragLiftPost27( real* DD, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// double OnE = c0o1, OnW = c0o1, OnN = c0o1, OnS = c0o1, OnT = c0o1, OnB = c0o1, OnNE = c0o1, OnSW = c0o1, OnSE = c0o1, OnNW = c0o1, @@ -287,63 +287,63 @@ extern "C" __global__ void DragLiftPre27( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -364,32 +364,32 @@ extern "C" __global__ void DragLiftPre27( real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -424,32 +424,32 @@ extern "C" __global__ void DragLiftPre27( real* DD, 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// double OnE = c0o1, OnW = c0o1, OnN = c0o1, OnS = c0o1, OnT = c0o1, OnB = c0o1, OnNE = c0o1, OnSW = c0o1, OnSE = c0o1, OnNW = c0o1, diff --git a/src/gpu/VirtualFluids_GPU/GPU/ExchangeData27.cu b/src/gpu/VirtualFluids_GPU/GPU/ExchangeData27.cu index 928fc0dbb..933dd7c50 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ExchangeData27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ExchangeData27.cu @@ -64,150 +64,150 @@ extern "C" __global__ void getSendFsPost27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Fs Distributions27 Dbuff; - Dbuff.f[dirE ] = &bufferFs[dirE *buffmax]; - Dbuff.f[dirW ] = &bufferFs[dirW *buffmax]; - Dbuff.f[dirN ] = &bufferFs[dirN *buffmax]; - Dbuff.f[dirS ] = &bufferFs[dirS *buffmax]; - Dbuff.f[dirT ] = &bufferFs[dirT *buffmax]; - Dbuff.f[dirB ] = &bufferFs[dirB *buffmax]; - Dbuff.f[dirNE ] = &bufferFs[dirNE *buffmax]; - Dbuff.f[dirSW ] = &bufferFs[dirSW *buffmax]; - Dbuff.f[dirSE ] = &bufferFs[dirSE *buffmax]; - Dbuff.f[dirNW ] = &bufferFs[dirNW *buffmax]; - Dbuff.f[dirTE ] = &bufferFs[dirTE *buffmax]; - Dbuff.f[dirBW ] = &bufferFs[dirBW *buffmax]; - Dbuff.f[dirBE ] = &bufferFs[dirBE *buffmax]; - Dbuff.f[dirTW ] = &bufferFs[dirTW *buffmax]; - Dbuff.f[dirTN ] = &bufferFs[dirTN *buffmax]; - Dbuff.f[dirBS ] = &bufferFs[dirBS *buffmax]; - Dbuff.f[dirBN ] = &bufferFs[dirBN *buffmax]; - Dbuff.f[dirTS ] = &bufferFs[dirTS *buffmax]; + Dbuff.f[E ] = &bufferFs[E *buffmax]; + Dbuff.f[W ] = &bufferFs[W *buffmax]; + Dbuff.f[N ] = &bufferFs[N *buffmax]; + Dbuff.f[S ] = &bufferFs[S *buffmax]; + Dbuff.f[T ] = &bufferFs[T *buffmax]; + Dbuff.f[B ] = &bufferFs[B *buffmax]; + Dbuff.f[NE ] = &bufferFs[NE *buffmax]; + Dbuff.f[SW ] = &bufferFs[SW *buffmax]; + Dbuff.f[SE ] = &bufferFs[SE *buffmax]; + Dbuff.f[NW ] = &bufferFs[NW *buffmax]; + Dbuff.f[TE ] = &bufferFs[TE *buffmax]; + Dbuff.f[BW ] = &bufferFs[BW *buffmax]; + Dbuff.f[BE ] = &bufferFs[BE *buffmax]; + Dbuff.f[TW ] = &bufferFs[TW *buffmax]; + Dbuff.f[TN ] = &bufferFs[TN *buffmax]; + Dbuff.f[BS ] = &bufferFs[BS *buffmax]; + Dbuff.f[BN ] = &bufferFs[BN *buffmax]; + Dbuff.f[TS ] = &bufferFs[TS *buffmax]; Dbuff.f[dirREST] = &bufferFs[dirREST*buffmax]; - Dbuff.f[dirTNE ] = &bufferFs[dirTNE *buffmax]; - Dbuff.f[dirTSW ] = &bufferFs[dirTSW *buffmax]; - Dbuff.f[dirTSE ] = &bufferFs[dirTSE *buffmax]; - Dbuff.f[dirTNW ] = &bufferFs[dirTNW *buffmax]; - Dbuff.f[dirBNE ] = &bufferFs[dirBNE *buffmax]; - Dbuff.f[dirBSW ] = &bufferFs[dirBSW *buffmax]; - Dbuff.f[dirBSE ] = &bufferFs[dirBSE *buffmax]; - Dbuff.f[dirBNW ] = &bufferFs[dirBNW *buffmax]; + Dbuff.f[TNE ] = &bufferFs[TNE *buffmax]; + Dbuff.f[TSW ] = &bufferFs[TSW *buffmax]; + Dbuff.f[TSE ] = &bufferFs[TSE *buffmax]; + Dbuff.f[TNW ] = &bufferFs[TNW *buffmax]; + Dbuff.f[BNE ] = &bufferFs[BNE *buffmax]; + Dbuff.f[BSW ] = &bufferFs[BSW *buffmax]; + Dbuff.f[BSE ] = &bufferFs[BSE *buffmax]; + Dbuff.f[BNW ] = &bufferFs[BNW *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //copy to buffer - //(Dbuff.f[dirE ])[k] = (D.f[dirE ])[ke ]; - //(Dbuff.f[dirW ])[k] = (D.f[dirW ])[kw ]; - //(Dbuff.f[dirN ])[k] = (D.f[dirN ])[kn ]; - //(Dbuff.f[dirS ])[k] = (D.f[dirS ])[ks ]; - //(Dbuff.f[dirT ])[k] = (D.f[dirT ])[kt ]; - //(Dbuff.f[dirB ])[k] = (D.f[dirB ])[kb ]; - //(Dbuff.f[dirNE ])[k] = (D.f[dirNE ])[kne ]; - //(Dbuff.f[dirSW ])[k] = (D.f[dirSW ])[ksw ]; - //(Dbuff.f[dirSE ])[k] = (D.f[dirSE ])[kse ]; - //(Dbuff.f[dirNW ])[k] = (D.f[dirNW ])[knw ]; - //(Dbuff.f[dirTE ])[k] = (D.f[dirTE ])[kte ]; - //(Dbuff.f[dirBW ])[k] = (D.f[dirBW ])[kbw ]; - //(Dbuff.f[dirBE ])[k] = (D.f[dirBE ])[kbe ]; - //(Dbuff.f[dirTW ])[k] = (D.f[dirTW ])[ktw ]; - //(Dbuff.f[dirTN ])[k] = (D.f[dirTN ])[ktn ]; - //(Dbuff.f[dirBS ])[k] = (D.f[dirBS ])[kbs ]; - //(Dbuff.f[dirBN ])[k] = (D.f[dirBN ])[kbn ]; - //(Dbuff.f[dirTS ])[k] = (D.f[dirTS ])[kts ]; + //(Dbuff.f[E ])[k] = (D.f[E ])[ke ]; + //(Dbuff.f[W ])[k] = (D.f[W ])[kw ]; + //(Dbuff.f[N ])[k] = (D.f[N ])[kn ]; + //(Dbuff.f[S ])[k] = (D.f[S ])[ks ]; + //(Dbuff.f[T ])[k] = (D.f[T ])[kt ]; + //(Dbuff.f[B ])[k] = (D.f[B ])[kb ]; + //(Dbuff.f[NE ])[k] = (D.f[NE ])[kne ]; + //(Dbuff.f[SW ])[k] = (D.f[SW ])[ksw ]; + //(Dbuff.f[SE ])[k] = (D.f[SE ])[kse ]; + //(Dbuff.f[NW ])[k] = (D.f[NW ])[knw ]; + //(Dbuff.f[TE ])[k] = (D.f[TE ])[kte ]; + //(Dbuff.f[BW ])[k] = (D.f[BW ])[kbw ]; + //(Dbuff.f[BE ])[k] = (D.f[BE ])[kbe ]; + //(Dbuff.f[TW ])[k] = (D.f[TW ])[ktw ]; + //(Dbuff.f[TN ])[k] = (D.f[TN ])[ktn ]; + //(Dbuff.f[BS ])[k] = (D.f[BS ])[kbs ]; + //(Dbuff.f[BN ])[k] = (D.f[BN ])[kbn ]; + //(Dbuff.f[TS ])[k] = (D.f[TS ])[kts ]; //(Dbuff.f[dirREST])[k] = (D.f[dirREST])[kzero]; - //(Dbuff.f[dirTNE ])[k] = (D.f[dirTNE ])[ktne ]; - //(Dbuff.f[dirTSW ])[k] = (D.f[dirTSW ])[ktsw ]; - //(Dbuff.f[dirTSE ])[k] = (D.f[dirTSE ])[ktse ]; - //(Dbuff.f[dirTNW ])[k] = (D.f[dirTNW ])[ktnw ]; - //(Dbuff.f[dirBNE ])[k] = (D.f[dirBNE ])[kbne ]; - //(Dbuff.f[dirBSW ])[k] = (D.f[dirBSW ])[kbsw ]; - //(Dbuff.f[dirBSE ])[k] = (D.f[dirBSE ])[kbse ]; - //(Dbuff.f[dirBNW ])[k] = (D.f[dirBNW ])[kbnw ]; - (Dbuff.f[dirE ])[k] = (D.f[dirW ])[kw ]; - (Dbuff.f[dirW ])[k] = (D.f[dirE ])[ke ]; - (Dbuff.f[dirN ])[k] = (D.f[dirS ])[ks ]; - (Dbuff.f[dirS ])[k] = (D.f[dirN ])[kn ]; - (Dbuff.f[dirT ])[k] = (D.f[dirB ])[kb ]; - (Dbuff.f[dirB ])[k] = (D.f[dirT ])[kt ]; - (Dbuff.f[dirNE ])[k] = (D.f[dirSW ])[ksw ]; - (Dbuff.f[dirSW ])[k] = (D.f[dirNE ])[kne ]; - (Dbuff.f[dirSE ])[k] = (D.f[dirNW ])[knw ]; - (Dbuff.f[dirNW ])[k] = (D.f[dirSE ])[kse ]; - (Dbuff.f[dirTE ])[k] = (D.f[dirBW ])[kbw ]; - (Dbuff.f[dirBW ])[k] = (D.f[dirTE ])[kte ]; - (Dbuff.f[dirBE ])[k] = (D.f[dirTW ])[ktw ]; - (Dbuff.f[dirTW ])[k] = (D.f[dirBE ])[kbe ]; - (Dbuff.f[dirTN ])[k] = (D.f[dirBS ])[kbs ]; - (Dbuff.f[dirBS ])[k] = (D.f[dirTN ])[ktn ]; - (Dbuff.f[dirBN ])[k] = (D.f[dirTS ])[kts ]; - (Dbuff.f[dirTS ])[k] = (D.f[dirBN ])[kbn ]; + //(Dbuff.f[TNE ])[k] = (D.f[TNE ])[ktne ]; + //(Dbuff.f[TSW ])[k] = (D.f[TSW ])[ktsw ]; + //(Dbuff.f[TSE ])[k] = (D.f[TSE ])[ktse ]; + //(Dbuff.f[TNW ])[k] = (D.f[TNW ])[ktnw ]; + //(Dbuff.f[BNE ])[k] = (D.f[BNE ])[kbne ]; + //(Dbuff.f[BSW ])[k] = (D.f[BSW ])[kbsw ]; + //(Dbuff.f[BSE ])[k] = (D.f[BSE ])[kbse ]; + //(Dbuff.f[BNW ])[k] = (D.f[BNW ])[kbnw ]; + (Dbuff.f[E ])[k] = (D.f[W ])[kw ]; + (Dbuff.f[W ])[k] = (D.f[E ])[ke ]; + (Dbuff.f[N ])[k] = (D.f[S ])[ks ]; + (Dbuff.f[S ])[k] = (D.f[N ])[kn ]; + (Dbuff.f[T ])[k] = (D.f[B ])[kb ]; + (Dbuff.f[B ])[k] = (D.f[T ])[kt ]; + (Dbuff.f[NE ])[k] = (D.f[SW ])[ksw ]; + (Dbuff.f[SW ])[k] = (D.f[NE ])[kne ]; + (Dbuff.f[SE ])[k] = (D.f[NW ])[knw ]; + (Dbuff.f[NW ])[k] = (D.f[SE ])[kse ]; + (Dbuff.f[TE ])[k] = (D.f[BW ])[kbw ]; + (Dbuff.f[BW ])[k] = (D.f[TE ])[kte ]; + (Dbuff.f[BE ])[k] = (D.f[TW ])[ktw ]; + (Dbuff.f[TW ])[k] = (D.f[BE ])[kbe ]; + (Dbuff.f[TN ])[k] = (D.f[BS ])[kbs ]; + (Dbuff.f[BS ])[k] = (D.f[TN ])[ktn ]; + (Dbuff.f[BN ])[k] = (D.f[TS ])[kts ]; + (Dbuff.f[TS ])[k] = (D.f[BN ])[kbn ]; (Dbuff.f[dirREST])[k] = (D.f[dirREST])[kzero]; - (Dbuff.f[dirTNE ])[k] = (D.f[dirBSW ])[kbsw ]; - (Dbuff.f[dirTSW ])[k] = (D.f[dirBNE ])[kbne ]; - (Dbuff.f[dirTSE ])[k] = (D.f[dirBNW ])[kbnw ]; - (Dbuff.f[dirTNW ])[k] = (D.f[dirBSE ])[kbse ]; - (Dbuff.f[dirBNE ])[k] = (D.f[dirTSW ])[ktsw ]; - (Dbuff.f[dirBSW ])[k] = (D.f[dirTNE ])[ktne ]; - (Dbuff.f[dirBSE ])[k] = (D.f[dirTNW ])[ktnw ]; - (Dbuff.f[dirBNW ])[k] = (D.f[dirTSE ])[ktse ]; + (Dbuff.f[TNE ])[k] = (D.f[BSW ])[kbsw ]; + (Dbuff.f[TSW ])[k] = (D.f[BNE ])[kbne ]; + (Dbuff.f[TSE ])[k] = (D.f[BNW ])[kbnw ]; + (Dbuff.f[TNW ])[k] = (D.f[BSE ])[kbse ]; + (Dbuff.f[BNE ])[k] = (D.f[TSW ])[ktsw ]; + (Dbuff.f[BSW ])[k] = (D.f[TNE ])[ktne ]; + (Dbuff.f[BSE ])[k] = (D.f[TNW ])[ktnw ]; + (Dbuff.f[BNW ])[k] = (D.f[TSE ])[ktse ]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -300,150 +300,150 @@ extern "C" __global__ void setRecvFsPost27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Fs Distributions27 Dbuff; - Dbuff.f[dirE ] = &bufferFs[dirE *buffmax]; - Dbuff.f[dirW ] = &bufferFs[dirW *buffmax]; - Dbuff.f[dirN ] = &bufferFs[dirN *buffmax]; - Dbuff.f[dirS ] = &bufferFs[dirS *buffmax]; - Dbuff.f[dirT ] = &bufferFs[dirT *buffmax]; - Dbuff.f[dirB ] = &bufferFs[dirB *buffmax]; - Dbuff.f[dirNE ] = &bufferFs[dirNE *buffmax]; - Dbuff.f[dirSW ] = &bufferFs[dirSW *buffmax]; - Dbuff.f[dirSE ] = &bufferFs[dirSE *buffmax]; - Dbuff.f[dirNW ] = &bufferFs[dirNW *buffmax]; - Dbuff.f[dirTE ] = &bufferFs[dirTE *buffmax]; - Dbuff.f[dirBW ] = &bufferFs[dirBW *buffmax]; - Dbuff.f[dirBE ] = &bufferFs[dirBE *buffmax]; - Dbuff.f[dirTW ] = &bufferFs[dirTW *buffmax]; - Dbuff.f[dirTN ] = &bufferFs[dirTN *buffmax]; - Dbuff.f[dirBS ] = &bufferFs[dirBS *buffmax]; - Dbuff.f[dirBN ] = &bufferFs[dirBN *buffmax]; - Dbuff.f[dirTS ] = &bufferFs[dirTS *buffmax]; + Dbuff.f[E ] = &bufferFs[E *buffmax]; + Dbuff.f[W ] = &bufferFs[W *buffmax]; + Dbuff.f[N ] = &bufferFs[N *buffmax]; + Dbuff.f[S ] = &bufferFs[S *buffmax]; + Dbuff.f[T ] = &bufferFs[T *buffmax]; + Dbuff.f[B ] = &bufferFs[B *buffmax]; + Dbuff.f[NE ] = &bufferFs[NE *buffmax]; + Dbuff.f[SW ] = &bufferFs[SW *buffmax]; + Dbuff.f[SE ] = &bufferFs[SE *buffmax]; + Dbuff.f[NW ] = &bufferFs[NW *buffmax]; + Dbuff.f[TE ] = &bufferFs[TE *buffmax]; + Dbuff.f[BW ] = &bufferFs[BW *buffmax]; + Dbuff.f[BE ] = &bufferFs[BE *buffmax]; + Dbuff.f[TW ] = &bufferFs[TW *buffmax]; + Dbuff.f[TN ] = &bufferFs[TN *buffmax]; + Dbuff.f[BS ] = &bufferFs[BS *buffmax]; + Dbuff.f[BN ] = &bufferFs[BN *buffmax]; + Dbuff.f[TS ] = &bufferFs[TS *buffmax]; Dbuff.f[dirREST] = &bufferFs[dirREST*buffmax]; - Dbuff.f[dirTNE ] = &bufferFs[dirTNE *buffmax]; - Dbuff.f[dirTSW ] = &bufferFs[dirTSW *buffmax]; - Dbuff.f[dirTSE ] = &bufferFs[dirTSE *buffmax]; - Dbuff.f[dirTNW ] = &bufferFs[dirTNW *buffmax]; - Dbuff.f[dirBNE ] = &bufferFs[dirBNE *buffmax]; - Dbuff.f[dirBSW ] = &bufferFs[dirBSW *buffmax]; - Dbuff.f[dirBSE ] = &bufferFs[dirBSE *buffmax]; - Dbuff.f[dirBNW ] = &bufferFs[dirBNW *buffmax]; + Dbuff.f[TNE ] = &bufferFs[TNE *buffmax]; + Dbuff.f[TSW ] = &bufferFs[TSW *buffmax]; + Dbuff.f[TSE ] = &bufferFs[TSE *buffmax]; + Dbuff.f[TNW ] = &bufferFs[TNW *buffmax]; + Dbuff.f[BNE ] = &bufferFs[BNE *buffmax]; + Dbuff.f[BSW ] = &bufferFs[BSW *buffmax]; + Dbuff.f[BSE ] = &bufferFs[BSE *buffmax]; + Dbuff.f[BNW ] = &bufferFs[BNW *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //copy from buffer - //(D.f[dirE ])[ke ] = (Dbuff.f[dirE ])[k]; - //(D.f[dirW ])[kw ] = (Dbuff.f[dirW ])[k]; - //(D.f[dirN ])[kn ] = (Dbuff.f[dirN ])[k]; - //(D.f[dirS ])[ks ] = (Dbuff.f[dirS ])[k]; - //(D.f[dirT ])[kt ] = (Dbuff.f[dirT ])[k]; - //(D.f[dirB ])[kb ] = (Dbuff.f[dirB ])[k]; - //(D.f[dirNE ])[kne ] = (Dbuff.f[dirNE ])[k]; - //(D.f[dirSW ])[ksw ] = (Dbuff.f[dirSW ])[k]; - //(D.f[dirSE ])[kse ] = (Dbuff.f[dirSE ])[k]; - //(D.f[dirNW ])[knw ] = (Dbuff.f[dirNW ])[k]; - //(D.f[dirTE ])[kte ] = (Dbuff.f[dirTE ])[k]; - //(D.f[dirBW ])[kbw ] = (Dbuff.f[dirBW ])[k]; - //(D.f[dirBE ])[kbe ] = (Dbuff.f[dirBE ])[k]; - //(D.f[dirTW ])[ktw ] = (Dbuff.f[dirTW ])[k]; - //(D.f[dirTN ])[ktn ] = (Dbuff.f[dirTN ])[k]; - //(D.f[dirBS ])[kbs ] = (Dbuff.f[dirBS ])[k]; - //(D.f[dirBN ])[kbn ] = (Dbuff.f[dirBN ])[k]; - //(D.f[dirTS ])[kts ] = (Dbuff.f[dirTS ])[k]; + //(D.f[E ])[ke ] = (Dbuff.f[E ])[k]; + //(D.f[W ])[kw ] = (Dbuff.f[W ])[k]; + //(D.f[N ])[kn ] = (Dbuff.f[N ])[k]; + //(D.f[S ])[ks ] = (Dbuff.f[S ])[k]; + //(D.f[T ])[kt ] = (Dbuff.f[T ])[k]; + //(D.f[B ])[kb ] = (Dbuff.f[B ])[k]; + //(D.f[NE ])[kne ] = (Dbuff.f[NE ])[k]; + //(D.f[SW ])[ksw ] = (Dbuff.f[SW ])[k]; + //(D.f[SE ])[kse ] = (Dbuff.f[SE ])[k]; + //(D.f[NW ])[knw ] = (Dbuff.f[NW ])[k]; + //(D.f[TE ])[kte ] = (Dbuff.f[TE ])[k]; + //(D.f[BW ])[kbw ] = (Dbuff.f[BW ])[k]; + //(D.f[BE ])[kbe ] = (Dbuff.f[BE ])[k]; + //(D.f[TW ])[ktw ] = (Dbuff.f[TW ])[k]; + //(D.f[TN ])[ktn ] = (Dbuff.f[TN ])[k]; + //(D.f[BS ])[kbs ] = (Dbuff.f[BS ])[k]; + //(D.f[BN ])[kbn ] = (Dbuff.f[BN ])[k]; + //(D.f[TS ])[kts ] = (Dbuff.f[TS ])[k]; //(D.f[dirREST])[kzero] = (Dbuff.f[dirREST])[k]; - //(D.f[dirTNE ])[ktne ] = (Dbuff.f[dirTNE ])[k]; - //(D.f[dirTSW ])[ktsw ] = (Dbuff.f[dirTSW ])[k]; - //(D.f[dirTSE ])[ktse ] = (Dbuff.f[dirTSE ])[k]; - //(D.f[dirTNW ])[ktnw ] = (Dbuff.f[dirTNW ])[k]; - //(D.f[dirBNE ])[kbne ] = (Dbuff.f[dirBNE ])[k]; - //(D.f[dirBSW ])[kbsw ] = (Dbuff.f[dirBSW ])[k]; - //(D.f[dirBSE ])[kbse ] = (Dbuff.f[dirBSE ])[k]; - //(D.f[dirBNW ])[kbnw ] = (Dbuff.f[dirBNW ])[k]; - (D.f[dirW ])[kw ] = (Dbuff.f[dirE ])[k]; - (D.f[dirE ])[ke ] = (Dbuff.f[dirW ])[k]; - (D.f[dirS ])[ks ] = (Dbuff.f[dirN ])[k]; - (D.f[dirN ])[kn ] = (Dbuff.f[dirS ])[k]; - (D.f[dirB ])[kb ] = (Dbuff.f[dirT ])[k]; - (D.f[dirT ])[kt ] = (Dbuff.f[dirB ])[k]; - (D.f[dirSW ])[ksw ] = (Dbuff.f[dirNE ])[k]; - (D.f[dirNE ])[kne ] = (Dbuff.f[dirSW ])[k]; - (D.f[dirNW ])[knw ] = (Dbuff.f[dirSE ])[k]; - (D.f[dirSE ])[kse ] = (Dbuff.f[dirNW ])[k]; - (D.f[dirBW ])[kbw ] = (Dbuff.f[dirTE ])[k]; - (D.f[dirTE ])[kte ] = (Dbuff.f[dirBW ])[k]; - (D.f[dirTW ])[ktw ] = (Dbuff.f[dirBE ])[k]; - (D.f[dirBE ])[kbe ] = (Dbuff.f[dirTW ])[k]; - (D.f[dirBS ])[kbs ] = (Dbuff.f[dirTN ])[k]; - (D.f[dirTN ])[ktn ] = (Dbuff.f[dirBS ])[k]; - (D.f[dirTS ])[kts ] = (Dbuff.f[dirBN ])[k]; - (D.f[dirBN ])[kbn ] = (Dbuff.f[dirTS ])[k]; + //(D.f[TNE ])[ktne ] = (Dbuff.f[TNE ])[k]; + //(D.f[TSW ])[ktsw ] = (Dbuff.f[TSW ])[k]; + //(D.f[TSE ])[ktse ] = (Dbuff.f[TSE ])[k]; + //(D.f[TNW ])[ktnw ] = (Dbuff.f[TNW ])[k]; + //(D.f[BNE ])[kbne ] = (Dbuff.f[BNE ])[k]; + //(D.f[BSW ])[kbsw ] = (Dbuff.f[BSW ])[k]; + //(D.f[BSE ])[kbse ] = (Dbuff.f[BSE ])[k]; + //(D.f[BNW ])[kbnw ] = (Dbuff.f[BNW ])[k]; + (D.f[W ])[kw ] = (Dbuff.f[E ])[k]; + (D.f[E ])[ke ] = (Dbuff.f[W ])[k]; + (D.f[S ])[ks ] = (Dbuff.f[N ])[k]; + (D.f[N ])[kn ] = (Dbuff.f[S ])[k]; + (D.f[B ])[kb ] = (Dbuff.f[T ])[k]; + (D.f[T ])[kt ] = (Dbuff.f[B ])[k]; + (D.f[SW ])[ksw ] = (Dbuff.f[NE ])[k]; + (D.f[NE ])[kne ] = (Dbuff.f[SW ])[k]; + (D.f[NW ])[knw ] = (Dbuff.f[SE ])[k]; + (D.f[SE ])[kse ] = (Dbuff.f[NW ])[k]; + (D.f[BW ])[kbw ] = (Dbuff.f[TE ])[k]; + (D.f[TE ])[kte ] = (Dbuff.f[BW ])[k]; + (D.f[TW ])[ktw ] = (Dbuff.f[BE ])[k]; + (D.f[BE ])[kbe ] = (Dbuff.f[TW ])[k]; + (D.f[BS ])[kbs ] = (Dbuff.f[TN ])[k]; + (D.f[TN ])[ktn ] = (Dbuff.f[BS ])[k]; + (D.f[TS ])[kts ] = (Dbuff.f[BN ])[k]; + (D.f[BN ])[kbn ] = (Dbuff.f[TS ])[k]; (D.f[dirREST])[kzero] = (Dbuff.f[dirREST])[k]; - (D.f[dirBSW ])[kbsw ] = (Dbuff.f[dirTNE ])[k]; - (D.f[dirBNE ])[kbne ] = (Dbuff.f[dirTSW ])[k]; - (D.f[dirBNW ])[kbnw ] = (Dbuff.f[dirTSE ])[k]; - (D.f[dirBSE ])[kbse ] = (Dbuff.f[dirTNW ])[k]; - (D.f[dirTSW ])[ktsw ] = (Dbuff.f[dirBNE ])[k]; - (D.f[dirTNE ])[ktne ] = (Dbuff.f[dirBSW ])[k]; - (D.f[dirTNW ])[ktnw ] = (Dbuff.f[dirBSE ])[k]; - (D.f[dirTSE ])[ktse ] = (Dbuff.f[dirBNW ])[k]; + (D.f[BSW ])[kbsw ] = (Dbuff.f[TNE ])[k]; + (D.f[BNE ])[kbne ] = (Dbuff.f[TSW ])[k]; + (D.f[BNW ])[kbnw ] = (Dbuff.f[TSE ])[k]; + (D.f[BSE ])[kbse ] = (Dbuff.f[TNW ])[k]; + (D.f[TSW ])[ktsw ] = (Dbuff.f[BNE ])[k]; + (D.f[TNE ])[ktne ] = (Dbuff.f[BSW ])[k]; + (D.f[TNW ])[ktnw ] = (Dbuff.f[BSE ])[k]; + (D.f[TSE ])[ktse ] = (Dbuff.f[BNW ])[k]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -535,123 +535,123 @@ extern "C" __global__ void getSendFsPre27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Fs Distributions27 Dbuff; - Dbuff.f[dirE ] = &bufferFs[dirE *buffmax]; - Dbuff.f[dirW ] = &bufferFs[dirW *buffmax]; - Dbuff.f[dirN ] = &bufferFs[dirN *buffmax]; - Dbuff.f[dirS ] = &bufferFs[dirS *buffmax]; - Dbuff.f[dirT ] = &bufferFs[dirT *buffmax]; - Dbuff.f[dirB ] = &bufferFs[dirB *buffmax]; - Dbuff.f[dirNE ] = &bufferFs[dirNE *buffmax]; - Dbuff.f[dirSW ] = &bufferFs[dirSW *buffmax]; - Dbuff.f[dirSE ] = &bufferFs[dirSE *buffmax]; - Dbuff.f[dirNW ] = &bufferFs[dirNW *buffmax]; - Dbuff.f[dirTE ] = &bufferFs[dirTE *buffmax]; - Dbuff.f[dirBW ] = &bufferFs[dirBW *buffmax]; - Dbuff.f[dirBE ] = &bufferFs[dirBE *buffmax]; - Dbuff.f[dirTW ] = &bufferFs[dirTW *buffmax]; - Dbuff.f[dirTN ] = &bufferFs[dirTN *buffmax]; - Dbuff.f[dirBS ] = &bufferFs[dirBS *buffmax]; - Dbuff.f[dirBN ] = &bufferFs[dirBN *buffmax]; - Dbuff.f[dirTS ] = &bufferFs[dirTS *buffmax]; + Dbuff.f[E ] = &bufferFs[E *buffmax]; + Dbuff.f[W ] = &bufferFs[W *buffmax]; + Dbuff.f[N ] = &bufferFs[N *buffmax]; + Dbuff.f[S ] = &bufferFs[S *buffmax]; + Dbuff.f[T ] = &bufferFs[T *buffmax]; + Dbuff.f[B ] = &bufferFs[B *buffmax]; + Dbuff.f[NE ] = &bufferFs[NE *buffmax]; + Dbuff.f[SW ] = &bufferFs[SW *buffmax]; + Dbuff.f[SE ] = &bufferFs[SE *buffmax]; + Dbuff.f[NW ] = &bufferFs[NW *buffmax]; + Dbuff.f[TE ] = &bufferFs[TE *buffmax]; + Dbuff.f[BW ] = &bufferFs[BW *buffmax]; + Dbuff.f[BE ] = &bufferFs[BE *buffmax]; + Dbuff.f[TW ] = &bufferFs[TW *buffmax]; + Dbuff.f[TN ] = &bufferFs[TN *buffmax]; + Dbuff.f[BS ] = &bufferFs[BS *buffmax]; + Dbuff.f[BN ] = &bufferFs[BN *buffmax]; + Dbuff.f[TS ] = &bufferFs[TS *buffmax]; Dbuff.f[dirREST] = &bufferFs[dirREST*buffmax]; - Dbuff.f[dirTNE ] = &bufferFs[dirTNE *buffmax]; - Dbuff.f[dirTSW ] = &bufferFs[dirTSW *buffmax]; - Dbuff.f[dirTSE ] = &bufferFs[dirTSE *buffmax]; - Dbuff.f[dirTNW ] = &bufferFs[dirTNW *buffmax]; - Dbuff.f[dirBNE ] = &bufferFs[dirBNE *buffmax]; - Dbuff.f[dirBSW ] = &bufferFs[dirBSW *buffmax]; - Dbuff.f[dirBSE ] = &bufferFs[dirBSE *buffmax]; - Dbuff.f[dirBNW ] = &bufferFs[dirBNW *buffmax]; + Dbuff.f[TNE ] = &bufferFs[TNE *buffmax]; + Dbuff.f[TSW ] = &bufferFs[TSW *buffmax]; + Dbuff.f[TSE ] = &bufferFs[TSE *buffmax]; + Dbuff.f[TNW ] = &bufferFs[TNW *buffmax]; + Dbuff.f[BNE ] = &bufferFs[BNE *buffmax]; + Dbuff.f[BSW ] = &bufferFs[BSW *buffmax]; + Dbuff.f[BSE ] = &bufferFs[BSE *buffmax]; + Dbuff.f[BNW ] = &bufferFs[BNW *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //copy to buffer - (Dbuff.f[dirE ])[k] = (D.f[dirE ])[ke ]; - (Dbuff.f[dirW ])[k] = (D.f[dirW ])[kw ]; - (Dbuff.f[dirN ])[k] = (D.f[dirN ])[kn ]; - (Dbuff.f[dirS ])[k] = (D.f[dirS ])[ks ]; - (Dbuff.f[dirT ])[k] = (D.f[dirT ])[kt ]; - (Dbuff.f[dirB ])[k] = (D.f[dirB ])[kb ]; - (Dbuff.f[dirNE ])[k] = (D.f[dirNE ])[kne ]; - (Dbuff.f[dirSW ])[k] = (D.f[dirSW ])[ksw ]; - (Dbuff.f[dirSE ])[k] = (D.f[dirSE ])[kse ]; - (Dbuff.f[dirNW ])[k] = (D.f[dirNW ])[knw ]; - (Dbuff.f[dirTE ])[k] = (D.f[dirTE ])[kte ]; - (Dbuff.f[dirBW ])[k] = (D.f[dirBW ])[kbw ]; - (Dbuff.f[dirBE ])[k] = (D.f[dirBE ])[kbe ]; - (Dbuff.f[dirTW ])[k] = (D.f[dirTW ])[ktw ]; - (Dbuff.f[dirTN ])[k] = (D.f[dirTN ])[ktn ]; - (Dbuff.f[dirBS ])[k] = (D.f[dirBS ])[kbs ]; - (Dbuff.f[dirBN ])[k] = (D.f[dirBN ])[kbn ]; - (Dbuff.f[dirTS ])[k] = (D.f[dirTS ])[kts ]; + (Dbuff.f[E ])[k] = (D.f[E ])[ke ]; + (Dbuff.f[W ])[k] = (D.f[W ])[kw ]; + (Dbuff.f[N ])[k] = (D.f[N ])[kn ]; + (Dbuff.f[S ])[k] = (D.f[S ])[ks ]; + (Dbuff.f[T ])[k] = (D.f[T ])[kt ]; + (Dbuff.f[B ])[k] = (D.f[B ])[kb ]; + (Dbuff.f[NE ])[k] = (D.f[NE ])[kne ]; + (Dbuff.f[SW ])[k] = (D.f[SW ])[ksw ]; + (Dbuff.f[SE ])[k] = (D.f[SE ])[kse ]; + (Dbuff.f[NW ])[k] = (D.f[NW ])[knw ]; + (Dbuff.f[TE ])[k] = (D.f[TE ])[kte ]; + (Dbuff.f[BW ])[k] = (D.f[BW ])[kbw ]; + (Dbuff.f[BE ])[k] = (D.f[BE ])[kbe ]; + (Dbuff.f[TW ])[k] = (D.f[TW ])[ktw ]; + (Dbuff.f[TN ])[k] = (D.f[TN ])[ktn ]; + (Dbuff.f[BS ])[k] = (D.f[BS ])[kbs ]; + (Dbuff.f[BN ])[k] = (D.f[BN ])[kbn ]; + (Dbuff.f[TS ])[k] = (D.f[TS ])[kts ]; (Dbuff.f[dirREST])[k] = (D.f[dirREST])[kzero]; - (Dbuff.f[dirTNE ])[k] = (D.f[dirTNE ])[ktne ]; - (Dbuff.f[dirTSW ])[k] = (D.f[dirTSW ])[ktsw ]; - (Dbuff.f[dirTSE ])[k] = (D.f[dirTSE ])[ktse ]; - (Dbuff.f[dirTNW ])[k] = (D.f[dirTNW ])[ktnw ]; - (Dbuff.f[dirBNE ])[k] = (D.f[dirBNE ])[kbne ]; - (Dbuff.f[dirBSW ])[k] = (D.f[dirBSW ])[kbsw ]; - (Dbuff.f[dirBSE ])[k] = (D.f[dirBSE ])[kbse ]; - (Dbuff.f[dirBNW ])[k] = (D.f[dirBNW ])[kbnw ]; + (Dbuff.f[TNE ])[k] = (D.f[TNE ])[ktne ]; + (Dbuff.f[TSW ])[k] = (D.f[TSW ])[ktsw ]; + (Dbuff.f[TSE ])[k] = (D.f[TSE ])[ktse ]; + (Dbuff.f[TNW ])[k] = (D.f[TNW ])[ktnw ]; + (Dbuff.f[BNE ])[k] = (D.f[BNE ])[kbne ]; + (Dbuff.f[BSW ])[k] = (D.f[BSW ])[kbsw ]; + (Dbuff.f[BSE ])[k] = (D.f[BSE ])[kbse ]; + (Dbuff.f[BNW ])[k] = (D.f[BNW ])[kbnw ]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -744,123 +744,123 @@ extern "C" __global__ void setRecvFsPre27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Fs Distributions27 Dbuff; - Dbuff.f[dirE ] = &bufferFs[dirE *buffmax]; - Dbuff.f[dirW ] = &bufferFs[dirW *buffmax]; - Dbuff.f[dirN ] = &bufferFs[dirN *buffmax]; - Dbuff.f[dirS ] = &bufferFs[dirS *buffmax]; - Dbuff.f[dirT ] = &bufferFs[dirT *buffmax]; - Dbuff.f[dirB ] = &bufferFs[dirB *buffmax]; - Dbuff.f[dirNE ] = &bufferFs[dirNE *buffmax]; - Dbuff.f[dirSW ] = &bufferFs[dirSW *buffmax]; - Dbuff.f[dirSE ] = &bufferFs[dirSE *buffmax]; - Dbuff.f[dirNW ] = &bufferFs[dirNW *buffmax]; - Dbuff.f[dirTE ] = &bufferFs[dirTE *buffmax]; - Dbuff.f[dirBW ] = &bufferFs[dirBW *buffmax]; - Dbuff.f[dirBE ] = &bufferFs[dirBE *buffmax]; - Dbuff.f[dirTW ] = &bufferFs[dirTW *buffmax]; - Dbuff.f[dirTN ] = &bufferFs[dirTN *buffmax]; - Dbuff.f[dirBS ] = &bufferFs[dirBS *buffmax]; - Dbuff.f[dirBN ] = &bufferFs[dirBN *buffmax]; - Dbuff.f[dirTS ] = &bufferFs[dirTS *buffmax]; + Dbuff.f[E ] = &bufferFs[E *buffmax]; + Dbuff.f[W ] = &bufferFs[W *buffmax]; + Dbuff.f[N ] = &bufferFs[N *buffmax]; + Dbuff.f[S ] = &bufferFs[S *buffmax]; + Dbuff.f[T ] = &bufferFs[T *buffmax]; + Dbuff.f[B ] = &bufferFs[B *buffmax]; + Dbuff.f[NE ] = &bufferFs[NE *buffmax]; + Dbuff.f[SW ] = &bufferFs[SW *buffmax]; + Dbuff.f[SE ] = &bufferFs[SE *buffmax]; + Dbuff.f[NW ] = &bufferFs[NW *buffmax]; + Dbuff.f[TE ] = &bufferFs[TE *buffmax]; + Dbuff.f[BW ] = &bufferFs[BW *buffmax]; + Dbuff.f[BE ] = &bufferFs[BE *buffmax]; + Dbuff.f[TW ] = &bufferFs[TW *buffmax]; + Dbuff.f[TN ] = &bufferFs[TN *buffmax]; + Dbuff.f[BS ] = &bufferFs[BS *buffmax]; + Dbuff.f[BN ] = &bufferFs[BN *buffmax]; + Dbuff.f[TS ] = &bufferFs[TS *buffmax]; Dbuff.f[dirREST] = &bufferFs[dirREST*buffmax]; - Dbuff.f[dirTNE ] = &bufferFs[dirTNE *buffmax]; - Dbuff.f[dirTSW ] = &bufferFs[dirTSW *buffmax]; - Dbuff.f[dirTSE ] = &bufferFs[dirTSE *buffmax]; - Dbuff.f[dirTNW ] = &bufferFs[dirTNW *buffmax]; - Dbuff.f[dirBNE ] = &bufferFs[dirBNE *buffmax]; - Dbuff.f[dirBSW ] = &bufferFs[dirBSW *buffmax]; - Dbuff.f[dirBSE ] = &bufferFs[dirBSE *buffmax]; - Dbuff.f[dirBNW ] = &bufferFs[dirBNW *buffmax]; + Dbuff.f[TNE ] = &bufferFs[TNE *buffmax]; + Dbuff.f[TSW ] = &bufferFs[TSW *buffmax]; + Dbuff.f[TSE ] = &bufferFs[TSE *buffmax]; + Dbuff.f[TNW ] = &bufferFs[TNW *buffmax]; + Dbuff.f[BNE ] = &bufferFs[BNE *buffmax]; + Dbuff.f[BSW ] = &bufferFs[BSW *buffmax]; + Dbuff.f[BSE ] = &bufferFs[BSE *buffmax]; + Dbuff.f[BNW ] = &bufferFs[BNW *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //copy from buffer - (D.f[dirE ])[ke ] = (Dbuff.f[dirE ])[k]; - (D.f[dirW ])[kw ] = (Dbuff.f[dirW ])[k]; - (D.f[dirN ])[kn ] = (Dbuff.f[dirN ])[k]; - (D.f[dirS ])[ks ] = (Dbuff.f[dirS ])[k]; - (D.f[dirT ])[kt ] = (Dbuff.f[dirT ])[k]; - (D.f[dirB ])[kb ] = (Dbuff.f[dirB ])[k]; - (D.f[dirNE ])[kne ] = (Dbuff.f[dirNE ])[k]; - (D.f[dirSW ])[ksw ] = (Dbuff.f[dirSW ])[k]; - (D.f[dirSE ])[kse ] = (Dbuff.f[dirSE ])[k]; - (D.f[dirNW ])[knw ] = (Dbuff.f[dirNW ])[k]; - (D.f[dirTE ])[kte ] = (Dbuff.f[dirTE ])[k]; - (D.f[dirBW ])[kbw ] = (Dbuff.f[dirBW ])[k]; - (D.f[dirBE ])[kbe ] = (Dbuff.f[dirBE ])[k]; - (D.f[dirTW ])[ktw ] = (Dbuff.f[dirTW ])[k]; - (D.f[dirTN ])[ktn ] = (Dbuff.f[dirTN ])[k]; - (D.f[dirBS ])[kbs ] = (Dbuff.f[dirBS ])[k]; - (D.f[dirBN ])[kbn ] = (Dbuff.f[dirBN ])[k]; - (D.f[dirTS ])[kts ] = (Dbuff.f[dirTS ])[k]; + (D.f[E ])[ke ] = (Dbuff.f[E ])[k]; + (D.f[W ])[kw ] = (Dbuff.f[W ])[k]; + (D.f[N ])[kn ] = (Dbuff.f[N ])[k]; + (D.f[S ])[ks ] = (Dbuff.f[S ])[k]; + (D.f[T ])[kt ] = (Dbuff.f[T ])[k]; + (D.f[B ])[kb ] = (Dbuff.f[B ])[k]; + (D.f[NE ])[kne ] = (Dbuff.f[NE ])[k]; + (D.f[SW ])[ksw ] = (Dbuff.f[SW ])[k]; + (D.f[SE ])[kse ] = (Dbuff.f[SE ])[k]; + (D.f[NW ])[knw ] = (Dbuff.f[NW ])[k]; + (D.f[TE ])[kte ] = (Dbuff.f[TE ])[k]; + (D.f[BW ])[kbw ] = (Dbuff.f[BW ])[k]; + (D.f[BE ])[kbe ] = (Dbuff.f[BE ])[k]; + (D.f[TW ])[ktw ] = (Dbuff.f[TW ])[k]; + (D.f[TN ])[ktn ] = (Dbuff.f[TN ])[k]; + (D.f[BS ])[kbs ] = (Dbuff.f[BS ])[k]; + (D.f[BN ])[kbn ] = (Dbuff.f[BN ])[k]; + (D.f[TS ])[kts ] = (Dbuff.f[TS ])[k]; (D.f[dirREST])[kzero] = (Dbuff.f[dirREST])[k]; - (D.f[dirTNE ])[ktne ] = (Dbuff.f[dirTNE ])[k]; - (D.f[dirTSW ])[ktsw ] = (Dbuff.f[dirTSW ])[k]; - (D.f[dirTSE ])[ktse ] = (Dbuff.f[dirTSE ])[k]; - (D.f[dirTNW ])[ktnw ] = (Dbuff.f[dirTNW ])[k]; - (D.f[dirBNE ])[kbne ] = (Dbuff.f[dirBNE ])[k]; - (D.f[dirBSW ])[kbsw ] = (Dbuff.f[dirBSW ])[k]; - (D.f[dirBSE ])[kbse ] = (Dbuff.f[dirBSE ])[k]; - (D.f[dirBNW ])[kbnw ] = (Dbuff.f[dirBNW ])[k]; + (D.f[TNE ])[ktne ] = (Dbuff.f[TNE ])[k]; + (D.f[TSW ])[ktsw ] = (Dbuff.f[TSW ])[k]; + (D.f[TSE ])[ktse ] = (Dbuff.f[TSE ])[k]; + (D.f[TNW ])[ktnw ] = (Dbuff.f[TNW ])[k]; + (D.f[BNE ])[kbne ] = (Dbuff.f[BNE ])[k]; + (D.f[BSW ])[kbsw ] = (Dbuff.f[BSW ])[k]; + (D.f[BSE ])[kbse ] = (Dbuff.f[BSE ])[k]; + (D.f[BNW ])[kbnw ] = (Dbuff.f[BNW ])[k]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -930,39 +930,39 @@ extern "C" __global__ void getSendGsF3( Distributions6 G; if (isEvenTimestep) { - G.g[dirE] = &G6[dirE *size_Mat]; - G.g[dirW] = &G6[dirW *size_Mat]; - G.g[dirN] = &G6[dirN *size_Mat]; - G.g[dirS] = &G6[dirS *size_Mat]; - G.g[dirT] = &G6[dirT *size_Mat]; - G.g[dirB] = &G6[dirB *size_Mat]; + G.g[E] = &G6[E *size_Mat]; + G.g[W] = &G6[W *size_Mat]; + G.g[N] = &G6[N *size_Mat]; + G.g[S] = &G6[S *size_Mat]; + G.g[T] = &G6[T *size_Mat]; + G.g[B] = &G6[B *size_Mat]; } else { - G.g[dirW] = &G6[dirE *size_Mat]; - G.g[dirE] = &G6[dirW *size_Mat]; - G.g[dirS] = &G6[dirN *size_Mat]; - G.g[dirN] = &G6[dirS *size_Mat]; - G.g[dirB] = &G6[dirT *size_Mat]; - G.g[dirT] = &G6[dirB *size_Mat]; + G.g[W] = &G6[E *size_Mat]; + G.g[E] = &G6[W *size_Mat]; + G.g[S] = &G6[N *size_Mat]; + G.g[N] = &G6[S *size_Mat]; + G.g[B] = &G6[T *size_Mat]; + G.g[T] = &G6[B *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Gs Distributions6 Dbuff; - Dbuff.g[dirE] = &bufferGs[dirE *buffmax]; - Dbuff.g[dirW] = &bufferGs[dirW *buffmax]; - Dbuff.g[dirN] = &bufferGs[dirN *buffmax]; - Dbuff.g[dirS] = &bufferGs[dirS *buffmax]; - Dbuff.g[dirT] = &bufferGs[dirT *buffmax]; - Dbuff.g[dirB] = &bufferGs[dirB *buffmax]; + Dbuff.g[E] = &bufferGs[E *buffmax]; + Dbuff.g[W] = &bufferGs[W *buffmax]; + Dbuff.g[N] = &bufferGs[N *buffmax]; + Dbuff.g[S] = &bufferGs[S *buffmax]; + Dbuff.g[T] = &bufferGs[T *buffmax]; + Dbuff.g[B] = &bufferGs[B *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //write Gs to buffer - (Dbuff.g[dirE])[k] = (G.g[dirW])[kw]; - (Dbuff.g[dirW])[k] = (G.g[dirE])[kr]; - (Dbuff.g[dirN])[k] = (G.g[dirS])[ks]; - (Dbuff.g[dirS])[k] = (G.g[dirN])[kr]; - (Dbuff.g[dirT])[k] = (G.g[dirB])[kb]; - (Dbuff.g[dirB])[k] = (G.g[dirT])[kr]; + (Dbuff.g[E])[k] = (G.g[W])[kw]; + (Dbuff.g[W])[k] = (G.g[E])[kr]; + (Dbuff.g[N])[k] = (G.g[S])[ks]; + (Dbuff.g[S])[k] = (G.g[N])[kr]; + (Dbuff.g[T])[k] = (G.g[B])[kb]; + (Dbuff.g[B])[k] = (G.g[T])[kr]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1033,39 +1033,39 @@ extern "C" __global__ void setRecvGsF3( Distributions6 G; if (isEvenTimestep) { - G.g[dirE] = &G6[dirE *size_Mat]; - G.g[dirW] = &G6[dirW *size_Mat]; - G.g[dirN] = &G6[dirN *size_Mat]; - G.g[dirS] = &G6[dirS *size_Mat]; - G.g[dirT] = &G6[dirT *size_Mat]; - G.g[dirB] = &G6[dirB *size_Mat]; + G.g[E] = &G6[E *size_Mat]; + G.g[W] = &G6[W *size_Mat]; + G.g[N] = &G6[N *size_Mat]; + G.g[S] = &G6[S *size_Mat]; + G.g[T] = &G6[T *size_Mat]; + G.g[B] = &G6[B *size_Mat]; } else { - G.g[dirW] = &G6[dirE *size_Mat]; - G.g[dirE] = &G6[dirW *size_Mat]; - G.g[dirS] = &G6[dirN *size_Mat]; - G.g[dirN] = &G6[dirS *size_Mat]; - G.g[dirB] = &G6[dirT *size_Mat]; - G.g[dirT] = &G6[dirB *size_Mat]; + G.g[W] = &G6[E *size_Mat]; + G.g[E] = &G6[W *size_Mat]; + G.g[S] = &G6[N *size_Mat]; + G.g[N] = &G6[S *size_Mat]; + G.g[B] = &G6[T *size_Mat]; + G.g[T] = &G6[B *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set Pointer for Buffer Gs Distributions6 Dbuff; - Dbuff.g[dirE] = &bufferGs[dirE *buffmax]; - Dbuff.g[dirW] = &bufferGs[dirW *buffmax]; - Dbuff.g[dirN] = &bufferGs[dirN *buffmax]; - Dbuff.g[dirS] = &bufferGs[dirS *buffmax]; - Dbuff.g[dirT] = &bufferGs[dirT *buffmax]; - Dbuff.g[dirB] = &bufferGs[dirB *buffmax]; + Dbuff.g[E] = &bufferGs[E *buffmax]; + Dbuff.g[W] = &bufferGs[W *buffmax]; + Dbuff.g[N] = &bufferGs[N *buffmax]; + Dbuff.g[S] = &bufferGs[S *buffmax]; + Dbuff.g[T] = &bufferGs[T *buffmax]; + Dbuff.g[B] = &bufferGs[B *buffmax]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //write buffer to Gs - (G.g[dirW])[kw] = (Dbuff.g[dirE])[k]; - (G.g[dirE])[kr] = (Dbuff.g[dirW])[k]; - (G.g[dirS])[ks] = (Dbuff.g[dirN])[k]; - (G.g[dirN])[kr] = (Dbuff.g[dirS])[k]; - (G.g[dirB])[kb] = (Dbuff.g[dirT])[k]; - (G.g[dirT])[kr] = (Dbuff.g[dirB])[k]; + (G.g[W])[kw] = (Dbuff.g[E])[k]; + (G.g[E])[kr] = (Dbuff.g[W])[k]; + (G.g[S])[ks] = (Dbuff.g[N])[k]; + (G.g[N])[kr] = (Dbuff.g[S])[k]; + (G.g[B])[kb] = (Dbuff.g[T])[k]; + (G.g[T])[kr] = (Dbuff.g[B])[k]; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/Init27.cu b/src/gpu/VirtualFluids_GPU/GPU/Init27.cu index 37b37a8f5..f44b2bcba 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Init27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Init27.cu @@ -23,33 +23,33 @@ extern "C" __global__ void LBInit27( int myid, int maxlev) { Distributions27 D; - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; //////////////////////////////////////////////////////////////////////////////// unsigned int k; // Zugriff auf arrays im device // @@ -141,32 +141,32 @@ extern "C" __global__ void LBInit27( int myid, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq); - (D.f[dirE ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirN ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirT ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirNE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirSE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirTE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirBE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirTN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirBN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D.f[E ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D.f[W ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[N ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D.f[S ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[T ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D.f[B ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D.f[NE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D.f[SW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D.f[SE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D.f[NW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D.f[TE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D.f[BW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D.f[BE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D.f[TW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D.f[TN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D.f[BS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D.f[BN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D.f[TS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D.f[TNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D.f[BSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D.f[BNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D.f[TSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D.f[TSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D.f[BNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D.f[BSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D.f[TNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); } //////////////////////////////////////////////////////////////////////////////// @@ -217,63 +217,63 @@ extern "C" __global__ void LBInitNonEqPartSP27( unsigned int* neighborX, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real drho = rho[k];//0.0f;// @@ -396,62 +396,62 @@ extern "C" __global__ void LBInitNonEqPartSP27( unsigned int* neighborX, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq); - (D.f[dirE ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirN ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirT ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirNE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirSE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirTE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirBE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirTN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirBN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D.f[E ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D.f[W ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[N ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D.f[S ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[T ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D.f[B ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D.f[NE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D.f[SW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D.f[SE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D.f[NW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D.f[TE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D.f[BW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D.f[BE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D.f[TW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D.f[TN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D.f[BS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D.f[BN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D.f[TS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D.f[TNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D.f[BSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D.f[BNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D.f[TSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D.f[TSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D.f[BNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D.f[BSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D.f[TNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); ////////////////////////////////////////////////////////////////////////// (D.f[dirREST])[kzero] += f_ZERO; - (D.f[dirE ])[ke ] += f_E ; - (D.f[dirW ])[kw ] += f_E ; - (D.f[dirN ])[kn ] += f_N ; - (D.f[dirS ])[ks ] += f_N ; - (D.f[dirT ])[kt ] += f_T ; - (D.f[dirB ])[kb ] += f_T ; - (D.f[dirNE ])[kne ] += f_NE ; - (D.f[dirSW ])[ksw ] += f_NE ; - (D.f[dirSE ])[kse ] += f_SE ; - (D.f[dirNW ])[knw ] += f_SE ; - (D.f[dirTE ])[kte ] += f_TE ; - (D.f[dirBW ])[kbw ] += f_TE ; - (D.f[dirBE ])[kbe ] += f_BE ; - (D.f[dirTW ])[ktw ] += f_BE ; - (D.f[dirTN ])[ktn ] += f_TN ; - (D.f[dirBS ])[kbs ] += f_TN ; - (D.f[dirBN ])[kbn ] += f_BN ; - (D.f[dirTS ])[kts ] += f_BN ; - (D.f[dirTNE ])[ktne ] += f_TNE ; - (D.f[dirBSW ])[kbsw ] += f_TNE ; - (D.f[dirBNE ])[kbne ] += f_TSW ; - (D.f[dirTSW ])[ktsw ] += f_TSW ; - (D.f[dirTSE ])[ktse ] += f_TSE ; - (D.f[dirBNW ])[kbnw ] += f_TSE ; - (D.f[dirBSE ])[kbse ] += f_TNW ; - (D.f[dirTNW ])[ktnw ] += f_TNW ; + (D.f[E ])[ke ] += f_E ; + (D.f[W ])[kw ] += f_E ; + (D.f[N ])[kn ] += f_N ; + (D.f[S ])[ks ] += f_N ; + (D.f[T ])[kt ] += f_T ; + (D.f[B ])[kb ] += f_T ; + (D.f[NE ])[kne ] += f_NE ; + (D.f[SW ])[ksw ] += f_NE ; + (D.f[SE ])[kse ] += f_SE ; + (D.f[NW ])[knw ] += f_SE ; + (D.f[TE ])[kte ] += f_TE ; + (D.f[BW ])[kbw ] += f_TE ; + (D.f[BE ])[kbe ] += f_BE ; + (D.f[TW ])[ktw ] += f_BE ; + (D.f[TN ])[ktn ] += f_TN ; + (D.f[BS ])[kbs ] += f_TN ; + (D.f[BN ])[kbn ] += f_BN ; + (D.f[TS ])[kts ] += f_BN ; + (D.f[TNE ])[ktne ] += f_TNE ; + (D.f[BSW ])[kbsw ] += f_TNE ; + (D.f[BNE ])[kbne ] += f_TSW ; + (D.f[TSW ])[ktsw ] += f_TSW ; + (D.f[TSE ])[ktse ] += f_TSE ; + (D.f[BNW ])[kbnw ] += f_TSE ; + (D.f[BSE ])[kbse ] += f_TNW ; + (D.f[TNW ])[ktnw ] += f_TNW ; ////////////////////////////////////////////////////////////////////////// } diff --git a/src/gpu/VirtualFluids_GPU/GPU/InitAdvectionDiffusion27.cu b/src/gpu/VirtualFluids_GPU/GPU/InitAdvectionDiffusion27.cu index c1647bfe9..835706e76 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/InitAdvectionDiffusion27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/InitAdvectionDiffusion27.cu @@ -77,63 +77,63 @@ extern "C" __global__ void InitAD27( Distributions27 distAD; if (isEvenTimestep) { - distAD.f[dirE ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirW ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[E ] = &distributionsAD[E *size_Mat]; + distAD.f[W ] = &distributionsAD[W *size_Mat]; + distAD.f[N ] = &distributionsAD[N *size_Mat]; + distAD.f[S ] = &distributionsAD[S *size_Mat]; + distAD.f[T ] = &distributionsAD[T *size_Mat]; + distAD.f[B ] = &distributionsAD[B *size_Mat]; + distAD.f[NE ] = &distributionsAD[NE *size_Mat]; + distAD.f[SW ] = &distributionsAD[SW *size_Mat]; + distAD.f[SE ] = &distributionsAD[SE *size_Mat]; + distAD.f[NW ] = &distributionsAD[NW *size_Mat]; + distAD.f[TE ] = &distributionsAD[TE *size_Mat]; + distAD.f[BW ] = &distributionsAD[BW *size_Mat]; + distAD.f[BE ] = &distributionsAD[BE *size_Mat]; + distAD.f[TW ] = &distributionsAD[TW *size_Mat]; + distAD.f[TN ] = &distributionsAD[TN *size_Mat]; + distAD.f[BS ] = &distributionsAD[BS *size_Mat]; + distAD.f[BN ] = &distributionsAD[BN *size_Mat]; + distAD.f[TS ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirTSE *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirBNW *size_Mat]; + distAD.f[TNE ] = &distributionsAD[TNE *size_Mat]; + distAD.f[TSW ] = &distributionsAD[TSW *size_Mat]; + distAD.f[TSE ] = &distributionsAD[TSE *size_Mat]; + distAD.f[TNW ] = &distributionsAD[TNW *size_Mat]; + distAD.f[BNE ] = &distributionsAD[BNE *size_Mat]; + distAD.f[BSW ] = &distributionsAD[BSW *size_Mat]; + distAD.f[BSE ] = &distributionsAD[BSE *size_Mat]; + distAD.f[BNW ] = &distributionsAD[BNW *size_Mat]; } else { - distAD.f[dirW ] = &distributionsAD[dirE *size_Mat]; - distAD.f[dirE ] = &distributionsAD[dirW *size_Mat]; - distAD.f[dirS ] = &distributionsAD[dirN *size_Mat]; - distAD.f[dirN ] = &distributionsAD[dirS *size_Mat]; - distAD.f[dirB ] = &distributionsAD[dirT *size_Mat]; - distAD.f[dirT ] = &distributionsAD[dirB *size_Mat]; - distAD.f[dirSW ] = &distributionsAD[dirNE *size_Mat]; - distAD.f[dirNE ] = &distributionsAD[dirSW *size_Mat]; - distAD.f[dirNW ] = &distributionsAD[dirSE *size_Mat]; - distAD.f[dirSE ] = &distributionsAD[dirNW *size_Mat]; - distAD.f[dirBW ] = &distributionsAD[dirTE *size_Mat]; - distAD.f[dirTE ] = &distributionsAD[dirBW *size_Mat]; - distAD.f[dirTW ] = &distributionsAD[dirBE *size_Mat]; - distAD.f[dirBE ] = &distributionsAD[dirTW *size_Mat]; - distAD.f[dirBS ] = &distributionsAD[dirTN *size_Mat]; - distAD.f[dirTN ] = &distributionsAD[dirBS *size_Mat]; - distAD.f[dirTS ] = &distributionsAD[dirBN *size_Mat]; - distAD.f[dirBN ] = &distributionsAD[dirTS *size_Mat]; + distAD.f[W ] = &distributionsAD[E *size_Mat]; + distAD.f[E ] = &distributionsAD[W *size_Mat]; + distAD.f[S ] = &distributionsAD[N *size_Mat]; + distAD.f[N ] = &distributionsAD[S *size_Mat]; + distAD.f[B ] = &distributionsAD[T *size_Mat]; + distAD.f[T ] = &distributionsAD[B *size_Mat]; + distAD.f[SW ] = &distributionsAD[NE *size_Mat]; + distAD.f[NE ] = &distributionsAD[SW *size_Mat]; + distAD.f[NW ] = &distributionsAD[SE *size_Mat]; + distAD.f[SE ] = &distributionsAD[NW *size_Mat]; + distAD.f[BW ] = &distributionsAD[TE *size_Mat]; + distAD.f[TE ] = &distributionsAD[BW *size_Mat]; + distAD.f[TW ] = &distributionsAD[BE *size_Mat]; + distAD.f[BE ] = &distributionsAD[TW *size_Mat]; + distAD.f[BS ] = &distributionsAD[TN *size_Mat]; + distAD.f[TN ] = &distributionsAD[BS *size_Mat]; + distAD.f[TS ] = &distributionsAD[BN *size_Mat]; + distAD.f[BN ] = &distributionsAD[TS *size_Mat]; distAD.f[dirREST] = &distributionsAD[dirREST*size_Mat]; - distAD.f[dirBSW ] = &distributionsAD[dirTNE *size_Mat]; - distAD.f[dirBNE ] = &distributionsAD[dirTSW *size_Mat]; - distAD.f[dirBNW ] = &distributionsAD[dirTSE *size_Mat]; - distAD.f[dirBSE ] = &distributionsAD[dirTNW *size_Mat]; - distAD.f[dirTSW ] = &distributionsAD[dirBNE *size_Mat]; - distAD.f[dirTNE ] = &distributionsAD[dirBSW *size_Mat]; - distAD.f[dirTNW ] = &distributionsAD[dirBSE *size_Mat]; - distAD.f[dirTSE ] = &distributionsAD[dirBNW *size_Mat]; + distAD.f[BSW ] = &distributionsAD[TNE *size_Mat]; + distAD.f[BNE ] = &distributionsAD[TSW *size_Mat]; + distAD.f[BNW ] = &distributionsAD[TSE *size_Mat]; + distAD.f[BSE ] = &distributionsAD[TNW *size_Mat]; + distAD.f[TSW ] = &distributionsAD[BNE *size_Mat]; + distAD.f[TNE ] = &distributionsAD[BSW *size_Mat]; + distAD.f[TNW ] = &distributionsAD[BSE *size_Mat]; + distAD.f[TSE ] = &distributionsAD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// //! - Set local velocities and concetration @@ -178,32 +178,32 @@ extern "C" __global__ void InitAD27( real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3); (distAD.f[dirREST])[kzero] = c8o27 * conc * (c1o1 - cu_sq); - (distAD.f[dirE ])[ke ] = c2o27 * conc * (c1o1 + c3o1 * ( vx1 ) + c9o2 * ( vx1 ) * ( vx1 ) - cu_sq); - (distAD.f[dirW ])[kw ] = c2o27 * conc * (c1o1 + c3o1 * (-vx1 ) + c9o2 * (-vx1 ) * (-vx1 ) - cu_sq); - (distAD.f[dirN ])[kn ] = c2o27 * conc * (c1o1 + c3o1 * ( vx2 ) + c9o2 * ( vx2 ) * ( vx2 ) - cu_sq); - (distAD.f[dirS ])[ks ] = c2o27 * conc * (c1o1 + c3o1 * ( - vx2 ) + c9o2 * ( - vx2 ) * ( - vx2 ) - cu_sq); - (distAD.f[dirT ])[kt ] = c2o27 * conc * (c1o1 + c3o1 * ( vx3) + c9o2 * ( vx3) * ( vx3) - cu_sq); - (distAD.f[dirB ])[kb ] = c2o27 * conc * (c1o1 + c3o1 * ( - vx3) + c9o2 * ( - vx3) * ( - vx3) - cu_sq); - (distAD.f[dirNE ])[kne ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 + vx2 ) + c9o2 * ( vx1 + vx2 ) * ( vx1 + vx2 ) - cu_sq); - (distAD.f[dirSW ])[ksw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 - vx2 ) + c9o2 * (-vx1 - vx2 ) * (-vx1 - vx2 ) - cu_sq); - (distAD.f[dirSE ])[kse ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 - vx2 ) + c9o2 * ( vx1 - vx2 ) * ( vx1 - vx2 ) - cu_sq); - (distAD.f[dirNW ])[knw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 + vx2 ) + c9o2 * (-vx1 + vx2 ) * (-vx1 + vx2 ) - cu_sq); - (distAD.f[dirTE ])[kte ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 + vx3) + c9o2 * ( vx1 + vx3) * ( vx1 + vx3) - cu_sq); - (distAD.f[dirBW ])[kbw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 - vx3) + c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq); - (distAD.f[dirBE ])[kbe ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 - vx3) + c9o2 * ( vx1 - vx3) * ( vx1 - vx3) - cu_sq); - (distAD.f[dirTW ])[ktw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 + vx3) + c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq); - (distAD.f[dirTN ])[ktn ] = c1o54 * conc * (c1o1 + c3o1 * ( vx2 + vx3) + c9o2 * ( vx2 + vx3) * ( vx2 + vx3) - cu_sq); - (distAD.f[dirBS ])[kbs ] = c1o54 * conc * (c1o1 + c3o1 * ( - vx2 - vx3) + c9o2 * ( - vx2 - vx3) * ( - vx2 - vx3) - cu_sq); - (distAD.f[dirBN ])[kbn ] = c1o54 * conc * (c1o1 + c3o1 * ( vx2 - vx3) + c9o2 * ( vx2 - vx3) * ( vx2 - vx3) - cu_sq); - (distAD.f[dirTS ])[kts ] = c1o54 * conc * (c1o1 + c3o1 * ( - vx2 + vx3) + c9o2 * ( - vx2 + vx3) * ( - vx2 + vx3) - cu_sq); - (distAD.f[dirTNE ])[ktne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 + vx3) + c9o2 * ( vx1 + vx2 + vx3) * ( vx1 + vx2 + vx3) - cu_sq); - (distAD.f[dirBSW ])[kbsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 - vx3) + c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq); - (distAD.f[dirBNE ])[kbne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 - vx3) + c9o2 * ( vx1 + vx2 - vx3) * ( vx1 + vx2 - vx3) - cu_sq); - (distAD.f[dirTSW ])[ktsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 + vx3) + c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq); - (distAD.f[dirTSE ])[ktse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 + vx3) + c9o2 * ( vx1 - vx2 + vx3) * ( vx1 - vx2 + vx3) - cu_sq); - (distAD.f[dirBNW ])[kbnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 - vx3) + c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq); - (distAD.f[dirBSE ])[kbse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 - vx3) + c9o2 * ( vx1 - vx2 - vx3) * ( vx1 - vx2 - vx3) - cu_sq); - (distAD.f[dirTNW ])[ktnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 + vx3) + c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq); + (distAD.f[E ])[ke ] = c2o27 * conc * (c1o1 + c3o1 * ( vx1 ) + c9o2 * ( vx1 ) * ( vx1 ) - cu_sq); + (distAD.f[W ])[kw ] = c2o27 * conc * (c1o1 + c3o1 * (-vx1 ) + c9o2 * (-vx1 ) * (-vx1 ) - cu_sq); + (distAD.f[N ])[kn ] = c2o27 * conc * (c1o1 + c3o1 * ( vx2 ) + c9o2 * ( vx2 ) * ( vx2 ) - cu_sq); + (distAD.f[S ])[ks ] = c2o27 * conc * (c1o1 + c3o1 * ( - vx2 ) + c9o2 * ( - vx2 ) * ( - vx2 ) - cu_sq); + (distAD.f[T ])[kt ] = c2o27 * conc * (c1o1 + c3o1 * ( vx3) + c9o2 * ( vx3) * ( vx3) - cu_sq); + (distAD.f[B ])[kb ] = c2o27 * conc * (c1o1 + c3o1 * ( - vx3) + c9o2 * ( - vx3) * ( - vx3) - cu_sq); + (distAD.f[NE ])[kne ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 + vx2 ) + c9o2 * ( vx1 + vx2 ) * ( vx1 + vx2 ) - cu_sq); + (distAD.f[SW ])[ksw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 - vx2 ) + c9o2 * (-vx1 - vx2 ) * (-vx1 - vx2 ) - cu_sq); + (distAD.f[SE ])[kse ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 - vx2 ) + c9o2 * ( vx1 - vx2 ) * ( vx1 - vx2 ) - cu_sq); + (distAD.f[NW ])[knw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 + vx2 ) + c9o2 * (-vx1 + vx2 ) * (-vx1 + vx2 ) - cu_sq); + (distAD.f[TE ])[kte ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 + vx3) + c9o2 * ( vx1 + vx3) * ( vx1 + vx3) - cu_sq); + (distAD.f[BW ])[kbw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 - vx3) + c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq); + (distAD.f[BE ])[kbe ] = c1o54 * conc * (c1o1 + c3o1 * ( vx1 - vx3) + c9o2 * ( vx1 - vx3) * ( vx1 - vx3) - cu_sq); + (distAD.f[TW ])[ktw ] = c1o54 * conc * (c1o1 + c3o1 * (-vx1 + vx3) + c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq); + (distAD.f[TN ])[ktn ] = c1o54 * conc * (c1o1 + c3o1 * ( vx2 + vx3) + c9o2 * ( vx2 + vx3) * ( vx2 + vx3) - cu_sq); + (distAD.f[BS ])[kbs ] = c1o54 * conc * (c1o1 + c3o1 * ( - vx2 - vx3) + c9o2 * ( - vx2 - vx3) * ( - vx2 - vx3) - cu_sq); + (distAD.f[BN ])[kbn ] = c1o54 * conc * (c1o1 + c3o1 * ( vx2 - vx3) + c9o2 * ( vx2 - vx3) * ( vx2 - vx3) - cu_sq); + (distAD.f[TS ])[kts ] = c1o54 * conc * (c1o1 + c3o1 * ( - vx2 + vx3) + c9o2 * ( - vx2 + vx3) * ( - vx2 + vx3) - cu_sq); + (distAD.f[TNE ])[ktne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 + vx3) + c9o2 * ( vx1 + vx2 + vx3) * ( vx1 + vx2 + vx3) - cu_sq); + (distAD.f[BSW ])[kbsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 - vx3) + c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq); + (distAD.f[BNE ])[kbne ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 + vx2 - vx3) + c9o2 * ( vx1 + vx2 - vx3) * ( vx1 + vx2 - vx3) - cu_sq); + (distAD.f[TSW ])[ktsw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 - vx2 + vx3) + c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq); + (distAD.f[TSE ])[ktse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 + vx3) + c9o2 * ( vx1 - vx2 + vx3) * ( vx1 - vx2 + vx3) - cu_sq); + (distAD.f[BNW ])[kbnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 - vx3) + c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq); + (distAD.f[BSE ])[kbse ] = c1o216 * conc * (c1o1 + c3o1 * ( vx1 - vx2 - vx3) + c9o2 * ( vx1 - vx2 - vx3) * ( vx1 - vx2 - vx3) - cu_sq); + (distAD.f[TNW ])[ktnw ] = c1o216 * conc * (c1o1 + c3o1 * (-vx1 + vx2 + vx3) + c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq); } } @@ -263,63 +263,63 @@ extern "C" __global__ void InitAD27( // Distributions27 D27; // if (EvenOrOdd==true) // { -// D27.f[dirE ] = &DD27[dirE *size_Mat]; -// D27.f[dirW ] = &DD27[dirW *size_Mat]; -// D27.f[dirN ] = &DD27[dirN *size_Mat]; -// D27.f[dirS ] = &DD27[dirS *size_Mat]; -// D27.f[dirT ] = &DD27[dirT *size_Mat]; -// D27.f[dirB ] = &DD27[dirB *size_Mat]; -// D27.f[dirNE ] = &DD27[dirNE *size_Mat]; -// D27.f[dirSW ] = &DD27[dirSW *size_Mat]; -// D27.f[dirSE ] = &DD27[dirSE *size_Mat]; -// D27.f[dirNW ] = &DD27[dirNW *size_Mat]; -// D27.f[dirTE ] = &DD27[dirTE *size_Mat]; -// D27.f[dirBW ] = &DD27[dirBW *size_Mat]; -// D27.f[dirBE ] = &DD27[dirBE *size_Mat]; -// D27.f[dirTW ] = &DD27[dirTW *size_Mat]; -// D27.f[dirTN ] = &DD27[dirTN *size_Mat]; -// D27.f[dirBS ] = &DD27[dirBS *size_Mat]; -// D27.f[dirBN ] = &DD27[dirBN *size_Mat]; -// D27.f[dirTS ] = &DD27[dirTS *size_Mat]; +// D27.f[E ] = &DD27[E *size_Mat]; +// D27.f[W ] = &DD27[W *size_Mat]; +// D27.f[N ] = &DD27[N *size_Mat]; +// D27.f[S ] = &DD27[S *size_Mat]; +// D27.f[T ] = &DD27[T *size_Mat]; +// D27.f[B ] = &DD27[B *size_Mat]; +// D27.f[NE ] = &DD27[NE *size_Mat]; +// D27.f[SW ] = &DD27[SW *size_Mat]; +// D27.f[SE ] = &DD27[SE *size_Mat]; +// D27.f[NW ] = &DD27[NW *size_Mat]; +// D27.f[TE ] = &DD27[TE *size_Mat]; +// D27.f[BW ] = &DD27[BW *size_Mat]; +// D27.f[BE ] = &DD27[BE *size_Mat]; +// D27.f[TW ] = &DD27[TW *size_Mat]; +// D27.f[TN ] = &DD27[TN *size_Mat]; +// D27.f[BS ] = &DD27[BS *size_Mat]; +// D27.f[BN ] = &DD27[BN *size_Mat]; +// D27.f[TS ] = &DD27[TS *size_Mat]; // D27.f[dirREST] = &DD27[dirREST*size_Mat]; -// D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; -// D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; -// D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; -// D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; -// D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; -// D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; -// D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; -// D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; +// D27.f[TNE ] = &DD27[TNE *size_Mat]; +// D27.f[TSW ] = &DD27[TSW *size_Mat]; +// D27.f[TSE ] = &DD27[TSE *size_Mat]; +// D27.f[TNW ] = &DD27[TNW *size_Mat]; +// D27.f[BNE ] = &DD27[BNE *size_Mat]; +// D27.f[BSW ] = &DD27[BSW *size_Mat]; +// D27.f[BSE ] = &DD27[BSE *size_Mat]; +// D27.f[BNW ] = &DD27[BNW *size_Mat]; // } // else // { -// D27.f[dirW ] = &DD27[dirE *size_Mat]; -// D27.f[dirE ] = &DD27[dirW *size_Mat]; -// D27.f[dirS ] = &DD27[dirN *size_Mat]; -// D27.f[dirN ] = &DD27[dirS *size_Mat]; -// D27.f[dirB ] = &DD27[dirT *size_Mat]; -// D27.f[dirT ] = &DD27[dirB *size_Mat]; -// D27.f[dirSW ] = &DD27[dirNE *size_Mat]; -// D27.f[dirNE ] = &DD27[dirSW *size_Mat]; -// D27.f[dirNW ] = &DD27[dirSE *size_Mat]; -// D27.f[dirSE ] = &DD27[dirNW *size_Mat]; -// D27.f[dirBW ] = &DD27[dirTE *size_Mat]; -// D27.f[dirTE ] = &DD27[dirBW *size_Mat]; -// D27.f[dirTW ] = &DD27[dirBE *size_Mat]; -// D27.f[dirBE ] = &DD27[dirTW *size_Mat]; -// D27.f[dirBS ] = &DD27[dirTN *size_Mat]; -// D27.f[dirTN ] = &DD27[dirBS *size_Mat]; -// D27.f[dirTS ] = &DD27[dirBN *size_Mat]; -// D27.f[dirBN ] = &DD27[dirTS *size_Mat]; +// D27.f[W ] = &DD27[E *size_Mat]; +// D27.f[E ] = &DD27[W *size_Mat]; +// D27.f[S ] = &DD27[N *size_Mat]; +// D27.f[N ] = &DD27[S *size_Mat]; +// D27.f[B ] = &DD27[T *size_Mat]; +// D27.f[T ] = &DD27[B *size_Mat]; +// D27.f[SW ] = &DD27[NE *size_Mat]; +// D27.f[NE ] = &DD27[SW *size_Mat]; +// D27.f[NW ] = &DD27[SE *size_Mat]; +// D27.f[SE ] = &DD27[NW *size_Mat]; +// D27.f[BW ] = &DD27[TE *size_Mat]; +// D27.f[TE ] = &DD27[BW *size_Mat]; +// D27.f[TW ] = &DD27[BE *size_Mat]; +// D27.f[BE ] = &DD27[TW *size_Mat]; +// D27.f[BS ] = &DD27[TN *size_Mat]; +// D27.f[TN ] = &DD27[BS *size_Mat]; +// D27.f[TS ] = &DD27[BN *size_Mat]; +// D27.f[BN ] = &DD27[TS *size_Mat]; // D27.f[dirREST] = &DD27[dirREST*size_Mat]; -// D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; -// D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; -// D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; -// D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; -// D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; -// D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; -// D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; -// D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; +// D27.f[BSW ] = &DD27[TNE *size_Mat]; +// D27.f[BNE ] = &DD27[TSW *size_Mat]; +// D27.f[BNW ] = &DD27[TSE *size_Mat]; +// D27.f[BSE ] = &DD27[TNW *size_Mat]; +// D27.f[TSW ] = &DD27[BNE *size_Mat]; +// D27.f[TNE ] = &DD27[BSW *size_Mat]; +// D27.f[TNW ] = &DD27[BSE *size_Mat]; +// D27.f[TSE ] = &DD27[BNW *size_Mat]; // } // ////////////////////////////////////////////////////////////////////////// // real ConcD = Conc[k]; @@ -391,32 +391,32 @@ extern "C" __global__ void InitAD27( // real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); // (D27.f[dirREST])[kzero] = c8o27* ConcD*(c1o1-cu_sq); -// (D27.f[dirE ])[ke ] = c2o27* ConcD*(c1o1+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); -// (D27.f[dirW ])[kw ] = c2o27* ConcD*(c1o1+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); -// (D27.f[dirN ])[kn ] = c2o27* ConcD*(c1o1+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); -// (D27.f[dirS ])[ks ] = c2o27* ConcD*(c1o1+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); -// (D27.f[dirT ])[kt ] = c2o27* ConcD*(c1o1+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); -// (D27.f[dirB ])[kb ] = c2o27* ConcD*(c1o1+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); -// (D27.f[dirNE ])[kne ] = c1o54* ConcD*(c1o1+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); -// (D27.f[dirSW ])[ksw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); -// (D27.f[dirSE ])[kse ] = c1o54* ConcD*(c1o1+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); -// (D27.f[dirNW ])[knw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); -// (D27.f[dirTE ])[kte ] = c1o54* ConcD*(c1o1+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); -// (D27.f[dirBW ])[kbw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); -// (D27.f[dirBE ])[kbe ] = c1o54* ConcD*(c1o1+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); -// (D27.f[dirTW ])[ktw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); -// (D27.f[dirTN ])[ktn ] = c1o54* ConcD*(c1o1+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); -// (D27.f[dirBS ])[kbs ] = c1o54* ConcD*(c1o1+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); -// (D27.f[dirBN ])[kbn ] = c1o54* ConcD*(c1o1+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); -// (D27.f[dirTS ])[kts ] = c1o54* ConcD*(c1o1+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); -// (D27.f[dirTNE ])[ktne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); -// (D27.f[dirBSW ])[kbsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); -// (D27.f[dirBNE ])[kbne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); -// (D27.f[dirTSW ])[ktsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); -// (D27.f[dirTSE ])[ktse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); -// (D27.f[dirBNW ])[kbnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); -// (D27.f[dirBSE ])[kbse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); -// (D27.f[dirTNW ])[ktnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); +// (D27.f[E ])[ke ] = c2o27* ConcD*(c1o1+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); +// (D27.f[W ])[kw ] = c2o27* ConcD*(c1o1+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); +// (D27.f[N ])[kn ] = c2o27* ConcD*(c1o1+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); +// (D27.f[S ])[ks ] = c2o27* ConcD*(c1o1+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); +// (D27.f[T ])[kt ] = c2o27* ConcD*(c1o1+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); +// (D27.f[B ])[kb ] = c2o27* ConcD*(c1o1+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); +// (D27.f[NE ])[kne ] = c1o54* ConcD*(c1o1+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); +// (D27.f[SW ])[ksw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); +// (D27.f[SE ])[kse ] = c1o54* ConcD*(c1o1+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); +// (D27.f[NW ])[knw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); +// (D27.f[TE ])[kte ] = c1o54* ConcD*(c1o1+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); +// (D27.f[BW ])[kbw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); +// (D27.f[BE ])[kbe ] = c1o54* ConcD*(c1o1+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); +// (D27.f[TW ])[ktw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); +// (D27.f[TN ])[ktn ] = c1o54* ConcD*(c1o1+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); +// (D27.f[BS ])[kbs ] = c1o54* ConcD*(c1o1+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); +// (D27.f[BN ])[kbn ] = c1o54* ConcD*(c1o1+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); +// (D27.f[TS ])[kts ] = c1o54* ConcD*(c1o1+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); +// (D27.f[TNE ])[ktne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); +// (D27.f[BSW ])[kbsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); +// (D27.f[BNE ])[kbne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); +// (D27.f[TSW ])[ktsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); +// (D27.f[TSE ])[ktse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); +// (D27.f[BNW ])[kbnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); +// (D27.f[BSE ])[kbse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); +// (D27.f[TNW ])[ktnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // } // } diff --git a/src/gpu/VirtualFluids_GPU/GPU/KernelUtilities.h b/src/gpu/VirtualFluids_GPU/GPU/KernelUtilities.h index 98faf8fa0..1f2e69baa 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/KernelUtilities.h +++ b/src/gpu/VirtualFluids_GPU/GPU/KernelUtilities.h @@ -43,95 +43,95 @@ __inline__ __device__ void getPointersToDistributions(Distributions27 &dist, rea { if (isEvenTimestep) { - dist.f[dirE ] = &distributionArray[dirE *numberOfLBnodes]; - dist.f[dirW ] = &distributionArray[dirW *numberOfLBnodes]; - dist.f[dirN ] = &distributionArray[dirN *numberOfLBnodes]; - dist.f[dirS ] = &distributionArray[dirS *numberOfLBnodes]; - dist.f[dirT ] = &distributionArray[dirT *numberOfLBnodes]; - dist.f[dirB ] = &distributionArray[dirB *numberOfLBnodes]; - dist.f[dirNE ] = &distributionArray[dirNE *numberOfLBnodes]; - dist.f[dirSW ] = &distributionArray[dirSW *numberOfLBnodes]; - dist.f[dirSE ] = &distributionArray[dirSE *numberOfLBnodes]; - dist.f[dirNW ] = &distributionArray[dirNW *numberOfLBnodes]; - dist.f[dirTE ] = &distributionArray[dirTE *numberOfLBnodes]; - dist.f[dirBW ] = &distributionArray[dirBW *numberOfLBnodes]; - dist.f[dirBE ] = &distributionArray[dirBE *numberOfLBnodes]; - dist.f[dirTW ] = &distributionArray[dirTW *numberOfLBnodes]; - dist.f[dirTN ] = &distributionArray[dirTN *numberOfLBnodes]; - dist.f[dirBS ] = &distributionArray[dirBS *numberOfLBnodes]; - dist.f[dirBN ] = &distributionArray[dirBN *numberOfLBnodes]; - dist.f[dirTS ] = &distributionArray[dirTS *numberOfLBnodes]; + dist.f[E ] = &distributionArray[E *numberOfLBnodes]; + dist.f[W ] = &distributionArray[W *numberOfLBnodes]; + dist.f[N ] = &distributionArray[N *numberOfLBnodes]; + dist.f[S ] = &distributionArray[S *numberOfLBnodes]; + dist.f[T ] = &distributionArray[T *numberOfLBnodes]; + dist.f[B ] = &distributionArray[B *numberOfLBnodes]; + dist.f[NE ] = &distributionArray[NE *numberOfLBnodes]; + dist.f[SW ] = &distributionArray[SW *numberOfLBnodes]; + dist.f[SE ] = &distributionArray[SE *numberOfLBnodes]; + dist.f[NW ] = &distributionArray[NW *numberOfLBnodes]; + dist.f[TE ] = &distributionArray[TE *numberOfLBnodes]; + dist.f[BW ] = &distributionArray[BW *numberOfLBnodes]; + dist.f[BE ] = &distributionArray[BE *numberOfLBnodes]; + dist.f[TW ] = &distributionArray[TW *numberOfLBnodes]; + dist.f[TN ] = &distributionArray[TN *numberOfLBnodes]; + dist.f[BS ] = &distributionArray[BS *numberOfLBnodes]; + dist.f[BN ] = &distributionArray[BN *numberOfLBnodes]; + dist.f[TS ] = &distributionArray[TS *numberOfLBnodes]; dist.f[dirREST] = &distributionArray[dirREST*numberOfLBnodes]; - dist.f[dirTNE ] = &distributionArray[dirTNE *numberOfLBnodes]; - dist.f[dirTSW ] = &distributionArray[dirTSW *numberOfLBnodes]; - dist.f[dirTSE ] = &distributionArray[dirTSE *numberOfLBnodes]; - dist.f[dirTNW ] = &distributionArray[dirTNW *numberOfLBnodes]; - dist.f[dirBNE ] = &distributionArray[dirBNE *numberOfLBnodes]; - dist.f[dirBSW ] = &distributionArray[dirBSW *numberOfLBnodes]; - dist.f[dirBSE ] = &distributionArray[dirBSE *numberOfLBnodes]; - dist.f[dirBNW ] = &distributionArray[dirBNW *numberOfLBnodes]; + dist.f[TNE ] = &distributionArray[TNE *numberOfLBnodes]; + dist.f[TSW ] = &distributionArray[TSW *numberOfLBnodes]; + dist.f[TSE ] = &distributionArray[TSE *numberOfLBnodes]; + dist.f[TNW ] = &distributionArray[TNW *numberOfLBnodes]; + dist.f[BNE ] = &distributionArray[BNE *numberOfLBnodes]; + dist.f[BSW ] = &distributionArray[BSW *numberOfLBnodes]; + dist.f[BSE ] = &distributionArray[BSE *numberOfLBnodes]; + dist.f[BNW ] = &distributionArray[BNW *numberOfLBnodes]; } else { - dist.f[dirW ] = &distributionArray[dirE *numberOfLBnodes]; - dist.f[dirE ] = &distributionArray[dirW *numberOfLBnodes]; - dist.f[dirS ] = &distributionArray[dirN *numberOfLBnodes]; - dist.f[dirN ] = &distributionArray[dirS *numberOfLBnodes]; - dist.f[dirB ] = &distributionArray[dirT *numberOfLBnodes]; - dist.f[dirT ] = &distributionArray[dirB *numberOfLBnodes]; - dist.f[dirSW ] = &distributionArray[dirNE *numberOfLBnodes]; - dist.f[dirNE ] = &distributionArray[dirSW *numberOfLBnodes]; - dist.f[dirNW ] = &distributionArray[dirSE *numberOfLBnodes]; - dist.f[dirSE ] = &distributionArray[dirNW *numberOfLBnodes]; - dist.f[dirBW ] = &distributionArray[dirTE *numberOfLBnodes]; - dist.f[dirTE ] = &distributionArray[dirBW *numberOfLBnodes]; - dist.f[dirTW ] = &distributionArray[dirBE *numberOfLBnodes]; - dist.f[dirBE ] = &distributionArray[dirTW *numberOfLBnodes]; - dist.f[dirBS ] = &distributionArray[dirTN *numberOfLBnodes]; - dist.f[dirTN ] = &distributionArray[dirBS *numberOfLBnodes]; - dist.f[dirTS ] = &distributionArray[dirBN *numberOfLBnodes]; - dist.f[dirBN ] = &distributionArray[dirTS *numberOfLBnodes]; + dist.f[W ] = &distributionArray[E *numberOfLBnodes]; + dist.f[E ] = &distributionArray[W *numberOfLBnodes]; + dist.f[S ] = &distributionArray[N *numberOfLBnodes]; + dist.f[N ] = &distributionArray[S *numberOfLBnodes]; + dist.f[B ] = &distributionArray[T *numberOfLBnodes]; + dist.f[T ] = &distributionArray[B *numberOfLBnodes]; + dist.f[SW ] = &distributionArray[NE *numberOfLBnodes]; + dist.f[NE ] = &distributionArray[SW *numberOfLBnodes]; + dist.f[NW ] = &distributionArray[SE *numberOfLBnodes]; + dist.f[SE ] = &distributionArray[NW *numberOfLBnodes]; + dist.f[BW ] = &distributionArray[TE *numberOfLBnodes]; + dist.f[TE ] = &distributionArray[BW *numberOfLBnodes]; + dist.f[TW ] = &distributionArray[BE *numberOfLBnodes]; + dist.f[BE ] = &distributionArray[TW *numberOfLBnodes]; + dist.f[BS ] = &distributionArray[TN *numberOfLBnodes]; + dist.f[TN ] = &distributionArray[BS *numberOfLBnodes]; + dist.f[TS ] = &distributionArray[BN *numberOfLBnodes]; + dist.f[BN ] = &distributionArray[TS *numberOfLBnodes]; dist.f[dirREST] = &distributionArray[dirREST*numberOfLBnodes]; - dist.f[dirTNE ] = &distributionArray[dirBSW *numberOfLBnodes]; - dist.f[dirTSW ] = &distributionArray[dirBNE *numberOfLBnodes]; - dist.f[dirTSE ] = &distributionArray[dirBNW *numberOfLBnodes]; - dist.f[dirTNW ] = &distributionArray[dirBSE *numberOfLBnodes]; - dist.f[dirBNE ] = &distributionArray[dirTSW *numberOfLBnodes]; - dist.f[dirBSW ] = &distributionArray[dirTNE *numberOfLBnodes]; - dist.f[dirBSE ] = &distributionArray[dirTNW *numberOfLBnodes]; - dist.f[dirBNW ] = &distributionArray[dirTSE *numberOfLBnodes]; + dist.f[TNE ] = &distributionArray[BSW *numberOfLBnodes]; + dist.f[TSW ] = &distributionArray[BNE *numberOfLBnodes]; + dist.f[TSE ] = &distributionArray[BNW *numberOfLBnodes]; + dist.f[TNW ] = &distributionArray[BSE *numberOfLBnodes]; + dist.f[BNE ] = &distributionArray[TSW *numberOfLBnodes]; + dist.f[BSW ] = &distributionArray[TNE *numberOfLBnodes]; + dist.f[BSE ] = &distributionArray[TNW *numberOfLBnodes]; + dist.f[BNW ] = &distributionArray[TSE *numberOfLBnodes]; } } __inline__ __device__ void getPointersToSubgridDistances(SubgridDistances27& subgridD, real* subgridDistances, const unsigned int numberOfSubgridIndices) { - subgridD.q[dirE ] = &subgridDistances[dirE *numberOfSubgridIndices]; - subgridD.q[dirW ] = &subgridDistances[dirW *numberOfSubgridIndices]; - subgridD.q[dirN ] = &subgridDistances[dirN *numberOfSubgridIndices]; - subgridD.q[dirS ] = &subgridDistances[dirS *numberOfSubgridIndices]; - subgridD.q[dirT ] = &subgridDistances[dirT *numberOfSubgridIndices]; - subgridD.q[dirB ] = &subgridDistances[dirB *numberOfSubgridIndices]; - subgridD.q[dirNE ] = &subgridDistances[dirNE *numberOfSubgridIndices]; - subgridD.q[dirSW ] = &subgridDistances[dirSW *numberOfSubgridIndices]; - subgridD.q[dirSE ] = &subgridDistances[dirSE *numberOfSubgridIndices]; - subgridD.q[dirNW ] = &subgridDistances[dirNW *numberOfSubgridIndices]; - subgridD.q[dirTE ] = &subgridDistances[dirTE *numberOfSubgridIndices]; - subgridD.q[dirBW ] = &subgridDistances[dirBW *numberOfSubgridIndices]; - subgridD.q[dirBE ] = &subgridDistances[dirBE *numberOfSubgridIndices]; - subgridD.q[dirTW ] = &subgridDistances[dirTW *numberOfSubgridIndices]; - subgridD.q[dirTN ] = &subgridDistances[dirTN *numberOfSubgridIndices]; - subgridD.q[dirBS ] = &subgridDistances[dirBS *numberOfSubgridIndices]; - subgridD.q[dirBN ] = &subgridDistances[dirBN *numberOfSubgridIndices]; - subgridD.q[dirTS ] = &subgridDistances[dirTS *numberOfSubgridIndices]; + subgridD.q[E ] = &subgridDistances[E *numberOfSubgridIndices]; + subgridD.q[W ] = &subgridDistances[W *numberOfSubgridIndices]; + subgridD.q[N ] = &subgridDistances[N *numberOfSubgridIndices]; + subgridD.q[S ] = &subgridDistances[S *numberOfSubgridIndices]; + subgridD.q[T ] = &subgridDistances[T *numberOfSubgridIndices]; + subgridD.q[B ] = &subgridDistances[B *numberOfSubgridIndices]; + subgridD.q[NE ] = &subgridDistances[NE *numberOfSubgridIndices]; + subgridD.q[SW ] = &subgridDistances[SW *numberOfSubgridIndices]; + subgridD.q[SE ] = &subgridDistances[SE *numberOfSubgridIndices]; + subgridD.q[NW ] = &subgridDistances[NW *numberOfSubgridIndices]; + subgridD.q[TE ] = &subgridDistances[TE *numberOfSubgridIndices]; + subgridD.q[BW ] = &subgridDistances[BW *numberOfSubgridIndices]; + subgridD.q[BE ] = &subgridDistances[BE *numberOfSubgridIndices]; + subgridD.q[TW ] = &subgridDistances[TW *numberOfSubgridIndices]; + subgridD.q[TN ] = &subgridDistances[TN *numberOfSubgridIndices]; + subgridD.q[BS ] = &subgridDistances[BS *numberOfSubgridIndices]; + subgridD.q[BN ] = &subgridDistances[BN *numberOfSubgridIndices]; + subgridD.q[TS ] = &subgridDistances[TS *numberOfSubgridIndices]; subgridD.q[dirREST] = &subgridDistances[dirREST *numberOfSubgridIndices]; - subgridD.q[dirTNE ] = &subgridDistances[dirTNE *numberOfSubgridIndices]; - subgridD.q[dirTSW ] = &subgridDistances[dirTSW *numberOfSubgridIndices]; - subgridD.q[dirTSE ] = &subgridDistances[dirTSE *numberOfSubgridIndices]; - subgridD.q[dirTNW ] = &subgridDistances[dirTNW *numberOfSubgridIndices]; - subgridD.q[dirBNE ] = &subgridDistances[dirBNE *numberOfSubgridIndices]; - subgridD.q[dirBSW ] = &subgridDistances[dirBSW *numberOfSubgridIndices]; - subgridD.q[dirBSE ] = &subgridDistances[dirBSE *numberOfSubgridIndices]; - subgridD.q[dirBNW ] = &subgridDistances[dirBNW *numberOfSubgridIndices]; + subgridD.q[TNE ] = &subgridDistances[TNE *numberOfSubgridIndices]; + subgridD.q[TSW ] = &subgridDistances[TSW *numberOfSubgridIndices]; + subgridD.q[TSE ] = &subgridDistances[TSE *numberOfSubgridIndices]; + subgridD.q[TNW ] = &subgridDistances[TNW *numberOfSubgridIndices]; + subgridD.q[BNE ] = &subgridDistances[BNE *numberOfSubgridIndices]; + subgridD.q[BSW ] = &subgridDistances[BSW *numberOfSubgridIndices]; + subgridD.q[BSE ] = &subgridDistances[BSE *numberOfSubgridIndices]; + subgridD.q[BNW ] = &subgridDistances[BNW *numberOfSubgridIndices]; } __inline__ __device__ real getEquilibriumForBC(const real& drho, const real& velocity, const real& cu_sq, const real weight) diff --git a/src/gpu/VirtualFluids_GPU/GPU/NoSlipBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/NoSlipBCs27.cu index fccebd573..4943aec39 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/NoSlipBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/NoSlipBCs27.cu @@ -29,63 +29,63 @@ extern "C" __global__ void QDevice3rdMomentsComp27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &distributions[dirE *numberOfLBnodes]; - D.f[dirW ] = &distributions[dirW *numberOfLBnodes]; - D.f[dirN ] = &distributions[dirN *numberOfLBnodes]; - D.f[dirS ] = &distributions[dirS *numberOfLBnodes]; - D.f[dirT ] = &distributions[dirT *numberOfLBnodes]; - D.f[dirB ] = &distributions[dirB *numberOfLBnodes]; - D.f[dirNE ] = &distributions[dirNE *numberOfLBnodes]; - D.f[dirSW ] = &distributions[dirSW *numberOfLBnodes]; - D.f[dirSE ] = &distributions[dirSE *numberOfLBnodes]; - D.f[dirNW ] = &distributions[dirNW *numberOfLBnodes]; - D.f[dirTE ] = &distributions[dirTE *numberOfLBnodes]; - D.f[dirBW ] = &distributions[dirBW *numberOfLBnodes]; - D.f[dirBE ] = &distributions[dirBE *numberOfLBnodes]; - D.f[dirTW ] = &distributions[dirTW *numberOfLBnodes]; - D.f[dirTN ] = &distributions[dirTN *numberOfLBnodes]; - D.f[dirBS ] = &distributions[dirBS *numberOfLBnodes]; - D.f[dirBN ] = &distributions[dirBN *numberOfLBnodes]; - D.f[dirTS ] = &distributions[dirTS *numberOfLBnodes]; + D.f[E ] = &distributions[E *numberOfLBnodes]; + D.f[W ] = &distributions[W *numberOfLBnodes]; + D.f[N ] = &distributions[N *numberOfLBnodes]; + D.f[S ] = &distributions[S *numberOfLBnodes]; + D.f[T ] = &distributions[T *numberOfLBnodes]; + D.f[B ] = &distributions[B *numberOfLBnodes]; + D.f[NE ] = &distributions[NE *numberOfLBnodes]; + D.f[SW ] = &distributions[SW *numberOfLBnodes]; + D.f[SE ] = &distributions[SE *numberOfLBnodes]; + D.f[NW ] = &distributions[NW *numberOfLBnodes]; + D.f[TE ] = &distributions[TE *numberOfLBnodes]; + D.f[BW ] = &distributions[BW *numberOfLBnodes]; + D.f[BE ] = &distributions[BE *numberOfLBnodes]; + D.f[TW ] = &distributions[TW *numberOfLBnodes]; + D.f[TN ] = &distributions[TN *numberOfLBnodes]; + D.f[BS ] = &distributions[BS *numberOfLBnodes]; + D.f[BN ] = &distributions[BN *numberOfLBnodes]; + D.f[TS ] = &distributions[TS *numberOfLBnodes]; D.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; - D.f[dirTNE ] = &distributions[dirTNE *numberOfLBnodes]; - D.f[dirTSW ] = &distributions[dirTSW *numberOfLBnodes]; - D.f[dirTSE ] = &distributions[dirTSE *numberOfLBnodes]; - D.f[dirTNW ] = &distributions[dirTNW *numberOfLBnodes]; - D.f[dirBNE ] = &distributions[dirBNE *numberOfLBnodes]; - D.f[dirBSW ] = &distributions[dirBSW *numberOfLBnodes]; - D.f[dirBSE ] = &distributions[dirBSE *numberOfLBnodes]; - D.f[dirBNW ] = &distributions[dirBNW *numberOfLBnodes]; + D.f[TNE ] = &distributions[TNE *numberOfLBnodes]; + D.f[TSW ] = &distributions[TSW *numberOfLBnodes]; + D.f[TSE ] = &distributions[TSE *numberOfLBnodes]; + D.f[TNW ] = &distributions[TNW *numberOfLBnodes]; + D.f[BNE ] = &distributions[BNE *numberOfLBnodes]; + D.f[BSW ] = &distributions[BSW *numberOfLBnodes]; + D.f[BSE ] = &distributions[BSE *numberOfLBnodes]; + D.f[BNW ] = &distributions[BNW *numberOfLBnodes]; } else { - D.f[dirW ] = &distributions[dirE *numberOfLBnodes]; - D.f[dirE ] = &distributions[dirW *numberOfLBnodes]; - D.f[dirS ] = &distributions[dirN *numberOfLBnodes]; - D.f[dirN ] = &distributions[dirS *numberOfLBnodes]; - D.f[dirB ] = &distributions[dirT *numberOfLBnodes]; - D.f[dirT ] = &distributions[dirB *numberOfLBnodes]; - D.f[dirSW ] = &distributions[dirNE *numberOfLBnodes]; - D.f[dirNE ] = &distributions[dirSW *numberOfLBnodes]; - D.f[dirNW ] = &distributions[dirSE *numberOfLBnodes]; - D.f[dirSE ] = &distributions[dirNW *numberOfLBnodes]; - D.f[dirBW ] = &distributions[dirTE *numberOfLBnodes]; - D.f[dirTE ] = &distributions[dirBW *numberOfLBnodes]; - D.f[dirTW ] = &distributions[dirBE *numberOfLBnodes]; - D.f[dirBE ] = &distributions[dirTW *numberOfLBnodes]; - D.f[dirBS ] = &distributions[dirTN *numberOfLBnodes]; - D.f[dirTN ] = &distributions[dirBS *numberOfLBnodes]; - D.f[dirTS ] = &distributions[dirBN *numberOfLBnodes]; - D.f[dirBN ] = &distributions[dirTS *numberOfLBnodes]; + D.f[W ] = &distributions[E *numberOfLBnodes]; + D.f[E ] = &distributions[W *numberOfLBnodes]; + D.f[S ] = &distributions[N *numberOfLBnodes]; + D.f[N ] = &distributions[S *numberOfLBnodes]; + D.f[B ] = &distributions[T *numberOfLBnodes]; + D.f[T ] = &distributions[B *numberOfLBnodes]; + D.f[SW ] = &distributions[NE *numberOfLBnodes]; + D.f[NE ] = &distributions[SW *numberOfLBnodes]; + D.f[NW ] = &distributions[SE *numberOfLBnodes]; + D.f[SE ] = &distributions[NW *numberOfLBnodes]; + D.f[BW ] = &distributions[TE *numberOfLBnodes]; + D.f[TE ] = &distributions[BW *numberOfLBnodes]; + D.f[TW ] = &distributions[BE *numberOfLBnodes]; + D.f[BE ] = &distributions[TW *numberOfLBnodes]; + D.f[BS ] = &distributions[TN *numberOfLBnodes]; + D.f[TN ] = &distributions[BS *numberOfLBnodes]; + D.f[TS ] = &distributions[BN *numberOfLBnodes]; + D.f[BN ] = &distributions[TS *numberOfLBnodes]; D.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; - D.f[dirTNE ] = &distributions[dirBSW *numberOfLBnodes]; - D.f[dirTSW ] = &distributions[dirBNE *numberOfLBnodes]; - D.f[dirTSE ] = &distributions[dirBNW *numberOfLBnodes]; - D.f[dirTNW ] = &distributions[dirBSE *numberOfLBnodes]; - D.f[dirBNE ] = &distributions[dirTSW *numberOfLBnodes]; - D.f[dirBSW ] = &distributions[dirTNE *numberOfLBnodes]; - D.f[dirBSE ] = &distributions[dirTNW *numberOfLBnodes]; - D.f[dirBNW ] = &distributions[dirTSE *numberOfLBnodes]; + D.f[TNE ] = &distributions[BSW *numberOfLBnodes]; + D.f[TSW ] = &distributions[BNE *numberOfLBnodes]; + D.f[TSE ] = &distributions[BNW *numberOfLBnodes]; + D.f[TNW ] = &distributions[BSE *numberOfLBnodes]; + D.f[BNE ] = &distributions[TSW *numberOfLBnodes]; + D.f[BSW ] = &distributions[TNE *numberOfLBnodes]; + D.f[BSE ] = &distributions[TNW *numberOfLBnodes]; + D.f[BNW ] = &distributions[TSE *numberOfLBnodes]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -106,32 +106,32 @@ extern "C" __global__ void QDevice3rdMomentsComp27( *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 * numberOfBCnodes]; - q_dirW = &subgridDistances[dirW * numberOfBCnodes]; - q_dirN = &subgridDistances[dirN * numberOfBCnodes]; - q_dirS = &subgridDistances[dirS * numberOfBCnodes]; - q_dirT = &subgridDistances[dirT * numberOfBCnodes]; - q_dirB = &subgridDistances[dirB * numberOfBCnodes]; - q_dirNE = &subgridDistances[dirNE * numberOfBCnodes]; - q_dirSW = &subgridDistances[dirSW * numberOfBCnodes]; - q_dirSE = &subgridDistances[dirSE * numberOfBCnodes]; - q_dirNW = &subgridDistances[dirNW * numberOfBCnodes]; - q_dirTE = &subgridDistances[dirTE * numberOfBCnodes]; - q_dirBW = &subgridDistances[dirBW * numberOfBCnodes]; - q_dirBE = &subgridDistances[dirBE * numberOfBCnodes]; - q_dirTW = &subgridDistances[dirTW * numberOfBCnodes]; - q_dirTN = &subgridDistances[dirTN * numberOfBCnodes]; - q_dirBS = &subgridDistances[dirBS * numberOfBCnodes]; - q_dirBN = &subgridDistances[dirBN * numberOfBCnodes]; - q_dirTS = &subgridDistances[dirTS * numberOfBCnodes]; - q_dirTNE = &subgridDistances[dirTNE * numberOfBCnodes]; - q_dirTSW = &subgridDistances[dirTSW * numberOfBCnodes]; - q_dirTSE = &subgridDistances[dirTSE * numberOfBCnodes]; - q_dirTNW = &subgridDistances[dirTNW * numberOfBCnodes]; - q_dirBNE = &subgridDistances[dirBNE * numberOfBCnodes]; - q_dirBSW = &subgridDistances[dirBSW * numberOfBCnodes]; - q_dirBSE = &subgridDistances[dirBSE * numberOfBCnodes]; - q_dirBNW = &subgridDistances[dirBNW * numberOfBCnodes]; + q_dirE = &subgridDistances[E * numberOfBCnodes]; + q_dirW = &subgridDistances[W * numberOfBCnodes]; + q_dirN = &subgridDistances[N * numberOfBCnodes]; + q_dirS = &subgridDistances[S * numberOfBCnodes]; + q_dirT = &subgridDistances[T * numberOfBCnodes]; + q_dirB = &subgridDistances[B * numberOfBCnodes]; + q_dirNE = &subgridDistances[NE * numberOfBCnodes]; + q_dirSW = &subgridDistances[SW * numberOfBCnodes]; + q_dirSE = &subgridDistances[SE * numberOfBCnodes]; + q_dirNW = &subgridDistances[NW * numberOfBCnodes]; + q_dirTE = &subgridDistances[TE * numberOfBCnodes]; + q_dirBW = &subgridDistances[BW * numberOfBCnodes]; + q_dirBE = &subgridDistances[BE * numberOfBCnodes]; + q_dirTW = &subgridDistances[TW * numberOfBCnodes]; + q_dirTN = &subgridDistances[TN * numberOfBCnodes]; + q_dirBS = &subgridDistances[BS * numberOfBCnodes]; + q_dirBN = &subgridDistances[BN * numberOfBCnodes]; + q_dirTS = &subgridDistances[TS * numberOfBCnodes]; + q_dirTNE = &subgridDistances[TNE * numberOfBCnodes]; + q_dirTSW = &subgridDistances[TSW * numberOfBCnodes]; + q_dirTSE = &subgridDistances[TSE * numberOfBCnodes]; + q_dirTNW = &subgridDistances[TNW * numberOfBCnodes]; + q_dirBNE = &subgridDistances[BNE * numberOfBCnodes]; + q_dirBSW = &subgridDistances[BSW * numberOfBCnodes]; + q_dirBSE = &subgridDistances[BSE * numberOfBCnodes]; + q_dirBNW = &subgridDistances[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int numberOfNodesK = subgridDistanceIndices[k]; @@ -166,32 +166,32 @@ extern "C" __global__ void QDevice3rdMomentsComp27( 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q, m3; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -216,63 +216,63 @@ extern "C" __global__ void QDevice3rdMomentsComp27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &distributions[dirE *numberOfLBnodes]; - D.f[dirW ] = &distributions[dirW *numberOfLBnodes]; - D.f[dirN ] = &distributions[dirN *numberOfLBnodes]; - D.f[dirS ] = &distributions[dirS *numberOfLBnodes]; - D.f[dirT ] = &distributions[dirT *numberOfLBnodes]; - D.f[dirB ] = &distributions[dirB *numberOfLBnodes]; - D.f[dirNE ] = &distributions[dirNE *numberOfLBnodes]; - D.f[dirSW ] = &distributions[dirSW *numberOfLBnodes]; - D.f[dirSE ] = &distributions[dirSE *numberOfLBnodes]; - D.f[dirNW ] = &distributions[dirNW *numberOfLBnodes]; - D.f[dirTE ] = &distributions[dirTE *numberOfLBnodes]; - D.f[dirBW ] = &distributions[dirBW *numberOfLBnodes]; - D.f[dirBE ] = &distributions[dirBE *numberOfLBnodes]; - D.f[dirTW ] = &distributions[dirTW *numberOfLBnodes]; - D.f[dirTN ] = &distributions[dirTN *numberOfLBnodes]; - D.f[dirBS ] = &distributions[dirBS *numberOfLBnodes]; - D.f[dirBN ] = &distributions[dirBN *numberOfLBnodes]; - D.f[dirTS ] = &distributions[dirTS *numberOfLBnodes]; + D.f[E ] = &distributions[E *numberOfLBnodes]; + D.f[W ] = &distributions[W *numberOfLBnodes]; + D.f[N ] = &distributions[N *numberOfLBnodes]; + D.f[S ] = &distributions[S *numberOfLBnodes]; + D.f[T ] = &distributions[T *numberOfLBnodes]; + D.f[B ] = &distributions[B *numberOfLBnodes]; + D.f[NE ] = &distributions[NE *numberOfLBnodes]; + D.f[SW ] = &distributions[SW *numberOfLBnodes]; + D.f[SE ] = &distributions[SE *numberOfLBnodes]; + D.f[NW ] = &distributions[NW *numberOfLBnodes]; + D.f[TE ] = &distributions[TE *numberOfLBnodes]; + D.f[BW ] = &distributions[BW *numberOfLBnodes]; + D.f[BE ] = &distributions[BE *numberOfLBnodes]; + D.f[TW ] = &distributions[TW *numberOfLBnodes]; + D.f[TN ] = &distributions[TN *numberOfLBnodes]; + D.f[BS ] = &distributions[BS *numberOfLBnodes]; + D.f[BN ] = &distributions[BN *numberOfLBnodes]; + D.f[TS ] = &distributions[TS *numberOfLBnodes]; D.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; - D.f[dirTNE ] = &distributions[dirTNE *numberOfLBnodes]; - D.f[dirTSW ] = &distributions[dirTSW *numberOfLBnodes]; - D.f[dirTSE ] = &distributions[dirTSE *numberOfLBnodes]; - D.f[dirTNW ] = &distributions[dirTNW *numberOfLBnodes]; - D.f[dirBNE ] = &distributions[dirBNE *numberOfLBnodes]; - D.f[dirBSW ] = &distributions[dirBSW *numberOfLBnodes]; - D.f[dirBSE ] = &distributions[dirBSE *numberOfLBnodes]; - D.f[dirBNW ] = &distributions[dirBNW *numberOfLBnodes]; + D.f[TNE ] = &distributions[TNE *numberOfLBnodes]; + D.f[TSW ] = &distributions[TSW *numberOfLBnodes]; + D.f[TSE ] = &distributions[TSE *numberOfLBnodes]; + D.f[TNW ] = &distributions[TNW *numberOfLBnodes]; + D.f[BNE ] = &distributions[BNE *numberOfLBnodes]; + D.f[BSW ] = &distributions[BSW *numberOfLBnodes]; + D.f[BSE ] = &distributions[BSE *numberOfLBnodes]; + D.f[BNW ] = &distributions[BNW *numberOfLBnodes]; } else { - D.f[dirW ] = &distributions[dirE *numberOfLBnodes]; - D.f[dirE ] = &distributions[dirW *numberOfLBnodes]; - D.f[dirS ] = &distributions[dirN *numberOfLBnodes]; - D.f[dirN ] = &distributions[dirS *numberOfLBnodes]; - D.f[dirB ] = &distributions[dirT *numberOfLBnodes]; - D.f[dirT ] = &distributions[dirB *numberOfLBnodes]; - D.f[dirSW ] = &distributions[dirNE *numberOfLBnodes]; - D.f[dirNE ] = &distributions[dirSW *numberOfLBnodes]; - D.f[dirNW ] = &distributions[dirSE *numberOfLBnodes]; - D.f[dirSE ] = &distributions[dirNW *numberOfLBnodes]; - D.f[dirBW ] = &distributions[dirTE *numberOfLBnodes]; - D.f[dirTE ] = &distributions[dirBW *numberOfLBnodes]; - D.f[dirTW ] = &distributions[dirBE *numberOfLBnodes]; - D.f[dirBE ] = &distributions[dirTW *numberOfLBnodes]; - D.f[dirBS ] = &distributions[dirTN *numberOfLBnodes]; - D.f[dirTN ] = &distributions[dirBS *numberOfLBnodes]; - D.f[dirTS ] = &distributions[dirBN *numberOfLBnodes]; - D.f[dirBN ] = &distributions[dirTS *numberOfLBnodes]; + D.f[W ] = &distributions[E *numberOfLBnodes]; + D.f[E ] = &distributions[W *numberOfLBnodes]; + D.f[S ] = &distributions[N *numberOfLBnodes]; + D.f[N ] = &distributions[S *numberOfLBnodes]; + D.f[B ] = &distributions[T *numberOfLBnodes]; + D.f[T ] = &distributions[B *numberOfLBnodes]; + D.f[SW ] = &distributions[NE *numberOfLBnodes]; + D.f[NE ] = &distributions[SW *numberOfLBnodes]; + D.f[NW ] = &distributions[SE *numberOfLBnodes]; + D.f[SE ] = &distributions[NW *numberOfLBnodes]; + D.f[BW ] = &distributions[TE *numberOfLBnodes]; + D.f[TE ] = &distributions[BW *numberOfLBnodes]; + D.f[TW ] = &distributions[BE *numberOfLBnodes]; + D.f[BE ] = &distributions[TW *numberOfLBnodes]; + D.f[BS ] = &distributions[TN *numberOfLBnodes]; + D.f[TN ] = &distributions[BS *numberOfLBnodes]; + D.f[TS ] = &distributions[BN *numberOfLBnodes]; + D.f[BN ] = &distributions[TS *numberOfLBnodes]; D.f[dirREST] = &distributions[dirREST*numberOfLBnodes]; - D.f[dirTNE ] = &distributions[dirBSW *numberOfLBnodes]; - D.f[dirTSW ] = &distributions[dirBNE *numberOfLBnodes]; - D.f[dirTSE ] = &distributions[dirBNW *numberOfLBnodes]; - D.f[dirTNW ] = &distributions[dirBSE *numberOfLBnodes]; - D.f[dirBNE ] = &distributions[dirTSW *numberOfLBnodes]; - D.f[dirBSW ] = &distributions[dirTNE *numberOfLBnodes]; - D.f[dirBSE ] = &distributions[dirTNW *numberOfLBnodes]; - D.f[dirBNW ] = &distributions[dirTSE *numberOfLBnodes]; + D.f[TNE ] = &distributions[BSW *numberOfLBnodes]; + D.f[TSW ] = &distributions[BNE *numberOfLBnodes]; + D.f[TSE ] = &distributions[BNW *numberOfLBnodes]; + D.f[TNW ] = &distributions[BSE *numberOfLBnodes]; + D.f[BNE ] = &distributions[TSW *numberOfLBnodes]; + D.f[BSW ] = &distributions[TNE *numberOfLBnodes]; + D.f[BSE ] = &distributions[TNW *numberOfLBnodes]; + D.f[BNW ] = &distributions[TSE *numberOfLBnodes]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -287,8 +287,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_E - f_W - c2o1 * drho * c2o27 * (c3o1*( vx1 )); feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W-m3+(f_E+f_W-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_E+f_W))/(c1o1+q)+(m3*c1o2); - //(D.f[dirW])[kw]=zero; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W-m3+(f_E+f_W-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_E+f_W))/(c1o1+q)+(m3*c1o2); + //(D.f[W])[kw]=zero; } q = q_dirW[k]; @@ -296,8 +296,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_W - f_E - c2o1 * drho * c2o27 * (c3o1*(-vx1 )); feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E-m3+(f_W+f_E-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_W+f_E))/(c1o1+q)+(m3*c1o2); - //(D.f[dirE])[ke]=zero; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E-m3+(f_W+f_E-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_W+f_E))/(c1o1+q)+(m3*c1o2); + //(D.f[E])[ke]=zero; } q = q_dirN[k]; @@ -305,8 +305,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_N - f_S - c2o1 * drho * c2o27 * (c3o1*( vx2 )); feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S-m3+(f_N+f_S-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_N+f_S))/(c1o1+q)+(m3*c1o2); - //(D.f[dirS])[ks]=zero; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S-m3+(f_N+f_S-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_N+f_S))/(c1o1+q)+(m3*c1o2); + //(D.f[S])[ks]=zero; } q = q_dirS[k]; @@ -314,8 +314,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_S - f_N - c2o1 * drho * c2o27 * (c3o1*( -vx2 )); feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N-m3+(f_S+f_N-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_S+f_N))/(c1o1+q)+(m3*c1o2); - //(D.f[dirN])[kn]=zero; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N-m3+(f_S+f_N-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_S+f_N))/(c1o1+q)+(m3*c1o2); + //(D.f[N])[kn]=zero; } q = q_dirT[k]; @@ -323,8 +323,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_T - f_B - c2o1 * drho * c2o27 * (c3o1*( vx3)); feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B-m3+(f_T+f_B-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_T+f_B))/(c1o1+q)+(m3*c1o2); - //(D.f[dirB])[kb]=one; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B-m3+(f_T+f_B-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_T+f_B))/(c1o1+q)+(m3*c1o2); + //(D.f[B])[kb]=one; } q = q_dirB[k]; @@ -332,8 +332,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_B - f_T - c2o1 * drho * c2o27 * (c3o1*( -vx3)); feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T-m3+(f_B+f_T-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_B+f_T))/(c1o1+q)+(m3*c1o2); - //(D.f[dirT])[kt]=zero; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T-m3+(f_B+f_T-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_B+f_T))/(c1o1+q)+(m3*c1o2); + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; @@ -341,8 +341,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_NE - f_SW - c2o1 * drho * c1o54 * (c3o1*( vx1+vx2 )); feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW-m3+(f_NE+f_SW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NE+f_SW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW-m3+(f_NE+f_SW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NE+f_SW))/(c1o1+q)+(m3*c1o2); + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; @@ -350,8 +350,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_SW - f_NE - c2o1 * drho * c1o54 * (c3o1*(-vx1-vx2 )); feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE-m3+(f_SW+f_NE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SW+f_NE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirNE])[kne]=zero; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE-m3+(f_SW+f_NE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SW+f_NE))/(c1o1+q)+(m3*c1o2); + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; @@ -359,8 +359,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_SE - f_NW - c2o1 * drho * c1o54 * (c3o1*( vx1-vx2 )); feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW-m3+(f_SE+f_NW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SE+f_NW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirNW])[knw]=zero; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW-m3+(f_SE+f_NW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_SE+f_NW))/(c1o1+q)+(m3*c1o2); + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; @@ -368,8 +368,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_NW - f_SE - c2o1 * drho * c1o54 * (c3o1*(-vx1+vx2 )); feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE-m3+(f_NW+f_SE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NW+f_SE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirSE])[kse]=zero; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE-m3+(f_NW+f_SE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_NW+f_SE))/(c1o1+q)+(m3*c1o2); + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; @@ -377,8 +377,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TE - f_BW - c2o1 * drho * c1o54 * (c3o1*( vx1 +vx3)); feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW-m3+(f_TE+f_BW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TE+f_BW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW-m3+(f_TE+f_BW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TE+f_BW))/(c1o1+q)+(m3*c1o2); + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; @@ -386,8 +386,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BW - f_TE - c2o1 * drho * c1o54 * (c3o1*(-vx1 -vx3)); feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE-m3+(f_BW+f_TE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BW+f_TE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTE])[kte]=zero; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE-m3+(f_BW+f_TE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BW+f_TE))/(c1o1+q)+(m3*c1o2); + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; @@ -395,8 +395,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BE - f_TW - c2o1 * drho * c1o54 * (c3o1*( vx1 -vx3)); feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW-m3+(f_BE+f_TW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BE+f_TW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW-m3+(f_BE+f_TW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BE+f_TW))/(c1o1+q)+(m3*c1o2); + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; @@ -404,8 +404,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TW - f_BE - c2o1 * drho * c1o54 * (c3o1*(-vx1 +vx3)); feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE-m3+(f_TW+f_BE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TW+f_BE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE-m3+(f_TW+f_BE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TW+f_BE))/(c1o1+q)+(m3*c1o2); + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; @@ -413,8 +413,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TN - f_BS - c2o1 * drho * c1o54 * (c3o1*( vx2+vx3)); feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS-m3+(f_TN+f_BS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TN+f_BS))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS-m3+(f_TN+f_BS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TN+f_BS))/(c1o1+q)+(m3*c1o2); + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; @@ -422,8 +422,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BS - f_TN - c2o1 * drho * c1o54 * (c3o1*( -vx2-vx3)); feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN-m3+(f_BS+f_TN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BS+f_TN))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN-m3+(f_BS+f_TN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BS+f_TN))/(c1o1+q)+(m3*c1o2); + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; @@ -431,8 +431,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BN - f_TS - c2o1 * drho * c1o54 * (c3o1*( vx2-vx3)); feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS-m3+(f_BN+f_TS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BN+f_TS))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTS])[kts]=zero; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS-m3+(f_BN+f_TS-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BN+f_TS))/(c1o1+q)+(m3*c1o2); + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; @@ -440,8 +440,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TS - f_BN - c2o1 * drho * c1o54 * (c3o1*( -vx2+vx3)); feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN-m3+(f_TS+f_BN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TS+f_BN))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN-m3+(f_TS+f_BN-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TS+f_BN))/(c1o1+q)+(m3*c1o2); + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; @@ -449,8 +449,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TNE - f_BSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2+vx3)); feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW-m3+(f_TNE+f_BSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW-m3+(f_TNE+f_BSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q)+(m3*c1o2); + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; @@ -458,8 +458,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BSW - f_TNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2-vx3)); feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE-m3+(f_BSW+f_TNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE-m3+(f_BSW+f_TNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q)+(m3*c1o2); + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; @@ -467,8 +467,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BNE - f_TSW - c2o1 * drho * c1o216 * (c3o1*( vx1+vx2-vx3)); feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW-m3+(f_BNE+f_TSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW-m3+(f_BNE+f_TSW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q)+(m3*c1o2); + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; @@ -476,8 +476,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TSW - f_BNE - c2o1 * drho * c1o216 * (c3o1*(-vx1-vx2+vx3)); feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE-m3+(f_TSW+f_BNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE-m3+(f_TSW+f_BNE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q)+(m3*c1o2); + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; @@ -485,8 +485,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TSE - f_BNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2+vx3)); feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW-m3+(f_TSE+f_BNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW-m3+(f_TSE+f_BNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q)+(m3*c1o2); + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; @@ -494,8 +494,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BNW - f_TSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2-vx3)); feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE-m3+(f_BNW+f_TSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE-m3+(f_BNW+f_TSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q)+(m3*c1o2); + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; @@ -503,8 +503,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_BSE - f_TNW - c2o1 * drho * c1o216 * (c3o1*( vx1-vx2-vx3)); feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW-m3+(f_BSE+f_TNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q)+(m3*c1o2); - //(D.f[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW-m3+(f_BSE+f_TNW-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q)+(m3*c1o2); + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; @@ -512,8 +512,8 @@ extern "C" __global__ void QDevice3rdMomentsComp27( { m3 = f_TNW - f_BSE - c2o1 * drho * c1o216 * (c3o1*(-vx1+vx2+vx3)); feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE-m3+(f_TNW+f_BSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q)+(m3*c1o2); - //(D.f[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE-m3+(f_TNW+f_BSE-c2o1*feq*omega)/(c1o1-omega))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q)+(m3*c1o2); + //(D.f[BSE])[kbse]=zero; } } } @@ -575,63 +575,63 @@ extern "C" __global__ void QDeviceIncompHighNu27(int inx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -652,32 +652,32 @@ extern "C" __global__ void QDeviceIncompHighNu27(int inx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int numberOfNodesK = k_Q[k]; @@ -712,32 +712,32 @@ extern "C" __global__ void QDeviceIncompHighNu27(int inx, 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -762,63 +762,63 @@ extern "C" __global__ void QDeviceIncompHighNu27(int inx, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -836,182 +836,182 @@ extern "C" __global__ void QDeviceIncompHighNu27(int inx, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) /** (one + drho)*/-cu_sq); - (D.f[dirW])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; + (D.f[W])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) /** (one + drho)*/-cu_sq); - (D.f[dirE])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; + (D.f[E])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirS])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; + (D.f[S])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirN])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; + (D.f[N])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) /** (one + drho)*/-cu_sq); - (D.f[dirB])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; + (D.f[B])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirT])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; + (D.f[T])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirSW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; + (D.f[SW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirNE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; + (D.f[NE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirNW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; + (D.f[NW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirSE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; + (D.f[SE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; + (D.f[BW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; + (D.f[TE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; + (D.f[TW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; + (D.f[BE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; } } } @@ -1071,63 +1071,63 @@ extern "C" __global__ void QDeviceCompHighNu27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1148,32 +1148,32 @@ extern "C" __global__ void QDeviceCompHighNu27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int numberOfNodesK = k_Q[k]; @@ -1208,58 +1208,58 @@ extern "C" __global__ void QDeviceCompHighNu27( 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; - //f_W = (D.f[dirE ])[ke ]; - //f_E = (D.f[dirW ])[kw ]; - //f_S = (D.f[dirN ])[kn ]; - //f_N = (D.f[dirS ])[ks ]; - //f_B = (D.f[dirT ])[kt ]; - //f_T = (D.f[dirB ])[kb ]; - //f_SW = (D.f[dirNE ])[kne ]; - //f_NE = (D.f[dirSW ])[ksw ]; - //f_NW = (D.f[dirSE ])[kse ]; - //f_SE = (D.f[dirNW ])[knw ]; - //f_BW = (D.f[dirTE ])[kte ]; - //f_TE = (D.f[dirBW ])[kbw ]; - //f_TW = (D.f[dirBE ])[kbe ]; - //f_BE = (D.f[dirTW ])[ktw ]; - //f_BS = (D.f[dirTN ])[ktn ]; - //f_TN = (D.f[dirBS ])[kbs ]; - //f_TS = (D.f[dirBN ])[kbn ]; - //f_BN = (D.f[dirTS ])[kts ]; - //f_BSW = (D.f[dirTNE ])[ktne ]; - //f_BNE = (D.f[dirTSW ])[ktsw ]; - //f_BNW = (D.f[dirTSE ])[ktse ]; - //f_BSE = (D.f[dirTNW ])[ktnw ]; - //f_TSW = (D.f[dirBNE ])[kbne ]; - //f_TNE = (D.f[dirBSW ])[kbsw ]; - //f_TNW = (D.f[dirBSE ])[kbse ]; - //f_TSE = (D.f[dirBNW ])[kbnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; + //f_W = (D.f[E ])[ke ]; + //f_E = (D.f[W ])[kw ]; + //f_S = (D.f[N ])[kn ]; + //f_N = (D.f[S ])[ks ]; + //f_B = (D.f[T ])[kt ]; + //f_T = (D.f[B ])[kb ]; + //f_SW = (D.f[NE ])[kne ]; + //f_NE = (D.f[SW ])[ksw ]; + //f_NW = (D.f[SE ])[kse ]; + //f_SE = (D.f[NW ])[knw ]; + //f_BW = (D.f[TE ])[kte ]; + //f_TE = (D.f[BW ])[kbw ]; + //f_TW = (D.f[BE ])[kbe ]; + //f_BE = (D.f[TW ])[ktw ]; + //f_BS = (D.f[TN ])[ktn ]; + //f_TN = (D.f[BS ])[kbs ]; + //f_TS = (D.f[BN ])[kbn ]; + //f_BN = (D.f[TS ])[kts ]; + //f_BSW = (D.f[TNE ])[ktne ]; + //f_BNE = (D.f[TSW ])[ktsw ]; + //f_BNW = (D.f[TSE ])[ktse ]; + //f_BSE = (D.f[TNW ])[ktnw ]; + //f_TSW = (D.f[BNE ])[kbne ]; + //f_TNE = (D.f[BSW ])[kbsw ]; + //f_TNW = (D.f[BSE ])[kbse ]; + //f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -1284,63 +1284,63 @@ extern "C" __global__ void QDeviceCompHighNu27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -1358,234 +1358,234 @@ extern "C" __global__ void QDeviceCompHighNu27( if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; - //(D.f[dirW])[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[dirW])[kw]=zero; + (D.f[W])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; + //(D.f[W])[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[W])[kw]=zero; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; - //(D.f[dirE])[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[dirE])[ke]=zero; + (D.f[E])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; + //(D.f[E])[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[E])[ke]=zero; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; - //(D.f[dirS])[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[dirS])[ks]=zero; + (D.f[S])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; + //(D.f[S])[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[S])[ks]=zero; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; - //(D.f[dirN])[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[dirN])[kn]=zero; + (D.f[N])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; + //(D.f[N])[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[N])[kn]=zero; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; - //(D.f[dirB])[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[dirB])[kb]=one; + (D.f[B])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; + //(D.f[B])[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[B])[kb]=one; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; - //(D.f[dirT])[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[dirT])[kt]=zero; + (D.f[T])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; + //(D.f[T])[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[T])[kt]=zero; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; - //(D.f[dirSW])[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[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; + //(D.f[SW])[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[SW])[ksw]=zero; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; - //(D.f[dirNE])[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[dirNE])[kne]=zero; + (D.f[NE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; + //(D.f[NE])[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[NE])[kne]=zero; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; - //(D.f[dirNW])[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[dirNW])[knw]=zero; + (D.f[NW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; + //(D.f[NW])[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[NW])[knw]=zero; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; - //(D.f[dirSE])[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[dirSE])[kse]=zero; + (D.f[SE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; + //(D.f[SE])[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[SE])[kse]=zero; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; - //(D.f[dirBW])[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[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; + //(D.f[BW])[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[BW])[kbw]=zero; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; - //(D.f[dirTE])[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[dirTE])[kte]=zero; + (D.f[TE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; + //(D.f[TE])[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[TE])[kte]=zero; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; - //(D.f[dirTW])[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[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; + //(D.f[TW])[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[TW])[ktw]=zero; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; - //(D.f[dirBE])[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[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; + //(D.f[BE])[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[BE])[kbe]=zero; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBS])[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[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BS])[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[BS])[kbs]=zero; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTN])[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[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TN])[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[TN])[ktn]=zero; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTS])[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[dirTS])[kts]=zero; + (D.f[TS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TS])[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[TS])[kts]=zero; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBN])[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[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BN])[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[BN])[kbn]=zero; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBSW])[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[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BSW])[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[BSW])[kbsw]=zero; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTNE])[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[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TNE])[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[TNE])[ktne]=zero; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTSW])[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[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TSW])[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[TSW])[ktsw]=zero; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBNE])[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[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BNE])[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[BNE])[kbne]=zero; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBNW])[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[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BNW])[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[BNW])[kbnw]=zero; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTSE])[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[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TSE])[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[TSE])[ktse]=zero; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTNW])[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[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TNW])[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[TNW])[ktnw]=zero; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBSE])[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[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BSE])[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[BSE])[kbse]=zero; } } } @@ -1707,32 +1707,32 @@ extern "C" __global__ void QDeviceComp27( //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - Calculate macroscopic quantities @@ -1763,213 +1763,213 @@ extern "C" __global__ void QDeviceComp27( //////////////////////////////////////////////////////////////////////////////// //! - Update distributions with subgrid distance (q) between zero and one real feq, q, velocityLB; - q = (subgridD.q[dirE])[k]; + q = (subgridD.q[E])[k]; if (q>=c0o1 && q<=c1o1) // only update distribution for q between zero and one { velocityLB = vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirW])[kw] = getInterpolatedDistributionForNoSlipBC(q, f_E, f_W, feq, omega); + (dist.f[W])[kw] = getInterpolatedDistributionForNoSlipBC(q, f_E, f_W, feq, omega); } - q = (subgridD.q[dirW])[k]; + q = (subgridD.q[W])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirE])[ke] = getInterpolatedDistributionForNoSlipBC(q, f_W, f_E, feq, omega); + (dist.f[E])[ke] = getInterpolatedDistributionForNoSlipBC(q, f_W, f_E, feq, omega); } - q = (subgridD.q[dirN])[k]; + q = (subgridD.q[N])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirS])[ks] = getInterpolatedDistributionForNoSlipBC(q, f_N, f_S, feq, omega); + (dist.f[S])[ks] = getInterpolatedDistributionForNoSlipBC(q, f_N, f_S, feq, omega); } - q = (subgridD.q[dirS])[k]; + q = (subgridD.q[S])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirN])[kn] = getInterpolatedDistributionForNoSlipBC(q, f_S, f_N, feq, omega); + (dist.f[N])[kn] = getInterpolatedDistributionForNoSlipBC(q, f_S, f_N, feq, omega); } - q = (subgridD.q[dirT])[k]; + q = (subgridD.q[T])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirB])[kb] = getInterpolatedDistributionForNoSlipBC(q, f_T, f_B, feq, omega); + (dist.f[B])[kb] = getInterpolatedDistributionForNoSlipBC(q, f_T, f_B, feq, omega); } - q = (subgridD.q[dirB])[k]; + q = (subgridD.q[B])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirT])[kt] = getInterpolatedDistributionForNoSlipBC(q, f_B, f_T, feq, omega); + (dist.f[T])[kt] = getInterpolatedDistributionForNoSlipBC(q, f_B, f_T, feq, omega); } - q = (subgridD.q[dirNE])[k]; + q = (subgridD.q[NE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirSW])[ksw] = getInterpolatedDistributionForNoSlipBC(q, f_NE, f_SW, feq, omega); + (dist.f[SW])[ksw] = getInterpolatedDistributionForNoSlipBC(q, f_NE, f_SW, feq, omega); } - q = (subgridD.q[dirSW])[k]; + q = (subgridD.q[SW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirNE])[kne] = getInterpolatedDistributionForNoSlipBC(q, f_SW, f_NE, feq, omega); + (dist.f[NE])[kne] = getInterpolatedDistributionForNoSlipBC(q, f_SW, f_NE, feq, omega); } - q = (subgridD.q[dirSE])[k]; + q = (subgridD.q[SE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirNW])[knw] = getInterpolatedDistributionForNoSlipBC(q, f_SE, f_NW, feq, omega); + (dist.f[NW])[knw] = getInterpolatedDistributionForNoSlipBC(q, f_SE, f_NW, feq, omega); } - q = (subgridD.q[dirNW])[k]; + q = (subgridD.q[NW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirSE])[kse] = getInterpolatedDistributionForNoSlipBC(q, f_NW, f_SE, feq, omega); + (dist.f[SE])[kse] = getInterpolatedDistributionForNoSlipBC(q, f_NW, f_SE, feq, omega); } - q = (subgridD.q[dirTE])[k]; + q = (subgridD.q[TE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBW])[kbw] = getInterpolatedDistributionForNoSlipBC(q, f_TE, f_BW, feq, omega); + (dist.f[BW])[kbw] = getInterpolatedDistributionForNoSlipBC(q, f_TE, f_BW, feq, omega); } - q = (subgridD.q[dirBW])[k]; + q = (subgridD.q[BW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTE])[kte] = getInterpolatedDistributionForNoSlipBC(q, f_BW, f_TE, feq, omega); + (dist.f[TE])[kte] = getInterpolatedDistributionForNoSlipBC(q, f_BW, f_TE, feq, omega); } - q = (subgridD.q[dirBE])[k]; + q = (subgridD.q[BE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTW])[ktw] = getInterpolatedDistributionForNoSlipBC(q, f_BE, f_TW, feq, omega); + (dist.f[TW])[ktw] = getInterpolatedDistributionForNoSlipBC(q, f_BE, f_TW, feq, omega); } - q = (subgridD.q[dirTW])[k]; + q = (subgridD.q[TW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBE])[kbe] = getInterpolatedDistributionForNoSlipBC(q, f_TW, f_BE, feq, omega); + (dist.f[BE])[kbe] = getInterpolatedDistributionForNoSlipBC(q, f_TW, f_BE, feq, omega); } - q = (subgridD.q[dirTN])[k]; + q = (subgridD.q[TN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBS])[kbs] = getInterpolatedDistributionForNoSlipBC(q, f_TN, f_BS, feq, omega); + (dist.f[BS])[kbs] = getInterpolatedDistributionForNoSlipBC(q, f_TN, f_BS, feq, omega); } - q = (subgridD.q[dirBS])[k]; + q = (subgridD.q[BS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTN])[ktn] = getInterpolatedDistributionForNoSlipBC(q, f_BS, f_TN, feq, omega); + (dist.f[TN])[ktn] = getInterpolatedDistributionForNoSlipBC(q, f_BS, f_TN, feq, omega); } - q = (subgridD.q[dirBN])[k]; + q = (subgridD.q[BN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTS])[kts] = getInterpolatedDistributionForNoSlipBC(q, f_BN, f_TS, feq, omega); + (dist.f[TS])[kts] = getInterpolatedDistributionForNoSlipBC(q, f_BN, f_TS, feq, omega); } - q = (subgridD.q[dirTS])[k]; + q = (subgridD.q[TS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBN])[kbn] = getInterpolatedDistributionForNoSlipBC(q, f_TS, f_BN, feq, omega); + (dist.f[BN])[kbn] = getInterpolatedDistributionForNoSlipBC(q, f_TS, f_BN, feq, omega); } - q = (subgridD.q[dirTNE])[k]; + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBSW])[kbsw] = getInterpolatedDistributionForNoSlipBC(q, f_TNE, f_BSW, feq, omega); + (dist.f[BSW])[kbsw] = getInterpolatedDistributionForNoSlipBC(q, f_TNE, f_BSW, feq, omega); } - q = (subgridD.q[dirBSW])[k]; + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTNE])[ktne] = getInterpolatedDistributionForNoSlipBC(q, f_BSW, f_TNE, feq, omega); + (dist.f[TNE])[ktne] = getInterpolatedDistributionForNoSlipBC(q, f_BSW, f_TNE, feq, omega); } - q = (subgridD.q[dirBNE])[k]; + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTSW])[ktsw] = getInterpolatedDistributionForNoSlipBC(q, f_BNE, f_TSW, feq, omega); + (dist.f[TSW])[ktsw] = getInterpolatedDistributionForNoSlipBC(q, f_BNE, f_TSW, feq, omega); } - q = (subgridD.q[dirTSW])[k]; + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBNE])[kbne] = getInterpolatedDistributionForNoSlipBC(q, f_TSW, f_BNE, feq, omega); + (dist.f[BNE])[kbne] = getInterpolatedDistributionForNoSlipBC(q, f_TSW, f_BNE, feq, omega); } - q = (subgridD.q[dirTSE])[k]; + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBNW])[kbnw] = getInterpolatedDistributionForNoSlipBC(q, f_TSE, f_BNW, feq, omega); + (dist.f[BNW])[kbnw] = getInterpolatedDistributionForNoSlipBC(q, f_TSE, f_BNW, feq, omega); } - q = (subgridD.q[dirBNW])[k]; + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTSE])[ktse] = getInterpolatedDistributionForNoSlipBC(q, f_BNW, f_TSE, feq, omega); + (dist.f[TSE])[ktse] = getInterpolatedDistributionForNoSlipBC(q, f_BNW, f_TSE, feq, omega); } - q = (subgridD.q[dirBSE])[k]; + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTNW])[ktnw] = getInterpolatedDistributionForNoSlipBC(q, f_BSE, f_TNW, feq, omega); + (dist.f[TNW])[ktnw] = getInterpolatedDistributionForNoSlipBC(q, f_BSE, f_TNW, feq, omega); } - q = (subgridD.q[dirTNW])[k]; + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBSE])[kbse] = getInterpolatedDistributionForNoSlipBC(q, f_TNW, f_BSE, feq, omega); + (dist.f[BSE])[kbse] = getInterpolatedDistributionForNoSlipBC(q, f_TNW, f_BSE, feq, omega); } } } @@ -2094,32 +2094,32 @@ extern "C" __global__ void QDevice27(real* distributions, //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - Calculate macroscopic quantities @@ -2151,212 +2151,212 @@ extern "C" __global__ void QDevice27(real* distributions, //! - Update distributions with subgrid distance (q) between zero and one //! real feq, q, velocityLB; - q = (subgridD.q[dirE])[k]; + q = (subgridD.q[E])[k]; if (q>=c0o1 && q<=c1o1) // only update distribution for q between zero and one { velocityLB = vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirW])[kw] = getInterpolatedDistributionForNoSlipBC(q, f_E, f_W, feq, omega); + (dist.f[W])[kw] = getInterpolatedDistributionForNoSlipBC(q, f_E, f_W, feq, omega); } - q = (subgridD.q[dirW])[k]; + q = (subgridD.q[W])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirE])[ke] = getInterpolatedDistributionForNoSlipBC(q, f_W, f_E, feq, omega); + (dist.f[E])[ke] = getInterpolatedDistributionForNoSlipBC(q, f_W, f_E, feq, omega); } - q = (subgridD.q[dirN])[k]; + q = (subgridD.q[N])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirS])[ks] = getInterpolatedDistributionForNoSlipBC(q, f_N, f_S, feq, omega); + (dist.f[S])[ks] = getInterpolatedDistributionForNoSlipBC(q, f_N, f_S, feq, omega); } - q = (subgridD.q[dirS])[k]; + q = (subgridD.q[S])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirN])[kn] = getInterpolatedDistributionForNoSlipBC(q, f_S, f_N, feq, omega); + (dist.f[N])[kn] = getInterpolatedDistributionForNoSlipBC(q, f_S, f_N, feq, omega); } - q = (subgridD.q[dirT])[k]; + q = (subgridD.q[T])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirB])[kb] = getInterpolatedDistributionForNoSlipBC(q, f_T, f_B, feq, omega); + (dist.f[B])[kb] = getInterpolatedDistributionForNoSlipBC(q, f_T, f_B, feq, omega); } - q = (subgridD.q[dirB])[k]; + q = (subgridD.q[B])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); - (dist.f[dirT])[kt] = getInterpolatedDistributionForNoSlipBC(q, f_B, f_T, feq, omega); + (dist.f[T])[kt] = getInterpolatedDistributionForNoSlipBC(q, f_B, f_T, feq, omega); } - q = (subgridD.q[dirNE])[k]; + q = (subgridD.q[NE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirSW])[ksw] = getInterpolatedDistributionForNoSlipBC(q, f_NE, f_SW, feq, omega); + (dist.f[SW])[ksw] = getInterpolatedDistributionForNoSlipBC(q, f_NE, f_SW, feq, omega); } - q = (subgridD.q[dirSW])[k]; + q = (subgridD.q[SW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirNE])[kne] = getInterpolatedDistributionForNoSlipBC(q, f_SW, f_NE, feq, omega); + (dist.f[NE])[kne] = getInterpolatedDistributionForNoSlipBC(q, f_SW, f_NE, feq, omega); } - q = (subgridD.q[dirSE])[k]; + q = (subgridD.q[SE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirNW])[knw] = getInterpolatedDistributionForNoSlipBC(q, f_SE, f_NW, feq, omega); + (dist.f[NW])[knw] = getInterpolatedDistributionForNoSlipBC(q, f_SE, f_NW, feq, omega); } - q = (subgridD.q[dirNW])[k]; + q = (subgridD.q[NW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirSE])[kse] = getInterpolatedDistributionForNoSlipBC(q, f_NW, f_SE, feq, omega); + (dist.f[SE])[kse] = getInterpolatedDistributionForNoSlipBC(q, f_NW, f_SE, feq, omega); } - q = (subgridD.q[dirTE])[k]; + q = (subgridD.q[TE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBW])[kbw] = getInterpolatedDistributionForNoSlipBC(q, f_TE, f_BW, feq, omega); + (dist.f[BW])[kbw] = getInterpolatedDistributionForNoSlipBC(q, f_TE, f_BW, feq, omega); } - q = (subgridD.q[dirBW])[k]; + q = (subgridD.q[BW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTE])[kte] = getInterpolatedDistributionForNoSlipBC(q, f_BW, f_TE, feq, omega); + (dist.f[TE])[kte] = getInterpolatedDistributionForNoSlipBC(q, f_BW, f_TE, feq, omega); } - q = (subgridD.q[dirBE])[k]; + q = (subgridD.q[BE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTW])[ktw] = getInterpolatedDistributionForNoSlipBC(q, f_BE, f_TW, feq, omega); + (dist.f[TW])[ktw] = getInterpolatedDistributionForNoSlipBC(q, f_BE, f_TW, feq, omega); } - q = (subgridD.q[dirTW])[k]; + q = (subgridD.q[TW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBE])[kbe] = getInterpolatedDistributionForNoSlipBC(q, f_TW, f_BE, feq, omega); + (dist.f[BE])[kbe] = getInterpolatedDistributionForNoSlipBC(q, f_TW, f_BE, feq, omega); } - q = (subgridD.q[dirTN])[k]; + q = (subgridD.q[TN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBS])[kbs] = getInterpolatedDistributionForNoSlipBC(q, f_TN, f_BS, feq, omega); + (dist.f[BS])[kbs] = getInterpolatedDistributionForNoSlipBC(q, f_TN, f_BS, feq, omega); } - q = (subgridD.q[dirBS])[k]; + q = (subgridD.q[BS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTN])[ktn] = getInterpolatedDistributionForNoSlipBC(q, f_BS, f_TN, feq, omega); + (dist.f[TN])[ktn] = getInterpolatedDistributionForNoSlipBC(q, f_BS, f_TN, feq, omega); } - q = (subgridD.q[dirBN])[k]; + q = (subgridD.q[BN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirTS])[kts] = getInterpolatedDistributionForNoSlipBC(q, f_BN, f_TS, feq, omega); + (dist.f[TS])[kts] = getInterpolatedDistributionForNoSlipBC(q, f_BN, f_TS, feq, omega); } - q = (subgridD.q[dirTS])[k]; + q = (subgridD.q[TS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); - (dist.f[dirBN])[kbn] = getInterpolatedDistributionForNoSlipBC(q, f_TS, f_BN, feq, omega); + (dist.f[BN])[kbn] = getInterpolatedDistributionForNoSlipBC(q, f_TS, f_BN, feq, omega); } - q = (subgridD.q[dirTNE])[k]; + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBSW])[kbsw] = getInterpolatedDistributionForNoSlipBC(q, f_TNE, f_BSW, feq, omega); + (dist.f[BSW])[kbsw] = getInterpolatedDistributionForNoSlipBC(q, f_TNE, f_BSW, feq, omega); } - q = (subgridD.q[dirBSW])[k]; + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTNE])[ktne] = getInterpolatedDistributionForNoSlipBC(q, f_BSW, f_TNE, feq, omega); + (dist.f[TNE])[ktne] = getInterpolatedDistributionForNoSlipBC(q, f_BSW, f_TNE, feq, omega); } - q = (subgridD.q[dirBNE])[k]; + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTSW])[ktsw] = getInterpolatedDistributionForNoSlipBC(q, f_BNE, f_TSW, feq, omega); + (dist.f[TSW])[ktsw] = getInterpolatedDistributionForNoSlipBC(q, f_BNE, f_TSW, feq, omega); } - q = (subgridD.q[dirTSW])[k]; + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBNE])[kbne] = getInterpolatedDistributionForNoSlipBC(q, f_TSW, f_BNE, feq, omega); + (dist.f[BNE])[kbne] = getInterpolatedDistributionForNoSlipBC(q, f_TSW, f_BNE, feq, omega); } - q = (subgridD.q[dirTSE])[k]; + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBNW])[kbnw] = getInterpolatedDistributionForNoSlipBC(q, f_TSE, f_BNW, feq, omega); + (dist.f[BNW])[kbnw] = getInterpolatedDistributionForNoSlipBC(q, f_TSE, f_BNW, feq, omega); } - q = (subgridD.q[dirBNW])[k]; + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTSE])[ktse] = getInterpolatedDistributionForNoSlipBC(q, f_BNW, f_TSE, feq, omega); + (dist.f[TSE])[ktse] = getInterpolatedDistributionForNoSlipBC(q, f_BNW, f_TSE, feq, omega); } - q = (subgridD.q[dirBSE])[k]; + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirTNW])[ktnw] = getInterpolatedDistributionForNoSlipBC(q, f_BSE, f_TNW, feq, omega); + (dist.f[TNW])[ktnw] = getInterpolatedDistributionForNoSlipBC(q, f_BSE, f_TNW, feq, omega); } - q = (subgridD.q[dirTNW])[k]; + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); - (dist.f[dirBSE])[kbse] = getInterpolatedDistributionForNoSlipBC(q, f_TNW, f_BSE, feq, omega); + (dist.f[BSE])[kbse] = getInterpolatedDistributionForNoSlipBC(q, f_TNW, f_BSE, feq, omega); } } } @@ -2477,32 +2477,32 @@ extern "C" __global__ void BBDevice27(real* distributions, //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - change the pointer to write the results in the correct array @@ -2512,32 +2512,32 @@ extern "C" __global__ void BBDevice27(real* distributions, //////////////////////////////////////////////////////////////////////////////// //! - rewrite distributions if there is a sub-grid distance (q) in same direction real q; - q = (subgridD.q[dirE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirW ])[kw ]=f_E ; - q = (subgridD.q[dirW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirE ])[ke ]=f_W ; - q = (subgridD.q[dirN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirS ])[ks ]=f_N ; - q = (subgridD.q[dirS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirN ])[kn ]=f_S ; - q = (subgridD.q[dirT ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirB ])[kb ]=f_T ; - q = (subgridD.q[dirB ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirT ])[kt ]=f_B ; - q = (subgridD.q[dirNE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirSW ])[ksw ]=f_NE ; - q = (subgridD.q[dirSW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNE ])[kne ]=f_SW ; - q = (subgridD.q[dirSE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNW ])[knw ]=f_SE ; - q = (subgridD.q[dirNW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirSE ])[kse ]=f_NW ; - q = (subgridD.q[dirTE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBW ])[kbw ]=f_TE ; - q = (subgridD.q[dirBW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTE ])[kte ]=f_BW ; - q = (subgridD.q[dirBE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTW ])[ktw ]=f_BE ; - q = (subgridD.q[dirTW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBE ])[kbe ]=f_TW ; - q = (subgridD.q[dirTN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBS ])[kbs ]=f_TN ; - q = (subgridD.q[dirBS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTN ])[ktn ]=f_BS ; - q = (subgridD.q[dirBN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTS ])[kts ]=f_BN ; - q = (subgridD.q[dirTS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBN ])[kbn ]=f_TS ; - q = (subgridD.q[dirTNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSW])[kbsw]=f_TNE; - q = (subgridD.q[dirBSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNE])[ktne]=f_BSW; - q = (subgridD.q[dirBNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSW])[ktsw]=f_BNE; - q = (subgridD.q[dirTSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNE])[kbne]=f_TSW; - q = (subgridD.q[dirTSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNW])[kbnw]=f_TSE; - q = (subgridD.q[dirBNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSE])[ktse]=f_BNW; - q = (subgridD.q[dirBSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNW])[ktnw]=f_BSE; - q = (subgridD.q[dirTNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSE])[kbse]=f_TNW; + q = (subgridD.q[E ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[W ])[kw ]=f_E ; + q = (subgridD.q[W ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[E ])[ke ]=f_W ; + q = (subgridD.q[N ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[S ])[ks ]=f_N ; + q = (subgridD.q[S ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[N ])[kn ]=f_S ; + q = (subgridD.q[T ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[B ])[kb ]=f_T ; + q = (subgridD.q[B ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[T ])[kt ]=f_B ; + q = (subgridD.q[NE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[SW ])[ksw ]=f_NE ; + q = (subgridD.q[SW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[NE ])[kne ]=f_SW ; + q = (subgridD.q[SE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[NW ])[knw ]=f_SE ; + q = (subgridD.q[NW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[SE ])[kse ]=f_NW ; + q = (subgridD.q[TE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BW ])[kbw ]=f_TE ; + q = (subgridD.q[BW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TE ])[kte ]=f_BW ; + q = (subgridD.q[BE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TW ])[ktw ]=f_BE ; + q = (subgridD.q[TW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BE ])[kbe ]=f_TW ; + q = (subgridD.q[TN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BS ])[kbs ]=f_TN ; + q = (subgridD.q[BS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TN ])[ktn ]=f_BS ; + q = (subgridD.q[BN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TS ])[kts ]=f_BN ; + q = (subgridD.q[TS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BN ])[kbn ]=f_TS ; + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BSW])[kbsw]=f_TNE; + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TNE])[ktne]=f_BSW; + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TSW])[ktsw]=f_BNE; + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BNE])[kbne]=f_TSW; + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BNW])[kbnw]=f_TSE; + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TSE])[ktse]=f_BNW; + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TNW])[ktnw]=f_BSE; + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BSE])[kbse]=f_TNW; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/Particles.cu b/src/gpu/VirtualFluids_GPU/GPU/Particles.cu index f5b4c76eb..724f9ecfc 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/Particles.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/Particles.cu @@ -248,63 +248,63 @@ extern "C" __global__ void MoveParticles( real* coordX, { if (isEvenTimestep==true) { - feC = &DD[dirE *size_Mat]; - fwC = &DD[dirW *size_Mat]; - fnC = &DD[dirN *size_Mat]; - fsC = &DD[dirS *size_Mat]; - ftC = &DD[dirT *size_Mat]; - fbC = &DD[dirB *size_Mat]; - fneC = &DD[dirNE *size_Mat]; - fswC = &DD[dirSW *size_Mat]; - fseC = &DD[dirSE *size_Mat]; - fnwC = &DD[dirNW *size_Mat]; - fteC = &DD[dirTE *size_Mat]; - fbwC = &DD[dirBW *size_Mat]; - fbeC = &DD[dirBE *size_Mat]; - ftwC = &DD[dirTW *size_Mat]; - ftnC = &DD[dirTN *size_Mat]; - fbsC = &DD[dirBS *size_Mat]; - fbnC = &DD[dirBN *size_Mat]; - ftsC = &DD[dirTS *size_Mat]; + feC = &DD[E *size_Mat]; + fwC = &DD[W *size_Mat]; + fnC = &DD[N *size_Mat]; + fsC = &DD[S *size_Mat]; + ftC = &DD[T *size_Mat]; + fbC = &DD[B *size_Mat]; + fneC = &DD[NE *size_Mat]; + fswC = &DD[SW *size_Mat]; + fseC = &DD[SE *size_Mat]; + fnwC = &DD[NW *size_Mat]; + fteC = &DD[TE *size_Mat]; + fbwC = &DD[BW *size_Mat]; + fbeC = &DD[BE *size_Mat]; + ftwC = &DD[TW *size_Mat]; + ftnC = &DD[TN *size_Mat]; + fbsC = &DD[BS *size_Mat]; + fbnC = &DD[BN *size_Mat]; + ftsC = &DD[TS *size_Mat]; fzeroC = &DD[dirREST*size_Mat]; - ftneC = &DD[dirTNE *size_Mat]; - ftswC = &DD[dirTSW *size_Mat]; - ftseC = &DD[dirTSE *size_Mat]; - ftnwC = &DD[dirTNW *size_Mat]; - fbneC = &DD[dirBNE *size_Mat]; - fbswC = &DD[dirBSW *size_Mat]; - fbseC = &DD[dirBSE *size_Mat]; - fbnwC = &DD[dirBNW *size_Mat]; + ftneC = &DD[TNE *size_Mat]; + ftswC = &DD[TSW *size_Mat]; + ftseC = &DD[TSE *size_Mat]; + ftnwC = &DD[TNW *size_Mat]; + fbneC = &DD[BNE *size_Mat]; + fbswC = &DD[BSW *size_Mat]; + fbseC = &DD[BSE *size_Mat]; + fbnwC = &DD[BNW *size_Mat]; } else { - fwC = &DD[dirE *size_Mat]; - feC = &DD[dirW *size_Mat]; - fsC = &DD[dirN *size_Mat]; - fnC = &DD[dirS *size_Mat]; - fbC = &DD[dirT *size_Mat]; - ftC = &DD[dirB *size_Mat]; - fswC = &DD[dirNE *size_Mat]; - fneC = &DD[dirSW *size_Mat]; - fnwC = &DD[dirSE *size_Mat]; - fseC = &DD[dirNW *size_Mat]; - fbwC = &DD[dirTE *size_Mat]; - fteC = &DD[dirBW *size_Mat]; - ftwC = &DD[dirBE *size_Mat]; - fbeC = &DD[dirTW *size_Mat]; - fbsC = &DD[dirTN *size_Mat]; - ftnC = &DD[dirBS *size_Mat]; - ftsC = &DD[dirBN *size_Mat]; - fbnC = &DD[dirTS *size_Mat]; + fwC = &DD[E *size_Mat]; + feC = &DD[W *size_Mat]; + fsC = &DD[N *size_Mat]; + fnC = &DD[S *size_Mat]; + fbC = &DD[T *size_Mat]; + ftC = &DD[B *size_Mat]; + fswC = &DD[NE *size_Mat]; + fneC = &DD[SW *size_Mat]; + fnwC = &DD[SE *size_Mat]; + fseC = &DD[NW *size_Mat]; + fbwC = &DD[TE *size_Mat]; + fteC = &DD[BW *size_Mat]; + ftwC = &DD[BE *size_Mat]; + fbeC = &DD[TW *size_Mat]; + fbsC = &DD[TN *size_Mat]; + ftnC = &DD[BS *size_Mat]; + ftsC = &DD[BN *size_Mat]; + fbnC = &DD[TS *size_Mat]; fzeroC = &DD[dirREST*size_Mat]; - fbswC = &DD[dirTNE *size_Mat]; - fbneC = &DD[dirTSW *size_Mat]; - fbnwC = &DD[dirTSE *size_Mat]; - fbseC = &DD[dirTNW *size_Mat]; - ftswC = &DD[dirBNE *size_Mat]; - ftneC = &DD[dirBSW *size_Mat]; - ftnwC = &DD[dirBSE *size_Mat]; - ftseC = &DD[dirBNW *size_Mat]; + fbswC = &DD[TNE *size_Mat]; + fbneC = &DD[TSW *size_Mat]; + fbnwC = &DD[TSE *size_Mat]; + fbseC = &DD[TNW *size_Mat]; + ftswC = &DD[BNE *size_Mat]; + ftneC = &DD[BSW *size_Mat]; + ftnwC = &DD[BSE *size_Mat]; + ftseC = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// @@ -1114,63 +1114,63 @@ extern "C" __global__ void MoveParticlesWithoutBCs( real* coordX, { if (isEvenTimestep==true) { - feC = &DD[dirE *size_Mat]; - fwC = &DD[dirW *size_Mat]; - fnC = &DD[dirN *size_Mat]; - fsC = &DD[dirS *size_Mat]; - ftC = &DD[dirT *size_Mat]; - fbC = &DD[dirB *size_Mat]; - fneC = &DD[dirNE *size_Mat]; - fswC = &DD[dirSW *size_Mat]; - fseC = &DD[dirSE *size_Mat]; - fnwC = &DD[dirNW *size_Mat]; - fteC = &DD[dirTE *size_Mat]; - fbwC = &DD[dirBW *size_Mat]; - fbeC = &DD[dirBE *size_Mat]; - ftwC = &DD[dirTW *size_Mat]; - ftnC = &DD[dirTN *size_Mat]; - fbsC = &DD[dirBS *size_Mat]; - fbnC = &DD[dirBN *size_Mat]; - ftsC = &DD[dirTS *size_Mat]; + feC = &DD[E *size_Mat]; + fwC = &DD[W *size_Mat]; + fnC = &DD[N *size_Mat]; + fsC = &DD[S *size_Mat]; + ftC = &DD[T *size_Mat]; + fbC = &DD[B *size_Mat]; + fneC = &DD[NE *size_Mat]; + fswC = &DD[SW *size_Mat]; + fseC = &DD[SE *size_Mat]; + fnwC = &DD[NW *size_Mat]; + fteC = &DD[TE *size_Mat]; + fbwC = &DD[BW *size_Mat]; + fbeC = &DD[BE *size_Mat]; + ftwC = &DD[TW *size_Mat]; + ftnC = &DD[TN *size_Mat]; + fbsC = &DD[BS *size_Mat]; + fbnC = &DD[BN *size_Mat]; + ftsC = &DD[TS *size_Mat]; fzeroC = &DD[dirREST*size_Mat]; - ftneC = &DD[dirTNE *size_Mat]; - ftswC = &DD[dirTSW *size_Mat]; - ftseC = &DD[dirTSE *size_Mat]; - ftnwC = &DD[dirTNW *size_Mat]; - fbneC = &DD[dirBNE *size_Mat]; - fbswC = &DD[dirBSW *size_Mat]; - fbseC = &DD[dirBSE *size_Mat]; - fbnwC = &DD[dirBNW *size_Mat]; + ftneC = &DD[TNE *size_Mat]; + ftswC = &DD[TSW *size_Mat]; + ftseC = &DD[TSE *size_Mat]; + ftnwC = &DD[TNW *size_Mat]; + fbneC = &DD[BNE *size_Mat]; + fbswC = &DD[BSW *size_Mat]; + fbseC = &DD[BSE *size_Mat]; + fbnwC = &DD[BNW *size_Mat]; } else { - fwC = &DD[dirE *size_Mat]; - feC = &DD[dirW *size_Mat]; - fsC = &DD[dirN *size_Mat]; - fnC = &DD[dirS *size_Mat]; - fbC = &DD[dirT *size_Mat]; - ftC = &DD[dirB *size_Mat]; - fswC = &DD[dirNE *size_Mat]; - fneC = &DD[dirSW *size_Mat]; - fnwC = &DD[dirSE *size_Mat]; - fseC = &DD[dirNW *size_Mat]; - fbwC = &DD[dirTE *size_Mat]; - fteC = &DD[dirBW *size_Mat]; - ftwC = &DD[dirBE *size_Mat]; - fbeC = &DD[dirTW *size_Mat]; - fbsC = &DD[dirTN *size_Mat]; - ftnC = &DD[dirBS *size_Mat]; - ftsC = &DD[dirBN *size_Mat]; - fbnC = &DD[dirTS *size_Mat]; + fwC = &DD[E *size_Mat]; + feC = &DD[W *size_Mat]; + fsC = &DD[N *size_Mat]; + fnC = &DD[S *size_Mat]; + fbC = &DD[T *size_Mat]; + ftC = &DD[B *size_Mat]; + fswC = &DD[NE *size_Mat]; + fneC = &DD[SW *size_Mat]; + fnwC = &DD[SE *size_Mat]; + fseC = &DD[NW *size_Mat]; + fbwC = &DD[TE *size_Mat]; + fteC = &DD[BW *size_Mat]; + ftwC = &DD[BE *size_Mat]; + fbeC = &DD[TW *size_Mat]; + fbsC = &DD[TN *size_Mat]; + ftnC = &DD[BS *size_Mat]; + ftsC = &DD[BN *size_Mat]; + fbnC = &DD[TS *size_Mat]; fzeroC = &DD[dirREST*size_Mat]; - fbswC = &DD[dirTNE *size_Mat]; - fbneC = &DD[dirTSW *size_Mat]; - fbnwC = &DD[dirTSE *size_Mat]; - fbseC = &DD[dirTNW *size_Mat]; - ftswC = &DD[dirBNE *size_Mat]; - ftneC = &DD[dirBSW *size_Mat]; - ftnwC = &DD[dirBSE *size_Mat]; - ftseC = &DD[dirBNW *size_Mat]; + fbswC = &DD[TNE *size_Mat]; + fbneC = &DD[TSW *size_Mat]; + fbnwC = &DD[TSE *size_Mat]; + fbseC = &DD[TNW *size_Mat]; + ftswC = &DD[BNE *size_Mat]; + ftneC = &DD[BSW *size_Mat]; + ftnwC = &DD[BSE *size_Mat]; + ftseC = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// @@ -1937,63 +1937,63 @@ extern "C" __global__ void ParticleNoSlipDeviceComp27(real* coordX, //Distributions27 D; //if (isEvenTimestep==true) //{ - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; //} //else //{ - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; //} ////////////////////////////////////////////////////////////////////////////////// //const unsigned x = threadIdx.x; // Globaler x-Index @@ -2015,128 +2015,128 @@ extern "C" __global__ void ParticleNoSlipDeviceComp27(real* coordX, // // *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[dirE * numberOfBCnodes]; - // q_dirW = &QQ[dirW * numberOfBCnodes]; - // // q_dirN = &QQ[dirN * numberOfBCnodes]; - // q_dirS = &QQ[dirS * numberOfBCnodes]; - // // q_dirT = &QQ[dirT * numberOfBCnodes]; - // q_dirB = &QQ[dirB * numberOfBCnodes]; - // // q_dirNE = &QQ[dirNE * numberOfBCnodes]; - // // q_dirSW = &QQ[dirSW * numberOfBCnodes]; - // // q_dirSE = &QQ[dirSE * numberOfBCnodes]; - // // q_dirNW = &QQ[dirNW * numberOfBCnodes]; - // // q_dirTE = &QQ[dirTE * numberOfBCnodes]; - // // q_dirBW = &QQ[dirBW * numberOfBCnodes]; - // // q_dirBE = &QQ[dirBE * numberOfBCnodes]; - // // q_dirTW = &QQ[dirTW * numberOfBCnodes]; - // // q_dirTN = &QQ[dirTN * numberOfBCnodes]; - // // q_dirBS = &QQ[dirBS * numberOfBCnodes]; - // // q_dirBN = &QQ[dirBN * numberOfBCnodes]; - // // q_dirTS = &QQ[dirTS * numberOfBCnodes]; - // // q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - // // q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - // // q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - // // q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - // // q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - // // q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - // // q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - // // q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + // // q_dirE = &QQ[E * numberOfBCnodes]; + // q_dirW = &QQ[W * numberOfBCnodes]; + // // q_dirN = &QQ[N * numberOfBCnodes]; + // q_dirS = &QQ[S * numberOfBCnodes]; + // // q_dirT = &QQ[T * numberOfBCnodes]; + // q_dirB = &QQ[B * numberOfBCnodes]; + // // q_dirNE = &QQ[NE * numberOfBCnodes]; + // // q_dirSW = &QQ[SW * numberOfBCnodes]; + // // q_dirSE = &QQ[SE * numberOfBCnodes]; + // // q_dirNW = &QQ[NW * numberOfBCnodes]; + // // q_dirTE = &QQ[TE * numberOfBCnodes]; + // // q_dirBW = &QQ[BW * numberOfBCnodes]; + // // q_dirBE = &QQ[BE * numberOfBCnodes]; + // // q_dirTW = &QQ[TW * numberOfBCnodes]; + // // q_dirTN = &QQ[TN * numberOfBCnodes]; + // // q_dirBS = &QQ[BS * numberOfBCnodes]; + // // q_dirBN = &QQ[BN * numberOfBCnodes]; + // // q_dirTS = &QQ[TS * numberOfBCnodes]; + // // q_dirTNE = &QQ[TNE * numberOfBCnodes]; + // // q_dirTSW = &QQ[TSW * numberOfBCnodes]; + // // q_dirTSE = &QQ[TSE * numberOfBCnodes]; + // // q_dirTNW = &QQ[TNW * numberOfBCnodes]; + // // q_dirBNE = &QQ[BNE * numberOfBCnodes]; + // // q_dirBSW = &QQ[BSW * numberOfBCnodes]; + // // q_dirBSE = &QQ[BSE * numberOfBCnodes]; + // // q_dirBNW = &QQ[BNW * numberOfBCnodes]; // //////////////////////////////////////////////////////////////////////////////// // // real *nx_dirE, *nx_dirW, *nx_dirN, *nx_dirS, *nx_dirT, *nx_dirB, // // *nx_dirNE, *nx_dirSW, *nx_dirSE, *nx_dirNW, *nx_dirTE, *nx_dirBW, // // *nx_dirBE, *nx_dirTW, *nx_dirTN, *nx_dirBS, *nx_dirBN, *nx_dirTS, // // *nx_dirTNE, *nx_dirTSW, *nx_dirTSE, *nx_dirTNW, *nx_dirBNE, *nx_dirBSW, // // *nx_dirBSE, *nx_dirBNW; - // // nx_dirE = &NormalX[dirE * numberOfBCnodes]; - // // nx_dirW = &NormalX[dirW * numberOfBCnodes]; - // // nx_dirN = &NormalX[dirN * numberOfBCnodes]; - // // nx_dirS = &NormalX[dirS * numberOfBCnodes]; - // // nx_dirT = &NormalX[dirT * numberOfBCnodes]; - // // nx_dirB = &NormalX[dirB * numberOfBCnodes]; - // // nx_dirNE = &NormalX[dirNE * numberOfBCnodes]; - // // nx_dirSW = &NormalX[dirSW * numberOfBCnodes]; - // // nx_dirSE = &NormalX[dirSE * numberOfBCnodes]; - // // nx_dirNW = &NormalX[dirNW * numberOfBCnodes]; - // // nx_dirTE = &NormalX[dirTE * numberOfBCnodes]; - // // nx_dirBW = &NormalX[dirBW * numberOfBCnodes]; - // // nx_dirBE = &NormalX[dirBE * numberOfBCnodes]; - // // nx_dirTW = &NormalX[dirTW * numberOfBCnodes]; - // // nx_dirTN = &NormalX[dirTN * numberOfBCnodes]; - // // nx_dirBS = &NormalX[dirBS * numberOfBCnodes]; - // // nx_dirBN = &NormalX[dirBN * numberOfBCnodes]; - // // nx_dirTS = &NormalX[dirTS * numberOfBCnodes]; - // // nx_dirTNE = &NormalX[dirTNE * numberOfBCnodes]; - // // nx_dirTSW = &NormalX[dirTSW * numberOfBCnodes]; - // // nx_dirTSE = &NormalX[dirTSE * numberOfBCnodes]; - // // nx_dirTNW = &NormalX[dirTNW * numberOfBCnodes]; - // // nx_dirBNE = &NormalX[dirBNE * numberOfBCnodes]; - // // nx_dirBSW = &NormalX[dirBSW * numberOfBCnodes]; - // // nx_dirBSE = &NormalX[dirBSE * numberOfBCnodes]; - // // nx_dirBNW = &NormalX[dirBNW * numberOfBCnodes]; + // // nx_dirE = &NormalX[E * numberOfBCnodes]; + // // nx_dirW = &NormalX[W * numberOfBCnodes]; + // // nx_dirN = &NormalX[N * numberOfBCnodes]; + // // nx_dirS = &NormalX[S * numberOfBCnodes]; + // // nx_dirT = &NormalX[T * numberOfBCnodes]; + // // nx_dirB = &NormalX[B * numberOfBCnodes]; + // // nx_dirNE = &NormalX[NE * numberOfBCnodes]; + // // nx_dirSW = &NormalX[SW * numberOfBCnodes]; + // // nx_dirSE = &NormalX[SE * numberOfBCnodes]; + // // nx_dirNW = &NormalX[NW * numberOfBCnodes]; + // // nx_dirTE = &NormalX[TE * numberOfBCnodes]; + // // nx_dirBW = &NormalX[BW * numberOfBCnodes]; + // // nx_dirBE = &NormalX[BE * numberOfBCnodes]; + // // nx_dirTW = &NormalX[TW * numberOfBCnodes]; + // // nx_dirTN = &NormalX[TN * numberOfBCnodes]; + // // nx_dirBS = &NormalX[BS * numberOfBCnodes]; + // // nx_dirBN = &NormalX[BN * numberOfBCnodes]; + // // nx_dirTS = &NormalX[TS * numberOfBCnodes]; + // // nx_dirTNE = &NormalX[TNE * numberOfBCnodes]; + // // nx_dirTSW = &NormalX[TSW * numberOfBCnodes]; + // // nx_dirTSE = &NormalX[TSE * numberOfBCnodes]; + // // nx_dirTNW = &NormalX[TNW * numberOfBCnodes]; + // // nx_dirBNE = &NormalX[BNE * numberOfBCnodes]; + // // nx_dirBSW = &NormalX[BSW * numberOfBCnodes]; + // // nx_dirBSE = &NormalX[BSE * numberOfBCnodes]; + // // nx_dirBNW = &NormalX[BNW * numberOfBCnodes]; // //////////////////////////////////////////////////////////////////////////////// // // real *ny_dirE, *ny_dirW, *ny_dirN, *ny_dirS, *ny_dirT, *ny_dirB, // // *ny_dirNE, *ny_dirSW, *ny_dirSE, *ny_dirNW, *ny_dirTE, *ny_dirBW, // // *ny_dirBE, *ny_dirTW, *ny_dirTN, *ny_dirBS, *ny_dirBN, *ny_dirTS, // // *ny_dirTNE, *ny_dirTSW, *ny_dirTSE, *ny_dirTNW, *ny_dirBNE, *ny_dirBSW, // // *ny_dirBSE, *ny_dirBNW; - // // ny_dirE = &NormalY[dirE * numberOfBCnodes]; - // // ny_dirW = &NormalY[dirW * numberOfBCnodes]; - // // ny_dirN = &NormalY[dirN * numberOfBCnodes]; - // // ny_dirS = &NormalY[dirS * numberOfBCnodes]; - // // ny_dirT = &NormalY[dirT * numberOfBCnodes]; - // // ny_dirB = &NormalY[dirB * numberOfBCnodes]; - // // ny_dirNE = &NormalY[dirNE * numberOfBCnodes]; - // // ny_dirSW = &NormalY[dirSW * numberOfBCnodes]; - // // ny_dirSE = &NormalY[dirSE * numberOfBCnodes]; - // // ny_dirNW = &NormalY[dirNW * numberOfBCnodes]; - // // ny_dirTE = &NormalY[dirTE * numberOfBCnodes]; - // // ny_dirBW = &NormalY[dirBW * numberOfBCnodes]; - // // ny_dirBE = &NormalY[dirBE * numberOfBCnodes]; - // // ny_dirTW = &NormalY[dirTW * numberOfBCnodes]; - // // ny_dirTN = &NormalY[dirTN * numberOfBCnodes]; - // // ny_dirBS = &NormalY[dirBS * numberOfBCnodes]; - // // ny_dirBN = &NormalY[dirBN * numberOfBCnodes]; - // // ny_dirTS = &NormalY[dirTS * numberOfBCnodes]; - // // ny_dirTNE = &NormalY[dirTNE * numberOfBCnodes]; - // // ny_dirTSW = &NormalY[dirTSW * numberOfBCnodes]; - // // ny_dirTSE = &NormalY[dirTSE * numberOfBCnodes]; - // // ny_dirTNW = &NormalY[dirTNW * numberOfBCnodes]; - // // ny_dirBNE = &NormalY[dirBNE * numberOfBCnodes]; - // // ny_dirBSW = &NormalY[dirBSW * numberOfBCnodes]; - // // ny_dirBSE = &NormalY[dirBSE * numberOfBCnodes]; - // // ny_dirBNW = &NormalY[dirBNW * numberOfBCnodes]; + // // ny_dirE = &NormalY[E * numberOfBCnodes]; + // // ny_dirW = &NormalY[W * numberOfBCnodes]; + // // ny_dirN = &NormalY[N * numberOfBCnodes]; + // // ny_dirS = &NormalY[S * numberOfBCnodes]; + // // ny_dirT = &NormalY[T * numberOfBCnodes]; + // // ny_dirB = &NormalY[B * numberOfBCnodes]; + // // ny_dirNE = &NormalY[NE * numberOfBCnodes]; + // // ny_dirSW = &NormalY[SW * numberOfBCnodes]; + // // ny_dirSE = &NormalY[SE * numberOfBCnodes]; + // // ny_dirNW = &NormalY[NW * numberOfBCnodes]; + // // ny_dirTE = &NormalY[TE * numberOfBCnodes]; + // // ny_dirBW = &NormalY[BW * numberOfBCnodes]; + // // ny_dirBE = &NormalY[BE * numberOfBCnodes]; + // // ny_dirTW = &NormalY[TW * numberOfBCnodes]; + // // ny_dirTN = &NormalY[TN * numberOfBCnodes]; + // // ny_dirBS = &NormalY[BS * numberOfBCnodes]; + // // ny_dirBN = &NormalY[BN * numberOfBCnodes]; + // // ny_dirTS = &NormalY[TS * numberOfBCnodes]; + // // ny_dirTNE = &NormalY[TNE * numberOfBCnodes]; + // // ny_dirTSW = &NormalY[TSW * numberOfBCnodes]; + // // ny_dirTSE = &NormalY[TSE * numberOfBCnodes]; + // // ny_dirTNW = &NormalY[TNW * numberOfBCnodes]; + // // ny_dirBNE = &NormalY[BNE * numberOfBCnodes]; + // // ny_dirBSW = &NormalY[BSW * numberOfBCnodes]; + // // ny_dirBSE = &NormalY[BSE * numberOfBCnodes]; + // // ny_dirBNW = &NormalY[BNW * numberOfBCnodes]; // //////////////////////////////////////////////////////////////////////////////// // // real *nz_dirE, *nz_dirW, *nz_dirN, *nz_dirS, *nz_dirT, *nz_dirB, // // *nz_dirNE, *nz_dirSW, *nz_dirSE, *nz_dirNW, *nz_dirTE, *nz_dirBW, // // *nz_dirBE, *nz_dirTW, *nz_dirTN, *nz_dirBS, *nz_dirBN, *nz_dirTS, // // *nz_dirTNE, *nz_dirTSW, *nz_dirTSE, *nz_dirTNW, *nz_dirBNE, *nz_dirBSW, // // *nz_dirBSE, *nz_dirBNW; - // // nz_dirE = &NormalZ[dirE * numberOfBCnodes]; - // // nz_dirW = &NormalZ[dirW * numberOfBCnodes]; - // // nz_dirN = &NormalZ[dirN * numberOfBCnodes]; - // // nz_dirS = &NormalZ[dirS * numberOfBCnodes]; - // // nz_dirT = &NormalZ[dirT * numberOfBCnodes]; - // // nz_dirB = &NormalZ[dirB * numberOfBCnodes]; - // // nz_dirNE = &NormalZ[dirNE * numberOfBCnodes]; - // // nz_dirSW = &NormalZ[dirSW * numberOfBCnodes]; - // // nz_dirSE = &NormalZ[dirSE * numberOfBCnodes]; - // // nz_dirNW = &NormalZ[dirNW * numberOfBCnodes]; - // // nz_dirTE = &NormalZ[dirTE * numberOfBCnodes]; - // // nz_dirBW = &NormalZ[dirBW * numberOfBCnodes]; - // // nz_dirBE = &NormalZ[dirBE * numberOfBCnodes]; - // // nz_dirTW = &NormalZ[dirTW * numberOfBCnodes]; - // // nz_dirTN = &NormalZ[dirTN * numberOfBCnodes]; - // // nz_dirBS = &NormalZ[dirBS * numberOfBCnodes]; - // // nz_dirBN = &NormalZ[dirBN * numberOfBCnodes]; - // // nz_dirTS = &NormalZ[dirTS * numberOfBCnodes]; - // // nz_dirTNE = &NormalZ[dirTNE * numberOfBCnodes]; - // // nz_dirTSW = &NormalZ[dirTSW * numberOfBCnodes]; - // // nz_dirTSE = &NormalZ[dirTSE * numberOfBCnodes]; - // // nz_dirTNW = &NormalZ[dirTNW * numberOfBCnodes]; - // // nz_dirBNE = &NormalZ[dirBNE * numberOfBCnodes]; - // // nz_dirBSW = &NormalZ[dirBSW * numberOfBCnodes]; - // // nz_dirBSE = &NormalZ[dirBSE * numberOfBCnodes]; - // // nz_dirBNW = &NormalZ[dirBNW * numberOfBCnodes]; + // // nz_dirE = &NormalZ[E * numberOfBCnodes]; + // // nz_dirW = &NormalZ[W * numberOfBCnodes]; + // // nz_dirN = &NormalZ[N * numberOfBCnodes]; + // // nz_dirS = &NormalZ[S * numberOfBCnodes]; + // // nz_dirT = &NormalZ[T * numberOfBCnodes]; + // // nz_dirB = &NormalZ[B * numberOfBCnodes]; + // // nz_dirNE = &NormalZ[NE * numberOfBCnodes]; + // // nz_dirSW = &NormalZ[SW * numberOfBCnodes]; + // // nz_dirSE = &NormalZ[SE * numberOfBCnodes]; + // // nz_dirNW = &NormalZ[NW * numberOfBCnodes]; + // // nz_dirTE = &NormalZ[TE * numberOfBCnodes]; + // // nz_dirBW = &NormalZ[BW * numberOfBCnodes]; + // // nz_dirBE = &NormalZ[BE * numberOfBCnodes]; + // // nz_dirTW = &NormalZ[TW * numberOfBCnodes]; + // // nz_dirTN = &NormalZ[TN * numberOfBCnodes]; + // // nz_dirBS = &NormalZ[BS * numberOfBCnodes]; + // // nz_dirBN = &NormalZ[BN * numberOfBCnodes]; + // // nz_dirTS = &NormalZ[TS * numberOfBCnodes]; + // // nz_dirTNE = &NormalZ[TNE * numberOfBCnodes]; + // // nz_dirTSW = &NormalZ[TSW * numberOfBCnodes]; + // // nz_dirTSE = &NormalZ[TSE * numberOfBCnodes]; + // // nz_dirTNW = &NormalZ[TNW * numberOfBCnodes]; + // // nz_dirBNE = &NormalZ[BNE * numberOfBCnodes]; + // // nz_dirBSW = &NormalZ[BSW * numberOfBCnodes]; + // // nz_dirBSE = &NormalZ[BSE * numberOfBCnodes]; + // // nz_dirBNW = &NormalZ[BNW * numberOfBCnodes]; // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //bool changeCell = false; // unsigned int KQK = k_Q[k]; @@ -2190,32 +2190,32 @@ extern "C" __global__ void ParticleNoSlipDeviceComp27(real* coordX, // unsigned int ktne = KQK; // unsigned int kbsw = neighborZ[ksw]; // //////////////////////////////////////////////////////////////////////////////// - // real f_W = (D.f[dirE ])[ke ]; - // real f_E = (D.f[dirW ])[kw ]; - // real f_S = (D.f[dirN ])[kn ]; - // real f_N = (D.f[dirS ])[ks ]; - // real f_B = (D.f[dirT ])[kt ]; - // real f_T = (D.f[dirB ])[kb ]; - // real f_SW = (D.f[dirNE ])[kne ]; - // real f_NE = (D.f[dirSW ])[ksw ]; - // real f_NW = (D.f[dirSE ])[kse ]; - // real f_SE = (D.f[dirNW ])[knw ]; - // real f_BW = (D.f[dirTE ])[kte ]; - // real f_TE = (D.f[dirBW ])[kbw ]; - // real f_TW = (D.f[dirBE ])[kbe ]; - // real f_BE = (D.f[dirTW ])[ktw ]; - // real f_BS = (D.f[dirTN ])[ktn ]; - // real f_TN = (D.f[dirBS ])[kbs ]; - // real f_TS = (D.f[dirBN ])[kbn ]; - // real f_BN = (D.f[dirTS ])[kts ]; - // real f_BSW = (D.f[dirTNE ])[ktne ]; - // real f_BNE = (D.f[dirTSW ])[ktsw ]; - // real f_BNW = (D.f[dirTSE ])[ktse ]; - // real f_BSE = (D.f[dirTNW ])[ktnw ]; - // real f_TSW = (D.f[dirBNE ])[kbne ]; - // real f_TNE = (D.f[dirBSW ])[kbsw ]; - // real f_TNW = (D.f[dirBSE ])[kbse ]; - // real f_TSE = (D.f[dirBNW ])[kbnw ]; + // real f_W = (D.f[E ])[ke ]; + // real f_E = (D.f[W ])[kw ]; + // real f_S = (D.f[N ])[kn ]; + // real f_N = (D.f[S ])[ks ]; + // real f_B = (D.f[T ])[kt ]; + // real f_T = (D.f[B ])[kb ]; + // real f_SW = (D.f[NE ])[kne ]; + // real f_NE = (D.f[SW ])[ksw ]; + // real f_NW = (D.f[SE ])[kse ]; + // real f_SE = (D.f[NW ])[knw ]; + // real f_BW = (D.f[TE ])[kte ]; + // real f_TE = (D.f[BW ])[kbw ]; + // real f_TW = (D.f[BE ])[kbe ]; + // real f_BE = (D.f[TW ])[ktw ]; + // real f_BS = (D.f[TN ])[ktn ]; + // real f_TN = (D.f[BS ])[kbs ]; + // real f_TS = (D.f[BN ])[kbn ]; + // real f_BN = (D.f[TS ])[kts ]; + // real f_BSW = (D.f[TNE ])[ktne ]; + // real f_BNE = (D.f[TSW ])[ktsw ]; + // real f_BNW = (D.f[TSE ])[ktse ]; + // real f_BSE = (D.f[TNW ])[ktnw ]; + // real f_TSW = (D.f[BNE ])[kbne ]; + // real f_TNE = (D.f[BSW ])[kbsw ]; + // real f_TNW = (D.f[BSE ])[kbse ]; + // real f_TSE = (D.f[BNW ])[kbnw ]; // //////////////////////////////////////////////////////////////////////////////// // // real feq, q; // real vx1, vx2, vx3, drho; @@ -2241,63 +2241,63 @@ extern "C" __global__ void ParticleNoSlipDeviceComp27(real* coordX, // ////////////////////////////////////////////////////////////////////////// // if (isEvenTimestep==false) // { - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; // } // else // { - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; // } //} } diff --git a/src/gpu/VirtualFluids_GPU/GPU/PressBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/PressBCs27.cu index 1c6936876..2fa0635ae 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/PressBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/PressBCs27.cu @@ -96,120 +96,120 @@ extern "C" __global__ void QInflowScaleByPressDevice27( real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real f1_E = (D.f[dirE ])[k1e ]; - real f1_W = (D.f[dirW ])[k1w ]; - real f1_N = (D.f[dirN ])[k1n ]; - real f1_S = (D.f[dirS ])[k1s ]; - real f1_T = (D.f[dirT ])[k1t ]; - real f1_B = (D.f[dirB ])[k1b ]; - real f1_NE = (D.f[dirNE ])[k1ne ]; - real f1_SW = (D.f[dirSW ])[k1sw ]; - real f1_SE = (D.f[dirSE ])[k1se ]; - real f1_NW = (D.f[dirNW ])[k1nw ]; - real f1_TE = (D.f[dirTE ])[k1te ]; - real f1_BW = (D.f[dirBW ])[k1bw ]; - real f1_BE = (D.f[dirBE ])[k1be ]; - real f1_TW = (D.f[dirTW ])[k1tw ]; - real f1_TN = (D.f[dirTN ])[k1tn ]; - real f1_BS = (D.f[dirBS ])[k1bs ]; - real f1_BN = (D.f[dirBN ])[k1bn ]; - real f1_TS = (D.f[dirTS ])[k1ts ]; + real f1_E = (D.f[E ])[k1e ]; + real f1_W = (D.f[W ])[k1w ]; + real f1_N = (D.f[N ])[k1n ]; + real f1_S = (D.f[S ])[k1s ]; + real f1_T = (D.f[T ])[k1t ]; + real f1_B = (D.f[B ])[k1b ]; + real f1_NE = (D.f[NE ])[k1ne ]; + real f1_SW = (D.f[SW ])[k1sw ]; + real f1_SE = (D.f[SE ])[k1se ]; + real f1_NW = (D.f[NW ])[k1nw ]; + real f1_TE = (D.f[TE ])[k1te ]; + real f1_BW = (D.f[BW ])[k1bw ]; + real f1_BE = (D.f[BE ])[k1be ]; + real f1_TW = (D.f[TW ])[k1tw ]; + real f1_TN = (D.f[TN ])[k1tn ]; + real f1_BS = (D.f[BS ])[k1bs ]; + real f1_BN = (D.f[BN ])[k1bn ]; + real f1_TS = (D.f[TS ])[k1ts ]; //real f1_ZERO = (D.f[dirREST])[k1zero]; - real f1_TNE = (D.f[dirTNE ])[k1tne ]; - real f1_TSW = (D.f[dirTSW ])[k1tsw ]; - real f1_TSE = (D.f[dirTSE ])[k1tse ]; - real f1_TNW = (D.f[dirTNW ])[k1tnw ]; - real f1_BNE = (D.f[dirBNE ])[k1bne ]; - real f1_BSW = (D.f[dirBSW ])[k1bsw ]; - real f1_BSE = (D.f[dirBSE ])[k1bse ]; - real f1_BNW = (D.f[dirBNW ])[k1bnw ]; + real f1_TNE = (D.f[TNE ])[k1tne ]; + real f1_TSW = (D.f[TSW ])[k1tsw ]; + real f1_TSE = (D.f[TSE ])[k1tse ]; + real f1_TNW = (D.f[TNW ])[k1tnw ]; + real f1_BNE = (D.f[BNE ])[k1bne ]; + real f1_BSW = (D.f[BSW ])[k1bsw ]; + real f1_BSE = (D.f[BSE ])[k1bse ]; + real f1_BNW = (D.f[BNW ])[k1bnw ]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real f_E = (D.f[dirE ])[ke ]; - real f_W = (D.f[dirW ])[kw ]; - real f_N = (D.f[dirN ])[kn ]; - real f_S = (D.f[dirS ])[ks ]; - real f_T = (D.f[dirT ])[kt ]; - real f_B = (D.f[dirB ])[kb ]; - real f_NE = (D.f[dirNE ])[kne ]; - real f_SW = (D.f[dirSW ])[ksw ]; - real f_SE = (D.f[dirSE ])[kse ]; - real f_NW = (D.f[dirNW ])[knw ]; - real f_TE = (D.f[dirTE ])[kte ]; - real f_BW = (D.f[dirBW ])[kbw ]; - real f_BE = (D.f[dirBE ])[kbe ]; - real f_TW = (D.f[dirTW ])[ktw ]; - real f_TN = (D.f[dirTN ])[ktn ]; - real f_BS = (D.f[dirBS ])[kbs ]; - real f_BN = (D.f[dirBN ])[kbn ]; - real f_TS = (D.f[dirTS ])[kts ]; + real f_E = (D.f[E ])[ke ]; + real f_W = (D.f[W ])[kw ]; + real f_N = (D.f[N ])[kn ]; + real f_S = (D.f[S ])[ks ]; + real f_T = (D.f[T ])[kt ]; + real f_B = (D.f[B ])[kb ]; + real f_NE = (D.f[NE ])[kne ]; + real f_SW = (D.f[SW ])[ksw ]; + real f_SE = (D.f[SE ])[kse ]; + real f_NW = (D.f[NW ])[knw ]; + real f_TE = (D.f[TE ])[kte ]; + real f_BW = (D.f[BW ])[kbw ]; + real f_BE = (D.f[BE ])[kbe ]; + real f_TW = (D.f[TW ])[ktw ]; + real f_TN = (D.f[TN ])[ktn ]; + real f_BS = (D.f[BS ])[kbs ]; + real f_BN = (D.f[BN ])[kbn ]; + real f_TS = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - real f_TNE = (D.f[dirTNE ])[ktne ]; - real f_TSW = (D.f[dirTSW ])[ktsw ]; - real f_TSE = (D.f[dirTSE ])[ktse ]; - real f_TNW = (D.f[dirTNW ])[ktnw ]; - real f_BNE = (D.f[dirBNE ])[kbne ]; - real f_BSW = (D.f[dirBSW ])[kbsw ]; - real f_BSE = (D.f[dirBSE ])[kbse ]; - real f_BNW = (D.f[dirBNW ])[kbnw ]; + real f_TNE = (D.f[TNE ])[ktne ]; + real f_TSW = (D.f[TSW ])[ktsw ]; + real f_TSE = (D.f[TSE ])[ktse ]; + real f_TNW = (D.f[TNW ])[ktnw ]; + real f_BNE = (D.f[BNE ])[kbne ]; + real f_BSW = (D.f[BSW ])[kbsw ]; + real f_BSE = (D.f[BSE ])[kbse ]; + real f_BNW = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// // real vx1, vx2, vx3; real drho, drho1; @@ -320,106 +320,106 @@ extern "C" __global__ void QInflowScaleByPressDevice27( real* rhoBC, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////// //__syncthreads(); // -X - //(D.f[dirE ])[ke ] = f_E ; - //(D.f[dirSE ])[kse ] = f_SE ; - //(D.f[dirNE ])[kne ] = f_NE ; - //(D.f[dirBE ])[kbe ] = f_BE ; - //(D.f[dirTE ])[kte ] = f_TE ; - //(D.f[dirTSE ])[ktse ] = f_TSE ; - //(D.f[dirTNE ])[ktne ] = f_TNE ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBNE ])[kbne ] = f_BNE ; + //(D.f[E ])[ke ] = f_E ; + //(D.f[SE ])[kse ] = f_SE ; + //(D.f[NE ])[kne ] = f_NE ; + //(D.f[BE ])[kbe ] = f_BE ; + //(D.f[TE ])[kte ] = f_TE ; + //(D.f[TSE ])[ktse ] = f_TSE ; + //(D.f[TNE ])[ktne ] = f_TNE ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BNE ])[kbne ] = f_BNE ; // X - (D.f[dirW ])[kw ] = f_W ; - (D.f[dirSW ])[ksw ] = f_SW ; - (D.f[dirNW ])[knw ] = f_NW ; - (D.f[dirBW ])[kbw ] = f_BW ; - (D.f[dirTW ])[ktw ] = f_TW ; - (D.f[dirTSW ])[ktsw ] = f_TSW ; - (D.f[dirTNW ])[ktnw ] = f_TNW ; - (D.f[dirBSW ])[kbsw ] = f_BSW ; - (D.f[dirBNW ])[kbnw ] = f_BNW ; + (D.f[W ])[kw ] = f_W ; + (D.f[SW ])[ksw ] = f_SW ; + (D.f[NW ])[knw ] = f_NW ; + (D.f[BW ])[kbw ] = f_BW ; + (D.f[TW ])[ktw ] = f_TW ; + (D.f[TSW ])[ktsw ] = f_TSW ; + (D.f[TNW ])[ktnw ] = f_TNW ; + (D.f[BSW ])[kbsw ] = f_BSW ; + (D.f[BNW ])[kbnw ] = f_BNW ; // Y - //(D.f[dirS ])[ks ] = f_S ; - //(D.f[dirSE ])[kse ] = f_SE ; - //(D.f[dirSW ])[ksw ] = f_SW ; - //(D.f[dirTS ])[kts ] = f_TS ; - //(D.f[dirBS ])[kbs ] = f_BS ; - //(D.f[dirTSE ])[ktse ] = f_TSE ; - //(D.f[dirTSW ])[ktsw ] = f_TSW ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBSW ])[kbsw ] = f_BSW ; + //(D.f[S ])[ks ] = f_S ; + //(D.f[SE ])[kse ] = f_SE ; + //(D.f[SW ])[ksw ] = f_SW ; + //(D.f[TS ])[kts ] = f_TS ; + //(D.f[BS ])[kbs ] = f_BS ; + //(D.f[TSE ])[ktse ] = f_TSE ; + //(D.f[TSW ])[ktsw ] = f_TSW ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BSW ])[kbsw ] = f_BSW ; // Z - //(D.f[dirB ])[kb ] = f_B ; - //(D.f[dirBE ])[kbe ] = f_BE ; - //(D.f[dirBW ])[kbw ] = f_BW ; - //(D.f[dirBN ])[kbn ] = f_BN ; - //(D.f[dirBS ])[kbs ] = f_BS ; - //(D.f[dirBNE ])[kbne ] = f_BNE ; - //(D.f[dirBNW ])[kbnw ] = f_BNW ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBSW ])[kbsw ] = f_BSW ; + //(D.f[B ])[kb ] = f_B ; + //(D.f[BE ])[kbe ] = f_BE ; + //(D.f[BW ])[kbw ] = f_BW ; + //(D.f[BN ])[kbn ] = f_BN ; + //(D.f[BS ])[kbs ] = f_BS ; + //(D.f[BNE ])[kbne ] = f_BNE ; + //(D.f[BNW ])[kbnw ] = f_BNW ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BSW ])[kbsw ] = f_BSW ; ////////////////////////////////////////////////////////////////////////// } } @@ -553,95 +553,95 @@ extern "C" __global__ void QPressDeviceIncompNEQ27( real* rhoBC, Distributions27 D; if (isEvenTimestep==true) //// ACHTUNG PREColl !!!!!!!!!!!!!! { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_W = (D.f[dirE ])[k1e ]; - f1_E = (D.f[dirW ])[k1w ]; - f1_S = (D.f[dirN ])[k1n ]; - f1_N = (D.f[dirS ])[k1s ]; - f1_B = (D.f[dirT ])[k1t ]; - f1_T = (D.f[dirB ])[k1b ]; - f1_SW = (D.f[dirNE ])[k1ne ]; - f1_NE = (D.f[dirSW ])[k1sw ]; - f1_NW = (D.f[dirSE ])[k1se ]; - f1_SE = (D.f[dirNW ])[k1nw ]; - f1_BW = (D.f[dirTE ])[k1te ]; - f1_TE = (D.f[dirBW ])[k1bw ]; - f1_TW = (D.f[dirBE ])[k1be ]; - f1_BE = (D.f[dirTW ])[k1tw ]; - f1_BS = (D.f[dirTN ])[k1tn ]; - f1_TN = (D.f[dirBS ])[k1bs ]; - f1_TS = (D.f[dirBN ])[k1bn ]; - f1_BN = (D.f[dirTS ])[k1ts ]; + f1_W = (D.f[E ])[k1e ]; + f1_E = (D.f[W ])[k1w ]; + f1_S = (D.f[N ])[k1n ]; + f1_N = (D.f[S ])[k1s ]; + f1_B = (D.f[T ])[k1t ]; + f1_T = (D.f[B ])[k1b ]; + f1_SW = (D.f[NE ])[k1ne ]; + f1_NE = (D.f[SW ])[k1sw ]; + f1_NW = (D.f[SE ])[k1se ]; + f1_SE = (D.f[NW ])[k1nw ]; + f1_BW = (D.f[TE ])[k1te ]; + f1_TE = (D.f[BW ])[k1bw ]; + f1_TW = (D.f[BE ])[k1be ]; + f1_BE = (D.f[TW ])[k1tw ]; + f1_BS = (D.f[TN ])[k1tn ]; + f1_TN = (D.f[BS ])[k1bs ]; + f1_TS = (D.f[BN ])[k1bn ]; + f1_BN = (D.f[TS ])[k1ts ]; f1_ZERO = (D.f[dirREST])[k1zero]; - f1_BSW = (D.f[dirTNE ])[k1tne ]; - f1_BNE = (D.f[dirTSW ])[k1tsw ]; - f1_BNW = (D.f[dirTSE ])[k1tse ]; - f1_BSE = (D.f[dirTNW ])[k1tnw ]; - f1_TSW = (D.f[dirBNE ])[k1bne ]; - f1_TNE = (D.f[dirBSW ])[k1bsw ]; - f1_TNW = (D.f[dirBSE ])[k1bse ]; - f1_TSE = (D.f[dirBNW ])[k1bnw ]; + f1_BSW = (D.f[TNE ])[k1tne ]; + f1_BNE = (D.f[TSW ])[k1tsw ]; + f1_BNW = (D.f[TSE ])[k1tse ]; + f1_BSE = (D.f[TNW ])[k1tnw ]; + f1_TSW = (D.f[BNE ])[k1bne ]; + f1_TNE = (D.f[BSW ])[k1bsw ]; + f1_TNW = (D.f[BSE ])[k1bse ]; + f1_TSE = (D.f[BNW ])[k1bnw ]; ////////////////////////////////////////////////////////////////////////// real drho1 = f1_ZERO+f1_E+f1_W+f1_N+f1_S+f1_T+f1_B+f1_NE+f1_SW+f1_SE+f1_NW+f1_TE+f1_BW+f1_BE+f1_TW+f1_TN+f1_BS+f1_BN+f1_TS+ @@ -733,33 +733,33 @@ extern "C" __global__ void QPressDeviceIncompNEQ27( real* rhoBC, __syncthreads(); - (D.f[dirE ])[ke ] = f1_W ; - (D.f[dirW ])[kw ] = f1_E ; - (D.f[dirN ])[kn ] = f1_S ; - (D.f[dirS ])[ks ] = f1_N ; - (D.f[dirT ])[kt ] = f1_B ; - (D.f[dirB ])[kb ] = f1_T ; - (D.f[dirNE ])[kne ] = f1_SW ; - (D.f[dirSW ])[ksw ] = f1_NE ; - (D.f[dirSE ])[kse ] = f1_NW ; - (D.f[dirNW ])[knw ] = f1_SE ; - (D.f[dirTE ])[kte ] = f1_BW ; - (D.f[dirBW ])[kbw ] = f1_TE ; - (D.f[dirBE ])[kbe ] = f1_TW ; - (D.f[dirTW ])[ktw ] = f1_BE ; - (D.f[dirTN ])[ktn ] = f1_BS ; - (D.f[dirBS ])[kbs ] = f1_TN ; - (D.f[dirBN ])[kbn ] = f1_TS ; - (D.f[dirTS ])[kts ] = f1_BN ; + (D.f[E ])[ke ] = f1_W ; + (D.f[W ])[kw ] = f1_E ; + (D.f[N ])[kn ] = f1_S ; + (D.f[S ])[ks ] = f1_N ; + (D.f[T ])[kt ] = f1_B ; + (D.f[B ])[kb ] = f1_T ; + (D.f[NE ])[kne ] = f1_SW ; + (D.f[SW ])[ksw ] = f1_NE ; + (D.f[SE ])[kse ] = f1_NW ; + (D.f[NW ])[knw ] = f1_SE ; + (D.f[TE ])[kte ] = f1_BW ; + (D.f[BW ])[kbw ] = f1_TE ; + (D.f[BE ])[kbe ] = f1_TW ; + (D.f[TW ])[ktw ] = f1_BE ; + (D.f[TN ])[ktn ] = f1_BS ; + (D.f[BS ])[kbs ] = f1_TN ; + (D.f[BN ])[kbn ] = f1_TS ; + (D.f[TS ])[kts ] = f1_BN ; (D.f[dirREST])[kzero] = f1_ZERO; - (D.f[dirTNE ])[ktne ] = f1_BSW ; - (D.f[dirTSW ])[ktsw ] = f1_BNE ; - (D.f[dirTSE ])[ktse ] = f1_BNW ; - (D.f[dirTNW ])[ktnw ] = f1_BSE ; - (D.f[dirBNE ])[kbne ] = f1_TSW ; - (D.f[dirBSW ])[kbsw ] = f1_TNE ; - (D.f[dirBSE ])[kbse ] = f1_TNW ; - (D.f[dirBNW ])[kbnw ] = f1_TSE ; + (D.f[TNE ])[ktne ] = f1_BSW ; + (D.f[TSW ])[ktsw ] = f1_BNE ; + (D.f[TSE ])[ktse ] = f1_BNW ; + (D.f[TNW ])[ktnw ] = f1_BSE ; + (D.f[BNE ])[kbne ] = f1_TSW ; + (D.f[BSW ])[kbsw ] = f1_TNE ; + (D.f[BSE ])[kbse ] = f1_TNW ; + (D.f[BNW ])[kbnw ] = f1_TSE ; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -913,33 +913,33 @@ extern "C" __global__ void QPressDeviceNEQ27(real* rhoBC, //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions for neighboring node //! - real f1_W = (dist.f[dirE ])[k1e ]; - real f1_E = (dist.f[dirW ])[k1w ]; - real f1_S = (dist.f[dirN ])[k1n ]; - real f1_N = (dist.f[dirS ])[k1s ]; - real f1_B = (dist.f[dirT ])[k1t ]; - real f1_T = (dist.f[dirB ])[k1b ]; - real f1_SW = (dist.f[dirNE ])[k1ne ]; - real f1_NE = (dist.f[dirSW ])[k1sw ]; - real f1_NW = (dist.f[dirSE ])[k1se ]; - real f1_SE = (dist.f[dirNW ])[k1nw ]; - real f1_BW = (dist.f[dirTE ])[k1te ]; - real f1_TE = (dist.f[dirBW ])[k1bw ]; - real f1_TW = (dist.f[dirBE ])[k1be ]; - real f1_BE = (dist.f[dirTW ])[k1tw ]; - real f1_BS = (dist.f[dirTN ])[k1tn ]; - real f1_TN = (dist.f[dirBS ])[k1bs ]; - real f1_TS = (dist.f[dirBN ])[k1bn ]; - real f1_BN = (dist.f[dirTS ])[k1ts ]; + real f1_W = (dist.f[E ])[k1e ]; + real f1_E = (dist.f[W ])[k1w ]; + real f1_S = (dist.f[N ])[k1n ]; + real f1_N = (dist.f[S ])[k1s ]; + real f1_B = (dist.f[T ])[k1t ]; + real f1_T = (dist.f[B ])[k1b ]; + real f1_SW = (dist.f[NE ])[k1ne ]; + real f1_NE = (dist.f[SW ])[k1sw ]; + real f1_NW = (dist.f[SE ])[k1se ]; + real f1_SE = (dist.f[NW ])[k1nw ]; + real f1_BW = (dist.f[TE ])[k1te ]; + real f1_TE = (dist.f[BW ])[k1bw ]; + real f1_TW = (dist.f[BE ])[k1be ]; + real f1_BE = (dist.f[TW ])[k1tw ]; + real f1_BS = (dist.f[TN ])[k1tn ]; + real f1_TN = (dist.f[BS ])[k1bs ]; + real f1_TS = (dist.f[BN ])[k1bn ]; + real f1_BN = (dist.f[TS ])[k1ts ]; real f1_ZERO = (dist.f[dirREST])[k1zero]; - real f1_BSW = (dist.f[dirTNE ])[k1tne ]; - real f1_BNE = (dist.f[dirTSW ])[k1tsw ]; - real f1_BNW = (dist.f[dirTSE ])[k1tse ]; - real f1_BSE = (dist.f[dirTNW ])[k1tnw ]; - real f1_TSW = (dist.f[dirBNE ])[k1bne ]; - real f1_TNE = (dist.f[dirBSW ])[k1bsw ]; - real f1_TNW = (dist.f[dirBSE ])[k1bse ]; - real f1_TSE = (dist.f[dirBNW ])[k1bnw ]; + real f1_BSW = (dist.f[TNE ])[k1tne ]; + real f1_BNE = (dist.f[TSW ])[k1tsw ]; + real f1_BNW = (dist.f[TSE ])[k1tse ]; + real f1_BSE = (dist.f[TNW ])[k1tnw ]; + real f1_TSW = (dist.f[BNE ])[k1bne ]; + real f1_TNE = (dist.f[BSW ])[k1bsw ]; + real f1_TNW = (dist.f[BSE ])[k1bse ]; + real f1_TSE = (dist.f[BNW ])[k1bnw ]; //////////////////////////////////////////////////////////////////////////////// //! - Calculate macroscopic quantities (for neighboring node) @@ -1036,33 +1036,33 @@ extern "C" __global__ void QPressDeviceNEQ27(real* rhoBC, //////////////////////////////////////////////////////////////////////////////// //! write the new distributions to the bc nodes //! - (dist.f[dirE ])[ke ] = f1_W ; - (dist.f[dirW ])[kw ] = f1_E ; - (dist.f[dirN ])[kn ] = f1_S ; - (dist.f[dirS ])[ks ] = f1_N ; - (dist.f[dirT ])[kt ] = f1_B ; - (dist.f[dirB ])[kb ] = f1_T ; - (dist.f[dirNE ])[kne ] = f1_SW ; - (dist.f[dirSW ])[ksw ] = f1_NE ; - (dist.f[dirSE ])[kse ] = f1_NW ; - (dist.f[dirNW ])[knw ] = f1_SE ; - (dist.f[dirTE ])[kte ] = f1_BW ; - (dist.f[dirBW ])[kbw ] = f1_TE ; - (dist.f[dirBE ])[kbe ] = f1_TW ; - (dist.f[dirTW ])[ktw ] = f1_BE ; - (dist.f[dirTN ])[ktn ] = f1_BS ; - (dist.f[dirBS ])[kbs ] = f1_TN ; - (dist.f[dirBN ])[kbn ] = f1_TS ; - (dist.f[dirTS ])[kts ] = f1_BN ; + (dist.f[E ])[ke ] = f1_W ; + (dist.f[W ])[kw ] = f1_E ; + (dist.f[N ])[kn ] = f1_S ; + (dist.f[S ])[ks ] = f1_N ; + (dist.f[T ])[kt ] = f1_B ; + (dist.f[B ])[kb ] = f1_T ; + (dist.f[NE ])[kne ] = f1_SW ; + (dist.f[SW ])[ksw ] = f1_NE ; + (dist.f[SE ])[kse ] = f1_NW ; + (dist.f[NW ])[knw ] = f1_SE ; + (dist.f[TE ])[kte ] = f1_BW ; + (dist.f[BW ])[kbw ] = f1_TE ; + (dist.f[BE ])[kbe ] = f1_TW ; + (dist.f[TW ])[ktw ] = f1_BE ; + (dist.f[TN ])[ktn ] = f1_BS ; + (dist.f[BS ])[kbs ] = f1_TN ; + (dist.f[BN ])[kbn ] = f1_TS ; + (dist.f[TS ])[kts ] = f1_BN ; (dist.f[dirREST])[kzero] = f1_ZERO; - (dist.f[dirTNE ])[ktne ] = f1_BSW ; - (dist.f[dirTSW ])[ktsw ] = f1_BNE ; - (dist.f[dirTSE ])[ktse ] = f1_BNW ; - (dist.f[dirTNW ])[ktnw ] = f1_BSE ; - (dist.f[dirBNE ])[kbne ] = f1_TSW ; - (dist.f[dirBSW ])[kbsw ] = f1_TNE ; - (dist.f[dirBSE ])[kbse ] = f1_TNW ; - (dist.f[dirBNW ])[kbnw ] = f1_TSE ; + (dist.f[TNE ])[ktne ] = f1_BSW ; + (dist.f[TSW ])[ktsw ] = f1_BNE ; + (dist.f[TSE ])[ktse ] = f1_BNW ; + (dist.f[TNW ])[ktnw ] = f1_BSE ; + (dist.f[BNE ])[kbne ] = f1_TSW ; + (dist.f[BSW ])[kbsw ] = f1_TNE ; + (dist.f[BSE ])[kbse ] = f1_TNW ; + (dist.f[BNW ])[kbnw ] = f1_TSE ; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1136,63 +1136,63 @@ extern "C" __global__ void LB_BC_Press_East27( int nx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// @@ -1311,66 +1311,66 @@ extern "C" __global__ void LB_BC_Press_East27( int nx, real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_W = (D.f[dirE ])[k1e ]; - f1_E = (D.f[dirW ])[k1w ]; - f1_S = (D.f[dirN ])[k1n ]; - f1_N = (D.f[dirS ])[k1s ]; - f1_B = (D.f[dirT ])[k1t ]; - f1_T = (D.f[dirB ])[k1b ]; - f1_SW = (D.f[dirNE ])[k1ne ]; - f1_NE = (D.f[dirSW ])[k1sw ]; - f1_NW = (D.f[dirSE ])[k1se ]; - f1_SE = (D.f[dirNW ])[k1nw ]; - f1_BW = (D.f[dirTE ])[k1te ]; - f1_TE = (D.f[dirBW ])[k1bw ]; - f1_TW = (D.f[dirBE ])[k1be ]; - f1_BE = (D.f[dirTW ])[k1tw ]; - f1_BS = (D.f[dirTN ])[k1tn ]; - f1_TN = (D.f[dirBS ])[k1bs ]; - f1_TS = (D.f[dirBN ])[k1bn ]; - f1_BN = (D.f[dirTS ])[k1ts ]; + f1_W = (D.f[E ])[k1e ]; + f1_E = (D.f[W ])[k1w ]; + f1_S = (D.f[N ])[k1n ]; + f1_N = (D.f[S ])[k1s ]; + f1_B = (D.f[T ])[k1t ]; + f1_T = (D.f[B ])[k1b ]; + f1_SW = (D.f[NE ])[k1ne ]; + f1_NE = (D.f[SW ])[k1sw ]; + f1_NW = (D.f[SE ])[k1se ]; + f1_SE = (D.f[NW ])[k1nw ]; + f1_BW = (D.f[TE ])[k1te ]; + f1_TE = (D.f[BW ])[k1bw ]; + f1_TW = (D.f[BE ])[k1be ]; + f1_BE = (D.f[TW ])[k1tw ]; + f1_BS = (D.f[TN ])[k1tn ]; + f1_TN = (D.f[BS ])[k1bs ]; + f1_TS = (D.f[BN ])[k1bn ]; + f1_BN = (D.f[TS ])[k1ts ]; f1_ZERO = (D.f[dirREST])[k1zero]; - f1_BSW = (D.f[dirTNE ])[k1tne ]; - f1_BNE = (D.f[dirTSW ])[k1tsw ]; - f1_BNW = (D.f[dirTSE ])[k1tse ]; - f1_BSE = (D.f[dirTNW ])[k1tnw ]; - f1_TSW = (D.f[dirBNE ])[k1bne ]; - f1_TNE = (D.f[dirBSW ])[k1bsw ]; - f1_TNW = (D.f[dirBSE ])[k1bse ]; - f1_TSE = (D.f[dirBNW ])[k1bnw ]; + f1_BSW = (D.f[TNE ])[k1tne ]; + f1_BNE = (D.f[TSW ])[k1tsw ]; + f1_BNW = (D.f[TSE ])[k1tse ]; + f1_BSE = (D.f[TNW ])[k1tnw ]; + f1_TSW = (D.f[BNE ])[k1bne ]; + f1_TNE = (D.f[BSW ])[k1bsw ]; + f1_TNW = (D.f[BSE ])[k1bse ]; + f1_TSE = (D.f[BNW ])[k1bnw ]; real drho1 = f1_ZERO+f1_E+f1_W+f1_N+f1_S+f1_T+f1_B+f1_NE+f1_SW+f1_SE+f1_NW+f1_TE+f1_BW+f1_BE+f1_TW+f1_TN+f1_BS+f1_BN+f1_TS+ f1_TNE+f1_TSW+f1_TSE+f1_TNW+f1_BNE+f1_BSW+f1_BSE+f1_BNW; __syncthreads(); - (D.f[dirE ])[ke ] = f1_W -c2o27*drho1; - (D.f[dirW ])[kw ] = f1_E -c2o27*drho1; - (D.f[dirN ])[kn ] = f1_S -c2o27*drho1; - (D.f[dirS ])[ks ] = f1_N -c2o27*drho1; - (D.f[dirT ])[kt ] = f1_B -c2o27*drho1; - (D.f[dirB ])[kb ] = f1_T -c2o27*drho1; - (D.f[dirNE ])[kne ] = f1_SW -c1o54*drho1; - (D.f[dirSW ])[ksw ] = f1_NE -c1o54*drho1; - (D.f[dirSE ])[kse ] = f1_NW -c1o54*drho1; - (D.f[dirNW ])[knw ] = f1_SE -c1o54*drho1; - (D.f[dirTE ])[kte ] = f1_BW -c1o54*drho1; - (D.f[dirBW ])[kbw ] = f1_TE -c1o54*drho1; - (D.f[dirBE ])[kbe ] = f1_TW -c1o54*drho1; - (D.f[dirTW ])[ktw ] = f1_BE -c1o54*drho1; - (D.f[dirTN ])[ktn ] = f1_BS -c1o54*drho1; - (D.f[dirBS ])[kbs ] = f1_TN -c1o54*drho1; - (D.f[dirBN ])[kbn ] = f1_TS -c1o54*drho1; - (D.f[dirTS ])[kts ] = f1_BN -c1o54*drho1; + (D.f[E ])[ke ] = f1_W -c2o27*drho1; + (D.f[W ])[kw ] = f1_E -c2o27*drho1; + (D.f[N ])[kn ] = f1_S -c2o27*drho1; + (D.f[S ])[ks ] = f1_N -c2o27*drho1; + (D.f[T ])[kt ] = f1_B -c2o27*drho1; + (D.f[B ])[kb ] = f1_T -c2o27*drho1; + (D.f[NE ])[kne ] = f1_SW -c1o54*drho1; + (D.f[SW ])[ksw ] = f1_NE -c1o54*drho1; + (D.f[SE ])[kse ] = f1_NW -c1o54*drho1; + (D.f[NW ])[knw ] = f1_SE -c1o54*drho1; + (D.f[TE ])[kte ] = f1_BW -c1o54*drho1; + (D.f[BW ])[kbw ] = f1_TE -c1o54*drho1; + (D.f[BE ])[kbe ] = f1_TW -c1o54*drho1; + (D.f[TW ])[ktw ] = f1_BE -c1o54*drho1; + (D.f[TN ])[ktn ] = f1_BS -c1o54*drho1; + (D.f[BS ])[kbs ] = f1_TN -c1o54*drho1; + (D.f[BN ])[kbn ] = f1_TS -c1o54*drho1; + (D.f[TS ])[kts ] = f1_BN -c1o54*drho1; (D.f[dirREST])[kzero] = f1_ZERO-c8o27*drho1; - (D.f[dirTNE ])[ktne ] = f1_BSW -c1o216*drho1; - (D.f[dirTSW ])[ktsw ] = f1_BNE -c1o216*drho1; - (D.f[dirTSE ])[ktse ] = f1_BNW -c1o216*drho1; - (D.f[dirTNW ])[ktnw ] = f1_BSE -c1o216*drho1; - (D.f[dirBNE ])[kbne ] = f1_TSW -c1o216*drho1; - (D.f[dirBSW ])[kbsw ] = f1_TNE -c1o216*drho1; - (D.f[dirBSE ])[kbse ] = f1_TNW -c1o216*drho1; - (D.f[dirBNW ])[kbnw ] = f1_TSE -c1o216*drho1; + (D.f[TNE ])[ktne ] = f1_BSW -c1o216*drho1; + (D.f[TSW ])[ktsw ] = f1_BNE -c1o216*drho1; + (D.f[TSE ])[ktse ] = f1_BNW -c1o216*drho1; + (D.f[TNW ])[ktnw ] = f1_BSE -c1o216*drho1; + (D.f[BNE ])[kbne ] = f1_TSW -c1o216*drho1; + (D.f[BSW ])[kbsw ] = f1_TNE -c1o216*drho1; + (D.f[BSE ])[kbse ] = f1_TNW -c1o216*drho1; + (D.f[BNW ])[kbnw ] = f1_TSE -c1o216*drho1; } __syncthreads(); } @@ -1430,63 +1430,63 @@ extern "C" __global__ void QPressDevice27(real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1506,32 +1506,32 @@ extern "C" __global__ void QPressDevice27(real* rhoBC, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1566,32 +1566,32 @@ extern "C" __global__ void QPressDevice27(real* rhoBC, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real q, vx1, vx2, vx3, drho; vx1 = ((f_TSE - f_BNW) - (f_TNW - f_BSE)) + ((f_TNE - f_BSW) - (f_TSW - f_BNE)) + @@ -1615,245 +1615,245 @@ extern "C" __global__ void QPressDevice27(real* rhoBC, //////////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirW])[kw]=c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - //(D.f[dirE])[ke]=c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); + (D.f[W])[kw]=c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + //(D.f[E])[ke]=c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirE])[ke]=c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - //(D.f[dirW])[kw]=c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[E])[ke]=c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + //(D.f[W])[kw]=c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirS])[ks]=c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - //(D.f[dirN])[kn]=c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); + (D.f[S])[ks]=c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + //(D.f[N])[kn]=c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirN])[kn]=c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - //(D.f[dirS])[ks]=c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[N])[kn]=c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + //(D.f[S])[ks]=c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirB])[kb]=c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - //(D.f[dirT])[kt]=c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); + (D.f[B])[kb]=c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + //(D.f[T])[kt]=c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirT])[kt]=c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - //(D.f[dirB])[kb]=c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); + (D.f[T])[kt]=c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + //(D.f[B])[kb]=c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSW])[ksw]=c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - //(D.f[dirNE])[kne]=c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D.f[SW])[ksw]=c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + //(D.f[NE])[kne]=c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNE])[kne]=c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - //(D.f[dirSW])[ksw]=c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D.f[NE])[kne]=c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + //(D.f[SW])[ksw]=c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNW])[knw]=c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - //(D.f[dirSE])[kse]=c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D.f[NW])[knw]=c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + //(D.f[SE])[kse]=c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSE])[kse]=c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - //(D.f[dirNW])[knw]=c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D.f[SE])[kse]=c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + //(D.f[NW])[knw]=c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBW])[kbw]=c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - //(D.f[dirTE])[kte]=c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D.f[BW])[kbw]=c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + //(D.f[TE])[kte]=c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTE])[kte]=c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - //(D.f[dirBW])[kbw]=c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D.f[TE])[kte]=c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + //(D.f[BW])[kbw]=c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTW])[ktw]=c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - //(D.f[dirBE])[kbe]=c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D.f[TW])[ktw]=c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + //(D.f[BE])[kbe]=c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBE])[kbe]=c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - //(D.f[dirTW])[ktw]=c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D.f[BE])[kbe]=c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + //(D.f[TW])[ktw]=c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBS])[kbs]=c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - //(D.f[dirTN])[ktn]=c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D.f[BS])[kbs]=c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + //(D.f[TN])[ktn]=c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTN])[ktn]=c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - //(D.f[dirBS])[kbs]=c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D.f[TN])[ktn]=c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + //(D.f[BS])[kbs]=c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTS])[kts]=c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - //(D.f[dirBN])[kbn]=c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D.f[TS])[kts]=c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + //(D.f[BN])[kbn]=c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBN])[kbn]=c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - //(D.f[dirTS])[kts]=c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D.f[BN])[kbn]=c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + //(D.f[TS])[kts]=c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSW])[kbsw]=c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNE])[ktne]=c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D.f[BSW])[kbsw]=c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + //(D.f[TNE])[ktne]=c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNE])[ktne]=c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSW])[kbsw]=c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D.f[TNE])[ktne]=c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + //(D.f[BSW])[kbsw]=c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSW])[ktsw]=c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNE])[kbne]=c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D.f[TSW])[ktsw]=c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + //(D.f[BNE])[kbne]=c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNE])[kbne]=c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSW])[ktsw]=c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D.f[BNE])[kbne]=c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + //(D.f[TSW])[ktsw]=c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNW])[kbnw]=c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSE])[ktse]=c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D.f[BNW])[kbnw]=c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + //(D.f[TSE])[ktse]=c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSE])[ktse]=c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNW])[kbnw]=c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D.f[TSE])[ktse]=c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + //(D.f[BNW])[kbnw]=c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNW])[ktnw]=c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSE])[kbse]=c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D.f[TNW])[ktnw]=c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + //(D.f[BSE])[kbse]=c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSE])[kbse]=c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNW])[ktnw]=c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D.f[BSE])[kbse]=c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + //(D.f[TNW])[ktnw]=c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); } } } @@ -1916,63 +1916,63 @@ extern "C" __global__ void QPressDeviceAntiBB27( real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1992,32 +1992,32 @@ extern "C" __global__ void QPressDeviceAntiBB27( real* rhoBC, *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[dirE *numberOfBCnodes]; - q_dirW = &QQ[dirW *numberOfBCnodes]; - q_dirN = &QQ[dirN *numberOfBCnodes]; - q_dirS = &QQ[dirS *numberOfBCnodes]; - q_dirT = &QQ[dirT *numberOfBCnodes]; - q_dirB = &QQ[dirB *numberOfBCnodes]; - q_dirNE = &QQ[dirNE *numberOfBCnodes]; - q_dirSW = &QQ[dirSW *numberOfBCnodes]; - q_dirSE = &QQ[dirSE *numberOfBCnodes]; - q_dirNW = &QQ[dirNW *numberOfBCnodes]; - q_dirTE = &QQ[dirTE *numberOfBCnodes]; - q_dirBW = &QQ[dirBW *numberOfBCnodes]; - q_dirBE = &QQ[dirBE *numberOfBCnodes]; - q_dirTW = &QQ[dirTW *numberOfBCnodes]; - q_dirTN = &QQ[dirTN *numberOfBCnodes]; - q_dirBS = &QQ[dirBS *numberOfBCnodes]; - q_dirBN = &QQ[dirBN *numberOfBCnodes]; - q_dirTS = &QQ[dirTS *numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE *numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW *numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE *numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW *numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE *numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW *numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE *numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW *numberOfBCnodes]; + q_dirE = &QQ[E *numberOfBCnodes]; + q_dirW = &QQ[W *numberOfBCnodes]; + q_dirN = &QQ[N *numberOfBCnodes]; + q_dirS = &QQ[S *numberOfBCnodes]; + q_dirT = &QQ[T *numberOfBCnodes]; + q_dirB = &QQ[B *numberOfBCnodes]; + q_dirNE = &QQ[NE *numberOfBCnodes]; + q_dirSW = &QQ[SW *numberOfBCnodes]; + q_dirSE = &QQ[SE *numberOfBCnodes]; + q_dirNW = &QQ[NW *numberOfBCnodes]; + q_dirTE = &QQ[TE *numberOfBCnodes]; + q_dirBW = &QQ[BW *numberOfBCnodes]; + q_dirBE = &QQ[BE *numberOfBCnodes]; + q_dirTW = &QQ[TW *numberOfBCnodes]; + q_dirTN = &QQ[TN *numberOfBCnodes]; + q_dirBS = &QQ[BS *numberOfBCnodes]; + q_dirBN = &QQ[BN *numberOfBCnodes]; + q_dirTS = &QQ[TS *numberOfBCnodes]; + q_dirTNE = &QQ[TNE *numberOfBCnodes]; + q_dirTSW = &QQ[TSW *numberOfBCnodes]; + q_dirTSE = &QQ[TSE *numberOfBCnodes]; + q_dirTNW = &QQ[TNW *numberOfBCnodes]; + q_dirBNE = &QQ[BNE *numberOfBCnodes]; + q_dirBSW = &QQ[BSW *numberOfBCnodes]; + q_dirBSE = &QQ[BSE *numberOfBCnodes]; + q_dirBNW = &QQ[BNW *numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -2052,32 +2052,32 @@ extern "C" __global__ void QPressDeviceAntiBB27( real* rhoBC, 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_ZERO; - f_W = (D.f[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; f_ZERO = (D.f[dirREST])[kzero]; //////////////////////////////////////////////////////////////////////////////// //real vx1, vx2, vx3, drho; @@ -2106,219 +2106,219 @@ extern "C" __global__ void QPressDeviceAntiBB27( real* rhoBC, //////////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirW])[kw]=f_W-c2o27*drho; + (D.f[W])[kw]=f_W-c2o27*drho; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirE])[ke]=f_E-c2o27*drho; + (D.f[E])[ke]=f_E-c2o27*drho; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirS])[ks]=f_S-c2o27*drho; + (D.f[S])[ks]=f_S-c2o27*drho; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirN])[kn]=f_N-c2o27*drho; + (D.f[N])[kn]=f_N-c2o27*drho; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirB])[kb]=f_B-c2o27*drho; + (D.f[B])[kb]=f_B-c2o27*drho; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirT])[kt]=f_T-c2o27*drho; + (D.f[T])[kt]=f_T-c2o27*drho; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSW])[ksw]=f_SW-c1o54*drho; + (D.f[SW])[ksw]=f_SW-c1o54*drho; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNE])[kne]=f_NE-c1o54*drho; + (D.f[NE])[kne]=f_NE-c1o54*drho; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNW])[knw]=f_NW-c1o54*drho; + (D.f[NW])[knw]=f_NW-c1o54*drho; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSE])[kse]=f_SE-c1o54*drho; + (D.f[SE])[kse]=f_SE-c1o54*drho; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBW])[kbw]=f_BW-c1o54*drho; + (D.f[BW])[kbw]=f_BW-c1o54*drho; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTE])[kte]=f_TE-c1o54*drho; + (D.f[TE])[kte]=f_TE-c1o54*drho; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTW])[ktw]=f_TW-c1o54*drho; + (D.f[TW])[ktw]=f_TW-c1o54*drho; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBE])[kbe]=f_BE-c1o54*drho; + (D.f[BE])[kbe]=f_BE-c1o54*drho; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBS])[kbs]=f_BS-c1o54*drho; + (D.f[BS])[kbs]=f_BS-c1o54*drho; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTN])[ktn]=f_TN-c1o54*drho; + (D.f[TN])[ktn]=f_TN-c1o54*drho; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTS])[kts]=f_TS-c1o54*drho; + (D.f[TS])[kts]=f_TS-c1o54*drho; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBN])[kbn]=f_BN-c1o54*drho; + (D.f[BN])[kbn]=f_BN-c1o54*drho; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSW])[kbsw]=f_BSW-c1o216*drho; + (D.f[BSW])[kbsw]=f_BSW-c1o216*drho; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNE])[ktne]=f_TNE-c1o216*drho; + (D.f[TNE])[ktne]=f_TNE-c1o216*drho; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSW])[ktsw]=f_TSW-c1o216*drho; + (D.f[TSW])[ktsw]=f_TSW-c1o216*drho; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNE])[kbne]=f_BNE-c1o216*drho; + (D.f[BNE])[kbne]=f_BNE-c1o216*drho; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNW])[kbnw]=f_BNW-c1o216*drho; + (D.f[BNW])[kbnw]=f_BNW-c1o216*drho; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSE])[ktse]=f_TSE-c1o216*drho; + (D.f[TSE])[ktse]=f_TSE-c1o216*drho; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNW])[ktnw]=f_TNW-c1o216*drho; + (D.f[TNW])[ktnw]=f_TNW-c1o216*drho; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSE])[kbse]=f_BSE-c1o216*drho; + (D.f[BSE])[kbse]=f_BSE-c1o216*drho; } } } @@ -2425,91 +2425,91 @@ extern "C" __global__ void QPressDeviceFixBackflow27( real* rhoBC, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - (D.f[dirW])[kw] = c2o27 * deltaRho; - (D.f[dirE])[ke] = c2o27 * deltaRho; - (D.f[dirS])[ks] = c2o27 * deltaRho; - (D.f[dirN])[kn] = c2o27 * deltaRho; - (D.f[dirB])[kb] = c2o27 * deltaRho; - (D.f[dirT])[kt] = c2o27 * deltaRho; - (D.f[dirSW])[ksw] = c1o54 * deltaRho; - (D.f[dirNE])[kne] = c1o54 * deltaRho; - (D.f[dirNW])[knw] = c1o54 * deltaRho; - (D.f[dirSE])[kse] = c1o54 * deltaRho; - (D.f[dirBW])[kbw] = c1o54 * deltaRho; - (D.f[dirTE])[kte] = c1o54 * deltaRho; - (D.f[dirTW])[ktw] = c1o54 * deltaRho; - (D.f[dirBE])[kbe] = c1o54 * deltaRho; - (D.f[dirBS])[kbs] = c1o54 * deltaRho; - (D.f[dirTN])[ktn] = c1o54 * deltaRho; - (D.f[dirTS])[kts] = c1o54 * deltaRho; - (D.f[dirBN])[kbn] = c1o54 * deltaRho; - (D.f[dirBSW])[kbsw] = c1o216 * deltaRho; - (D.f[dirTNE])[ktne] = c1o216 * deltaRho; - (D.f[dirTSW])[ktsw] = c1o216 * deltaRho; - (D.f[dirBNE])[kbne] = c1o216 * deltaRho; - (D.f[dirBNW])[kbnw] = c1o216 * deltaRho; - (D.f[dirTSE])[ktse] = c1o216 * deltaRho; - (D.f[dirTNW])[ktnw] = c1o216 * deltaRho; - (D.f[dirBSE])[kbse] = c1o216 * deltaRho; + (D.f[W])[kw] = c2o27 * deltaRho; + (D.f[E])[ke] = c2o27 * deltaRho; + (D.f[S])[ks] = c2o27 * deltaRho; + (D.f[N])[kn] = c2o27 * deltaRho; + (D.f[B])[kb] = c2o27 * deltaRho; + (D.f[T])[kt] = c2o27 * deltaRho; + (D.f[SW])[ksw] = c1o54 * deltaRho; + (D.f[NE])[kne] = c1o54 * deltaRho; + (D.f[NW])[knw] = c1o54 * deltaRho; + (D.f[SE])[kse] = c1o54 * deltaRho; + (D.f[BW])[kbw] = c1o54 * deltaRho; + (D.f[TE])[kte] = c1o54 * deltaRho; + (D.f[TW])[ktw] = c1o54 * deltaRho; + (D.f[BE])[kbe] = c1o54 * deltaRho; + (D.f[BS])[kbs] = c1o54 * deltaRho; + (D.f[TN])[ktn] = c1o54 * deltaRho; + (D.f[TS])[kts] = c1o54 * deltaRho; + (D.f[BN])[kbn] = c1o54 * deltaRho; + (D.f[BSW])[kbsw] = c1o216 * deltaRho; + (D.f[TNE])[ktne] = c1o216 * deltaRho; + (D.f[TSW])[ktsw] = c1o216 * deltaRho; + (D.f[BNE])[kbne] = c1o216 * deltaRho; + (D.f[BNW])[kbnw] = c1o216 * deltaRho; + (D.f[TSE])[ktse] = c1o216 * deltaRho; + (D.f[TNW])[ktnw] = c1o216 * deltaRho; + (D.f[BSE])[kbse] = c1o216 * deltaRho; (D.f[dirREST])[kzero] = c8o27 * deltaRho; } } @@ -2616,86 +2616,86 @@ extern "C" __global__ void QPressDeviceDirDepBot27( real* rhoBC, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f_E,f_W,f_N,f_S,f_T,f_NE,f_SW,f_SE,f_NW,f_TE,f_TW,f_TN,f_TS,f_ZERO,f_TNE,f_TSW,f_TSE,f_TNW;//, //f_B,f_BW,f_BE,f_BS,f_BN,f_BSW,f_BNE,f_BNW,f_BSE; - f_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_TS = (D.f[dirTS ])[kts ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_TS = (D.f[TS ])[kts ]; f_ZERO = (D.f[dirREST])[kzero]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //f_B = (four*rho- four*f_SW- eight*f_TSW-four*f_W- eight*f_TW- four*f_NW- eight*f_TNW-four*f_S- eight*f_TS-four*f_ZERO+ f_T-four*f_N- eight*f_TN- four*f_SE- eight*f_TSE-four*f_E- eight*f_TE- four*f_NE- eight*f_TNE)/nine; @@ -2716,43 +2716,43 @@ extern "C" __global__ void QPressDeviceDirDepBot27( real* rhoBC, //real cusq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); //(D.f[dirREST])[kzero] = c8over27* (drho-cusq); - //(D.f[dirE])[ke] = c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cusq); - //(D.f[dirW])[kw] = c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cusq); - //(D.f[dirN])[kn] = c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cusq); - //(D.f[dirS])[ks] = c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cusq); - //(D.f[dirT])[kt] = c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cusq); - //(D.f[dirB])[kb] = c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cusq); - //(D.f[dirNE])[kne] = c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cusq); - //(D.f[dirSW])[ksw] = c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cusq); - //(D.f[dirSE])[kse] = c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cusq); - //(D.f[dirNW])[knw] = c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cusq); - //(D.f[dirTE])[kte] = c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cusq); - //(D.f[dirBW])[kbw] = c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cusq); - //(D.f[dirBE])[kbe] = c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cusq); - //(D.f[dirTW])[ktw] = c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cusq); - //(D.f[dirTN])[ktn] = c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cusq); - //(D.f[dirBS])[kbs] = c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cusq); - //(D.f[dirBN])[kbn] = c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cusq); - //(D.f[dirTS])[kts] = c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cusq); - //(D.f[dirTNE])[ktne] = c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq); - //(D.f[dirBSW])[kbsw] = c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq); - //(D.f[dirBNE])[kbne] = c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq); - //(D.f[dirTSW])[ktsw] = c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq); - //(D.f[dirTSE])[ktse] = c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq); - //(D.f[dirBNW])[kbnw] = c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq); - //(D.f[dirBSE])[kbse] = c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq); - //(D.f[dirTNW])[ktnw] = c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq); + //(D.f[E])[ke] = c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cusq); + //(D.f[W])[kw] = c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cusq); + //(D.f[N])[kn] = c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cusq); + //(D.f[S])[ks] = c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cusq); + //(D.f[T])[kt] = c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cusq); + //(D.f[B])[kb] = c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cusq); + //(D.f[NE])[kne] = c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cusq); + //(D.f[SW])[ksw] = c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cusq); + //(D.f[SE])[kse] = c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cusq); + //(D.f[NW])[knw] = c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cusq); + //(D.f[TE])[kte] = c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cusq); + //(D.f[BW])[kbw] = c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cusq); + //(D.f[BE])[kbe] = c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cusq); + //(D.f[TW])[ktw] = c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cusq); + //(D.f[TN])[ktn] = c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cusq); + //(D.f[BS])[kbs] = c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cusq); + //(D.f[BN])[kbn] = c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cusq); + //(D.f[TS])[kts] = c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cusq); + //(D.f[TNE])[ktne] = c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq); + //(D.f[BSW])[kbsw] = c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq); + //(D.f[BNE])[kbne] = c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq); + //(D.f[TSW])[ktsw] = c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq); + //(D.f[TSE])[ktse] = c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq); + //(D.f[BNW])[kbnw] = c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq); + //(D.f[BSE])[kbse] = c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq); + //(D.f[TNW])[ktnw] = c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq); real drho = f_ZERO+f_E+f_W+f_N+f_S+f_T+f_NE+f_SW+f_SE+f_NW+f_TE+f_TW+f_TN+f_TS+f_TNE+f_TSW+f_TSE+f_TNW; real dTop = f_T+f_TE+f_TW+f_TN+f_TS+f_TNE+f_TSW+f_TSE+f_TNW; - (D.f[dirB])[kb] = (f_T+c2o27)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c2o27; - (D.f[dirBW])[kbw] = (f_TW+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; - (D.f[dirBE])[kbe] = (f_TE+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; - (D.f[dirBS])[kbs] = (f_TS+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; - (D.f[dirBN])[kbn] = (f_TN+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; - (D.f[dirBSW])[kbsw] = (f_TSW+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; - (D.f[dirBNE])[kbne] = (f_TNE+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; - (D.f[dirBNW])[kbnw] = (f_TNW+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; - (D.f[dirBSE])[kbse] = (f_TSE+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; + (D.f[B])[kb] = (f_T+c2o27)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c2o27; + (D.f[BW])[kbw] = (f_TW+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; + (D.f[BE])[kbe] = (f_TE+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; + (D.f[BS])[kbs] = (f_TS+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; + (D.f[BN])[kbn] = (f_TN+c1o54)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o54; + (D.f[BSW])[kbsw] = (f_TSW+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; + (D.f[BNE])[kbne] = (f_TNE+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; + (D.f[BNW])[kbnw] = (f_TNW+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; + (D.f[BSE])[kbse] = (f_TSE+c1o216)*(rho-drho+c1o1/c6o1)/(dTop+c1o1/c6o1)-c1o216; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -2885,120 +2885,120 @@ extern "C" __global__ void QPressNoRhoDevice27( real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real f1_E = (D.f[dirE ])[k1e ]; - real f1_W = (D.f[dirW ])[k1w ]; - real f1_N = (D.f[dirN ])[k1n ]; - real f1_S = (D.f[dirS ])[k1s ]; - real f1_T = (D.f[dirT ])[k1t ]; - real f1_B = (D.f[dirB ])[k1b ]; - real f1_NE = (D.f[dirNE ])[k1ne ]; - real f1_SW = (D.f[dirSW ])[k1sw ]; - real f1_SE = (D.f[dirSE ])[k1se ]; - real f1_NW = (D.f[dirNW ])[k1nw ]; - real f1_TE = (D.f[dirTE ])[k1te ]; - real f1_BW = (D.f[dirBW ])[k1bw ]; - real f1_BE = (D.f[dirBE ])[k1be ]; - real f1_TW = (D.f[dirTW ])[k1tw ]; - real f1_TN = (D.f[dirTN ])[k1tn ]; - real f1_BS = (D.f[dirBS ])[k1bs ]; - real f1_BN = (D.f[dirBN ])[k1bn ]; - real f1_TS = (D.f[dirTS ])[k1ts ]; + real f1_E = (D.f[E ])[k1e ]; + real f1_W = (D.f[W ])[k1w ]; + real f1_N = (D.f[N ])[k1n ]; + real f1_S = (D.f[S ])[k1s ]; + real f1_T = (D.f[T ])[k1t ]; + real f1_B = (D.f[B ])[k1b ]; + real f1_NE = (D.f[NE ])[k1ne ]; + real f1_SW = (D.f[SW ])[k1sw ]; + real f1_SE = (D.f[SE ])[k1se ]; + real f1_NW = (D.f[NW ])[k1nw ]; + real f1_TE = (D.f[TE ])[k1te ]; + real f1_BW = (D.f[BW ])[k1bw ]; + real f1_BE = (D.f[BE ])[k1be ]; + real f1_TW = (D.f[TW ])[k1tw ]; + real f1_TN = (D.f[TN ])[k1tn ]; + real f1_BS = (D.f[BS ])[k1bs ]; + real f1_BN = (D.f[BN ])[k1bn ]; + real f1_TS = (D.f[TS ])[k1ts ]; //real f1_ZERO = (D.f[dirREST])[k1zero]; - real f1_TNE = (D.f[dirTNE ])[k1tne ]; - real f1_TSW = (D.f[dirTSW ])[k1tsw ]; - real f1_TSE = (D.f[dirTSE ])[k1tse ]; - real f1_TNW = (D.f[dirTNW ])[k1tnw ]; - real f1_BNE = (D.f[dirBNE ])[k1bne ]; - real f1_BSW = (D.f[dirBSW ])[k1bsw ]; - real f1_BSE = (D.f[dirBSE ])[k1bse ]; - real f1_BNW = (D.f[dirBNW ])[k1bnw ]; + real f1_TNE = (D.f[TNE ])[k1tne ]; + real f1_TSW = (D.f[TSW ])[k1tsw ]; + real f1_TSE = (D.f[TSE ])[k1tse ]; + real f1_TNW = (D.f[TNW ])[k1tnw ]; + real f1_BNE = (D.f[BNE ])[k1bne ]; + real f1_BSW = (D.f[BSW ])[k1bsw ]; + real f1_BSE = (D.f[BSE ])[k1bse ]; + real f1_BNW = (D.f[BNW ])[k1bnw ]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real f_E = (D.f[dirE ])[ke ]; - real f_W = (D.f[dirW ])[kw ]; - real f_N = (D.f[dirN ])[kn ]; - real f_S = (D.f[dirS ])[ks ]; - real f_T = (D.f[dirT ])[kt ]; - real f_B = (D.f[dirB ])[kb ]; - real f_NE = (D.f[dirNE ])[kne ]; - real f_SW = (D.f[dirSW ])[ksw ]; - real f_SE = (D.f[dirSE ])[kse ]; - real f_NW = (D.f[dirNW ])[knw ]; - real f_TE = (D.f[dirTE ])[kte ]; - real f_BW = (D.f[dirBW ])[kbw ]; - real f_BE = (D.f[dirBE ])[kbe ]; - real f_TW = (D.f[dirTW ])[ktw ]; - real f_TN = (D.f[dirTN ])[ktn ]; - real f_BS = (D.f[dirBS ])[kbs ]; - real f_BN = (D.f[dirBN ])[kbn ]; - real f_TS = (D.f[dirTS ])[kts ]; + real f_E = (D.f[E ])[ke ]; + real f_W = (D.f[W ])[kw ]; + real f_N = (D.f[N ])[kn ]; + real f_S = (D.f[S ])[ks ]; + real f_T = (D.f[T ])[kt ]; + real f_B = (D.f[B ])[kb ]; + real f_NE = (D.f[NE ])[kne ]; + real f_SW = (D.f[SW ])[ksw ]; + real f_SE = (D.f[SE ])[kse ]; + real f_NW = (D.f[NW ])[knw ]; + real f_TE = (D.f[TE ])[kte ]; + real f_BW = (D.f[BW ])[kbw ]; + real f_BE = (D.f[BE ])[kbe ]; + real f_TW = (D.f[TW ])[ktw ]; + real f_TN = (D.f[TN ])[ktn ]; + real f_BS = (D.f[BS ])[kbs ]; + real f_BN = (D.f[BN ])[kbn ]; + real f_TS = (D.f[TS ])[kts ]; //real f_ZERO = (D.f[dirREST])[kzero]; - real f_TNE = (D.f[dirTNE ])[ktne ]; - real f_TSW = (D.f[dirTSW ])[ktsw ]; - real f_TSE = (D.f[dirTSE ])[ktse ]; - real f_TNW = (D.f[dirTNW ])[ktnw ]; - real f_BNE = (D.f[dirBNE ])[kbne ]; - real f_BSW = (D.f[dirBSW ])[kbsw ]; - real f_BSE = (D.f[dirBSE ])[kbse ]; - real f_BNW = (D.f[dirBNW ])[kbnw ]; + real f_TNE = (D.f[TNE ])[ktne ]; + real f_TSW = (D.f[TSW ])[ktsw ]; + real f_TSE = (D.f[TSE ])[ktse ]; + real f_TNW = (D.f[TNW ])[ktnw ]; + real f_BNE = (D.f[BNE ])[kbne ]; + real f_BSW = (D.f[BSW ])[kbsw ]; + real f_BSE = (D.f[BSE ])[kbse ]; + real f_BNW = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// //real vx1, vx2, vx3, drho; @@ -3169,106 +3169,106 @@ extern "C" __global__ void QPressNoRhoDevice27( real* rhoBC, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////// //__syncthreads(); // -X - //(D.f[dirE ])[ke ] = f_E ; - //(D.f[dirSE ])[kse ] = f_SE ; - //(D.f[dirNE ])[kne ] = f_NE ; - //(D.f[dirBE ])[kbe ] = f_BE ; - //(D.f[dirTE ])[kte ] = f_TE ; - //(D.f[dirTSE ])[ktse ] = f_TSE ; - //(D.f[dirTNE ])[ktne ] = f_TNE ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBNE ])[kbne ] = f_BNE ; + //(D.f[E ])[ke ] = f_E ; + //(D.f[SE ])[kse ] = f_SE ; + //(D.f[NE ])[kne ] = f_NE ; + //(D.f[BE ])[kbe ] = f_BE ; + //(D.f[TE ])[kte ] = f_TE ; + //(D.f[TSE ])[ktse ] = f_TSE ; + //(D.f[TNE ])[ktne ] = f_TNE ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BNE ])[kbne ] = f_BNE ; // X - (D.f[dirW ])[kw ] = f_W ; - (D.f[dirSW ])[ksw ] = f_SW ; - (D.f[dirNW ])[knw ] = f_NW ; - (D.f[dirBW ])[kbw ] = f_BW ; - (D.f[dirTW ])[ktw ] = f_TW ; - (D.f[dirTSW ])[ktsw ] = f_TSW ; - (D.f[dirTNW ])[ktnw ] = f_TNW ; - (D.f[dirBSW ])[kbsw ] = f_BSW ; - (D.f[dirBNW ])[kbnw ] = f_BNW ; + (D.f[W ])[kw ] = f_W ; + (D.f[SW ])[ksw ] = f_SW ; + (D.f[NW ])[knw ] = f_NW ; + (D.f[BW ])[kbw ] = f_BW ; + (D.f[TW ])[ktw ] = f_TW ; + (D.f[TSW ])[ktsw ] = f_TSW ; + (D.f[TNW ])[ktnw ] = f_TNW ; + (D.f[BSW ])[kbsw ] = f_BSW ; + (D.f[BNW ])[kbnw ] = f_BNW ; // Y - //(D.f[dirS ])[ks ] = f_S ; - //(D.f[dirSE ])[kse ] = f_SE ; - //(D.f[dirSW ])[ksw ] = f_SW ; - //(D.f[dirTS ])[kts ] = f_TS ; - //(D.f[dirBS ])[kbs ] = f_BS ; - //(D.f[dirTSE ])[ktse ] = f_TSE ; - //(D.f[dirTSW ])[ktsw ] = f_TSW ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBSW ])[kbsw ] = f_BSW ; + //(D.f[S ])[ks ] = f_S ; + //(D.f[SE ])[kse ] = f_SE ; + //(D.f[SW ])[ksw ] = f_SW ; + //(D.f[TS ])[kts ] = f_TS ; + //(D.f[BS ])[kbs ] = f_BS ; + //(D.f[TSE ])[ktse ] = f_TSE ; + //(D.f[TSW ])[ktsw ] = f_TSW ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BSW ])[kbsw ] = f_BSW ; // Z - //(D.f[dirB ])[kb ] = f_B ; - //(D.f[dirBE ])[kbe ] = f_BE ; - //(D.f[dirBW ])[kbw ] = f_BW ; - //(D.f[dirBN ])[kbn ] = f_BN ; - //(D.f[dirBS ])[kbs ] = f_BS ; - //(D.f[dirBNE ])[kbne ] = f_BNE ; - //(D.f[dirBNW ])[kbnw ] = f_BNW ; - //(D.f[dirBSE ])[kbse ] = f_BSE ; - //(D.f[dirBSW ])[kbsw ] = f_BSW ; + //(D.f[B ])[kb ] = f_B ; + //(D.f[BE ])[kbe ] = f_BE ; + //(D.f[BW ])[kbw ] = f_BW ; + //(D.f[BN ])[kbn ] = f_BN ; + //(D.f[BS ])[kbs ] = f_BS ; + //(D.f[BNE ])[kbne ] = f_BNE ; + //(D.f[BNW ])[kbnw ] = f_BNW ; + //(D.f[BSE ])[kbse ] = f_BSE ; + //(D.f[BSW ])[kbsw ] = f_BSW ; ////////////////////////////////////////////////////////////////////////// } } @@ -3402,95 +3402,95 @@ extern "C" __global__ void QPressDeviceOld27(real* rhoBC, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_W = (D.f[dirE ])[k1e ]; - f1_E = (D.f[dirW ])[k1w ]; - f1_S = (D.f[dirN ])[k1n ]; - f1_N = (D.f[dirS ])[k1s ]; - f1_B = (D.f[dirT ])[k1t ]; - f1_T = (D.f[dirB ])[k1b ]; - f1_SW = (D.f[dirNE ])[k1ne ]; - f1_NE = (D.f[dirSW ])[k1sw ]; - f1_NW = (D.f[dirSE ])[k1se ]; - f1_SE = (D.f[dirNW ])[k1nw ]; - f1_BW = (D.f[dirTE ])[k1te ]; - f1_TE = (D.f[dirBW ])[k1bw ]; - f1_TW = (D.f[dirBE ])[k1be ]; - f1_BE = (D.f[dirTW ])[k1tw ]; - f1_BS = (D.f[dirTN ])[k1tn ]; - f1_TN = (D.f[dirBS ])[k1bs ]; - f1_TS = (D.f[dirBN ])[k1bn ]; - f1_BN = (D.f[dirTS ])[k1ts ]; + f1_W = (D.f[E ])[k1e ]; + f1_E = (D.f[W ])[k1w ]; + f1_S = (D.f[N ])[k1n ]; + f1_N = (D.f[S ])[k1s ]; + f1_B = (D.f[T ])[k1t ]; + f1_T = (D.f[B ])[k1b ]; + f1_SW = (D.f[NE ])[k1ne ]; + f1_NE = (D.f[SW ])[k1sw ]; + f1_NW = (D.f[SE ])[k1se ]; + f1_SE = (D.f[NW ])[k1nw ]; + f1_BW = (D.f[TE ])[k1te ]; + f1_TE = (D.f[BW ])[k1bw ]; + f1_TW = (D.f[BE ])[k1be ]; + f1_BE = (D.f[TW ])[k1tw ]; + f1_BS = (D.f[TN ])[k1tn ]; + f1_TN = (D.f[BS ])[k1bs ]; + f1_TS = (D.f[BN ])[k1bn ]; + f1_BN = (D.f[TS ])[k1ts ]; f1_ZERO = (D.f[dirREST])[k1zero]; - f1_BSW = (D.f[dirTNE ])[k1tne ]; - f1_BNE = (D.f[dirTSW ])[k1tsw ]; - f1_BNW = (D.f[dirTSE ])[k1tse ]; - f1_BSE = (D.f[dirTNW ])[k1tnw ]; - f1_TSW = (D.f[dirBNE ])[k1bne ]; - f1_TNE = (D.f[dirBSW ])[k1bsw ]; - f1_TNW = (D.f[dirBSE ])[k1bse ]; - f1_TSE = (D.f[dirBNW ])[k1bnw ]; + f1_BSW = (D.f[TNE ])[k1tne ]; + f1_BNE = (D.f[TSW ])[k1tsw ]; + f1_BNW = (D.f[TSE ])[k1tse ]; + f1_BSE = (D.f[TNW ])[k1tnw ]; + f1_TSW = (D.f[BNE ])[k1bne ]; + f1_TNE = (D.f[BSW ])[k1bsw ]; + f1_TNW = (D.f[BSE ])[k1bse ]; + f1_TSE = (D.f[BNW ])[k1bnw ]; ////////////////////////////////////////////////////////////////////////// real drho1 = f1_ZERO+f1_E+f1_W+f1_N+f1_S+f1_T+f1_B+f1_NE+f1_SW+f1_SE+f1_NW+f1_TE+f1_BW+f1_BE+f1_TW+f1_TN+f1_BS+f1_BN+f1_TS+ @@ -3502,33 +3502,33 @@ extern "C" __global__ void QPressDeviceOld27(real* rhoBC, __syncthreads(); - (D.f[dirE ])[ke ] = f1_W -c2o27*drho1; // c1o100; // zero; // - (D.f[dirW ])[kw ] = f1_E -c2o27*drho1; // c1o100; // zero; // - (D.f[dirN ])[kn ] = f1_S -c2o27*drho1; // c1o100; // zero; // - (D.f[dirS ])[ks ] = f1_N -c2o27*drho1; // c1o100; // zero; // - (D.f[dirT ])[kt ] = f1_B -c2o27*drho1; // c1o100; // zero; // - (D.f[dirB ])[kb ] = f1_T -c2o27*drho1; // c1o100; // zero; // - (D.f[dirNE ])[kne ] = f1_SW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirSW ])[ksw ] = f1_NE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirSE ])[kse ] = f1_NW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirNW ])[knw ] = f1_SE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTE ])[kte ] = f1_BW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBW ])[kbw ] = f1_TE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBE ])[kbe ] = f1_TW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTW ])[ktw ] = f1_BE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTN ])[ktn ] = f1_BS -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBS ])[kbs ] = f1_TN -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBN ])[kbn ] = f1_TS -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTS ])[kts ] = f1_BN -c1o54*drho1; // c1o100; // zero; // + (D.f[E ])[ke ] = f1_W -c2o27*drho1; // c1o100; // zero; // + (D.f[W ])[kw ] = f1_E -c2o27*drho1; // c1o100; // zero; // + (D.f[N ])[kn ] = f1_S -c2o27*drho1; // c1o100; // zero; // + (D.f[S ])[ks ] = f1_N -c2o27*drho1; // c1o100; // zero; // + (D.f[T ])[kt ] = f1_B -c2o27*drho1; // c1o100; // zero; // + (D.f[B ])[kb ] = f1_T -c2o27*drho1; // c1o100; // zero; // + (D.f[NE ])[kne ] = f1_SW -c1o54*drho1; // c1o100; // zero; // + (D.f[SW ])[ksw ] = f1_NE -c1o54*drho1; // c1o100; // zero; // + (D.f[SE ])[kse ] = f1_NW -c1o54*drho1; // c1o100; // zero; // + (D.f[NW ])[knw ] = f1_SE -c1o54*drho1; // c1o100; // zero; // + (D.f[TE ])[kte ] = f1_BW -c1o54*drho1; // c1o100; // zero; // + (D.f[BW ])[kbw ] = f1_TE -c1o54*drho1; // c1o100; // zero; // + (D.f[BE ])[kbe ] = f1_TW -c1o54*drho1; // c1o100; // zero; // + (D.f[TW ])[ktw ] = f1_BE -c1o54*drho1; // c1o100; // zero; // + (D.f[TN ])[ktn ] = f1_BS -c1o54*drho1; // c1o100; // zero; // + (D.f[BS ])[kbs ] = f1_TN -c1o54*drho1; // c1o100; // zero; // + (D.f[BN ])[kbn ] = f1_TS -c1o54*drho1; // c1o100; // zero; // + (D.f[TS ])[kts ] = f1_BN -c1o54*drho1; // c1o100; // zero; // (D.f[dirREST])[kzero] = f1_ZERO-c8o27*drho1; // c1o100; // zero; // - (D.f[dirTNE ])[ktne ] = f1_BSW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTSW ])[ktsw ] = f1_BNE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTSE ])[ktse ] = f1_BNW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTNW ])[ktnw ] = f1_BSE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBNE ])[kbne ] = f1_TSW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBSW ])[kbsw ] = f1_TNE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBSE ])[kbse ] = f1_TNW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBNW ])[kbnw ] = f1_TSE -c1o216*drho1; // c1o100; // zero; // + (D.f[TNE ])[ktne ] = f1_BSW -c1o216*drho1; // c1o100; // zero; // + (D.f[TSW ])[ktsw ] = f1_BNE -c1o216*drho1; // c1o100; // zero; // + (D.f[TSE ])[ktse ] = f1_BNW -c1o216*drho1; // c1o100; // zero; // + (D.f[TNW ])[ktnw ] = f1_BSE -c1o216*drho1; // c1o100; // zero; // + (D.f[BNE ])[kbne ] = f1_TSW -c1o216*drho1; // c1o100; // zero; // + (D.f[BSW ])[kbsw ] = f1_TNE -c1o216*drho1; // c1o100; // zero; // + (D.f[BSE ])[kbse ] = f1_TNW -c1o216*drho1; // c1o100; // zero; // + (D.f[BNW ])[kbnw ] = f1_TSE -c1o216*drho1; // c1o100; // zero; // } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3662,153 +3662,153 @@ extern "C" __global__ void QPressDeviceEQZ27(real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// // Distributions27 kDistTest; - // kDistTest.f[dirE ] = &kTestRE[dirE *numberOfBCnodes]; - // kDistTest.f[dirW ] = &kTestRE[dirW *numberOfBCnodes]; - // kDistTest.f[dirN ] = &kTestRE[dirN *numberOfBCnodes]; - // kDistTest.f[dirS ] = &kTestRE[dirS *numberOfBCnodes]; - // kDistTest.f[dirT ] = &kTestRE[dirT *numberOfBCnodes]; - // kDistTest.f[dirB ] = &kTestRE[dirB *numberOfBCnodes]; - // kDistTest.f[dirNE ] = &kTestRE[dirNE *numberOfBCnodes]; - // kDistTest.f[dirSW ] = &kTestRE[dirSW *numberOfBCnodes]; - // kDistTest.f[dirSE ] = &kTestRE[dirSE *numberOfBCnodes]; - // kDistTest.f[dirNW ] = &kTestRE[dirNW *numberOfBCnodes]; - // kDistTest.f[dirTE ] = &kTestRE[dirTE *numberOfBCnodes]; - // kDistTest.f[dirBW ] = &kTestRE[dirBW *numberOfBCnodes]; - // kDistTest.f[dirBE ] = &kTestRE[dirBE *numberOfBCnodes]; - // kDistTest.f[dirTW ] = &kTestRE[dirTW *numberOfBCnodes]; - // kDistTest.f[dirTN ] = &kTestRE[dirTN *numberOfBCnodes]; - // kDistTest.f[dirBS ] = &kTestRE[dirBS *numberOfBCnodes]; - // kDistTest.f[dirBN ] = &kTestRE[dirBN *numberOfBCnodes]; - // kDistTest.f[dirTS ] = &kTestRE[dirTS *numberOfBCnodes]; + // kDistTest.f[E ] = &kTestRE[E *numberOfBCnodes]; + // kDistTest.f[W ] = &kTestRE[W *numberOfBCnodes]; + // kDistTest.f[N ] = &kTestRE[N *numberOfBCnodes]; + // kDistTest.f[S ] = &kTestRE[S *numberOfBCnodes]; + // kDistTest.f[T ] = &kTestRE[T *numberOfBCnodes]; + // kDistTest.f[B ] = &kTestRE[B *numberOfBCnodes]; + // kDistTest.f[NE ] = &kTestRE[NE *numberOfBCnodes]; + // kDistTest.f[SW ] = &kTestRE[SW *numberOfBCnodes]; + // kDistTest.f[SE ] = &kTestRE[SE *numberOfBCnodes]; + // kDistTest.f[NW ] = &kTestRE[NW *numberOfBCnodes]; + // kDistTest.f[TE ] = &kTestRE[TE *numberOfBCnodes]; + // kDistTest.f[BW ] = &kTestRE[BW *numberOfBCnodes]; + // kDistTest.f[BE ] = &kTestRE[BE *numberOfBCnodes]; + // kDistTest.f[TW ] = &kTestRE[TW *numberOfBCnodes]; + // kDistTest.f[TN ] = &kTestRE[TN *numberOfBCnodes]; + // kDistTest.f[BS ] = &kTestRE[BS *numberOfBCnodes]; + // kDistTest.f[BN ] = &kTestRE[BN *numberOfBCnodes]; + // kDistTest.f[TS ] = &kTestRE[TS *numberOfBCnodes]; // kDistTest.f[dirREST] = &kTestRE[dirREST*numberOfBCnodes]; - // kDistTest.f[dirTNE ] = &kTestRE[dirTNE *numberOfBCnodes]; - // kDistTest.f[dirTSW ] = &kTestRE[dirTSW *numberOfBCnodes]; - // kDistTest.f[dirTSE ] = &kTestRE[dirTSE *numberOfBCnodes]; - // kDistTest.f[dirTNW ] = &kTestRE[dirTNW *numberOfBCnodes]; - // kDistTest.f[dirBNE ] = &kTestRE[dirBNE *numberOfBCnodes]; - // kDistTest.f[dirBSW ] = &kTestRE[dirBSW *numberOfBCnodes]; - // kDistTest.f[dirBSE ] = &kTestRE[dirBSE *numberOfBCnodes]; - // kDistTest.f[dirBNW ] = &kTestRE[dirBNW *numberOfBCnodes]; + // kDistTest.f[TNE ] = &kTestRE[TNE *numberOfBCnodes]; + // kDistTest.f[TSW ] = &kTestRE[TSW *numberOfBCnodes]; + // kDistTest.f[TSE ] = &kTestRE[TSE *numberOfBCnodes]; + // kDistTest.f[TNW ] = &kTestRE[TNW *numberOfBCnodes]; + // kDistTest.f[BNE ] = &kTestRE[BNE *numberOfBCnodes]; + // kDistTest.f[BSW ] = &kTestRE[BSW *numberOfBCnodes]; + // kDistTest.f[BSE ] = &kTestRE[BSE *numberOfBCnodes]; + // kDistTest.f[BNW ] = &kTestRE[BNW *numberOfBCnodes]; // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // //real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO,f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - // //f1_W = (D.f[dirE ])[k1e ]; - // //f1_E = (D.f[dirW ])[k1w ]; - // //f1_S = (D.f[dirN ])[k1n ]; - // //f1_N = (D.f[dirS ])[k1s ]; - // //f1_B = (D.f[dirT ])[k1t ]; - // //f1_T = (D.f[dirB ])[k1b ]; - // //f1_SW = (D.f[dirNE ])[k1ne ]; - // //f1_NE = (D.f[dirSW ])[k1sw ]; - // //f1_NW = (D.f[dirSE ])[k1se ]; - // //f1_SE = (D.f[dirNW ])[k1nw ]; - // //f1_BW = (D.f[dirTE ])[k1te ]; - // //f1_TE = (D.f[dirBW ])[k1bw ]; - // //f1_TW = (D.f[dirBE ])[k1be ]; - // //f1_BE = (D.f[dirTW ])[k1tw ]; - // //f1_BS = (D.f[dirTN ])[k1tn ]; - // //f1_TN = (D.f[dirBS ])[k1bs ]; - // //f1_TS = (D.f[dirBN ])[k1bn ]; - // //f1_BN = (D.f[dirTS ])[k1ts ]; + // //f1_W = (D.f[E ])[k1e ]; + // //f1_E = (D.f[W ])[k1w ]; + // //f1_S = (D.f[N ])[k1n ]; + // //f1_N = (D.f[S ])[k1s ]; + // //f1_B = (D.f[T ])[k1t ]; + // //f1_T = (D.f[B ])[k1b ]; + // //f1_SW = (D.f[NE ])[k1ne ]; + // //f1_NE = (D.f[SW ])[k1sw ]; + // //f1_NW = (D.f[SE ])[k1se ]; + // //f1_SE = (D.f[NW ])[k1nw ]; + // //f1_BW = (D.f[TE ])[k1te ]; + // //f1_TE = (D.f[BW ])[k1bw ]; + // //f1_TW = (D.f[BE ])[k1be ]; + // //f1_BE = (D.f[TW ])[k1tw ]; + // //f1_BS = (D.f[TN ])[k1tn ]; + // //f1_TN = (D.f[BS ])[k1bs ]; + // //f1_TS = (D.f[BN ])[k1bn ]; + // //f1_BN = (D.f[TS ])[k1ts ]; // //f1_ZERO = (D.f[dirREST])[k1zero]; - // //f1_BSW = (D.f[dirTNE ])[k1tne ]; - // //f1_BNE = (D.f[dirTSW ])[k1tsw ]; - // //f1_BNW = (D.f[dirTSE ])[k1tse ]; - // //f1_BSE = (D.f[dirTNW ])[k1tnw ]; - // //f1_TSW = (D.f[dirBNE ])[k1bne ]; - // //f1_TNE = (D.f[dirBSW ])[k1bsw ]; - // //f1_TNW = (D.f[dirBSE ])[k1bse ]; - // //f1_TSE = (D.f[dirBNW ])[k1bnw ]; + // //f1_BSW = (D.f[TNE ])[k1tne ]; + // //f1_BNE = (D.f[TSW ])[k1tsw ]; + // //f1_BNW = (D.f[TSE ])[k1tse ]; + // //f1_BSE = (D.f[TNW ])[k1tnw ]; + // //f1_TSW = (D.f[BNE ])[k1bne ]; + // //f1_TNE = (D.f[BSW ])[k1bsw ]; + // //f1_TNW = (D.f[BSE ])[k1bse ]; + // //f1_TSE = (D.f[BNW ])[k1bnw ]; // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO,f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - // f1_E = (D.f[dirE ])[k1e ]; - // f1_W = (D.f[dirW ])[k1w ]; - // f1_N = (D.f[dirN ])[k1n ]; - // f1_S = (D.f[dirS ])[k1s ]; - // f1_T = (D.f[dirT ])[k1t ]; - // f1_B = (D.f[dirB ])[k1b ]; - // f1_NE = (D.f[dirNE ])[k1ne ]; - // f1_SW = (D.f[dirSW ])[k1sw ]; - // f1_SE = (D.f[dirSE ])[k1se ]; - // f1_NW = (D.f[dirNW ])[k1nw ]; - // f1_TE = (D.f[dirTE ])[k1te ]; - // f1_BW = (D.f[dirBW ])[k1bw ]; - // f1_BE = (D.f[dirBE ])[k1be ]; - // f1_TW = (D.f[dirTW ])[k1tw ]; - // f1_TN = (D.f[dirTN ])[k1tn ]; - // f1_BS = (D.f[dirBS ])[k1bs ]; - // f1_BN = (D.f[dirBN ])[k1bn ]; - // f1_TS = (D.f[dirTS ])[k1ts ]; + // f1_E = (D.f[E ])[k1e ]; + // f1_W = (D.f[W ])[k1w ]; + // f1_N = (D.f[N ])[k1n ]; + // f1_S = (D.f[S ])[k1s ]; + // f1_T = (D.f[T ])[k1t ]; + // f1_B = (D.f[B ])[k1b ]; + // f1_NE = (D.f[NE ])[k1ne ]; + // f1_SW = (D.f[SW ])[k1sw ]; + // f1_SE = (D.f[SE ])[k1se ]; + // f1_NW = (D.f[NW ])[k1nw ]; + // f1_TE = (D.f[TE ])[k1te ]; + // f1_BW = (D.f[BW ])[k1bw ]; + // f1_BE = (D.f[BE ])[k1be ]; + // f1_TW = (D.f[TW ])[k1tw ]; + // f1_TN = (D.f[TN ])[k1tn ]; + // f1_BS = (D.f[BS ])[k1bs ]; + // f1_BN = (D.f[BN ])[k1bn ]; + // f1_TS = (D.f[TS ])[k1ts ]; // f1_ZERO = (D.f[dirREST])[k1zero]; - // f1_TNE = (D.f[dirTNE ])[k1tne ]; - // f1_TSW = (D.f[dirTSW ])[k1tsw ]; - // f1_TSE = (D.f[dirTSE ])[k1tse ]; - // f1_TNW = (D.f[dirTNW ])[k1tnw ]; - // f1_BNE = (D.f[dirBNE ])[k1bne ]; - // f1_BSW = (D.f[dirBSW ])[k1bsw ]; - // f1_BSE = (D.f[dirBSE ])[k1bse ]; - // f1_BNW = (D.f[dirBNW ])[k1bnw ]; + // f1_TNE = (D.f[TNE ])[k1tne ]; + // f1_TSW = (D.f[TSW ])[k1tsw ]; + // f1_TSE = (D.f[TSE ])[k1tse ]; + // f1_TNW = (D.f[TNW ])[k1tnw ]; + // f1_BNE = (D.f[BNE ])[k1bne ]; + // f1_BSW = (D.f[BSW ])[k1bsw ]; + // f1_BSE = (D.f[BSE ])[k1bse ]; + // f1_BNW = (D.f[BNW ])[k1bnw ]; // ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////////////////// @@ -3913,88 +3913,88 @@ extern "C" __global__ void QPressDeviceEQZ27(real* rhoBC, ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // based on BGK Plus Comp ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //double mfabb = (D.f[dirE ])[k1e ]; - //double mfcbb = (D.f[dirW ])[k1w ]; - //double mfbab = (D.f[dirN ])[k1n ]; - //double mfbcb = (D.f[dirS ])[k1s ]; - //double mfbba = (D.f[dirT ])[k1t ]; - //double mfbbc = (D.f[dirB ])[k1b ]; - //double mfaab = (D.f[dirNE ])[k1ne ]; - //double mfccb = (D.f[dirSW ])[k1sw ]; - //double mfacb = (D.f[dirSE ])[k1se ]; - //double mfcab = (D.f[dirNW ])[k1nw ]; - //double mfaba = (D.f[dirTE ])[k1te ]; - //double mfcbc = (D.f[dirBW ])[k1bw ]; - //double mfabc = (D.f[dirBE ])[k1be ]; - //double mfcba = (D.f[dirTW ])[k1tw ]; - //double mfbaa = (D.f[dirTN ])[k1tn ]; - //double mfbcc = (D.f[dirBS ])[k1bs ]; - //double mfbac = (D.f[dirBN ])[k1bn ]; - //double mfbca = (D.f[dirTS ])[k1ts ]; + //double mfabb = (D.f[E ])[k1e ]; + //double mfcbb = (D.f[W ])[k1w ]; + //double mfbab = (D.f[N ])[k1n ]; + //double mfbcb = (D.f[S ])[k1s ]; + //double mfbba = (D.f[T ])[k1t ]; + //double mfbbc = (D.f[B ])[k1b ]; + //double mfaab = (D.f[NE ])[k1ne ]; + //double mfccb = (D.f[SW ])[k1sw ]; + //double mfacb = (D.f[SE ])[k1se ]; + //double mfcab = (D.f[NW ])[k1nw ]; + //double mfaba = (D.f[TE ])[k1te ]; + //double mfcbc = (D.f[BW ])[k1bw ]; + //double mfabc = (D.f[BE ])[k1be ]; + //double mfcba = (D.f[TW ])[k1tw ]; + //double mfbaa = (D.f[TN ])[k1tn ]; + //double mfbcc = (D.f[BS ])[k1bs ]; + //double mfbac = (D.f[BN ])[k1bn ]; + //double mfbca = (D.f[TS ])[k1ts ]; //double mfbbb = (D.f[dirREST])[k1zero]; - //double mfaaa = (D.f[dirTNE ])[k1tne ]; - //double mfcca = (D.f[dirTSW ])[k1tsw ]; - //double mfaca = (D.f[dirTSE ])[k1tse ]; - //double mfcaa = (D.f[dirTNW ])[k1tnw ]; - //double mfaac = (D.f[dirBNE ])[k1bne ]; - //double mfccc = (D.f[dirBSW ])[k1bsw ]; - //double mfacc = (D.f[dirBSE ])[k1bse ]; - //double mfcac = (D.f[dirBNW ])[k1bnw ]; - real mfabb = (D.f[dirE ])[k1e ]; - real mfcbb = (D.f[dirW ])[k1w ]; - real mfbab = (D.f[dirN ])[k1n ]; - real mfbcb = (D.f[dirS ])[k1s ]; - real mfbba = (D.f[dirT ])[k1t ]; - real mfbbc = (D.f[dirB ])[k1b ]; - real mfaab = (D.f[dirNE ])[k1ne ]; - real mfccb = (D.f[dirSW ])[k1sw ]; - real mfacb = (D.f[dirSE ])[k1se ]; - real mfcab = (D.f[dirNW ])[k1nw ]; - real mfaba = (D.f[dirTE ])[k1te ]; - real mfcbc = (D.f[dirBW ])[k1bw ]; - real mfabc = (D.f[dirBE ])[k1be ]; - real mfcba = (D.f[dirTW ])[k1tw ]; - real mfbaa = (D.f[dirTN ])[k1tn ]; - real mfbcc = (D.f[dirBS ])[k1bs ]; - real mfbac = (D.f[dirBN ])[k1bn ]; - real mfbca = (D.f[dirTS ])[k1ts ]; + //double mfaaa = (D.f[TNE ])[k1tne ]; + //double mfcca = (D.f[TSW ])[k1tsw ]; + //double mfaca = (D.f[TSE ])[k1tse ]; + //double mfcaa = (D.f[TNW ])[k1tnw ]; + //double mfaac = (D.f[BNE ])[k1bne ]; + //double mfccc = (D.f[BSW ])[k1bsw ]; + //double mfacc = (D.f[BSE ])[k1bse ]; + //double mfcac = (D.f[BNW ])[k1bnw ]; + real mfabb = (D.f[E ])[k1e ]; + real mfcbb = (D.f[W ])[k1w ]; + real mfbab = (D.f[N ])[k1n ]; + real mfbcb = (D.f[S ])[k1s ]; + real mfbba = (D.f[T ])[k1t ]; + real mfbbc = (D.f[B ])[k1b ]; + real mfaab = (D.f[NE ])[k1ne ]; + real mfccb = (D.f[SW ])[k1sw ]; + real mfacb = (D.f[SE ])[k1se ]; + real mfcab = (D.f[NW ])[k1nw ]; + real mfaba = (D.f[TE ])[k1te ]; + real mfcbc = (D.f[BW ])[k1bw ]; + real mfabc = (D.f[BE ])[k1be ]; + real mfcba = (D.f[TW ])[k1tw ]; + real mfbaa = (D.f[TN ])[k1tn ]; + real mfbcc = (D.f[BS ])[k1bs ]; + real mfbac = (D.f[BN ])[k1bn ]; + real mfbca = (D.f[TS ])[k1ts ]; real mfbbb = (D.f[dirREST])[k1zero]; - real mfaaa = (D.f[dirTNE ])[k1tne ]; - real mfcca = (D.f[dirTSW ])[k1tsw ]; - real mfaca = (D.f[dirTSE ])[k1tse ]; - real mfcaa = (D.f[dirTNW ])[k1tnw ]; - real mfaac = (D.f[dirBNE ])[k1bne ]; - real mfccc = (D.f[dirBSW ])[k1bsw ]; - real mfacc = (D.f[dirBSE ])[k1bse ]; - real mfcac = (D.f[dirBNW ])[k1bnw ]; - - //real mfcbb = (D.f[dirE ])[ke ]; - //real mfabb = (D.f[dirW ])[kw ]; - //real mfbcb = (D.f[dirN ])[kn ]; - //real mfbab = (D.f[dirS ])[ks ]; - //real mfbbc = (D.f[dirT ])[kt ]; - //real mfbba = (D.f[dirB ])[kb ]; - //real mfccb = (D.f[dirNE ])[kne ]; - //real mfaab = (D.f[dirSW ])[ksw ]; - //real mfcab = (D.f[dirSE ])[kse ]; - //real mfacb = (D.f[dirNW ])[knw ]; - //real mfcbc = (D.f[dirTE ])[kte ]; - //real mfaba = (D.f[dirBW ])[kbw ]; - //real mfcba = (D.f[dirBE ])[kbe ]; - //real mfabc = (D.f[dirTW ])[ktw ]; - //real mfbcc = (D.f[dirTN ])[ktn ]; - //real mfbaa = (D.f[dirBS ])[kbs ]; - //real mfbca = (D.f[dirBN ])[kbn ]; - //real mfbac = (D.f[dirTS ])[kts ]; + real mfaaa = (D.f[TNE ])[k1tne ]; + real mfcca = (D.f[TSW ])[k1tsw ]; + real mfaca = (D.f[TSE ])[k1tse ]; + real mfcaa = (D.f[TNW ])[k1tnw ]; + real mfaac = (D.f[BNE ])[k1bne ]; + real mfccc = (D.f[BSW ])[k1bsw ]; + real mfacc = (D.f[BSE ])[k1bse ]; + real mfcac = (D.f[BNW ])[k1bnw ]; + + //real mfcbb = (D.f[E ])[ke ]; + //real mfabb = (D.f[W ])[kw ]; + //real mfbcb = (D.f[N ])[kn ]; + //real mfbab = (D.f[S ])[ks ]; + //real mfbbc = (D.f[T ])[kt ]; + //real mfbba = (D.f[B ])[kb ]; + //real mfccb = (D.f[NE ])[kne ]; + //real mfaab = (D.f[SW ])[ksw ]; + //real mfcab = (D.f[SE ])[kse ]; + //real mfacb = (D.f[NW ])[knw ]; + //real mfcbc = (D.f[TE ])[kte ]; + //real mfaba = (D.f[BW ])[kbw ]; + //real mfcba = (D.f[BE ])[kbe ]; + //real mfabc = (D.f[TW ])[ktw ]; + //real mfbcc = (D.f[TN ])[ktn ]; + //real mfbaa = (D.f[BS ])[kbs ]; + //real mfbca = (D.f[BN ])[kbn ]; + //real mfbac = (D.f[TS ])[kts ]; //real mfbbb = (D.f[dirREST])[kzero]; - //real mfccc = (D.f[dirTNE ])[ktne ]; - //real mfaac = (D.f[dirTSW ])[ktsw ]; - //real mfcac = (D.f[dirTSE ])[ktse ]; - //real mfacc = (D.f[dirTNW ])[ktnw ]; - //real mfcca = (D.f[dirBNE ])[kbne ]; - //real mfaaa = (D.f[dirBSW ])[kbsw ]; - //real mfcaa = (D.f[dirBSE ])[kbse ]; - //real mfaca = (D.f[dirBNW ])[kbnw ]; + //real mfccc = (D.f[TNE ])[ktne ]; + //real mfaac = (D.f[TSW ])[ktsw ]; + //real mfcac = (D.f[TSE ])[ktse ]; + //real mfacc = (D.f[TNW ])[ktnw ]; + //real mfcca = (D.f[BNE ])[kbne ]; + //real mfaaa = (D.f[BSW ])[kbsw ]; + //real mfcaa = (D.f[BSE ])[kbse ]; + //real mfaca = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// //real rho = (((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + // (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -4021,61 +4021,61 @@ extern "C" __global__ void QPressDeviceEQZ27(real* rhoBC, //////////////////////////////////////////////////////////////////////////////////////// ////round off error test //if(vvx!=zero){ - // (kDistTest.f[dirE ])[k] = mfabb; - // (kDistTest.f[dirW ])[k] = mfcbb; - // (kDistTest.f[dirN ])[k] = mfbab; - // (kDistTest.f[dirS ])[k] = mfbcb; - // (kDistTest.f[dirT ])[k] = mfbba; - // (kDistTest.f[dirB ])[k] = mfbbc; - // (kDistTest.f[dirNE ])[k] = mfaab; - // (kDistTest.f[dirSW ])[k] = mfccb; - // (kDistTest.f[dirSE ])[k] = mfacb; - // (kDistTest.f[dirNW ])[k] = mfcab; - // (kDistTest.f[dirTE ])[k] = mfaba; - // (kDistTest.f[dirBW ])[k] = mfcbc; - // (kDistTest.f[dirBE ])[k] = mfabc; - // (kDistTest.f[dirTW ])[k] = mfcba; - // (kDistTest.f[dirTN ])[k] = mfbaa; - // (kDistTest.f[dirBS ])[k] = mfbcc; - // (kDistTest.f[dirBN ])[k] = mfbac; - // (kDistTest.f[dirTS ])[k] = mfbca; + // (kDistTest.f[E ])[k] = mfabb; + // (kDistTest.f[W ])[k] = mfcbb; + // (kDistTest.f[N ])[k] = mfbab; + // (kDistTest.f[S ])[k] = mfbcb; + // (kDistTest.f[T ])[k] = mfbba; + // (kDistTest.f[B ])[k] = mfbbc; + // (kDistTest.f[NE ])[k] = mfaab; + // (kDistTest.f[SW ])[k] = mfccb; + // (kDistTest.f[SE ])[k] = mfacb; + // (kDistTest.f[NW ])[k] = mfcab; + // (kDistTest.f[TE ])[k] = mfaba; + // (kDistTest.f[BW ])[k] = mfcbc; + // (kDistTest.f[BE ])[k] = mfabc; + // (kDistTest.f[TW ])[k] = mfcba; + // (kDistTest.f[TN ])[k] = mfbaa; + // (kDistTest.f[BS ])[k] = mfbcc; + // (kDistTest.f[BN ])[k] = mfbac; + // (kDistTest.f[TS ])[k] = mfbca; // (kDistTest.f[dirREST])[k] = KQK; - // (kDistTest.f[dirTNE ])[k] = mfaaa; - // (kDistTest.f[dirTSW ])[k] = mfcca; - // (kDistTest.f[dirTSE ])[k] = mfaca; - // (kDistTest.f[dirTNW ])[k] = mfcaa; - // (kDistTest.f[dirBNE ])[k] = mfaac; - // (kDistTest.f[dirBSW ])[k] = mfccc; - // (kDistTest.f[dirBSE ])[k] = mfacc; - // (kDistTest.f[dirBNW ])[k] = mfcac; + // (kDistTest.f[TNE ])[k] = mfaaa; + // (kDistTest.f[TSW ])[k] = mfcca; + // (kDistTest.f[TSE ])[k] = mfaca; + // (kDistTest.f[TNW ])[k] = mfcaa; + // (kDistTest.f[BNE ])[k] = mfaac; + // (kDistTest.f[BSW ])[k] = mfccc; + // (kDistTest.f[BSE ])[k] = mfacc; + // (kDistTest.f[BNW ])[k] = mfcac; //}else{ - // (kDistTest.f[dirE ])[k] = zero; - // (kDistTest.f[dirW ])[k] = zero; - // (kDistTest.f[dirN ])[k] = zero; - // (kDistTest.f[dirS ])[k] = zero; - // (kDistTest.f[dirT ])[k] = zero; - // (kDistTest.f[dirB ])[k] = zero; - // (kDistTest.f[dirNE ])[k] = zero; - // (kDistTest.f[dirSW ])[k] = zero; - // (kDistTest.f[dirSE ])[k] = zero; - // (kDistTest.f[dirNW ])[k] = zero; - // (kDistTest.f[dirTE ])[k] = zero; - // (kDistTest.f[dirBW ])[k] = zero; - // (kDistTest.f[dirBE ])[k] = zero; - // (kDistTest.f[dirTW ])[k] = zero; - // (kDistTest.f[dirTN ])[k] = zero; - // (kDistTest.f[dirBS ])[k] = zero; - // (kDistTest.f[dirBN ])[k] = zero; - // (kDistTest.f[dirTS ])[k] = zero; + // (kDistTest.f[E ])[k] = zero; + // (kDistTest.f[W ])[k] = zero; + // (kDistTest.f[N ])[k] = zero; + // (kDistTest.f[S ])[k] = zero; + // (kDistTest.f[T ])[k] = zero; + // (kDistTest.f[B ])[k] = zero; + // (kDistTest.f[NE ])[k] = zero; + // (kDistTest.f[SW ])[k] = zero; + // (kDistTest.f[SE ])[k] = zero; + // (kDistTest.f[NW ])[k] = zero; + // (kDistTest.f[TE ])[k] = zero; + // (kDistTest.f[BW ])[k] = zero; + // (kDistTest.f[BE ])[k] = zero; + // (kDistTest.f[TW ])[k] = zero; + // (kDistTest.f[TN ])[k] = zero; + // (kDistTest.f[BS ])[k] = zero; + // (kDistTest.f[BN ])[k] = zero; + // (kDistTest.f[TS ])[k] = zero; // (kDistTest.f[dirREST])[k] = zero; - // (kDistTest.f[dirTNE ])[k] = zero; - // (kDistTest.f[dirTSW ])[k] = zero; - // (kDistTest.f[dirTSE ])[k] = zero; - // (kDistTest.f[dirTNW ])[k] = zero; - // (kDistTest.f[dirBNE ])[k] = zero; - // (kDistTest.f[dirBSW ])[k] = zero; - // (kDistTest.f[dirBSE ])[k] = zero; - // (kDistTest.f[dirBNW ])[k] = zero; + // (kDistTest.f[TNE ])[k] = zero; + // (kDistTest.f[TSW ])[k] = zero; + // (kDistTest.f[TSE ])[k] = zero; + // (kDistTest.f[TNW ])[k] = zero; + // (kDistTest.f[BNE ])[k] = zero; + // (kDistTest.f[BSW ])[k] = zero; + // (kDistTest.f[BSE ])[k] = zero; + // (kDistTest.f[BNW ])[k] = zero; //} ////////////////////////////////////////////////////////////////////////////////////// @@ -4167,149 +4167,149 @@ extern "C" __global__ void QPressDeviceEQZ27(real* rhoBC, ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //if (isEvenTimestep==true) //{ - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; //} //else //{ - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; //} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //__syncthreads(); - (D.f[dirE ])[ke ] = mfabb;//mfcbb; - (D.f[dirW ])[kw ] = mfcbb;//mfabb; - (D.f[dirN ])[kn ] = mfbab;//mfbcb; - (D.f[dirS ])[ks ] = mfbcb;//mfbab; - (D.f[dirT ])[kt ] = mfbba;//mfbbc; - (D.f[dirB ])[kb ] = mfbbc;//mfbba; - (D.f[dirNE ])[kne ] = mfaab;//mfccb; - (D.f[dirSW ])[ksw ] = mfccb;//mfaab; - (D.f[dirSE ])[kse ] = mfacb;//mfcab; - (D.f[dirNW ])[knw ] = mfcab;//mfacb; - (D.f[dirTE ])[kte ] = mfaba;//mfcbc; - (D.f[dirBW ])[kbw ] = mfcbc;//mfaba; - (D.f[dirBE ])[kbe ] = mfabc;//mfcba; - (D.f[dirTW ])[ktw ] = mfcba;//mfabc; - (D.f[dirTN ])[ktn ] = mfbaa;//mfbcc; - (D.f[dirBS ])[kbs ] = mfbcc;//mfbaa; - (D.f[dirBN ])[kbn ] = mfbac;//mfbca; - (D.f[dirTS ])[kts ] = mfbca;//mfbac; + (D.f[E ])[ke ] = mfabb;//mfcbb; + (D.f[W ])[kw ] = mfcbb;//mfabb; + (D.f[N ])[kn ] = mfbab;//mfbcb; + (D.f[S ])[ks ] = mfbcb;//mfbab; + (D.f[T ])[kt ] = mfbba;//mfbbc; + (D.f[B ])[kb ] = mfbbc;//mfbba; + (D.f[NE ])[kne ] = mfaab;//mfccb; + (D.f[SW ])[ksw ] = mfccb;//mfaab; + (D.f[SE ])[kse ] = mfacb;//mfcab; + (D.f[NW ])[knw ] = mfcab;//mfacb; + (D.f[TE ])[kte ] = mfaba;//mfcbc; + (D.f[BW ])[kbw ] = mfcbc;//mfaba; + (D.f[BE ])[kbe ] = mfabc;//mfcba; + (D.f[TW ])[ktw ] = mfcba;//mfabc; + (D.f[TN ])[ktn ] = mfbaa;//mfbcc; + (D.f[BS ])[kbs ] = mfbcc;//mfbaa; + (D.f[BN ])[kbn ] = mfbac;//mfbca; + (D.f[TS ])[kts ] = mfbca;//mfbac; (D.f[dirREST])[kzero] = mfbbb;//mfbbb; - (D.f[dirTNE ])[ktne ] = mfaaa;//mfccc; - (D.f[dirTSW ])[ktsw ] = mfcca;//mfaac; - (D.f[dirTSE ])[ktse ] = mfaca;//mfcac; - (D.f[dirTNW ])[ktnw ] = mfcaa;//mfacc; - (D.f[dirBNE ])[kbne ] = mfaac;//mfcca; - (D.f[dirBSW ])[kbsw ] = mfccc;//mfaaa; - (D.f[dirBSE ])[kbse ] = mfacc;//mfcaa; - (D.f[dirBNW ])[kbnw ] = mfcac;//mfaca; - //(D.f[dirE ])[ke ] = mfcbb; - //(D.f[dirW ])[kw ] = mfabb; - //(D.f[dirN ])[kn ] = mfbcb; - //(D.f[dirS ])[ks ] = mfbab; - //(D.f[dirT ])[kt ] = mfbbc; - //(D.f[dirB ])[kb ] = mfbba; - //(D.f[dirNE ])[kne ] = mfccb; - //(D.f[dirSW ])[ksw ] = mfaab; - //(D.f[dirSE ])[kse ] = mfcab; - //(D.f[dirNW ])[knw ] = mfacb; - //(D.f[dirTE ])[kte ] = mfcbc; - //(D.f[dirBW ])[kbw ] = mfaba; - //(D.f[dirBE ])[kbe ] = mfcba; - //(D.f[dirTW ])[ktw ] = mfabc; - //(D.f[dirTN ])[ktn ] = mfbcc; - //(D.f[dirBS ])[kbs ] = mfbaa; - //(D.f[dirBN ])[kbn ] = mfbca; - //(D.f[dirTS ])[kts ] = mfbac; + (D.f[TNE ])[ktne ] = mfaaa;//mfccc; + (D.f[TSW ])[ktsw ] = mfcca;//mfaac; + (D.f[TSE ])[ktse ] = mfaca;//mfcac; + (D.f[TNW ])[ktnw ] = mfcaa;//mfacc; + (D.f[BNE ])[kbne ] = mfaac;//mfcca; + (D.f[BSW ])[kbsw ] = mfccc;//mfaaa; + (D.f[BSE ])[kbse ] = mfacc;//mfcaa; + (D.f[BNW ])[kbnw ] = mfcac;//mfaca; + //(D.f[E ])[ke ] = mfcbb; + //(D.f[W ])[kw ] = mfabb; + //(D.f[N ])[kn ] = mfbcb; + //(D.f[S ])[ks ] = mfbab; + //(D.f[T ])[kt ] = mfbbc; + //(D.f[B ])[kb ] = mfbba; + //(D.f[NE ])[kne ] = mfccb; + //(D.f[SW ])[ksw ] = mfaab; + //(D.f[SE ])[kse ] = mfcab; + //(D.f[NW ])[knw ] = mfacb; + //(D.f[TE ])[kte ] = mfcbc; + //(D.f[BW ])[kbw ] = mfaba; + //(D.f[BE ])[kbe ] = mfcba; + //(D.f[TW ])[ktw ] = mfabc; + //(D.f[TN ])[ktn ] = mfbcc; + //(D.f[BS ])[kbs ] = mfbaa; + //(D.f[BN ])[kbn ] = mfbca; + //(D.f[TS ])[kts ] = mfbac; //(D.f[dirREST])[kzero] = mfbbb; - //(D.f[dirTNE ])[ktne ] = mfccc; - //(D.f[dirTSW ])[ktsw ] = mfaac; - //(D.f[dirTSE ])[ktse ] = mfcac; - //(D.f[dirTNW ])[ktnw ] = mfacc; - //(D.f[dirBNE ])[kbne ] = mfcca; - //(D.f[dirBSW ])[kbsw ] = mfaaa; - //(D.f[dirBSE ])[kbse ] = mfcaa; - //(D.f[dirBNW ])[kbnw ] = mfaca; - - //(D.f[dirE ])[ke ] = fE ; //f1_E ; //fW; //fE ; - //(D.f[dirW ])[kw ] = fW ; //f1_W ; //fE; //fW ; - //(D.f[dirN ])[kn ] = fN ; //f1_N ; //fS; //fN ; - //(D.f[dirS ])[ks ] = fS ; //f1_S ; //fN; //fS ; - //(D.f[dirT ])[kt ] = fT ; //f1_T ; //fB; //fT ; - //(D.f[dirB ])[kb ] = fB ; //f1_B ; //fT; //fB ; - //(D.f[dirNE ])[kne ] = fNE; //f1_NE; //fSW; //fNE; - //(D.f[dirSW ])[ksw ] = fSW; //f1_SW; //fNE; //fSW; - //(D.f[dirSE ])[kse ] = fSE; //f1_SE; //fNW; //fSE; - //(D.f[dirNW ])[knw ] = fNW; //f1_NW; //fSE; //fNW; - //(D.f[dirTE ])[kte ] = fTE; //f1_TE; //fBW; //fTE; - //(D.f[dirBW ])[kbw ] = fBW; //f1_BW; //fTE; //fBW; - //(D.f[dirBE ])[kbe ] = fBE; //f1_BE; //fTW; //fBE; - //(D.f[dirTW ])[ktw ] = fTW; //f1_TW; //fBE; //fTW; - //(D.f[dirTN ])[ktn ] = fTN; //f1_TN; //fBS; //fTN; - //(D.f[dirBS ])[kbs ] = fBS; //f1_BS; //fTN; //fBS; - //(D.f[dirBN ])[kbn ] = fBN; //f1_BN; //fTS; //fBN; - //(D.f[dirTS ])[kts ] = fTS; //f1_TS; //fBN; //fTS; + //(D.f[TNE ])[ktne ] = mfccc; + //(D.f[TSW ])[ktsw ] = mfaac; + //(D.f[TSE ])[ktse ] = mfcac; + //(D.f[TNW ])[ktnw ] = mfacc; + //(D.f[BNE ])[kbne ] = mfcca; + //(D.f[BSW ])[kbsw ] = mfaaa; + //(D.f[BSE ])[kbse ] = mfcaa; + //(D.f[BNW ])[kbnw ] = mfaca; + + //(D.f[E ])[ke ] = fE ; //f1_E ; //fW; //fE ; + //(D.f[W ])[kw ] = fW ; //f1_W ; //fE; //fW ; + //(D.f[N ])[kn ] = fN ; //f1_N ; //fS; //fN ; + //(D.f[S ])[ks ] = fS ; //f1_S ; //fN; //fS ; + //(D.f[T ])[kt ] = fT ; //f1_T ; //fB; //fT ; + //(D.f[B ])[kb ] = fB ; //f1_B ; //fT; //fB ; + //(D.f[NE ])[kne ] = fNE; //f1_NE; //fSW; //fNE; + //(D.f[SW ])[ksw ] = fSW; //f1_SW; //fNE; //fSW; + //(D.f[SE ])[kse ] = fSE; //f1_SE; //fNW; //fSE; + //(D.f[NW ])[knw ] = fNW; //f1_NW; //fSE; //fNW; + //(D.f[TE ])[kte ] = fTE; //f1_TE; //fBW; //fTE; + //(D.f[BW ])[kbw ] = fBW; //f1_BW; //fTE; //fBW; + //(D.f[BE ])[kbe ] = fBE; //f1_BE; //fTW; //fBE; + //(D.f[TW ])[ktw ] = fTW; //f1_TW; //fBE; //fTW; + //(D.f[TN ])[ktn ] = fTN; //f1_TN; //fBS; //fTN; + //(D.f[BS ])[kbs ] = fBS; //f1_BS; //fTN; //fBS; + //(D.f[BN ])[kbn ] = fBN; //f1_BN; //fTS; //fBN; + //(D.f[TS ])[kts ] = fTS; //f1_TS; //fBN; //fTS; //(D.f[dirREST])[kzero] = fZERO;//f1_ZERO; //fZERO; //fZERO; - //(D.f[dirTNE ])[ktne ] = fTNE; //f1_TNE; //fBSW; //fTNE; - //(D.f[dirBSW ])[kbsw ] = fBSW; //f1_BSW; //fTNE; //fBSW; - //(D.f[dirBNE ])[kbne ] = fBNE; //f1_BNE; //fTSW; //fBNE; - //(D.f[dirTSW ])[ktsw ] = fTSW; //f1_TSW; //fBNE; //fTSW; - //(D.f[dirTSE ])[ktse ] = fTSE; //f1_TSE; //fBNW; //fTSE; - //(D.f[dirBNW ])[kbnw ] = fBNW; //f1_BNW; //fTSE; //fBNW; - //(D.f[dirBSE ])[kbse ] = fBSE; //f1_BSE; //fTNW; //fBSE; - //(D.f[dirTNW ])[ktnw ] = fTNW; //f1_TNW; //fBSE; //fTNW; + //(D.f[TNE ])[ktne ] = fTNE; //f1_TNE; //fBSW; //fTNE; + //(D.f[BSW ])[kbsw ] = fBSW; //f1_BSW; //fTNE; //fBSW; + //(D.f[BNE ])[kbne ] = fBNE; //f1_BNE; //fTSW; //fBNE; + //(D.f[TSW ])[ktsw ] = fTSW; //f1_TSW; //fBNE; //fTSW; + //(D.f[TSE ])[ktse ] = fTSE; //f1_TSE; //fBNW; //fTSE; + //(D.f[BNW ])[kbnw ] = fBNW; //f1_BNW; //fTSE; //fBNW; + //(D.f[BSE ])[kbse ] = fBSE; //f1_BSE; //fTNW; //fBSE; + //(D.f[TNW ])[ktnw ] = fTNW; //f1_TNW; //fBSE; //fTNW; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -4409,94 +4409,94 @@ extern "C" __global__ void QPressDeviceZero27( real* DD, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //__syncthreads(); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE ])[ke ] =c0o1; - (D.f[dirW ])[kw ] =c0o1; - (D.f[dirN ])[kn ] =c0o1; - (D.f[dirS ])[ks ] =c0o1; - (D.f[dirT ])[kt ] =c0o1; - (D.f[dirB ])[kb ] =c0o1; - (D.f[dirNE ])[kne ] =c0o1; - (D.f[dirSW ])[ksw ] =c0o1; - (D.f[dirSE ])[kse ] =c0o1; - (D.f[dirNW ])[knw ] =c0o1; - (D.f[dirTE ])[kte ] =c0o1; - (D.f[dirBW ])[kbw ] =c0o1; - (D.f[dirBE ])[kbe ] =c0o1; - (D.f[dirTW ])[ktw ] =c0o1; - (D.f[dirTN ])[ktn ] =c0o1; - (D.f[dirBS ])[kbs ] =c0o1; - (D.f[dirBN ])[kbn ] =c0o1; - (D.f[dirTS ])[kts ] =c0o1; + (D.f[E ])[ke ] =c0o1; + (D.f[W ])[kw ] =c0o1; + (D.f[N ])[kn ] =c0o1; + (D.f[S ])[ks ] =c0o1; + (D.f[T ])[kt ] =c0o1; + (D.f[B ])[kb ] =c0o1; + (D.f[NE ])[kne ] =c0o1; + (D.f[SW ])[ksw ] =c0o1; + (D.f[SE ])[kse ] =c0o1; + (D.f[NW ])[knw ] =c0o1; + (D.f[TE ])[kte ] =c0o1; + (D.f[BW ])[kbw ] =c0o1; + (D.f[BE ])[kbe ] =c0o1; + (D.f[TW ])[ktw ] =c0o1; + (D.f[TN ])[ktn ] =c0o1; + (D.f[BS ])[kbs ] =c0o1; + (D.f[BN ])[kbn ] =c0o1; + (D.f[TS ])[kts ] =c0o1; (D.f[dirREST])[kzero] =c0o1; - (D.f[dirTNE ])[ktne ] =c0o1; - (D.f[dirTSW ])[ktsw ] =c0o1; - (D.f[dirTSE ])[ktse ] =c0o1; - (D.f[dirTNW ])[ktnw ] =c0o1; - (D.f[dirBNE ])[kbne ] =c0o1; - (D.f[dirBSW ])[kbsw ] =c0o1; - (D.f[dirBSE ])[kbse ] =c0o1; - (D.f[dirBNW ])[kbnw ] =c0o1; + (D.f[TNE ])[ktne ] =c0o1; + (D.f[TSW ])[ktsw ] =c0o1; + (D.f[TSE ])[ktse ] =c0o1; + (D.f[TNW ])[ktnw ] =c0o1; + (D.f[BNE ])[kbne ] =c0o1; + (D.f[BSW ])[kbsw ] =c0o1; + (D.f[BSE ])[kbse ] =c0o1; + (D.f[BNW ])[kbnw ] =c0o1; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -4629,95 +4629,95 @@ extern "C" __global__ void QPressDeviceFake27( real* rhoBC, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_W = (D.f[dirE ])[k1e ]; - f1_E = (D.f[dirW ])[k1w ]; - f1_S = (D.f[dirN ])[k1n ]; - f1_N = (D.f[dirS ])[k1s ]; - f1_B = (D.f[dirT ])[k1t ]; - f1_T = (D.f[dirB ])[k1b ]; - f1_SW = (D.f[dirNE ])[k1ne ]; - f1_NE = (D.f[dirSW ])[k1sw ]; - f1_NW = (D.f[dirSE ])[k1se ]; - f1_SE = (D.f[dirNW ])[k1nw ]; - f1_BW = (D.f[dirTE ])[k1te ]; - f1_TE = (D.f[dirBW ])[k1bw ]; - f1_TW = (D.f[dirBE ])[k1be ]; - f1_BE = (D.f[dirTW ])[k1tw ]; - f1_BS = (D.f[dirTN ])[k1tn ]; - f1_TN = (D.f[dirBS ])[k1bs ]; - f1_TS = (D.f[dirBN ])[k1bn ]; - f1_BN = (D.f[dirTS ])[k1ts ]; + f1_W = (D.f[E ])[k1e ]; + f1_E = (D.f[W ])[k1w ]; + f1_S = (D.f[N ])[k1n ]; + f1_N = (D.f[S ])[k1s ]; + f1_B = (D.f[T ])[k1t ]; + f1_T = (D.f[B ])[k1b ]; + f1_SW = (D.f[NE ])[k1ne ]; + f1_NE = (D.f[SW ])[k1sw ]; + f1_NW = (D.f[SE ])[k1se ]; + f1_SE = (D.f[NW ])[k1nw ]; + f1_BW = (D.f[TE ])[k1te ]; + f1_TE = (D.f[BW ])[k1bw ]; + f1_TW = (D.f[BE ])[k1be ]; + f1_BE = (D.f[TW ])[k1tw ]; + f1_BS = (D.f[TN ])[k1tn ]; + f1_TN = (D.f[BS ])[k1bs ]; + f1_TS = (D.f[BN ])[k1bn ]; + f1_BN = (D.f[TS ])[k1ts ]; f1_ZERO = (D.f[dirREST])[k1zero]; - f1_BSW = (D.f[dirTNE ])[k1tne ]; - f1_BNE = (D.f[dirTSW ])[k1tsw ]; - f1_BNW = (D.f[dirTSE ])[k1tse ]; - f1_BSE = (D.f[dirTNW ])[k1tnw ]; - f1_TSW = (D.f[dirBNE ])[k1bne ]; - f1_TNE = (D.f[dirBSW ])[k1bsw ]; - f1_TNW = (D.f[dirBSE ])[k1bse ]; - f1_TSE = (D.f[dirBNW ])[k1bnw ]; + f1_BSW = (D.f[TNE ])[k1tne ]; + f1_BNE = (D.f[TSW ])[k1tsw ]; + f1_BNW = (D.f[TSE ])[k1tse ]; + f1_BSE = (D.f[TNW ])[k1tnw ]; + f1_TSW = (D.f[BNE ])[k1bne ]; + f1_TNE = (D.f[BSW ])[k1bsw ]; + f1_TNW = (D.f[BSE ])[k1bse ]; + f1_TSE = (D.f[BNW ])[k1bnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3; @@ -4744,33 +4744,33 @@ extern "C" __global__ void QPressDeviceFake27( real* rhoBC, __syncthreads(); - (D.f[dirE ])[ke ] = c2o27* (rhoBC[k]+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirW ])[kw ] = c2o27* (rhoBC[k]+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirN ])[kn ] = c2o27* (rhoBC[k]+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirS ])[ks ] = c2o27* (rhoBC[k]+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirT ])[kt ] = c2o27* (rhoBC[k]+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirB ])[kb ] = c2o27* (rhoBC[k]+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirNE ])[kne ] = f1_SW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirSW ])[ksw ] = f1_NE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirSE ])[kse ] = f1_NW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirNW ])[knw ] = f1_SE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTE ])[kte ] = f1_BW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBW ])[kbw ] = f1_TE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBE ])[kbe ] = f1_TW -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTW ])[ktw ] = f1_BE -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTN ])[ktn ] = f1_BS -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBS ])[kbs ] = f1_TN -c1o54*drho1; // c1o100; // zero; // - (D.f[dirBN ])[kbn ] = f1_TS -c1o54*drho1; // c1o100; // zero; // - (D.f[dirTS ])[kts ] = f1_BN -c1o54*drho1; // c1o100; // zero; // + (D.f[E ])[ke ] = c2o27* (rhoBC[k]+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[W ])[kw ] = c2o27* (rhoBC[k]+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D.f[N ])[kn ] = c2o27* (rhoBC[k]+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[S ])[ks ] = c2o27* (rhoBC[k]+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D.f[T ])[kt ] = c2o27* (rhoBC[k]+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D.f[B ])[kb ] = c2o27* (rhoBC[k]+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D.f[NE ])[kne ] = f1_SW -c1o54*drho1; // c1o100; // zero; // + (D.f[SW ])[ksw ] = f1_NE -c1o54*drho1; // c1o100; // zero; // + (D.f[SE ])[kse ] = f1_NW -c1o54*drho1; // c1o100; // zero; // + (D.f[NW ])[knw ] = f1_SE -c1o54*drho1; // c1o100; // zero; // + (D.f[TE ])[kte ] = f1_BW -c1o54*drho1; // c1o100; // zero; // + (D.f[BW ])[kbw ] = f1_TE -c1o54*drho1; // c1o100; // zero; // + (D.f[BE ])[kbe ] = f1_TW -c1o54*drho1; // c1o100; // zero; // + (D.f[TW ])[ktw ] = f1_BE -c1o54*drho1; // c1o100; // zero; // + (D.f[TN ])[ktn ] = f1_BS -c1o54*drho1; // c1o100; // zero; // + (D.f[BS ])[kbs ] = f1_TN -c1o54*drho1; // c1o100; // zero; // + (D.f[BN ])[kbn ] = f1_TS -c1o54*drho1; // c1o100; // zero; // + (D.f[TS ])[kts ] = f1_BN -c1o54*drho1; // c1o100; // zero; // (D.f[dirREST])[kzero] = f1_ZERO-c8o27*drho1; // c1o100; // zero; // - (D.f[dirTNE ])[ktne ] = f1_BSW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTSW ])[ktsw ] = f1_BNE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTSE ])[ktse ] = f1_BNW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirTNW ])[ktnw ] = f1_BSE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBNE ])[kbne ] = f1_TSW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBSW ])[kbsw ] = f1_TNE -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBSE ])[kbse ] = f1_TNW -c1o216*drho1; // c1o100; // zero; // - (D.f[dirBNW ])[kbnw ] = f1_TSE -c1o216*drho1; // c1o100; // zero; // + (D.f[TNE ])[ktne ] = f1_BSW -c1o216*drho1; // c1o100; // zero; // + (D.f[TSW ])[ktsw ] = f1_BNE -c1o216*drho1; // c1o100; // zero; // + (D.f[TSE ])[ktse ] = f1_BNW -c1o216*drho1; // c1o100; // zero; // + (D.f[TNW ])[ktnw ] = f1_BSE -c1o216*drho1; // c1o100; // zero; // + (D.f[BNE ])[kbne ] = f1_TSW -c1o216*drho1; // c1o100; // zero; // + (D.f[BSW ])[kbsw ] = f1_TNE -c1o216*drho1; // c1o100; // zero; // + (D.f[BSE ])[kbse ] = f1_TNW -c1o216*drho1; // c1o100; // zero; // + (D.f[BNW ])[kbnw ] = f1_TSE -c1o216*drho1; // c1o100; // zero; // } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -4829,63 +4829,63 @@ extern "C" __global__ void QPressDevice27_IntBB(real* rho, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -4910,32 +4910,32 @@ extern "C" __global__ void QPressDevice27_IntBB(real* rho, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -4970,32 +4970,32 @@ extern "C" __global__ void QPressDevice27_IntBB(real* rho, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -5020,63 +5020,63 @@ extern "C" __global__ void QPressDevice27_IntBB(real* rho, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -5091,182 +5091,182 @@ extern "C" __global__ void QPressDevice27_IntBB(real* rho, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c2o27*(rhoDiff + c6o1*( VeloX )))/(c1o1+q); + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c2o27*(rhoDiff + c6o1*( VeloX )))/(c1o1+q); } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c2o27*(rhoDiff + c6o1*(-VeloX )))/(c1o1+q); + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c2o27*(rhoDiff + c6o1*(-VeloX )))/(c1o1+q); } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c2o27*(rhoDiff + c6o1*( VeloY )))/(c1o1+q); + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c2o27*(rhoDiff + c6o1*( VeloY )))/(c1o1+q); } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c2o27*(rhoDiff + c6o1*(-VeloY )))/(c1o1+q); + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c2o27*(rhoDiff + c6o1*(-VeloY )))/(c1o1+q); } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c2o27*(rhoDiff + c6o1*( VeloZ )))/(c1o1+q); + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c2o27*(rhoDiff + c6o1*( VeloZ )))/(c1o1+q); } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c2o27*(rhoDiff + c6o1*(-VeloZ )))/(c1o1+q); + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c2o27*(rhoDiff + c6o1*(-VeloZ )))/(c1o1+q); } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c1o54*(rhoDiff + c6o1*(VeloX+VeloY)))/(c1o1+q); + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c1o54*(rhoDiff + c6o1*(VeloX+VeloY)))/(c1o1+q); } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c1o54*(rhoDiff + c6o1*(-VeloX-VeloY)))/(c1o1+q); + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c1o54*(rhoDiff + c6o1*(-VeloX-VeloY)))/(c1o1+q); } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c1o54*(rhoDiff + c6o1*( VeloX-VeloY)))/(c1o1+q); + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c1o54*(rhoDiff + c6o1*( VeloX-VeloY)))/(c1o1+q); } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c1o54*(rhoDiff + c6o1*(-VeloX+VeloY)))/(c1o1+q); + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c1o54*(rhoDiff + c6o1*(-VeloX+VeloY)))/(c1o1+q); } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c1o54*(rhoDiff + c6o1*( VeloX+VeloZ)))/(c1o1+q); + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c1o54*(rhoDiff + c6o1*( VeloX+VeloZ)))/(c1o1+q); } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c1o54*(rhoDiff + c6o1*(-VeloX-VeloZ)))/(c1o1+q); + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c1o54*(rhoDiff + c6o1*(-VeloX-VeloZ)))/(c1o1+q); } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c1o54*(rhoDiff + c6o1*( VeloX-VeloZ)))/(c1o1+q); + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c1o54*(rhoDiff + c6o1*( VeloX-VeloZ)))/(c1o1+q); } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c1o54*(rhoDiff + c6o1*(-VeloX+VeloZ)))/(c1o1+q); + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c1o54*(rhoDiff + c6o1*(-VeloX+VeloZ)))/(c1o1+q); } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c1o54*(rhoDiff + c6o1*( VeloY+VeloZ)))/(c1o1+q); + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c1o54*(rhoDiff + c6o1*( VeloY+VeloZ)))/(c1o1+q); } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c1o54*(rhoDiff + c6o1*( -VeloY-VeloZ)))/(c1o1+q); + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c1o54*(rhoDiff + c6o1*( -VeloY-VeloZ)))/(c1o1+q); } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c1o54*(rhoDiff + c6o1*( VeloY-VeloZ)))/(c1o1+q); + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c1o54*(rhoDiff + c6o1*( VeloY-VeloZ)))/(c1o1+q); } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c1o54*(rhoDiff + c6o1*( -VeloY+VeloZ)))/(c1o1+q); + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c1o54*(rhoDiff + c6o1*( -VeloY+VeloZ)))/(c1o1+q); } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c1o216*(rhoDiff + c6o1*( VeloX+VeloY+VeloZ)))/(c1o1+q); + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c1o216*(rhoDiff + c6o1*( VeloX+VeloY+VeloZ)))/(c1o1+q); } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c1o216*(rhoDiff + c6o1*(-VeloX-VeloY-VeloZ)))/(c1o1+q); + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c1o216*(rhoDiff + c6o1*(-VeloX-VeloY-VeloZ)))/(c1o1+q); } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c1o216*(rhoDiff + c6o1*( VeloX+VeloY-VeloZ)))/(c1o1+q); + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c1o216*(rhoDiff + c6o1*( VeloX+VeloY-VeloZ)))/(c1o1+q); } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c1o216*(rhoDiff + c6o1*(-VeloX-VeloY+VeloZ)))/(c1o1+q); + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c1o216*(rhoDiff + c6o1*(-VeloX-VeloY+VeloZ)))/(c1o1+q); } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c1o216*(rhoDiff + c6o1*( VeloX-VeloY+VeloZ)))/(c1o1+q); + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c1o216*(rhoDiff + c6o1*( VeloX-VeloY+VeloZ)))/(c1o1+q); } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c1o216*(rhoDiff + c6o1*(-VeloX+VeloY-VeloZ)))/(c1o1+q); + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c1o216*(rhoDiff + c6o1*(-VeloX+VeloY-VeloZ)))/(c1o1+q); } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c1o216*(rhoDiff + c6o1*( VeloX-VeloY-VeloZ)))/(c1o1+q); + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c1o216*(rhoDiff + c6o1*( VeloX-VeloY-VeloZ)))/(c1o1+q); } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c1o216*(rhoDiff + c6o1*(-VeloX+VeloY+VeloZ)))/(c1o1+q); + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c1o216*(rhoDiff + c6o1*(-VeloX+VeloY+VeloZ)))/(c1o1+q); } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu index 6171e2c90..9b98b6df8 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF27.cu @@ -42,33 +42,33 @@ extern "C" __global__ void scaleCF_0817_comp_27( real* DC, *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - fP00dest = &DF[dirE *size_MatF]; - fM00dest = &DF[dirW *size_MatF]; - f0P0dest = &DF[dirN *size_MatF]; - f0M0dest = &DF[dirS *size_MatF]; - f00Pdest = &DF[dirT *size_MatF]; - f00Mdest = &DF[dirB *size_MatF]; - fPP0dest = &DF[dirNE *size_MatF]; - fMM0dest = &DF[dirSW *size_MatF]; - fPM0dest = &DF[dirSE *size_MatF]; - fMP0dest = &DF[dirNW *size_MatF]; - fP0Pdest = &DF[dirTE *size_MatF]; - fM0Mdest = &DF[dirBW *size_MatF]; - fP0Mdest = &DF[dirBE *size_MatF]; - fM0Pdest = &DF[dirTW *size_MatF]; - f0PPdest = &DF[dirTN *size_MatF]; - f0MMdest = &DF[dirBS *size_MatF]; - f0PMdest = &DF[dirBN *size_MatF]; - f0MPdest = &DF[dirTS *size_MatF]; + fP00dest = &DF[E *size_MatF]; + fM00dest = &DF[W *size_MatF]; + f0P0dest = &DF[N *size_MatF]; + f0M0dest = &DF[S *size_MatF]; + f00Pdest = &DF[T *size_MatF]; + f00Mdest = &DF[B *size_MatF]; + fPP0dest = &DF[NE *size_MatF]; + fMM0dest = &DF[SW *size_MatF]; + fPM0dest = &DF[SE *size_MatF]; + fMP0dest = &DF[NW *size_MatF]; + fP0Pdest = &DF[TE *size_MatF]; + fM0Mdest = &DF[BW *size_MatF]; + fP0Mdest = &DF[BE *size_MatF]; + fM0Pdest = &DF[TW *size_MatF]; + f0PPdest = &DF[TN *size_MatF]; + f0MMdest = &DF[BS *size_MatF]; + f0PMdest = &DF[BN *size_MatF]; + f0MPdest = &DF[TS *size_MatF]; f000dest = &DF[dirREST*size_MatF]; - fMMMdest = &DF[dirBSW *size_MatF]; - fMMPdest = &DF[dirTSW *size_MatF]; - fMPPdest = &DF[dirTNW *size_MatF]; - fMPMdest = &DF[dirBNW *size_MatF]; - fPPMdest = &DF[dirBNE *size_MatF]; - fPPPdest = &DF[dirTNE *size_MatF]; - fPMPdest = &DF[dirTSE *size_MatF]; - fPMMdest = &DF[dirBSE *size_MatF]; + fMMMdest = &DF[BSW *size_MatF]; + fMMPdest = &DF[TSW *size_MatF]; + fMPPdest = &DF[TNW *size_MatF]; + fMPMdest = &DF[BNW *size_MatF]; + fPPMdest = &DF[BNE *size_MatF]; + fPPPdest = &DF[TNE *size_MatF]; + fPMPdest = &DF[TSE *size_MatF]; + fPMMdest = &DF[BSE *size_MatF]; real *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, @@ -77,63 +77,63 @@ extern "C" __global__ void scaleCF_0817_comp_27( real* DC, if (isEvenTimestep == true) { - fP00source = &DC[dirE *size_MatC]; - fM00source = &DC[dirW *size_MatC]; - f0P0source = &DC[dirN *size_MatC]; - f0M0source = &DC[dirS *size_MatC]; - f00Psource = &DC[dirT *size_MatC]; - f00Msource = &DC[dirB *size_MatC]; - fPP0source = &DC[dirNE *size_MatC]; - fMM0source = &DC[dirSW *size_MatC]; - fPM0source = &DC[dirSE *size_MatC]; - fMP0source = &DC[dirNW *size_MatC]; - fP0Psource = &DC[dirTE *size_MatC]; - fM0Msource = &DC[dirBW *size_MatC]; - fP0Msource = &DC[dirBE *size_MatC]; - fM0Psource = &DC[dirTW *size_MatC]; - f0PPsource = &DC[dirTN *size_MatC]; - f0MMsource = &DC[dirBS *size_MatC]; - f0PMsource = &DC[dirBN *size_MatC]; - f0MPsource = &DC[dirTS *size_MatC]; + fP00source = &DC[E *size_MatC]; + fM00source = &DC[W *size_MatC]; + f0P0source = &DC[N *size_MatC]; + f0M0source = &DC[S *size_MatC]; + f00Psource = &DC[T *size_MatC]; + f00Msource = &DC[B *size_MatC]; + fPP0source = &DC[NE *size_MatC]; + fMM0source = &DC[SW *size_MatC]; + fPM0source = &DC[SE *size_MatC]; + fMP0source = &DC[NW *size_MatC]; + fP0Psource = &DC[TE *size_MatC]; + fM0Msource = &DC[BW *size_MatC]; + fP0Msource = &DC[BE *size_MatC]; + fM0Psource = &DC[TW *size_MatC]; + f0PPsource = &DC[TN *size_MatC]; + f0MMsource = &DC[BS *size_MatC]; + f0PMsource = &DC[BN *size_MatC]; + f0MPsource = &DC[TS *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirBSW *size_MatC]; - fMMPsource = &DC[dirTSW *size_MatC]; - fMPPsource = &DC[dirTNW *size_MatC]; - fMPMsource = &DC[dirBNW *size_MatC]; - fPPMsource = &DC[dirBNE *size_MatC]; - fPPPsource = &DC[dirTNE *size_MatC]; - fPMPsource = &DC[dirTSE *size_MatC]; - fPMMsource = &DC[dirBSE *size_MatC]; + fMMMsource = &DC[BSW *size_MatC]; + fMMPsource = &DC[TSW *size_MatC]; + fMPPsource = &DC[TNW *size_MatC]; + fMPMsource = &DC[BNW *size_MatC]; + fPPMsource = &DC[BNE *size_MatC]; + fPPPsource = &DC[TNE *size_MatC]; + fPMPsource = &DC[TSE *size_MatC]; + fPMMsource = &DC[BSE *size_MatC]; } else { - fP00source = &DC[dirW *size_MatC]; - fM00source = &DC[dirE *size_MatC]; - f0P0source = &DC[dirS *size_MatC]; - f0M0source = &DC[dirN *size_MatC]; - f00Psource = &DC[dirB *size_MatC]; - f00Msource = &DC[dirT *size_MatC]; - fPP0source = &DC[dirSW *size_MatC]; - fMM0source = &DC[dirNE *size_MatC]; - fPM0source = &DC[dirNW *size_MatC]; - fMP0source = &DC[dirSE *size_MatC]; - fP0Psource = &DC[dirBW *size_MatC]; - fM0Msource = &DC[dirTE *size_MatC]; - fP0Msource = &DC[dirTW *size_MatC]; - fM0Psource = &DC[dirBE *size_MatC]; - f0PPsource = &DC[dirBS *size_MatC]; - f0MMsource = &DC[dirTN *size_MatC]; - f0PMsource = &DC[dirTS *size_MatC]; - f0MPsource = &DC[dirBN *size_MatC]; + fP00source = &DC[W *size_MatC]; + fM00source = &DC[E *size_MatC]; + f0P0source = &DC[S *size_MatC]; + f0M0source = &DC[N *size_MatC]; + f00Psource = &DC[B *size_MatC]; + f00Msource = &DC[T *size_MatC]; + fPP0source = &DC[SW *size_MatC]; + fMM0source = &DC[NE *size_MatC]; + fPM0source = &DC[NW *size_MatC]; + fMP0source = &DC[SE *size_MatC]; + fP0Psource = &DC[BW *size_MatC]; + fM0Msource = &DC[TE *size_MatC]; + fP0Msource = &DC[TW *size_MatC]; + fM0Psource = &DC[BE *size_MatC]; + f0PPsource = &DC[BS *size_MatC]; + f0MMsource = &DC[TN *size_MatC]; + f0PMsource = &DC[TS *size_MatC]; + f0MPsource = &DC[BN *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirTNE *size_MatC]; - fMMPsource = &DC[dirBNE *size_MatC]; - fMPPsource = &DC[dirBSE *size_MatC]; - fMPMsource = &DC[dirTSE *size_MatC]; - fPPMsource = &DC[dirTSW *size_MatC]; - fPPPsource = &DC[dirBSW *size_MatC]; - fPMPsource = &DC[dirBNW *size_MatC]; - fPMMsource = &DC[dirTNW *size_MatC]; + fMMMsource = &DC[TNE *size_MatC]; + fMMPsource = &DC[BNE *size_MatC]; + fMPPsource = &DC[BSE *size_MatC]; + fMPMsource = &DC[TSE *size_MatC]; + fPPMsource = &DC[TSW *size_MatC]; + fPPPsource = &DC[BSW *size_MatC]; + fPMPsource = &DC[BNW *size_MatC]; + fPMMsource = &DC[TNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -4108,96 +4108,96 @@ extern "C" __global__ void scaleCF_AA2016_comp_27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -10991,96 +10991,96 @@ extern "C" __global__ void scaleCF_RhoSq_3rdMom_comp_27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -17866,96 +17866,96 @@ extern "C" __global__ void scaleCF_RhoSq_comp_27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -22114,96 +22114,96 @@ extern "C" __global__ void scaleCF_staggered_time_comp_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -26350,96 +26350,96 @@ extern "C" __global__ void scaleCF_Fix_comp_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -31117,96 +31117,96 @@ extern "C" __global__ void scaleCF_NSPress_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -35061,96 +35061,96 @@ extern "C" __global__ void scaleCF_Fix_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -39319,96 +39319,96 @@ extern "C" __global__ void scaleCFpress27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -40993,96 +40993,96 @@ extern "C" __global__ void scaleCFLast27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -43224,96 +43224,96 @@ extern "C" __global__ void scaleCFThSMG7( real* DC, { real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } @@ -44450,96 +44450,96 @@ extern "C" __global__ void scaleCFThS7( real* DC, { real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } @@ -45574,188 +45574,188 @@ extern "C" __global__ void scaleCFThS27( real* DC, { real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, /**fzeroF,*/ *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } Distributions27 D27F; - D27F.f[dirE ] = &DD27F[dirE *size_MatF]; - D27F.f[dirW ] = &DD27F[dirW *size_MatF]; - D27F.f[dirN ] = &DD27F[dirN *size_MatF]; - D27F.f[dirS ] = &DD27F[dirS *size_MatF]; - D27F.f[dirT ] = &DD27F[dirT *size_MatF]; - D27F.f[dirB ] = &DD27F[dirB *size_MatF]; - D27F.f[dirNE ] = &DD27F[dirNE *size_MatF]; - D27F.f[dirSW ] = &DD27F[dirSW *size_MatF]; - D27F.f[dirSE ] = &DD27F[dirSE *size_MatF]; - D27F.f[dirNW ] = &DD27F[dirNW *size_MatF]; - D27F.f[dirTE ] = &DD27F[dirTE *size_MatF]; - D27F.f[dirBW ] = &DD27F[dirBW *size_MatF]; - D27F.f[dirBE ] = &DD27F[dirBE *size_MatF]; - D27F.f[dirTW ] = &DD27F[dirTW *size_MatF]; - D27F.f[dirTN ] = &DD27F[dirTN *size_MatF]; - D27F.f[dirBS ] = &DD27F[dirBS *size_MatF]; - D27F.f[dirBN ] = &DD27F[dirBN *size_MatF]; - D27F.f[dirTS ] = &DD27F[dirTS *size_MatF]; + D27F.f[E ] = &DD27F[E *size_MatF]; + D27F.f[W ] = &DD27F[W *size_MatF]; + D27F.f[N ] = &DD27F[N *size_MatF]; + D27F.f[S ] = &DD27F[S *size_MatF]; + D27F.f[T ] = &DD27F[T *size_MatF]; + D27F.f[B ] = &DD27F[B *size_MatF]; + D27F.f[NE ] = &DD27F[NE *size_MatF]; + D27F.f[SW ] = &DD27F[SW *size_MatF]; + D27F.f[SE ] = &DD27F[SE *size_MatF]; + D27F.f[NW ] = &DD27F[NW *size_MatF]; + D27F.f[TE ] = &DD27F[TE *size_MatF]; + D27F.f[BW ] = &DD27F[BW *size_MatF]; + D27F.f[BE ] = &DD27F[BE *size_MatF]; + D27F.f[TW ] = &DD27F[TW *size_MatF]; + D27F.f[TN ] = &DD27F[TN *size_MatF]; + D27F.f[BS ] = &DD27F[BS *size_MatF]; + D27F.f[BN ] = &DD27F[BN *size_MatF]; + D27F.f[TS ] = &DD27F[TS *size_MatF]; D27F.f[dirREST] = &DD27F[dirREST*size_MatF]; - D27F.f[dirTNE ] = &DD27F[dirTNE *size_MatF]; - D27F.f[dirTSW ] = &DD27F[dirTSW *size_MatF]; - D27F.f[dirTSE ] = &DD27F[dirTSE *size_MatF]; - D27F.f[dirTNW ] = &DD27F[dirTNW *size_MatF]; - D27F.f[dirBNE ] = &DD27F[dirBNE *size_MatF]; - D27F.f[dirBSW ] = &DD27F[dirBSW *size_MatF]; - D27F.f[dirBSE ] = &DD27F[dirBSE *size_MatF]; - D27F.f[dirBNW ] = &DD27F[dirBNW *size_MatF]; + D27F.f[TNE ] = &DD27F[TNE *size_MatF]; + D27F.f[TSW ] = &DD27F[TSW *size_MatF]; + D27F.f[TSE ] = &DD27F[TSE *size_MatF]; + D27F.f[TNW ] = &DD27F[TNW *size_MatF]; + D27F.f[BNE ] = &DD27F[BNE *size_MatF]; + D27F.f[BSW ] = &DD27F[BSW *size_MatF]; + D27F.f[BSE ] = &DD27F[BSE *size_MatF]; + D27F.f[BNW ] = &DD27F[BNW *size_MatF]; Distributions27 D27C; if (isEvenTimestep==true) { - D27C.f[dirE ] = &DD27C[dirE *size_MatC]; - D27C.f[dirW ] = &DD27C[dirW *size_MatC]; - D27C.f[dirN ] = &DD27C[dirN *size_MatC]; - D27C.f[dirS ] = &DD27C[dirS *size_MatC]; - D27C.f[dirT ] = &DD27C[dirT *size_MatC]; - D27C.f[dirB ] = &DD27C[dirB *size_MatC]; - D27C.f[dirNE ] = &DD27C[dirNE *size_MatC]; - D27C.f[dirSW ] = &DD27C[dirSW *size_MatC]; - D27C.f[dirSE ] = &DD27C[dirSE *size_MatC]; - D27C.f[dirNW ] = &DD27C[dirNW *size_MatC]; - D27C.f[dirTE ] = &DD27C[dirTE *size_MatC]; - D27C.f[dirBW ] = &DD27C[dirBW *size_MatC]; - D27C.f[dirBE ] = &DD27C[dirBE *size_MatC]; - D27C.f[dirTW ] = &DD27C[dirTW *size_MatC]; - D27C.f[dirTN ] = &DD27C[dirTN *size_MatC]; - D27C.f[dirBS ] = &DD27C[dirBS *size_MatC]; - D27C.f[dirBN ] = &DD27C[dirBN *size_MatC]; - D27C.f[dirTS ] = &DD27C[dirTS *size_MatC]; + D27C.f[E ] = &DD27C[E *size_MatC]; + D27C.f[W ] = &DD27C[W *size_MatC]; + D27C.f[N ] = &DD27C[N *size_MatC]; + D27C.f[S ] = &DD27C[S *size_MatC]; + D27C.f[T ] = &DD27C[T *size_MatC]; + D27C.f[B ] = &DD27C[B *size_MatC]; + D27C.f[NE ] = &DD27C[NE *size_MatC]; + D27C.f[SW ] = &DD27C[SW *size_MatC]; + D27C.f[SE ] = &DD27C[SE *size_MatC]; + D27C.f[NW ] = &DD27C[NW *size_MatC]; + D27C.f[TE ] = &DD27C[TE *size_MatC]; + D27C.f[BW ] = &DD27C[BW *size_MatC]; + D27C.f[BE ] = &DD27C[BE *size_MatC]; + D27C.f[TW ] = &DD27C[TW *size_MatC]; + D27C.f[TN ] = &DD27C[TN *size_MatC]; + D27C.f[BS ] = &DD27C[BS *size_MatC]; + D27C.f[BN ] = &DD27C[BN *size_MatC]; + D27C.f[TS ] = &DD27C[TS *size_MatC]; D27C.f[dirREST] = &DD27C[dirREST*size_MatC]; - D27C.f[dirTNE ] = &DD27C[dirTNE *size_MatC]; - D27C.f[dirTSW ] = &DD27C[dirTSW *size_MatC]; - D27C.f[dirTSE ] = &DD27C[dirTSE *size_MatC]; - D27C.f[dirTNW ] = &DD27C[dirTNW *size_MatC]; - D27C.f[dirBNE ] = &DD27C[dirBNE *size_MatC]; - D27C.f[dirBSW ] = &DD27C[dirBSW *size_MatC]; - D27C.f[dirBSE ] = &DD27C[dirBSE *size_MatC]; - D27C.f[dirBNW ] = &DD27C[dirBNW *size_MatC]; + D27C.f[TNE ] = &DD27C[TNE *size_MatC]; + D27C.f[TSW ] = &DD27C[TSW *size_MatC]; + D27C.f[TSE ] = &DD27C[TSE *size_MatC]; + D27C.f[TNW ] = &DD27C[TNW *size_MatC]; + D27C.f[BNE ] = &DD27C[BNE *size_MatC]; + D27C.f[BSW ] = &DD27C[BSW *size_MatC]; + D27C.f[BSE ] = &DD27C[BSE *size_MatC]; + D27C.f[BNW ] = &DD27C[BNW *size_MatC]; } else { - D27C.f[dirW ] = &DD27C[dirE *size_MatC]; - D27C.f[dirE ] = &DD27C[dirW *size_MatC]; - D27C.f[dirS ] = &DD27C[dirN *size_MatC]; - D27C.f[dirN ] = &DD27C[dirS *size_MatC]; - D27C.f[dirB ] = &DD27C[dirT *size_MatC]; - D27C.f[dirT ] = &DD27C[dirB *size_MatC]; - D27C.f[dirSW ] = &DD27C[dirNE *size_MatC]; - D27C.f[dirNE ] = &DD27C[dirSW *size_MatC]; - D27C.f[dirNW ] = &DD27C[dirSE *size_MatC]; - D27C.f[dirSE ] = &DD27C[dirNW *size_MatC]; - D27C.f[dirBW ] = &DD27C[dirTE *size_MatC]; - D27C.f[dirTE ] = &DD27C[dirBW *size_MatC]; - D27C.f[dirTW ] = &DD27C[dirBE *size_MatC]; - D27C.f[dirBE ] = &DD27C[dirTW *size_MatC]; - D27C.f[dirBS ] = &DD27C[dirTN *size_MatC]; - D27C.f[dirTN ] = &DD27C[dirBS *size_MatC]; - D27C.f[dirTS ] = &DD27C[dirBN *size_MatC]; - D27C.f[dirBN ] = &DD27C[dirTS *size_MatC]; + D27C.f[W ] = &DD27C[E *size_MatC]; + D27C.f[E ] = &DD27C[W *size_MatC]; + D27C.f[S ] = &DD27C[N *size_MatC]; + D27C.f[N ] = &DD27C[S *size_MatC]; + D27C.f[B ] = &DD27C[T *size_MatC]; + D27C.f[T ] = &DD27C[B *size_MatC]; + D27C.f[SW ] = &DD27C[NE *size_MatC]; + D27C.f[NE ] = &DD27C[SW *size_MatC]; + D27C.f[NW ] = &DD27C[SE *size_MatC]; + D27C.f[SE ] = &DD27C[NW *size_MatC]; + D27C.f[BW ] = &DD27C[TE *size_MatC]; + D27C.f[TE ] = &DD27C[BW *size_MatC]; + D27C.f[TW ] = &DD27C[BE *size_MatC]; + D27C.f[BE ] = &DD27C[TW *size_MatC]; + D27C.f[BS ] = &DD27C[TN *size_MatC]; + D27C.f[TN ] = &DD27C[BS *size_MatC]; + D27C.f[TS ] = &DD27C[BN *size_MatC]; + D27C.f[BN ] = &DD27C[TS *size_MatC]; D27C.f[dirREST] = &DD27C[dirREST*size_MatC]; - D27C.f[dirBSW ] = &DD27C[dirTNE *size_MatC]; - D27C.f[dirBNE ] = &DD27C[dirTSW *size_MatC]; - D27C.f[dirBNW ] = &DD27C[dirTSE *size_MatC]; - D27C.f[dirBSE ] = &DD27C[dirTNW *size_MatC]; - D27C.f[dirTSW ] = &DD27C[dirBNE *size_MatC]; - D27C.f[dirTNE ] = &DD27C[dirBSW *size_MatC]; - D27C.f[dirTNW ] = &DD27C[dirBSE *size_MatC]; - D27C.f[dirTSE ] = &DD27C[dirBNW *size_MatC]; + D27C.f[BSW ] = &DD27C[TNE *size_MatC]; + D27C.f[BNE ] = &DD27C[TSW *size_MatC]; + D27C.f[BNW ] = &DD27C[TSE *size_MatC]; + D27C.f[BSE ] = &DD27C[TNW *size_MatC]; + D27C.f[TSW ] = &DD27C[BNE *size_MatC]; + D27C.f[TNE ] = &DD27C[BSW *size_MatC]; + D27C.f[TNW ] = &DD27C[BSE *size_MatC]; + D27C.f[TSE ] = &DD27C[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -45855,33 +45855,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_SWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -45942,33 +45942,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_SWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46029,33 +46029,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_SET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46116,33 +46116,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_SEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46213,33 +46213,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_NWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46300,33 +46300,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_NWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46387,33 +46387,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_NET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46474,33 +46474,33 @@ extern "C" __global__ void scaleCFThS27( real* DC, f_BSE = fbseC[kbs]; f_BNW = fbnwC[kbw]; //////////////////////////////////////////////////////////////////////////////// - f27E = (D27C.f[dirE ])[kzero];//ke - f27W = (D27C.f[dirW ])[kw ]; - f27N = (D27C.f[dirN ])[kzero];//kn - f27S = (D27C.f[dirS ])[ks ]; - f27T = (D27C.f[dirT ])[kzero];//kt - f27B = (D27C.f[dirB ])[kb ]; - f27NE = (D27C.f[dirNE ])[kzero];//kne - f27SW = (D27C.f[dirSW ])[ksw ]; - f27SE = (D27C.f[dirSE ])[ks ];//kse - f27NW = (D27C.f[dirNW ])[kw ];//knw - f27TE = (D27C.f[dirTE ])[kzero];//kte - f27BW = (D27C.f[dirBW ])[kbw ]; - f27BE = (D27C.f[dirBE ])[kb ];//kbe - f27TW = (D27C.f[dirTW ])[kw ];//ktw - f27TN = (D27C.f[dirTN ])[kzero];//ktn - f27BS = (D27C.f[dirBS ])[kbs ]; - f27BN = (D27C.f[dirBN ])[kb ];//kbn - f27TS = (D27C.f[dirTS ])[ks ];//kts + f27E = (D27C.f[E ])[kzero];//ke + f27W = (D27C.f[W ])[kw ]; + f27N = (D27C.f[N ])[kzero];//kn + f27S = (D27C.f[S ])[ks ]; + f27T = (D27C.f[T ])[kzero];//kt + f27B = (D27C.f[B ])[kb ]; + f27NE = (D27C.f[NE ])[kzero];//kne + f27SW = (D27C.f[SW ])[ksw ]; + f27SE = (D27C.f[SE ])[ks ];//kse + f27NW = (D27C.f[NW ])[kw ];//knw + f27TE = (D27C.f[TE ])[kzero];//kte + f27BW = (D27C.f[BW ])[kbw ]; + f27BE = (D27C.f[BE ])[kb ];//kbe + f27TW = (D27C.f[TW ])[kw ];//ktw + f27TN = (D27C.f[TN ])[kzero];//ktn + f27BS = (D27C.f[BS ])[kbs ]; + f27BN = (D27C.f[BN ])[kb ];//kbn + f27TS = (D27C.f[TS ])[ks ];//kts f27ZERO = (D27C.f[dirREST])[kzero];//kzero - f27TNE = (D27C.f[dirTNE ])[kzero];//ktne - f27TSW = (D27C.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27C.f[dirTSE ])[ks ];//ktse - f27TNW = (D27C.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27C.f[dirBNE ])[kb ];//kbne - f27BSW = (D27C.f[dirBSW ])[kbsw ]; - f27BSE = (D27C.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27C.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27C.f[TNE ])[kzero];//ktne + f27TSW = (D27C.f[TSW ])[ksw ];//ktsw + f27TSE = (D27C.f[TSE ])[ks ];//ktse + f27TNW = (D27C.f[TNW ])[kw ];//ktnw + f27BNE = (D27C.f[BNE ])[kb ];//kbne + f27BSW = (D27C.f[BSW ])[kbsw ]; + f27BSE = (D27C.f[BSE ])[kbs ];//kbse + f27BNW = (D27C.f[BNW ])[kbw ];//kbnw Conc_C_NEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -46619,32 +46619,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -46697,32 +46697,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -46775,32 +46775,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -46853,32 +46853,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -46941,32 +46941,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -47019,32 +47019,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -47097,32 +47097,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); @@ -47175,32 +47175,32 @@ extern "C" __global__ void scaleCFThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27F.f[dirREST])[kzero] = c8o27* Conc_F*(c1o1-cu_sq); - (D27F.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27F.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27F.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27F.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27F.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27F.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27F.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27F.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27F.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27F.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27F.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27F.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27F.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27F.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27F.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27F.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27F.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27F.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27F.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27F.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27F.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27F.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27F.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27F.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_F*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27F.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_F*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27F.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_F*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27F.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_F*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27F.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_F*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27F.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_F*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27F.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_F*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27F.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_F*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27F.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_F*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27F.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_F*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27F.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_F*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27F.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_F*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27F.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_F*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27F.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_F*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27F.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_F*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27F.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_F*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27F.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_F*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27F.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_F*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27F.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27F.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27F.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_F*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27F.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_F*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27F.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27F.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27F.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_F*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27F.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_F*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -47268,96 +47268,96 @@ extern "C" __global__ void scaleCFEff27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -48977,96 +48977,96 @@ extern "C" __global__ void scaleCF27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu index f6b824aab..5bf1f844f 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleCF_F3_27.cu @@ -43,33 +43,33 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - fP00dest = &DF[dirE *size_MatF]; - fM00dest = &DF[dirW *size_MatF]; - f0P0dest = &DF[dirN *size_MatF]; - f0M0dest = &DF[dirS *size_MatF]; - f00Pdest = &DF[dirT *size_MatF]; - f00Mdest = &DF[dirB *size_MatF]; - fPP0dest = &DF[dirNE *size_MatF]; - fMM0dest = &DF[dirSW *size_MatF]; - fPM0dest = &DF[dirSE *size_MatF]; - fMP0dest = &DF[dirNW *size_MatF]; - fP0Pdest = &DF[dirTE *size_MatF]; - fM0Mdest = &DF[dirBW *size_MatF]; - fP0Mdest = &DF[dirBE *size_MatF]; - fM0Pdest = &DF[dirTW *size_MatF]; - f0PPdest = &DF[dirTN *size_MatF]; - f0MMdest = &DF[dirBS *size_MatF]; - f0PMdest = &DF[dirBN *size_MatF]; - f0MPdest = &DF[dirTS *size_MatF]; + fP00dest = &DF[E *size_MatF]; + fM00dest = &DF[W *size_MatF]; + f0P0dest = &DF[N *size_MatF]; + f0M0dest = &DF[S *size_MatF]; + f00Pdest = &DF[T *size_MatF]; + f00Mdest = &DF[B *size_MatF]; + fPP0dest = &DF[NE *size_MatF]; + fMM0dest = &DF[SW *size_MatF]; + fPM0dest = &DF[SE *size_MatF]; + fMP0dest = &DF[NW *size_MatF]; + fP0Pdest = &DF[TE *size_MatF]; + fM0Mdest = &DF[BW *size_MatF]; + fP0Mdest = &DF[BE *size_MatF]; + fM0Pdest = &DF[TW *size_MatF]; + f0PPdest = &DF[TN *size_MatF]; + f0MMdest = &DF[BS *size_MatF]; + f0PMdest = &DF[BN *size_MatF]; + f0MPdest = &DF[TS *size_MatF]; f000dest = &DF[dirREST*size_MatF]; - fMMMdest = &DF[dirBSW *size_MatF]; - fMMPdest = &DF[dirTSW *size_MatF]; - fMPPdest = &DF[dirTNW *size_MatF]; - fMPMdest = &DF[dirBNW *size_MatF]; - fPPMdest = &DF[dirBNE *size_MatF]; - fPPPdest = &DF[dirTNE *size_MatF]; - fPMPdest = &DF[dirTSE *size_MatF]; - fPMMdest = &DF[dirBSE *size_MatF]; + fMMMdest = &DF[BSW *size_MatF]; + fMMPdest = &DF[TSW *size_MatF]; + fMPPdest = &DF[TNW *size_MatF]; + fMPMdest = &DF[BNW *size_MatF]; + fPPMdest = &DF[BNE *size_MatF]; + fPPPdest = &DF[TNE *size_MatF]; + fPMPdest = &DF[TSE *size_MatF]; + fPMMdest = &DF[BSE *size_MatF]; real *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, @@ -78,72 +78,72 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, if (isEvenTimestep == true) { - fP00source = &DC[dirE *size_MatC]; - fM00source = &DC[dirW *size_MatC]; - f0P0source = &DC[dirN *size_MatC]; - f0M0source = &DC[dirS *size_MatC]; - f00Psource = &DC[dirT *size_MatC]; - f00Msource = &DC[dirB *size_MatC]; - fPP0source = &DC[dirNE *size_MatC]; - fMM0source = &DC[dirSW *size_MatC]; - fPM0source = &DC[dirSE *size_MatC]; - fMP0source = &DC[dirNW *size_MatC]; - fP0Psource = &DC[dirTE *size_MatC]; - fM0Msource = &DC[dirBW *size_MatC]; - fP0Msource = &DC[dirBE *size_MatC]; - fM0Psource = &DC[dirTW *size_MatC]; - f0PPsource = &DC[dirTN *size_MatC]; - f0MMsource = &DC[dirBS *size_MatC]; - f0PMsource = &DC[dirBN *size_MatC]; - f0MPsource = &DC[dirTS *size_MatC]; + fP00source = &DC[E *size_MatC]; + fM00source = &DC[W *size_MatC]; + f0P0source = &DC[N *size_MatC]; + f0M0source = &DC[S *size_MatC]; + f00Psource = &DC[T *size_MatC]; + f00Msource = &DC[B *size_MatC]; + fPP0source = &DC[NE *size_MatC]; + fMM0source = &DC[SW *size_MatC]; + fPM0source = &DC[SE *size_MatC]; + fMP0source = &DC[NW *size_MatC]; + fP0Psource = &DC[TE *size_MatC]; + fM0Msource = &DC[BW *size_MatC]; + fP0Msource = &DC[BE *size_MatC]; + fM0Psource = &DC[TW *size_MatC]; + f0PPsource = &DC[TN *size_MatC]; + f0MMsource = &DC[BS *size_MatC]; + f0PMsource = &DC[BN *size_MatC]; + f0MPsource = &DC[TS *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirBSW *size_MatC]; - fMMPsource = &DC[dirTSW *size_MatC]; - fMPPsource = &DC[dirTNW *size_MatC]; - fMPMsource = &DC[dirBNW *size_MatC]; - fPPMsource = &DC[dirBNE *size_MatC]; - fPPPsource = &DC[dirTNE *size_MatC]; - fPMPsource = &DC[dirTSE *size_MatC]; - fPMMsource = &DC[dirBSE *size_MatC]; + fMMMsource = &DC[BSW *size_MatC]; + fMMPsource = &DC[TSW *size_MatC]; + fMPPsource = &DC[TNW *size_MatC]; + fMPMsource = &DC[BNW *size_MatC]; + fPPMsource = &DC[BNE *size_MatC]; + fPPPsource = &DC[TNE *size_MatC]; + fPMPsource = &DC[TSE *size_MatC]; + fPMMsource = &DC[BSE *size_MatC]; } else { - fP00source = &DC[dirW *size_MatC]; - fM00source = &DC[dirE *size_MatC]; - f0P0source = &DC[dirS *size_MatC]; - f0M0source = &DC[dirN *size_MatC]; - f00Psource = &DC[dirB *size_MatC]; - f00Msource = &DC[dirT *size_MatC]; - fPP0source = &DC[dirSW *size_MatC]; - fMM0source = &DC[dirNE *size_MatC]; - fPM0source = &DC[dirNW *size_MatC]; - fMP0source = &DC[dirSE *size_MatC]; - fP0Psource = &DC[dirBW *size_MatC]; - fM0Msource = &DC[dirTE *size_MatC]; - fP0Msource = &DC[dirTW *size_MatC]; - fM0Psource = &DC[dirBE *size_MatC]; - f0PPsource = &DC[dirBS *size_MatC]; - f0MMsource = &DC[dirTN *size_MatC]; - f0PMsource = &DC[dirTS *size_MatC]; - f0MPsource = &DC[dirBN *size_MatC]; + fP00source = &DC[W *size_MatC]; + fM00source = &DC[E *size_MatC]; + f0P0source = &DC[S *size_MatC]; + f0M0source = &DC[N *size_MatC]; + f00Psource = &DC[B *size_MatC]; + f00Msource = &DC[T *size_MatC]; + fPP0source = &DC[SW *size_MatC]; + fMM0source = &DC[NE *size_MatC]; + fPM0source = &DC[NW *size_MatC]; + fMP0source = &DC[SE *size_MatC]; + fP0Psource = &DC[BW *size_MatC]; + fM0Msource = &DC[TE *size_MatC]; + fP0Msource = &DC[TW *size_MatC]; + fM0Psource = &DC[BE *size_MatC]; + f0PPsource = &DC[BS *size_MatC]; + f0MMsource = &DC[TN *size_MatC]; + f0PMsource = &DC[TS *size_MatC]; + f0MPsource = &DC[BN *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirTNE *size_MatC]; - fMMPsource = &DC[dirBNE *size_MatC]; - fMPPsource = &DC[dirBSE *size_MatC]; - fMPMsource = &DC[dirTSE *size_MatC]; - fPPMsource = &DC[dirTSW *size_MatC]; - fPPPsource = &DC[dirBSW *size_MatC]; - fPMPsource = &DC[dirBNW *size_MatC]; - fPMMsource = &DC[dirTNW *size_MatC]; + fMMMsource = &DC[TNE *size_MatC]; + fMMPsource = &DC[BNE *size_MatC]; + fMPPsource = &DC[BSE *size_MatC]; + fMPMsource = &DC[TSE *size_MatC]; + fPPMsource = &DC[TSW *size_MatC]; + fPPPsource = &DC[BSW *size_MatC]; + fPMPsource = &DC[BNW *size_MatC]; + fPMMsource = &DC[TNW *size_MatC]; } Distributions6 G; - G.g[dirE] = &G6[dirE *size_MatF]; - G.g[dirW] = &G6[dirW *size_MatF]; - G.g[dirN] = &G6[dirN *size_MatF]; - G.g[dirS] = &G6[dirS *size_MatF]; - G.g[dirT] = &G6[dirT *size_MatF]; - G.g[dirB] = &G6[dirB *size_MatF]; + G.g[E] = &G6[E *size_MatF]; + G.g[W] = &G6[W *size_MatF]; + G.g[N] = &G6[N *size_MatF]; + G.g[S] = &G6[S *size_MatF]; + G.g[T] = &G6[T *size_MatF]; + G.g[B] = &G6[B *size_MatF]; //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -1186,12 +1186,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -1622,12 +1622,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -2061,12 +2061,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -2500,12 +2500,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -2949,12 +2949,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -3388,12 +3388,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -3827,12 +3827,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -4266,12 +4266,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -4390,33 +4390,33 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, *f000dest, *fMMMdest, *fMMPdest, *fMPPdest, *fMPMdest, *fPPMdest, *fPPPdest, *fPMPdest, *fPMMdest; - fP00dest = &DF[dirE *size_MatF]; - fM00dest = &DF[dirW *size_MatF]; - f0P0dest = &DF[dirN *size_MatF]; - f0M0dest = &DF[dirS *size_MatF]; - f00Pdest = &DF[dirT *size_MatF]; - f00Mdest = &DF[dirB *size_MatF]; - fPP0dest = &DF[dirNE *size_MatF]; - fMM0dest = &DF[dirSW *size_MatF]; - fPM0dest = &DF[dirSE *size_MatF]; - fMP0dest = &DF[dirNW *size_MatF]; - fP0Pdest = &DF[dirTE *size_MatF]; - fM0Mdest = &DF[dirBW *size_MatF]; - fP0Mdest = &DF[dirBE *size_MatF]; - fM0Pdest = &DF[dirTW *size_MatF]; - f0PPdest = &DF[dirTN *size_MatF]; - f0MMdest = &DF[dirBS *size_MatF]; - f0PMdest = &DF[dirBN *size_MatF]; - f0MPdest = &DF[dirTS *size_MatF]; + fP00dest = &DF[E *size_MatF]; + fM00dest = &DF[W *size_MatF]; + f0P0dest = &DF[N *size_MatF]; + f0M0dest = &DF[S *size_MatF]; + f00Pdest = &DF[T *size_MatF]; + f00Mdest = &DF[B *size_MatF]; + fPP0dest = &DF[NE *size_MatF]; + fMM0dest = &DF[SW *size_MatF]; + fPM0dest = &DF[SE *size_MatF]; + fMP0dest = &DF[NW *size_MatF]; + fP0Pdest = &DF[TE *size_MatF]; + fM0Mdest = &DF[BW *size_MatF]; + fP0Mdest = &DF[BE *size_MatF]; + fM0Pdest = &DF[TW *size_MatF]; + f0PPdest = &DF[TN *size_MatF]; + f0MMdest = &DF[BS *size_MatF]; + f0PMdest = &DF[BN *size_MatF]; + f0MPdest = &DF[TS *size_MatF]; f000dest = &DF[dirREST*size_MatF]; - fMMMdest = &DF[dirBSW *size_MatF]; - fMMPdest = &DF[dirTSW *size_MatF]; - fMPPdest = &DF[dirTNW *size_MatF]; - fMPMdest = &DF[dirBNW *size_MatF]; - fPPMdest = &DF[dirBNE *size_MatF]; - fPPPdest = &DF[dirTNE *size_MatF]; - fPMPdest = &DF[dirTSE *size_MatF]; - fPMMdest = &DF[dirBSE *size_MatF]; + fMMMdest = &DF[BSW *size_MatF]; + fMMPdest = &DF[TSW *size_MatF]; + fMPPdest = &DF[TNW *size_MatF]; + fMPMdest = &DF[BNW *size_MatF]; + fPPMdest = &DF[BNE *size_MatF]; + fPPPdest = &DF[TNE *size_MatF]; + fPMPdest = &DF[TSE *size_MatF]; + fPMMdest = &DF[BSE *size_MatF]; real *fP00source, *fM00source, *f0P0source, *f0M0source, *f00Psource, *f00Msource, *fPP0source, *fMM0source, *fPM0source, @@ -4425,72 +4425,72 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, if (isEvenTimestep == true) { - fP00source = &DC[dirE *size_MatC]; - fM00source = &DC[dirW *size_MatC]; - f0P0source = &DC[dirN *size_MatC]; - f0M0source = &DC[dirS *size_MatC]; - f00Psource = &DC[dirT *size_MatC]; - f00Msource = &DC[dirB *size_MatC]; - fPP0source = &DC[dirNE *size_MatC]; - fMM0source = &DC[dirSW *size_MatC]; - fPM0source = &DC[dirSE *size_MatC]; - fMP0source = &DC[dirNW *size_MatC]; - fP0Psource = &DC[dirTE *size_MatC]; - fM0Msource = &DC[dirBW *size_MatC]; - fP0Msource = &DC[dirBE *size_MatC]; - fM0Psource = &DC[dirTW *size_MatC]; - f0PPsource = &DC[dirTN *size_MatC]; - f0MMsource = &DC[dirBS *size_MatC]; - f0PMsource = &DC[dirBN *size_MatC]; - f0MPsource = &DC[dirTS *size_MatC]; + fP00source = &DC[E *size_MatC]; + fM00source = &DC[W *size_MatC]; + f0P0source = &DC[N *size_MatC]; + f0M0source = &DC[S *size_MatC]; + f00Psource = &DC[T *size_MatC]; + f00Msource = &DC[B *size_MatC]; + fPP0source = &DC[NE *size_MatC]; + fMM0source = &DC[SW *size_MatC]; + fPM0source = &DC[SE *size_MatC]; + fMP0source = &DC[NW *size_MatC]; + fP0Psource = &DC[TE *size_MatC]; + fM0Msource = &DC[BW *size_MatC]; + fP0Msource = &DC[BE *size_MatC]; + fM0Psource = &DC[TW *size_MatC]; + f0PPsource = &DC[TN *size_MatC]; + f0MMsource = &DC[BS *size_MatC]; + f0PMsource = &DC[BN *size_MatC]; + f0MPsource = &DC[TS *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirBSW *size_MatC]; - fMMPsource = &DC[dirTSW *size_MatC]; - fMPPsource = &DC[dirTNW *size_MatC]; - fMPMsource = &DC[dirBNW *size_MatC]; - fPPMsource = &DC[dirBNE *size_MatC]; - fPPPsource = &DC[dirTNE *size_MatC]; - fPMPsource = &DC[dirTSE *size_MatC]; - fPMMsource = &DC[dirBSE *size_MatC]; + fMMMsource = &DC[BSW *size_MatC]; + fMMPsource = &DC[TSW *size_MatC]; + fMPPsource = &DC[TNW *size_MatC]; + fMPMsource = &DC[BNW *size_MatC]; + fPPMsource = &DC[BNE *size_MatC]; + fPPPsource = &DC[TNE *size_MatC]; + fPMPsource = &DC[TSE *size_MatC]; + fPMMsource = &DC[BSE *size_MatC]; } else { - fP00source = &DC[dirW *size_MatC]; - fM00source = &DC[dirE *size_MatC]; - f0P0source = &DC[dirS *size_MatC]; - f0M0source = &DC[dirN *size_MatC]; - f00Psource = &DC[dirB *size_MatC]; - f00Msource = &DC[dirT *size_MatC]; - fPP0source = &DC[dirSW *size_MatC]; - fMM0source = &DC[dirNE *size_MatC]; - fPM0source = &DC[dirNW *size_MatC]; - fMP0source = &DC[dirSE *size_MatC]; - fP0Psource = &DC[dirBW *size_MatC]; - fM0Msource = &DC[dirTE *size_MatC]; - fP0Msource = &DC[dirTW *size_MatC]; - fM0Psource = &DC[dirBE *size_MatC]; - f0PPsource = &DC[dirBS *size_MatC]; - f0MMsource = &DC[dirTN *size_MatC]; - f0PMsource = &DC[dirTS *size_MatC]; - f0MPsource = &DC[dirBN *size_MatC]; + fP00source = &DC[W *size_MatC]; + fM00source = &DC[E *size_MatC]; + f0P0source = &DC[S *size_MatC]; + f0M0source = &DC[N *size_MatC]; + f00Psource = &DC[B *size_MatC]; + f00Msource = &DC[T *size_MatC]; + fPP0source = &DC[SW *size_MatC]; + fMM0source = &DC[NE *size_MatC]; + fPM0source = &DC[NW *size_MatC]; + fMP0source = &DC[SE *size_MatC]; + fP0Psource = &DC[BW *size_MatC]; + fM0Msource = &DC[TE *size_MatC]; + fP0Msource = &DC[TW *size_MatC]; + fM0Psource = &DC[BE *size_MatC]; + f0PPsource = &DC[BS *size_MatC]; + f0MMsource = &DC[TN *size_MatC]; + f0PMsource = &DC[TS *size_MatC]; + f0MPsource = &DC[BN *size_MatC]; f000source = &DC[dirREST*size_MatC]; - fMMMsource = &DC[dirTNE *size_MatC]; - fMMPsource = &DC[dirBNE *size_MatC]; - fMPPsource = &DC[dirBSE *size_MatC]; - fMPMsource = &DC[dirTSE *size_MatC]; - fPPMsource = &DC[dirTSW *size_MatC]; - fPPPsource = &DC[dirBSW *size_MatC]; - fPMPsource = &DC[dirBNW *size_MatC]; - fPMMsource = &DC[dirTNW *size_MatC]; + fMMMsource = &DC[TNE *size_MatC]; + fMMPsource = &DC[BNE *size_MatC]; + fMPPsource = &DC[BSE *size_MatC]; + fMPMsource = &DC[TSE *size_MatC]; + fPPMsource = &DC[TSW *size_MatC]; + fPPPsource = &DC[BSW *size_MatC]; + fPMPsource = &DC[BNW *size_MatC]; + fPMMsource = &DC[TNW *size_MatC]; } Distributions6 G; - G.g[dirE] = &G6[dirE *size_MatF]; - G.g[dirW] = &G6[dirW *size_MatF]; - G.g[dirN] = &G6[dirN *size_MatF]; - G.g[dirS] = &G6[dirS *size_MatF]; - G.g[dirT] = &G6[dirT *size_MatF]; - G.g[dirB] = &G6[dirB *size_MatF]; + G.g[E] = &G6[E *size_MatF]; + G.g[W] = &G6[W *size_MatF]; + G.g[N] = &G6[N *size_MatF]; + G.g[S] = &G6[S *size_MatF]; + G.g[T] = &G6[T *size_MatF]; + G.g[B] = &G6[B *size_MatF]; //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -5521,12 +5521,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -5948,12 +5948,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -6378,12 +6378,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -6808,12 +6808,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -7248,12 +7248,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -7678,12 +7678,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -8108,12 +8108,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -8538,12 +8538,12 @@ extern "C" __global__ void scaleCF_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleFC27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleFC27.cu index a0a3f2b0e..18bc38f60 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleFC27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleFC27.cu @@ -42,33 +42,33 @@ extern "C" __global__ void scaleFC_0817_comp_27( real* DC, *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - fP00source = &DF[dirE *size_MatF]; - fM00source = &DF[dirW *size_MatF]; - f0P0source = &DF[dirN *size_MatF]; - f0M0source = &DF[dirS *size_MatF]; - f00Psource = &DF[dirT *size_MatF]; - f00Msource = &DF[dirB *size_MatF]; - fPP0source = &DF[dirNE *size_MatF]; - fMM0source = &DF[dirSW *size_MatF]; - fPM0source = &DF[dirSE *size_MatF]; - fMP0source = &DF[dirNW *size_MatF]; - fP0Psource = &DF[dirTE *size_MatF]; - fM0Msource = &DF[dirBW *size_MatF]; - fP0Msource = &DF[dirBE *size_MatF]; - fM0Psource = &DF[dirTW *size_MatF]; - f0PPsource = &DF[dirTN *size_MatF]; - f0MMsource = &DF[dirBS *size_MatF]; - f0PMsource = &DF[dirBN *size_MatF]; - f0MPsource = &DF[dirTS *size_MatF]; + fP00source = &DF[E *size_MatF]; + fM00source = &DF[W *size_MatF]; + f0P0source = &DF[N *size_MatF]; + f0M0source = &DF[S *size_MatF]; + f00Psource = &DF[T *size_MatF]; + f00Msource = &DF[B *size_MatF]; + fPP0source = &DF[NE *size_MatF]; + fMM0source = &DF[SW *size_MatF]; + fPM0source = &DF[SE *size_MatF]; + fMP0source = &DF[NW *size_MatF]; + fP0Psource = &DF[TE *size_MatF]; + fM0Msource = &DF[BW *size_MatF]; + fP0Msource = &DF[BE *size_MatF]; + fM0Psource = &DF[TW *size_MatF]; + f0PPsource = &DF[TN *size_MatF]; + f0MMsource = &DF[BS *size_MatF]; + f0PMsource = &DF[BN *size_MatF]; + f0MPsource = &DF[TS *size_MatF]; f000source = &DF[dirREST*size_MatF]; - fMMMsource = &DF[dirBSW *size_MatF]; - fMMPsource = &DF[dirTSW *size_MatF]; - fMPPsource = &DF[dirTNW *size_MatF]; - fMPMsource = &DF[dirBNW *size_MatF]; - fPPMsource = &DF[dirBNE *size_MatF]; - fPPPsource = &DF[dirTNE *size_MatF]; - fPMPsource = &DF[dirTSE *size_MatF]; - fPMMsource = &DF[dirBSE *size_MatF]; + fMMMsource = &DF[BSW *size_MatF]; + fMMPsource = &DF[TSW *size_MatF]; + fMPPsource = &DF[TNW *size_MatF]; + fMPMsource = &DF[BNW *size_MatF]; + fPPMsource = &DF[BNE *size_MatF]; + fPPPsource = &DF[TNE *size_MatF]; + fPMPsource = &DF[TSE *size_MatF]; + fPMMsource = &DF[BSE *size_MatF]; real *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, @@ -77,63 +77,63 @@ extern "C" __global__ void scaleFC_0817_comp_27( real* DC, if (isEvenTimestep==true) { - fP00dest = &DC[dirE *size_MatC]; - fM00dest = &DC[dirW *size_MatC]; - f0P0dest = &DC[dirN *size_MatC]; - f0M0dest = &DC[dirS *size_MatC]; - f00Pdest = &DC[dirT *size_MatC]; - f00Mdest = &DC[dirB *size_MatC]; - fPP0dest = &DC[dirNE *size_MatC]; - fMM0dest = &DC[dirSW *size_MatC]; - fPM0dest = &DC[dirSE *size_MatC]; - fMP0dest = &DC[dirNW *size_MatC]; - fP0Pdest = &DC[dirTE *size_MatC]; - fM0Mdest = &DC[dirBW *size_MatC]; - fP0Mdest = &DC[dirBE *size_MatC]; - fM0Pdest = &DC[dirTW *size_MatC]; - f0PPdest = &DC[dirTN *size_MatC]; - f0MMdest = &DC[dirBS *size_MatC]; - f0PMdest = &DC[dirBN *size_MatC]; - f0MPdest = &DC[dirTS *size_MatC]; + fP00dest = &DC[E *size_MatC]; + fM00dest = &DC[W *size_MatC]; + f0P0dest = &DC[N *size_MatC]; + f0M0dest = &DC[S *size_MatC]; + f00Pdest = &DC[T *size_MatC]; + f00Mdest = &DC[B *size_MatC]; + fPP0dest = &DC[NE *size_MatC]; + fMM0dest = &DC[SW *size_MatC]; + fPM0dest = &DC[SE *size_MatC]; + fMP0dest = &DC[NW *size_MatC]; + fP0Pdest = &DC[TE *size_MatC]; + fM0Mdest = &DC[BW *size_MatC]; + fP0Mdest = &DC[BE *size_MatC]; + fM0Pdest = &DC[TW *size_MatC]; + f0PPdest = &DC[TN *size_MatC]; + f0MMdest = &DC[BS *size_MatC]; + f0PMdest = &DC[BN *size_MatC]; + f0MPdest = &DC[TS *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirBSW *size_MatC]; - fMMPdest = &DC[dirTSW *size_MatC]; - fMPPdest = &DC[dirTNW *size_MatC]; - fMPMdest = &DC[dirBNW *size_MatC]; - fPPMdest = &DC[dirBNE *size_MatC]; - fPPPdest = &DC[dirTNE *size_MatC]; - fPMPdest = &DC[dirTSE *size_MatC]; - fPMMdest = &DC[dirBSE *size_MatC]; + fMMMdest = &DC[BSW *size_MatC]; + fMMPdest = &DC[TSW *size_MatC]; + fMPPdest = &DC[TNW *size_MatC]; + fMPMdest = &DC[BNW *size_MatC]; + fPPMdest = &DC[BNE *size_MatC]; + fPPPdest = &DC[TNE *size_MatC]; + fPMPdest = &DC[TSE *size_MatC]; + fPMMdest = &DC[BSE *size_MatC]; } else { - fP00dest = &DC[dirW *size_MatC]; - fM00dest = &DC[dirE *size_MatC]; - f0P0dest = &DC[dirS *size_MatC]; - f0M0dest = &DC[dirN *size_MatC]; - f00Pdest = &DC[dirB *size_MatC]; - f00Mdest = &DC[dirT *size_MatC]; - fPP0dest = &DC[dirSW *size_MatC]; - fMM0dest = &DC[dirNE *size_MatC]; - fPM0dest = &DC[dirNW *size_MatC]; - fMP0dest = &DC[dirSE *size_MatC]; - fP0Pdest = &DC[dirBW *size_MatC]; - fM0Mdest = &DC[dirTE *size_MatC]; - fP0Mdest = &DC[dirTW *size_MatC]; - fM0Pdest = &DC[dirBE *size_MatC]; - f0PPdest = &DC[dirBS *size_MatC]; - f0MMdest = &DC[dirTN *size_MatC]; - f0PMdest = &DC[dirTS *size_MatC]; - f0MPdest = &DC[dirBN *size_MatC]; + fP00dest = &DC[W *size_MatC]; + fM00dest = &DC[E *size_MatC]; + f0P0dest = &DC[S *size_MatC]; + f0M0dest = &DC[N *size_MatC]; + f00Pdest = &DC[B *size_MatC]; + f00Mdest = &DC[T *size_MatC]; + fPP0dest = &DC[SW *size_MatC]; + fMM0dest = &DC[NE *size_MatC]; + fPM0dest = &DC[NW *size_MatC]; + fMP0dest = &DC[SE *size_MatC]; + fP0Pdest = &DC[BW *size_MatC]; + fM0Mdest = &DC[TE *size_MatC]; + fP0Mdest = &DC[TW *size_MatC]; + fM0Pdest = &DC[BE *size_MatC]; + f0PPdest = &DC[BS *size_MatC]; + f0MMdest = &DC[TN *size_MatC]; + f0PMdest = &DC[TS *size_MatC]; + f0MPdest = &DC[BN *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirTNE *size_MatC]; - fMMPdest = &DC[dirBNE *size_MatC]; - fMPPdest = &DC[dirBSE *size_MatC]; - fMPMdest = &DC[dirTSE *size_MatC]; - fPPMdest = &DC[dirTSW *size_MatC]; - fPPPdest = &DC[dirBSW *size_MatC]; - fPMPdest = &DC[dirBNW *size_MatC]; - fPMMdest = &DC[dirTNW *size_MatC]; + fMMMdest = &DC[TNE *size_MatC]; + fMMPdest = &DC[BNE *size_MatC]; + fMPPdest = &DC[BSE *size_MatC]; + fMPMdest = &DC[TSE *size_MatC]; + fPPMdest = &DC[TSW *size_MatC]; + fPPPdest = &DC[BSW *size_MatC]; + fPMPdest = &DC[BNW *size_MatC]; + fPMMdest = &DC[TNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -1235,96 +1235,96 @@ extern "C" __global__ void scaleFC_AA2016_comp_27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -5424,96 +5424,96 @@ extern "C" __global__ void scaleFC_RhoSq_3rdMom_comp_27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -9596,93 +9596,93 @@ __device__ void scaleFC_RhoSq_comp_27_Calculation(real *DC, real *DF, unsigned i real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE * size_MatF]; - fwF = &DF[dirW * size_MatF]; - fnF = &DF[dirN * size_MatF]; - fsF = &DF[dirS * size_MatF]; - ftF = &DF[dirT * size_MatF]; - fbF = &DF[dirB * size_MatF]; - fneF = &DF[dirNE * size_MatF]; - fswF = &DF[dirSW * size_MatF]; - fseF = &DF[dirSE * size_MatF]; - fnwF = &DF[dirNW * size_MatF]; - fteF = &DF[dirTE * size_MatF]; - fbwF = &DF[dirBW * size_MatF]; - fbeF = &DF[dirBE * size_MatF]; - ftwF = &DF[dirTW * size_MatF]; - ftnF = &DF[dirTN * size_MatF]; - fbsF = &DF[dirBS * size_MatF]; - fbnF = &DF[dirBN * size_MatF]; - ftsF = &DF[dirTS * size_MatF]; + feF = &DF[E * size_MatF]; + fwF = &DF[W * size_MatF]; + fnF = &DF[N * size_MatF]; + fsF = &DF[S * size_MatF]; + ftF = &DF[T * size_MatF]; + fbF = &DF[B * size_MatF]; + fneF = &DF[NE * size_MatF]; + fswF = &DF[SW * size_MatF]; + fseF = &DF[SE * size_MatF]; + fnwF = &DF[NW * size_MatF]; + fteF = &DF[TE * size_MatF]; + fbwF = &DF[BW * size_MatF]; + fbeF = &DF[BE * size_MatF]; + ftwF = &DF[TW * size_MatF]; + ftnF = &DF[TN * size_MatF]; + fbsF = &DF[BS * size_MatF]; + fbnF = &DF[BN * size_MatF]; + ftsF = &DF[TS * size_MatF]; fzeroF = &DF[dirREST * size_MatF]; - ftneF = &DF[dirTNE * size_MatF]; - ftswF = &DF[dirTSW * size_MatF]; - ftseF = &DF[dirTSE * size_MatF]; - ftnwF = &DF[dirTNW * size_MatF]; - fbneF = &DF[dirBNE * size_MatF]; - fbswF = &DF[dirBSW * size_MatF]; - fbseF = &DF[dirBSE * size_MatF]; - fbnwF = &DF[dirBNW * size_MatF]; + ftneF = &DF[TNE * size_MatF]; + ftswF = &DF[TSW * size_MatF]; + ftseF = &DF[TSE * size_MatF]; + ftnwF = &DF[TNW * size_MatF]; + fbneF = &DF[BNE * size_MatF]; + fbswF = &DF[BSW * size_MatF]; + fbseF = &DF[BSE * size_MatF]; + fbnwF = &DF[BNW * size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep == true) { - feC = &DC[dirE * size_MatC]; - fwC = &DC[dirW * size_MatC]; - fnC = &DC[dirN * size_MatC]; - fsC = &DC[dirS * size_MatC]; - ftC = &DC[dirT * size_MatC]; - fbC = &DC[dirB * size_MatC]; - fneC = &DC[dirNE * size_MatC]; - fswC = &DC[dirSW * size_MatC]; - fseC = &DC[dirSE * size_MatC]; - fnwC = &DC[dirNW * size_MatC]; - fteC = &DC[dirTE * size_MatC]; - fbwC = &DC[dirBW * size_MatC]; - fbeC = &DC[dirBE * size_MatC]; - ftwC = &DC[dirTW * size_MatC]; - ftnC = &DC[dirTN * size_MatC]; - fbsC = &DC[dirBS * size_MatC]; - fbnC = &DC[dirBN * size_MatC]; - ftsC = &DC[dirTS * size_MatC]; + feC = &DC[E * size_MatC]; + fwC = &DC[W * size_MatC]; + fnC = &DC[N * size_MatC]; + fsC = &DC[S * size_MatC]; + ftC = &DC[T * size_MatC]; + fbC = &DC[B * size_MatC]; + fneC = &DC[NE * size_MatC]; + fswC = &DC[SW * size_MatC]; + fseC = &DC[SE * size_MatC]; + fnwC = &DC[NW * size_MatC]; + fteC = &DC[TE * size_MatC]; + fbwC = &DC[BW * size_MatC]; + fbeC = &DC[BE * size_MatC]; + ftwC = &DC[TW * size_MatC]; + ftnC = &DC[TN * size_MatC]; + fbsC = &DC[BS * size_MatC]; + fbnC = &DC[BN * size_MatC]; + ftsC = &DC[TS * size_MatC]; fzeroC = &DC[dirREST * size_MatC]; - ftneC = &DC[dirTNE * size_MatC]; - ftswC = &DC[dirTSW * size_MatC]; - ftseC = &DC[dirTSE * size_MatC]; - ftnwC = &DC[dirTNW * size_MatC]; - fbneC = &DC[dirBNE * size_MatC]; - fbswC = &DC[dirBSW * size_MatC]; - fbseC = &DC[dirBSE * size_MatC]; - fbnwC = &DC[dirBNW * size_MatC]; + ftneC = &DC[TNE * size_MatC]; + ftswC = &DC[TSW * size_MatC]; + ftseC = &DC[TSE * size_MatC]; + ftnwC = &DC[TNW * size_MatC]; + fbneC = &DC[BNE * size_MatC]; + fbswC = &DC[BSW * size_MatC]; + fbseC = &DC[BSE * size_MatC]; + fbnwC = &DC[BNW * size_MatC]; } else { - fwC = &DC[dirE * size_MatC]; - feC = &DC[dirW * size_MatC]; - fsC = &DC[dirN * size_MatC]; - fnC = &DC[dirS * size_MatC]; - fbC = &DC[dirT * size_MatC]; - ftC = &DC[dirB * size_MatC]; - fswC = &DC[dirNE * size_MatC]; - fneC = &DC[dirSW * size_MatC]; - fnwC = &DC[dirSE * size_MatC]; - fseC = &DC[dirNW * size_MatC]; - fbwC = &DC[dirTE * size_MatC]; - fteC = &DC[dirBW * size_MatC]; - ftwC = &DC[dirBE * size_MatC]; - fbeC = &DC[dirTW * size_MatC]; - fbsC = &DC[dirTN * size_MatC]; - ftnC = &DC[dirBS * size_MatC]; - ftsC = &DC[dirBN * size_MatC]; - fbnC = &DC[dirTS * size_MatC]; + fwC = &DC[E * size_MatC]; + feC = &DC[W * size_MatC]; + fsC = &DC[N * size_MatC]; + fnC = &DC[S * size_MatC]; + fbC = &DC[T * size_MatC]; + ftC = &DC[B * size_MatC]; + fswC = &DC[NE * size_MatC]; + fneC = &DC[SW * size_MatC]; + fnwC = &DC[SE * size_MatC]; + fseC = &DC[NW * size_MatC]; + fbwC = &DC[TE * size_MatC]; + fteC = &DC[BW * size_MatC]; + ftwC = &DC[BE * size_MatC]; + fbeC = &DC[TW * size_MatC]; + fbsC = &DC[TN * size_MatC]; + ftnC = &DC[BS * size_MatC]; + ftsC = &DC[BN * size_MatC]; + fbnC = &DC[TS * size_MatC]; fzeroC = &DC[dirREST * size_MatC]; - fbswC = &DC[dirTNE * size_MatC]; - fbneC = &DC[dirTSW * size_MatC]; - fbnwC = &DC[dirTSE * size_MatC]; - fbseC = &DC[dirTNW * size_MatC]; - ftswC = &DC[dirBNE * size_MatC]; - ftneC = &DC[dirBSW * size_MatC]; - ftnwC = &DC[dirBSE * size_MatC]; - ftseC = &DC[dirBNW * size_MatC]; + fbswC = &DC[TNE * size_MatC]; + fbneC = &DC[TSW * size_MatC]; + fbnwC = &DC[TSE * size_MatC]; + fbseC = &DC[TNW * size_MatC]; + ftswC = &DC[BNE * size_MatC]; + ftneC = &DC[BSW * size_MatC]; + ftnwC = &DC[BSE * size_MatC]; + ftseC = &DC[BNW * size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -11174,96 +11174,96 @@ extern "C" __global__ void scaleFC_staggered_time_comp_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -11758,63 +11758,63 @@ extern "C" __global__ void scaleFC_staggered_time_comp_27( real* DC, ////pointertausch // if (isEvenTimestep==false) // { - // feC = &DC[dirE *size_MatC]; - // fwC = &DC[dirW *size_MatC]; - // fnC = &DC[dirN *size_MatC]; - // fsC = &DC[dirS *size_MatC]; - // ftC = &DC[dirT *size_MatC]; - // fbC = &DC[dirB *size_MatC]; - // fneC = &DC[dirNE *size_MatC]; - // fswC = &DC[dirSW *size_MatC]; - // fseC = &DC[dirSE *size_MatC]; - // fnwC = &DC[dirNW *size_MatC]; - // fteC = &DC[dirTE *size_MatC]; - // fbwC = &DC[dirBW *size_MatC]; - // fbeC = &DC[dirBE *size_MatC]; - // ftwC = &DC[dirTW *size_MatC]; - // ftnC = &DC[dirTN *size_MatC]; - // fbsC = &DC[dirBS *size_MatC]; - // fbnC = &DC[dirBN *size_MatC]; - // ftsC = &DC[dirTS *size_MatC]; + // feC = &DC[E *size_MatC]; + // fwC = &DC[W *size_MatC]; + // fnC = &DC[N *size_MatC]; + // fsC = &DC[S *size_MatC]; + // ftC = &DC[T *size_MatC]; + // fbC = &DC[B *size_MatC]; + // fneC = &DC[NE *size_MatC]; + // fswC = &DC[SW *size_MatC]; + // fseC = &DC[SE *size_MatC]; + // fnwC = &DC[NW *size_MatC]; + // fteC = &DC[TE *size_MatC]; + // fbwC = &DC[BW *size_MatC]; + // fbeC = &DC[BE *size_MatC]; + // ftwC = &DC[TW *size_MatC]; + // ftnC = &DC[TN *size_MatC]; + // fbsC = &DC[BS *size_MatC]; + // fbnC = &DC[BN *size_MatC]; + // ftsC = &DC[TS *size_MatC]; // fzeroC = &DC[dirREST*size_MatC]; - // ftneC = &DC[dirTNE *size_MatC]; - // ftswC = &DC[dirTSW *size_MatC]; - // ftseC = &DC[dirTSE *size_MatC]; - // ftnwC = &DC[dirTNW *size_MatC]; - // fbneC = &DC[dirBNE *size_MatC]; - // fbswC = &DC[dirBSW *size_MatC]; - // fbseC = &DC[dirBSE *size_MatC]; - // fbnwC = &DC[dirBNW *size_MatC]; + // ftneC = &DC[TNE *size_MatC]; + // ftswC = &DC[TSW *size_MatC]; + // ftseC = &DC[TSE *size_MatC]; + // ftnwC = &DC[TNW *size_MatC]; + // fbneC = &DC[BNE *size_MatC]; + // fbswC = &DC[BSW *size_MatC]; + // fbseC = &DC[BSE *size_MatC]; + // fbnwC = &DC[BNW *size_MatC]; // } // else // { - // fwC = &DC[dirE *size_MatC]; - // feC = &DC[dirW *size_MatC]; - // fsC = &DC[dirN *size_MatC]; - // fnC = &DC[dirS *size_MatC]; - // fbC = &DC[dirT *size_MatC]; - // ftC = &DC[dirB *size_MatC]; - // fswC = &DC[dirNE *size_MatC]; - // fneC = &DC[dirSW *size_MatC]; - // fnwC = &DC[dirSE *size_MatC]; - // fseC = &DC[dirNW *size_MatC]; - // fbwC = &DC[dirTE *size_MatC]; - // fteC = &DC[dirBW *size_MatC]; - // ftwC = &DC[dirBE *size_MatC]; - // fbeC = &DC[dirTW *size_MatC]; - // fbsC = &DC[dirTN *size_MatC]; - // ftnC = &DC[dirBS *size_MatC]; - // ftsC = &DC[dirBN *size_MatC]; - // fbnC = &DC[dirTS *size_MatC]; + // fwC = &DC[E *size_MatC]; + // feC = &DC[W *size_MatC]; + // fsC = &DC[N *size_MatC]; + // fnC = &DC[S *size_MatC]; + // fbC = &DC[T *size_MatC]; + // ftC = &DC[B *size_MatC]; + // fswC = &DC[NE *size_MatC]; + // fneC = &DC[SW *size_MatC]; + // fnwC = &DC[SE *size_MatC]; + // fseC = &DC[NW *size_MatC]; + // fbwC = &DC[TE *size_MatC]; + // fteC = &DC[BW *size_MatC]; + // ftwC = &DC[BE *size_MatC]; + // fbeC = &DC[TW *size_MatC]; + // fbsC = &DC[TN *size_MatC]; + // ftnC = &DC[BS *size_MatC]; + // ftsC = &DC[BN *size_MatC]; + // fbnC = &DC[TS *size_MatC]; // fzeroC = &DC[dirREST*size_MatC]; - // fbswC = &DC[dirTNE *size_MatC]; - // fbneC = &DC[dirTSW *size_MatC]; - // fbnwC = &DC[dirTSE *size_MatC]; - // fbseC = &DC[dirTNW *size_MatC]; - // ftswC = &DC[dirBNE *size_MatC]; - // ftneC = &DC[dirBSW *size_MatC]; - // ftnwC = &DC[dirBSE *size_MatC]; - // ftseC = &DC[dirBNW *size_MatC]; + // fbswC = &DC[TNE *size_MatC]; + // fbneC = &DC[TSW *size_MatC]; + // fbnwC = &DC[TSE *size_MatC]; + // fbseC = &DC[TNW *size_MatC]; + // ftswC = &DC[BNE *size_MatC]; + // ftneC = &DC[BSW *size_MatC]; + // ftnwC = &DC[BSE *size_MatC]; + // ftseC = &DC[BNW *size_MatC]; // } // real rho_tmp; @@ -13295,96 +13295,96 @@ extern "C" __global__ void scaleFC_Fix_comp_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -15155,96 +15155,96 @@ extern "C" __global__ void scaleFC_NSPress_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -16361,96 +16361,96 @@ extern "C" __global__ void scaleFC_Fix_27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -17721,96 +17721,96 @@ extern "C" __global__ void scaleFCpress27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -18646,96 +18646,96 @@ extern "C" __global__ void scaleFCLast27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -20039,96 +20039,96 @@ extern "C" __global__ void scaleFCThSMG7( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } Distributions7 D7F; @@ -20911,96 +20911,96 @@ extern "C" __global__ void scaleFCThS7( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } Distributions7 D7F; @@ -21703,187 +21703,187 @@ extern "C" __global__ void scaleFCThS27( real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, //*fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; //fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, //*fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; //fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } Distributions27 D27F; - D27F.f[dirE ] = &DD27F[dirE *size_MatF]; - D27F.f[dirW ] = &DD27F[dirW *size_MatF]; - D27F.f[dirN ] = &DD27F[dirN *size_MatF]; - D27F.f[dirS ] = &DD27F[dirS *size_MatF]; - D27F.f[dirT ] = &DD27F[dirT *size_MatF]; - D27F.f[dirB ] = &DD27F[dirB *size_MatF]; - D27F.f[dirNE ] = &DD27F[dirNE *size_MatF]; - D27F.f[dirSW ] = &DD27F[dirSW *size_MatF]; - D27F.f[dirSE ] = &DD27F[dirSE *size_MatF]; - D27F.f[dirNW ] = &DD27F[dirNW *size_MatF]; - D27F.f[dirTE ] = &DD27F[dirTE *size_MatF]; - D27F.f[dirBW ] = &DD27F[dirBW *size_MatF]; - D27F.f[dirBE ] = &DD27F[dirBE *size_MatF]; - D27F.f[dirTW ] = &DD27F[dirTW *size_MatF]; - D27F.f[dirTN ] = &DD27F[dirTN *size_MatF]; - D27F.f[dirBS ] = &DD27F[dirBS *size_MatF]; - D27F.f[dirBN ] = &DD27F[dirBN *size_MatF]; - D27F.f[dirTS ] = &DD27F[dirTS *size_MatF]; + D27F.f[E ] = &DD27F[E *size_MatF]; + D27F.f[W ] = &DD27F[W *size_MatF]; + D27F.f[N ] = &DD27F[N *size_MatF]; + D27F.f[S ] = &DD27F[S *size_MatF]; + D27F.f[T ] = &DD27F[T *size_MatF]; + D27F.f[B ] = &DD27F[B *size_MatF]; + D27F.f[NE ] = &DD27F[NE *size_MatF]; + D27F.f[SW ] = &DD27F[SW *size_MatF]; + D27F.f[SE ] = &DD27F[SE *size_MatF]; + D27F.f[NW ] = &DD27F[NW *size_MatF]; + D27F.f[TE ] = &DD27F[TE *size_MatF]; + D27F.f[BW ] = &DD27F[BW *size_MatF]; + D27F.f[BE ] = &DD27F[BE *size_MatF]; + D27F.f[TW ] = &DD27F[TW *size_MatF]; + D27F.f[TN ] = &DD27F[TN *size_MatF]; + D27F.f[BS ] = &DD27F[BS *size_MatF]; + D27F.f[BN ] = &DD27F[BN *size_MatF]; + D27F.f[TS ] = &DD27F[TS *size_MatF]; D27F.f[dirREST] = &DD27F[dirREST*size_MatF]; - D27F.f[dirTNE ] = &DD27F[dirTNE *size_MatF]; - D27F.f[dirTSW ] = &DD27F[dirTSW *size_MatF]; - D27F.f[dirTSE ] = &DD27F[dirTSE *size_MatF]; - D27F.f[dirTNW ] = &DD27F[dirTNW *size_MatF]; - D27F.f[dirBNE ] = &DD27F[dirBNE *size_MatF]; - D27F.f[dirBSW ] = &DD27F[dirBSW *size_MatF]; - D27F.f[dirBSE ] = &DD27F[dirBSE *size_MatF]; - D27F.f[dirBNW ] = &DD27F[dirBNW *size_MatF]; + D27F.f[TNE ] = &DD27F[TNE *size_MatF]; + D27F.f[TSW ] = &DD27F[TSW *size_MatF]; + D27F.f[TSE ] = &DD27F[TSE *size_MatF]; + D27F.f[TNW ] = &DD27F[TNW *size_MatF]; + D27F.f[BNE ] = &DD27F[BNE *size_MatF]; + D27F.f[BSW ] = &DD27F[BSW *size_MatF]; + D27F.f[BSE ] = &DD27F[BSE *size_MatF]; + D27F.f[BNW ] = &DD27F[BNW *size_MatF]; Distributions27 D27C; if (isEvenTimestep==true) { - D27C.f[dirE ] = &DD27C[dirE *size_MatC]; - D27C.f[dirW ] = &DD27C[dirW *size_MatC]; - D27C.f[dirN ] = &DD27C[dirN *size_MatC]; - D27C.f[dirS ] = &DD27C[dirS *size_MatC]; - D27C.f[dirT ] = &DD27C[dirT *size_MatC]; - D27C.f[dirB ] = &DD27C[dirB *size_MatC]; - D27C.f[dirNE ] = &DD27C[dirNE *size_MatC]; - D27C.f[dirSW ] = &DD27C[dirSW *size_MatC]; - D27C.f[dirSE ] = &DD27C[dirSE *size_MatC]; - D27C.f[dirNW ] = &DD27C[dirNW *size_MatC]; - D27C.f[dirTE ] = &DD27C[dirTE *size_MatC]; - D27C.f[dirBW ] = &DD27C[dirBW *size_MatC]; - D27C.f[dirBE ] = &DD27C[dirBE *size_MatC]; - D27C.f[dirTW ] = &DD27C[dirTW *size_MatC]; - D27C.f[dirTN ] = &DD27C[dirTN *size_MatC]; - D27C.f[dirBS ] = &DD27C[dirBS *size_MatC]; - D27C.f[dirBN ] = &DD27C[dirBN *size_MatC]; - D27C.f[dirTS ] = &DD27C[dirTS *size_MatC]; + D27C.f[E ] = &DD27C[E *size_MatC]; + D27C.f[W ] = &DD27C[W *size_MatC]; + D27C.f[N ] = &DD27C[N *size_MatC]; + D27C.f[S ] = &DD27C[S *size_MatC]; + D27C.f[T ] = &DD27C[T *size_MatC]; + D27C.f[B ] = &DD27C[B *size_MatC]; + D27C.f[NE ] = &DD27C[NE *size_MatC]; + D27C.f[SW ] = &DD27C[SW *size_MatC]; + D27C.f[SE ] = &DD27C[SE *size_MatC]; + D27C.f[NW ] = &DD27C[NW *size_MatC]; + D27C.f[TE ] = &DD27C[TE *size_MatC]; + D27C.f[BW ] = &DD27C[BW *size_MatC]; + D27C.f[BE ] = &DD27C[BE *size_MatC]; + D27C.f[TW ] = &DD27C[TW *size_MatC]; + D27C.f[TN ] = &DD27C[TN *size_MatC]; + D27C.f[BS ] = &DD27C[BS *size_MatC]; + D27C.f[BN ] = &DD27C[BN *size_MatC]; + D27C.f[TS ] = &DD27C[TS *size_MatC]; D27C.f[dirREST] = &DD27C[dirREST*size_MatC]; - D27C.f[dirTNE ] = &DD27C[dirTNE *size_MatC]; - D27C.f[dirTSW ] = &DD27C[dirTSW *size_MatC]; - D27C.f[dirTSE ] = &DD27C[dirTSE *size_MatC]; - D27C.f[dirTNW ] = &DD27C[dirTNW *size_MatC]; - D27C.f[dirBNE ] = &DD27C[dirBNE *size_MatC]; - D27C.f[dirBSW ] = &DD27C[dirBSW *size_MatC]; - D27C.f[dirBSE ] = &DD27C[dirBSE *size_MatC]; - D27C.f[dirBNW ] = &DD27C[dirBNW *size_MatC]; + D27C.f[TNE ] = &DD27C[TNE *size_MatC]; + D27C.f[TSW ] = &DD27C[TSW *size_MatC]; + D27C.f[TSE ] = &DD27C[TSE *size_MatC]; + D27C.f[TNW ] = &DD27C[TNW *size_MatC]; + D27C.f[BNE ] = &DD27C[BNE *size_MatC]; + D27C.f[BSW ] = &DD27C[BSW *size_MatC]; + D27C.f[BSE ] = &DD27C[BSE *size_MatC]; + D27C.f[BNW ] = &DD27C[BNW *size_MatC]; } else { - D27C.f[dirW ] = &DD27C[dirE *size_MatC]; - D27C.f[dirE ] = &DD27C[dirW *size_MatC]; - D27C.f[dirS ] = &DD27C[dirN *size_MatC]; - D27C.f[dirN ] = &DD27C[dirS *size_MatC]; - D27C.f[dirB ] = &DD27C[dirT *size_MatC]; - D27C.f[dirT ] = &DD27C[dirB *size_MatC]; - D27C.f[dirSW ] = &DD27C[dirNE *size_MatC]; - D27C.f[dirNE ] = &DD27C[dirSW *size_MatC]; - D27C.f[dirNW ] = &DD27C[dirSE *size_MatC]; - D27C.f[dirSE ] = &DD27C[dirNW *size_MatC]; - D27C.f[dirBW ] = &DD27C[dirTE *size_MatC]; - D27C.f[dirTE ] = &DD27C[dirBW *size_MatC]; - D27C.f[dirTW ] = &DD27C[dirBE *size_MatC]; - D27C.f[dirBE ] = &DD27C[dirTW *size_MatC]; - D27C.f[dirBS ] = &DD27C[dirTN *size_MatC]; - D27C.f[dirTN ] = &DD27C[dirBS *size_MatC]; - D27C.f[dirTS ] = &DD27C[dirBN *size_MatC]; - D27C.f[dirBN ] = &DD27C[dirTS *size_MatC]; + D27C.f[W ] = &DD27C[E *size_MatC]; + D27C.f[E ] = &DD27C[W *size_MatC]; + D27C.f[S ] = &DD27C[N *size_MatC]; + D27C.f[N ] = &DD27C[S *size_MatC]; + D27C.f[B ] = &DD27C[T *size_MatC]; + D27C.f[T ] = &DD27C[B *size_MatC]; + D27C.f[SW ] = &DD27C[NE *size_MatC]; + D27C.f[NE ] = &DD27C[SW *size_MatC]; + D27C.f[NW ] = &DD27C[SE *size_MatC]; + D27C.f[SE ] = &DD27C[NW *size_MatC]; + D27C.f[BW ] = &DD27C[TE *size_MatC]; + D27C.f[TE ] = &DD27C[BW *size_MatC]; + D27C.f[TW ] = &DD27C[BE *size_MatC]; + D27C.f[BE ] = &DD27C[TW *size_MatC]; + D27C.f[BS ] = &DD27C[TN *size_MatC]; + D27C.f[TN ] = &DD27C[BS *size_MatC]; + D27C.f[TS ] = &DD27C[BN *size_MatC]; + D27C.f[BN ] = &DD27C[TS *size_MatC]; D27C.f[dirREST] = &DD27C[dirREST*size_MatC]; - D27C.f[dirBSW ] = &DD27C[dirTNE *size_MatC]; - D27C.f[dirBNE ] = &DD27C[dirTSW *size_MatC]; - D27C.f[dirBNW ] = &DD27C[dirTSE *size_MatC]; - D27C.f[dirBSE ] = &DD27C[dirTNW *size_MatC]; - D27C.f[dirTSW ] = &DD27C[dirBNE *size_MatC]; - D27C.f[dirTNE ] = &DD27C[dirBSW *size_MatC]; - D27C.f[dirTNW ] = &DD27C[dirBSE *size_MatC]; - D27C.f[dirTSE ] = &DD27C[dirBNW *size_MatC]; + D27C.f[BSW ] = &DD27C[TNE *size_MatC]; + D27C.f[BNE ] = &DD27C[TSW *size_MatC]; + D27C.f[BNW ] = &DD27C[TSE *size_MatC]; + D27C.f[BSE ] = &DD27C[TNW *size_MatC]; + D27C.f[TSW ] = &DD27C[BNE *size_MatC]; + D27C.f[TNE ] = &DD27C[BSW *size_MatC]; + D27C.f[TNW ] = &DD27C[BSE *size_MatC]; + D27C.f[TSE ] = &DD27C[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -21979,33 +21979,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_SWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22066,33 +22066,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_SWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22153,33 +22153,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_SET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22240,33 +22240,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_SEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22337,33 +22337,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_NWB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22424,33 +22424,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_NWT = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22511,33 +22511,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_NET = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22598,33 +22598,33 @@ extern "C" __global__ void scaleFCThS27( real* DC, f_BSE = fbseF[kbs]; f_BNW = fbnwF[kbw]; ////////////////////////////////////////////////////////////////////////////////// - f27E = (D27F.f[dirE ])[kzero];//ke - f27W = (D27F.f[dirW ])[kw ]; - f27N = (D27F.f[dirN ])[kzero];//kn - f27S = (D27F.f[dirS ])[ks ]; - f27T = (D27F.f[dirT ])[kzero];//kt - f27B = (D27F.f[dirB ])[kb ]; - f27NE = (D27F.f[dirNE ])[kzero];//kne - f27SW = (D27F.f[dirSW ])[ksw ]; - f27SE = (D27F.f[dirSE ])[ks ];//kse - f27NW = (D27F.f[dirNW ])[kw ];//knw - f27TE = (D27F.f[dirTE ])[kzero];//kte - f27BW = (D27F.f[dirBW ])[kbw ]; - f27BE = (D27F.f[dirBE ])[kb ];//kbe - f27TW = (D27F.f[dirTW ])[kw ];//ktw - f27TN = (D27F.f[dirTN ])[kzero];//ktn - f27BS = (D27F.f[dirBS ])[kbs ]; - f27BN = (D27F.f[dirBN ])[kb ];//kbn - f27TS = (D27F.f[dirTS ])[ks ];//kts + f27E = (D27F.f[E ])[kzero];//ke + f27W = (D27F.f[W ])[kw ]; + f27N = (D27F.f[N ])[kzero];//kn + f27S = (D27F.f[S ])[ks ]; + f27T = (D27F.f[T ])[kzero];//kt + f27B = (D27F.f[B ])[kb ]; + f27NE = (D27F.f[NE ])[kzero];//kne + f27SW = (D27F.f[SW ])[ksw ]; + f27SE = (D27F.f[SE ])[ks ];//kse + f27NW = (D27F.f[NW ])[kw ];//knw + f27TE = (D27F.f[TE ])[kzero];//kte + f27BW = (D27F.f[BW ])[kbw ]; + f27BE = (D27F.f[BE ])[kb ];//kbe + f27TW = (D27F.f[TW ])[kw ];//ktw + f27TN = (D27F.f[TN ])[kzero];//ktn + f27BS = (D27F.f[BS ])[kbs ]; + f27BN = (D27F.f[BN ])[kb ];//kbn + f27TS = (D27F.f[TS ])[ks ];//kts f27ZERO = (D27F.f[dirREST])[kzero];//kzero - f27TNE = (D27F.f[dirTNE ])[kzero];//ktne - f27TSW = (D27F.f[dirTSW ])[ksw ];//ktsw - f27TSE = (D27F.f[dirTSE ])[ks ];//ktse - f27TNW = (D27F.f[dirTNW ])[kw ];//ktnw - f27BNE = (D27F.f[dirBNE ])[kb ];//kbne - f27BSW = (D27F.f[dirBSW ])[kbsw ]; - f27BSE = (D27F.f[dirBSE ])[kbs ];//kbse - f27BNW = (D27F.f[dirBNW ])[kbw ];//kbnw + f27TNE = (D27F.f[TNE ])[kzero];//ktne + f27TSW = (D27F.f[TSW ])[ksw ];//ktsw + f27TSE = (D27F.f[TSE ])[ks ];//ktse + f27TNW = (D27F.f[TNW ])[kw ];//ktnw + f27BNE = (D27F.f[BNE ])[kb ];//kbne + f27BSW = (D27F.f[BSW ])[kbsw ]; + f27BSE = (D27F.f[BSE ])[kbs ];//kbse + f27BNW = (D27F.f[BNW ])[kbw ];//kbnw Conc_F_NEB = f27E + f27W + f27N + f27S + f27T + f27B + f27NE + f27SW + f27SE + f27NW + f27TE + f27BW + f27BE + f27TW + f27TN + f27BS + f27BN + f27TS + f27ZERO + @@ -22738,32 +22738,32 @@ extern "C" __global__ void scaleFCThS27( real* DC, cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27C.f[dirREST])[kzero] = c8o27* Conc_C*(c1o1-cu_sq); - (D27C.f[dirE ])[kzero] = c2o27* (c3o1*( Mx )+Conc_C*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D27C.f[dirW ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_C*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D27C.f[dirN ])[kzero] = c2o27* (c3o1*( My )+Conc_C*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D27C.f[dirS ])[ks ] = c2o27* (c3o1*( -My )+Conc_C*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D27C.f[dirT ])[kzero] = c2o27* (c3o1*( Mz)+Conc_C*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); - (D27C.f[dirB ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_C*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D27C.f[dirNE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_C*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D27C.f[dirSW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_C*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D27C.f[dirSE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_C*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D27C.f[dirNW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_C*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D27C.f[dirTE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_C*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D27C.f[dirBW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_C*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D27C.f[dirBE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_C*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D27C.f[dirTW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_C*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D27C.f[dirTN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_C*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D27C.f[dirBS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_C*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D27C.f[dirBN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_C*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D27C.f[dirTS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_C*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D27C.f[dirTNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D27C.f[dirBSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D27C.f[dirBNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D27C.f[dirTSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D27C.f[dirTSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D27C.f[dirBNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D27C.f[dirBSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D27C.f[dirTNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D27C.f[E ])[kzero] = c2o27* (c3o1*( Mx )+Conc_C*(c1o1+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D27C.f[W ])[kw ] = c2o27* (c3o1*(-Mx )+Conc_C*(c1o1+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D27C.f[N ])[kzero] = c2o27* (c3o1*( My )+Conc_C*(c1o1+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D27C.f[S ])[ks ] = c2o27* (c3o1*( -My )+Conc_C*(c1o1+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D27C.f[T ])[kzero] = c2o27* (c3o1*( Mz)+Conc_C*(c1o1+c9o2*( vx3)*( vx3)-cu_sq)); + (D27C.f[B ])[kb ] = c2o27* (c3o1*( -Mz)+Conc_C*(c1o1+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D27C.f[NE ])[kzero] = c1o54* (c3o1*( Mx +My )+Conc_C*(c1o1+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D27C.f[SW ])[ksw ] = c1o54* (c3o1*(-Mx -My )+Conc_C*(c1o1+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D27C.f[SE ])[ks ] = c1o54* (c3o1*( Mx -My )+Conc_C*(c1o1+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D27C.f[NW ])[kw ] = c1o54* (c3o1*(-Mx +My )+Conc_C*(c1o1+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D27C.f[TE ])[kzero] = c1o54* (c3o1*( Mx +Mz)+Conc_C*(c1o1+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D27C.f[BW ])[kbw ] = c1o54* (c3o1*(-Mx -Mz)+Conc_C*(c1o1+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D27C.f[BE ])[kb ] = c1o54* (c3o1*( Mx -Mz)+Conc_C*(c1o1+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D27C.f[TW ])[kw ] = c1o54* (c3o1*(-Mx +Mz)+Conc_C*(c1o1+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D27C.f[TN ])[kzero] = c1o54* (c3o1*( My +Mz)+Conc_C*(c1o1+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D27C.f[BS ])[kbs ] = c1o54* (c3o1*( -My -Mz)+Conc_C*(c1o1+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D27C.f[BN ])[kb ] = c1o54* (c3o1*( My -Mz)+Conc_C*(c1o1+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D27C.f[TS ])[ks ] = c1o54* (c3o1*( -My +Mz)+Conc_C*(c1o1+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D27C.f[TNE ])[kzero] = c1o216*(c3o1*( Mx +My +Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D27C.f[BSW ])[kbsw ] = c1o216*(c3o1*(-Mx -My -Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D27C.f[BNE ])[kb ] = c1o216*(c3o1*( Mx +My -Mz)+Conc_C*(c1o1+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D27C.f[TSW ])[ksw ] = c1o216*(c3o1*(-Mx -My +Mz)+Conc_C*(c1o1+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D27C.f[TSE ])[ks ] = c1o216*(c3o1*( Mx -My +Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D27C.f[BNW ])[kbw ] = c1o216*(c3o1*(-Mx +My -Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D27C.f[BSE ])[kbs ] = c1o216*(c3o1*( Mx -My -Mz)+Conc_C*(c1o1+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D27C.f[TNW ])[kw ] = c1o216*(c3o1*(-Mx +My +Mz)+Conc_C*(c1o1+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); } } @@ -22829,96 +22829,96 @@ extern "C" __global__ void scaleFCEff27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index @@ -23807,96 +23807,96 @@ extern "C" __global__ void scaleFC27(real* DC, real *feF, *fwF, *fnF, *fsF, *ftF, *fbF, *fneF, *fswF, *fseF, *fnwF, *fteF, *fbwF, *fbeF, *ftwF, *ftnF, *fbsF, *fbnF, *ftsF, *fzeroF, *ftneF, *ftswF, *ftseF, *ftnwF, *fbneF, *fbswF, *fbseF, *fbnwF; - feF = &DF[dirE *size_MatF]; - fwF = &DF[dirW *size_MatF]; - fnF = &DF[dirN *size_MatF]; - fsF = &DF[dirS *size_MatF]; - ftF = &DF[dirT *size_MatF]; - fbF = &DF[dirB *size_MatF]; - fneF = &DF[dirNE *size_MatF]; - fswF = &DF[dirSW *size_MatF]; - fseF = &DF[dirSE *size_MatF]; - fnwF = &DF[dirNW *size_MatF]; - fteF = &DF[dirTE *size_MatF]; - fbwF = &DF[dirBW *size_MatF]; - fbeF = &DF[dirBE *size_MatF]; - ftwF = &DF[dirTW *size_MatF]; - ftnF = &DF[dirTN *size_MatF]; - fbsF = &DF[dirBS *size_MatF]; - fbnF = &DF[dirBN *size_MatF]; - ftsF = &DF[dirTS *size_MatF]; + feF = &DF[E *size_MatF]; + fwF = &DF[W *size_MatF]; + fnF = &DF[N *size_MatF]; + fsF = &DF[S *size_MatF]; + ftF = &DF[T *size_MatF]; + fbF = &DF[B *size_MatF]; + fneF = &DF[NE *size_MatF]; + fswF = &DF[SW *size_MatF]; + fseF = &DF[SE *size_MatF]; + fnwF = &DF[NW *size_MatF]; + fteF = &DF[TE *size_MatF]; + fbwF = &DF[BW *size_MatF]; + fbeF = &DF[BE *size_MatF]; + ftwF = &DF[TW *size_MatF]; + ftnF = &DF[TN *size_MatF]; + fbsF = &DF[BS *size_MatF]; + fbnF = &DF[BN *size_MatF]; + ftsF = &DF[TS *size_MatF]; fzeroF = &DF[dirREST*size_MatF]; - ftneF = &DF[dirTNE *size_MatF]; - ftswF = &DF[dirTSW *size_MatF]; - ftseF = &DF[dirTSE *size_MatF]; - ftnwF = &DF[dirTNW *size_MatF]; - fbneF = &DF[dirBNE *size_MatF]; - fbswF = &DF[dirBSW *size_MatF]; - fbseF = &DF[dirBSE *size_MatF]; - fbnwF = &DF[dirBNW *size_MatF]; + ftneF = &DF[TNE *size_MatF]; + ftswF = &DF[TSW *size_MatF]; + ftseF = &DF[TSE *size_MatF]; + ftnwF = &DF[TNW *size_MatF]; + fbneF = &DF[BNE *size_MatF]; + fbswF = &DF[BSW *size_MatF]; + fbseF = &DF[BSE *size_MatF]; + fbnwF = &DF[BNW *size_MatF]; real *feC, *fwC, *fnC, *fsC, *ftC, *fbC, *fneC, *fswC, *fseC, *fnwC, *fteC, *fbwC, *fbeC, *ftwC, *ftnC, *fbsC, *fbnC, *ftsC, *fzeroC, *ftneC, *ftswC, *ftseC, *ftnwC, *fbneC, *fbswC, *fbseC, *fbnwC; if (isEvenTimestep==true) { - feC = &DC[dirE *size_MatC]; - fwC = &DC[dirW *size_MatC]; - fnC = &DC[dirN *size_MatC]; - fsC = &DC[dirS *size_MatC]; - ftC = &DC[dirT *size_MatC]; - fbC = &DC[dirB *size_MatC]; - fneC = &DC[dirNE *size_MatC]; - fswC = &DC[dirSW *size_MatC]; - fseC = &DC[dirSE *size_MatC]; - fnwC = &DC[dirNW *size_MatC]; - fteC = &DC[dirTE *size_MatC]; - fbwC = &DC[dirBW *size_MatC]; - fbeC = &DC[dirBE *size_MatC]; - ftwC = &DC[dirTW *size_MatC]; - ftnC = &DC[dirTN *size_MatC]; - fbsC = &DC[dirBS *size_MatC]; - fbnC = &DC[dirBN *size_MatC]; - ftsC = &DC[dirTS *size_MatC]; + feC = &DC[E *size_MatC]; + fwC = &DC[W *size_MatC]; + fnC = &DC[N *size_MatC]; + fsC = &DC[S *size_MatC]; + ftC = &DC[T *size_MatC]; + fbC = &DC[B *size_MatC]; + fneC = &DC[NE *size_MatC]; + fswC = &DC[SW *size_MatC]; + fseC = &DC[SE *size_MatC]; + fnwC = &DC[NW *size_MatC]; + fteC = &DC[TE *size_MatC]; + fbwC = &DC[BW *size_MatC]; + fbeC = &DC[BE *size_MatC]; + ftwC = &DC[TW *size_MatC]; + ftnC = &DC[TN *size_MatC]; + fbsC = &DC[BS *size_MatC]; + fbnC = &DC[BN *size_MatC]; + ftsC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - ftneC = &DC[dirTNE *size_MatC]; - ftswC = &DC[dirTSW *size_MatC]; - ftseC = &DC[dirTSE *size_MatC]; - ftnwC = &DC[dirTNW *size_MatC]; - fbneC = &DC[dirBNE *size_MatC]; - fbswC = &DC[dirBSW *size_MatC]; - fbseC = &DC[dirBSE *size_MatC]; - fbnwC = &DC[dirBNW *size_MatC]; + ftneC = &DC[TNE *size_MatC]; + ftswC = &DC[TSW *size_MatC]; + ftseC = &DC[TSE *size_MatC]; + ftnwC = &DC[TNW *size_MatC]; + fbneC = &DC[BNE *size_MatC]; + fbswC = &DC[BSW *size_MatC]; + fbseC = &DC[BSE *size_MatC]; + fbnwC = &DC[BNW *size_MatC]; } else { - fwC = &DC[dirE *size_MatC]; - feC = &DC[dirW *size_MatC]; - fsC = &DC[dirN *size_MatC]; - fnC = &DC[dirS *size_MatC]; - fbC = &DC[dirT *size_MatC]; - ftC = &DC[dirB *size_MatC]; - fswC = &DC[dirNE *size_MatC]; - fneC = &DC[dirSW *size_MatC]; - fnwC = &DC[dirSE *size_MatC]; - fseC = &DC[dirNW *size_MatC]; - fbwC = &DC[dirTE *size_MatC]; - fteC = &DC[dirBW *size_MatC]; - ftwC = &DC[dirBE *size_MatC]; - fbeC = &DC[dirTW *size_MatC]; - fbsC = &DC[dirTN *size_MatC]; - ftnC = &DC[dirBS *size_MatC]; - ftsC = &DC[dirBN *size_MatC]; - fbnC = &DC[dirTS *size_MatC]; + fwC = &DC[E *size_MatC]; + feC = &DC[W *size_MatC]; + fsC = &DC[N *size_MatC]; + fnC = &DC[S *size_MatC]; + fbC = &DC[T *size_MatC]; + ftC = &DC[B *size_MatC]; + fswC = &DC[NE *size_MatC]; + fneC = &DC[SW *size_MatC]; + fnwC = &DC[SE *size_MatC]; + fseC = &DC[NW *size_MatC]; + fbwC = &DC[TE *size_MatC]; + fteC = &DC[BW *size_MatC]; + ftwC = &DC[BE *size_MatC]; + fbeC = &DC[TW *size_MatC]; + fbsC = &DC[TN *size_MatC]; + ftnC = &DC[BS *size_MatC]; + ftsC = &DC[BN *size_MatC]; + fbnC = &DC[TS *size_MatC]; fzeroC = &DC[dirREST*size_MatC]; - fbswC = &DC[dirTNE *size_MatC]; - fbneC = &DC[dirTSW *size_MatC]; - fbnwC = &DC[dirTSE *size_MatC]; - fbseC = &DC[dirTNW *size_MatC]; - ftswC = &DC[dirBNE *size_MatC]; - ftneC = &DC[dirBSW *size_MatC]; - ftnwC = &DC[dirBSE *size_MatC]; - ftseC = &DC[dirBNW *size_MatC]; + fbswC = &DC[TNE *size_MatC]; + fbneC = &DC[TSW *size_MatC]; + fbnwC = &DC[TSE *size_MatC]; + fbseC = &DC[TNW *size_MatC]; + ftswC = &DC[BNE *size_MatC]; + ftneC = &DC[BSW *size_MatC]; + ftnwC = &DC[BSE *size_MatC]; + ftseC = &DC[BNW *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// const unsigned ix = threadIdx.x; // Globaler x-Index diff --git a/src/gpu/VirtualFluids_GPU/GPU/ScaleFC_F3_27.cu b/src/gpu/VirtualFluids_GPU/GPU/ScaleFC_F3_27.cu index 6e2c7e9b5..ec2e14074 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ScaleFC_F3_27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ScaleFC_F3_27.cu @@ -43,33 +43,33 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3_2018(real* DC, *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - fP00source = &DF[dirE *size_MatF]; - fM00source = &DF[dirW *size_MatF]; - f0P0source = &DF[dirN *size_MatF]; - f0M0source = &DF[dirS *size_MatF]; - f00Psource = &DF[dirT *size_MatF]; - f00Msource = &DF[dirB *size_MatF]; - fPP0source = &DF[dirNE *size_MatF]; - fMM0source = &DF[dirSW *size_MatF]; - fPM0source = &DF[dirSE *size_MatF]; - fMP0source = &DF[dirNW *size_MatF]; - fP0Psource = &DF[dirTE *size_MatF]; - fM0Msource = &DF[dirBW *size_MatF]; - fP0Msource = &DF[dirBE *size_MatF]; - fM0Psource = &DF[dirTW *size_MatF]; - f0PPsource = &DF[dirTN *size_MatF]; - f0MMsource = &DF[dirBS *size_MatF]; - f0PMsource = &DF[dirBN *size_MatF]; - f0MPsource = &DF[dirTS *size_MatF]; + fP00source = &DF[E *size_MatF]; + fM00source = &DF[W *size_MatF]; + f0P0source = &DF[N *size_MatF]; + f0M0source = &DF[S *size_MatF]; + f00Psource = &DF[T *size_MatF]; + f00Msource = &DF[B *size_MatF]; + fPP0source = &DF[NE *size_MatF]; + fMM0source = &DF[SW *size_MatF]; + fPM0source = &DF[SE *size_MatF]; + fMP0source = &DF[NW *size_MatF]; + fP0Psource = &DF[TE *size_MatF]; + fM0Msource = &DF[BW *size_MatF]; + fP0Msource = &DF[BE *size_MatF]; + fM0Psource = &DF[TW *size_MatF]; + f0PPsource = &DF[TN *size_MatF]; + f0MMsource = &DF[BS *size_MatF]; + f0PMsource = &DF[BN *size_MatF]; + f0MPsource = &DF[TS *size_MatF]; f000source = &DF[dirREST*size_MatF]; - fMMMsource = &DF[dirBSW *size_MatF]; - fMMPsource = &DF[dirTSW *size_MatF]; - fMPPsource = &DF[dirTNW *size_MatF]; - fMPMsource = &DF[dirBNW *size_MatF]; - fPPMsource = &DF[dirBNE *size_MatF]; - fPPPsource = &DF[dirTNE *size_MatF]; - fPMPsource = &DF[dirTSE *size_MatF]; - fPMMsource = &DF[dirBSE *size_MatF]; + fMMMsource = &DF[BSW *size_MatF]; + fMMPsource = &DF[TSW *size_MatF]; + fMPPsource = &DF[TNW *size_MatF]; + fMPMsource = &DF[BNW *size_MatF]; + fPPMsource = &DF[BNE *size_MatF]; + fPPPsource = &DF[TNE *size_MatF]; + fPMPsource = &DF[TSE *size_MatF]; + fPMMsource = &DF[BSE *size_MatF]; real *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, @@ -78,83 +78,83 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3_2018(real* DC, if (isEvenTimestep==true) { - fP00dest = &DC[dirE *size_MatC]; - fM00dest = &DC[dirW *size_MatC]; - f0P0dest = &DC[dirN *size_MatC]; - f0M0dest = &DC[dirS *size_MatC]; - f00Pdest = &DC[dirT *size_MatC]; - f00Mdest = &DC[dirB *size_MatC]; - fPP0dest = &DC[dirNE *size_MatC]; - fMM0dest = &DC[dirSW *size_MatC]; - fPM0dest = &DC[dirSE *size_MatC]; - fMP0dest = &DC[dirNW *size_MatC]; - fP0Pdest = &DC[dirTE *size_MatC]; - fM0Mdest = &DC[dirBW *size_MatC]; - fP0Mdest = &DC[dirBE *size_MatC]; - fM0Pdest = &DC[dirTW *size_MatC]; - f0PPdest = &DC[dirTN *size_MatC]; - f0MMdest = &DC[dirBS *size_MatC]; - f0PMdest = &DC[dirBN *size_MatC]; - f0MPdest = &DC[dirTS *size_MatC]; + fP00dest = &DC[E *size_MatC]; + fM00dest = &DC[W *size_MatC]; + f0P0dest = &DC[N *size_MatC]; + f0M0dest = &DC[S *size_MatC]; + f00Pdest = &DC[T *size_MatC]; + f00Mdest = &DC[B *size_MatC]; + fPP0dest = &DC[NE *size_MatC]; + fMM0dest = &DC[SW *size_MatC]; + fPM0dest = &DC[SE *size_MatC]; + fMP0dest = &DC[NW *size_MatC]; + fP0Pdest = &DC[TE *size_MatC]; + fM0Mdest = &DC[BW *size_MatC]; + fP0Mdest = &DC[BE *size_MatC]; + fM0Pdest = &DC[TW *size_MatC]; + f0PPdest = &DC[TN *size_MatC]; + f0MMdest = &DC[BS *size_MatC]; + f0PMdest = &DC[BN *size_MatC]; + f0MPdest = &DC[TS *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirBSW *size_MatC]; - fMMPdest = &DC[dirTSW *size_MatC]; - fMPPdest = &DC[dirTNW *size_MatC]; - fMPMdest = &DC[dirBNW *size_MatC]; - fPPMdest = &DC[dirBNE *size_MatC]; - fPPPdest = &DC[dirTNE *size_MatC]; - fPMPdest = &DC[dirTSE *size_MatC]; - fPMMdest = &DC[dirBSE *size_MatC]; + fMMMdest = &DC[BSW *size_MatC]; + fMMPdest = &DC[TSW *size_MatC]; + fMPPdest = &DC[TNW *size_MatC]; + fMPMdest = &DC[BNW *size_MatC]; + fPPMdest = &DC[BNE *size_MatC]; + fPPPdest = &DC[TNE *size_MatC]; + fPMPdest = &DC[TSE *size_MatC]; + fPMMdest = &DC[BSE *size_MatC]; } else { - fP00dest = &DC[dirW *size_MatC]; - fM00dest = &DC[dirE *size_MatC]; - f0P0dest = &DC[dirS *size_MatC]; - f0M0dest = &DC[dirN *size_MatC]; - f00Pdest = &DC[dirB *size_MatC]; - f00Mdest = &DC[dirT *size_MatC]; - fPP0dest = &DC[dirSW *size_MatC]; - fMM0dest = &DC[dirNE *size_MatC]; - fPM0dest = &DC[dirNW *size_MatC]; - fMP0dest = &DC[dirSE *size_MatC]; - fP0Pdest = &DC[dirBW *size_MatC]; - fM0Mdest = &DC[dirTE *size_MatC]; - fP0Mdest = &DC[dirTW *size_MatC]; - fM0Pdest = &DC[dirBE *size_MatC]; - f0PPdest = &DC[dirBS *size_MatC]; - f0MMdest = &DC[dirTN *size_MatC]; - f0PMdest = &DC[dirTS *size_MatC]; - f0MPdest = &DC[dirBN *size_MatC]; + fP00dest = &DC[W *size_MatC]; + fM00dest = &DC[E *size_MatC]; + f0P0dest = &DC[S *size_MatC]; + f0M0dest = &DC[N *size_MatC]; + f00Pdest = &DC[B *size_MatC]; + f00Mdest = &DC[T *size_MatC]; + fPP0dest = &DC[SW *size_MatC]; + fMM0dest = &DC[NE *size_MatC]; + fPM0dest = &DC[NW *size_MatC]; + fMP0dest = &DC[SE *size_MatC]; + fP0Pdest = &DC[BW *size_MatC]; + fM0Mdest = &DC[TE *size_MatC]; + fP0Mdest = &DC[TW *size_MatC]; + fM0Pdest = &DC[BE *size_MatC]; + f0PPdest = &DC[BS *size_MatC]; + f0MMdest = &DC[TN *size_MatC]; + f0PMdest = &DC[TS *size_MatC]; + f0MPdest = &DC[BN *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirTNE *size_MatC]; - fMMPdest = &DC[dirBNE *size_MatC]; - fMPPdest = &DC[dirBSE *size_MatC]; - fMPMdest = &DC[dirTSE *size_MatC]; - fPPMdest = &DC[dirTSW *size_MatC]; - fPPPdest = &DC[dirBSW *size_MatC]; - fPMPdest = &DC[dirBNW *size_MatC]; - fPMMdest = &DC[dirTNW *size_MatC]; + fMMMdest = &DC[TNE *size_MatC]; + fMMPdest = &DC[BNE *size_MatC]; + fMPPdest = &DC[BSE *size_MatC]; + fMPMdest = &DC[TSE *size_MatC]; + fPPMdest = &DC[TSW *size_MatC]; + fPPPdest = &DC[BSW *size_MatC]; + fPMPdest = &DC[BNW *size_MatC]; + fPMMdest = &DC[TNW *size_MatC]; } Distributions6 G; if (isEvenTimestep == true) { - G.g[dirE] = &G6[dirE *size_MatC]; - G.g[dirW] = &G6[dirW *size_MatC]; - G.g[dirN] = &G6[dirN *size_MatC]; - G.g[dirS] = &G6[dirS *size_MatC]; - G.g[dirT] = &G6[dirT *size_MatC]; - G.g[dirB] = &G6[dirB *size_MatC]; + G.g[E] = &G6[E *size_MatC]; + G.g[W] = &G6[W *size_MatC]; + G.g[N] = &G6[N *size_MatC]; + G.g[S] = &G6[S *size_MatC]; + G.g[T] = &G6[T *size_MatC]; + G.g[B] = &G6[B *size_MatC]; } else { - G.g[dirW] = &G6[dirE *size_MatC]; - G.g[dirE] = &G6[dirW *size_MatC]; - G.g[dirS] = &G6[dirN *size_MatC]; - G.g[dirN] = &G6[dirS *size_MatC]; - G.g[dirB] = &G6[dirT *size_MatC]; - G.g[dirT] = &G6[dirB *size_MatC]; + G.g[W] = &G6[E *size_MatC]; + G.g[E] = &G6[W *size_MatC]; + G.g[S] = &G6[N *size_MatC]; + G.g[N] = &G6[S *size_MatC]; + G.g[B] = &G6[T *size_MatC]; + G.g[T] = &G6[B *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -1167,12 +1167,12 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3_2018(real* DC, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; @@ -1290,33 +1290,33 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3( real* DC, *f000source, *fMMMsource, *fMMPsource, *fMPPsource, *fMPMsource, *fPPMsource, *fPPPsource, *fPMPsource, *fPMMsource; - fP00source = &DF[dirE *size_MatF]; - fM00source = &DF[dirW *size_MatF]; - f0P0source = &DF[dirN *size_MatF]; - f0M0source = &DF[dirS *size_MatF]; - f00Psource = &DF[dirT *size_MatF]; - f00Msource = &DF[dirB *size_MatF]; - fPP0source = &DF[dirNE *size_MatF]; - fMM0source = &DF[dirSW *size_MatF]; - fPM0source = &DF[dirSE *size_MatF]; - fMP0source = &DF[dirNW *size_MatF]; - fP0Psource = &DF[dirTE *size_MatF]; - fM0Msource = &DF[dirBW *size_MatF]; - fP0Msource = &DF[dirBE *size_MatF]; - fM0Psource = &DF[dirTW *size_MatF]; - f0PPsource = &DF[dirTN *size_MatF]; - f0MMsource = &DF[dirBS *size_MatF]; - f0PMsource = &DF[dirBN *size_MatF]; - f0MPsource = &DF[dirTS *size_MatF]; + fP00source = &DF[E *size_MatF]; + fM00source = &DF[W *size_MatF]; + f0P0source = &DF[N *size_MatF]; + f0M0source = &DF[S *size_MatF]; + f00Psource = &DF[T *size_MatF]; + f00Msource = &DF[B *size_MatF]; + fPP0source = &DF[NE *size_MatF]; + fMM0source = &DF[SW *size_MatF]; + fPM0source = &DF[SE *size_MatF]; + fMP0source = &DF[NW *size_MatF]; + fP0Psource = &DF[TE *size_MatF]; + fM0Msource = &DF[BW *size_MatF]; + fP0Msource = &DF[BE *size_MatF]; + fM0Psource = &DF[TW *size_MatF]; + f0PPsource = &DF[TN *size_MatF]; + f0MMsource = &DF[BS *size_MatF]; + f0PMsource = &DF[BN *size_MatF]; + f0MPsource = &DF[TS *size_MatF]; f000source = &DF[dirREST*size_MatF]; - fMMMsource = &DF[dirBSW *size_MatF]; - fMMPsource = &DF[dirTSW *size_MatF]; - fMPPsource = &DF[dirTNW *size_MatF]; - fMPMsource = &DF[dirBNW *size_MatF]; - fPPMsource = &DF[dirBNE *size_MatF]; - fPPPsource = &DF[dirTNE *size_MatF]; - fPMPsource = &DF[dirTSE *size_MatF]; - fPMMsource = &DF[dirBSE *size_MatF]; + fMMMsource = &DF[BSW *size_MatF]; + fMMPsource = &DF[TSW *size_MatF]; + fMPPsource = &DF[TNW *size_MatF]; + fMPMsource = &DF[BNW *size_MatF]; + fPPMsource = &DF[BNE *size_MatF]; + fPPPsource = &DF[TNE *size_MatF]; + fPMPsource = &DF[TSE *size_MatF]; + fPMMsource = &DF[BSE *size_MatF]; real *fP00dest, *fM00dest, *f0P0dest, *f0M0dest, *f00Pdest, *f00Mdest, *fPP0dest, *fMM0dest, *fPM0dest, @@ -1325,83 +1325,83 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3( real* DC, if (isEvenTimestep==true) { - fP00dest = &DC[dirE *size_MatC]; - fM00dest = &DC[dirW *size_MatC]; - f0P0dest = &DC[dirN *size_MatC]; - f0M0dest = &DC[dirS *size_MatC]; - f00Pdest = &DC[dirT *size_MatC]; - f00Mdest = &DC[dirB *size_MatC]; - fPP0dest = &DC[dirNE *size_MatC]; - fMM0dest = &DC[dirSW *size_MatC]; - fPM0dest = &DC[dirSE *size_MatC]; - fMP0dest = &DC[dirNW *size_MatC]; - fP0Pdest = &DC[dirTE *size_MatC]; - fM0Mdest = &DC[dirBW *size_MatC]; - fP0Mdest = &DC[dirBE *size_MatC]; - fM0Pdest = &DC[dirTW *size_MatC]; - f0PPdest = &DC[dirTN *size_MatC]; - f0MMdest = &DC[dirBS *size_MatC]; - f0PMdest = &DC[dirBN *size_MatC]; - f0MPdest = &DC[dirTS *size_MatC]; + fP00dest = &DC[E *size_MatC]; + fM00dest = &DC[W *size_MatC]; + f0P0dest = &DC[N *size_MatC]; + f0M0dest = &DC[S *size_MatC]; + f00Pdest = &DC[T *size_MatC]; + f00Mdest = &DC[B *size_MatC]; + fPP0dest = &DC[NE *size_MatC]; + fMM0dest = &DC[SW *size_MatC]; + fPM0dest = &DC[SE *size_MatC]; + fMP0dest = &DC[NW *size_MatC]; + fP0Pdest = &DC[TE *size_MatC]; + fM0Mdest = &DC[BW *size_MatC]; + fP0Mdest = &DC[BE *size_MatC]; + fM0Pdest = &DC[TW *size_MatC]; + f0PPdest = &DC[TN *size_MatC]; + f0MMdest = &DC[BS *size_MatC]; + f0PMdest = &DC[BN *size_MatC]; + f0MPdest = &DC[TS *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirBSW *size_MatC]; - fMMPdest = &DC[dirTSW *size_MatC]; - fMPPdest = &DC[dirTNW *size_MatC]; - fMPMdest = &DC[dirBNW *size_MatC]; - fPPMdest = &DC[dirBNE *size_MatC]; - fPPPdest = &DC[dirTNE *size_MatC]; - fPMPdest = &DC[dirTSE *size_MatC]; - fPMMdest = &DC[dirBSE *size_MatC]; + fMMMdest = &DC[BSW *size_MatC]; + fMMPdest = &DC[TSW *size_MatC]; + fMPPdest = &DC[TNW *size_MatC]; + fMPMdest = &DC[BNW *size_MatC]; + fPPMdest = &DC[BNE *size_MatC]; + fPPPdest = &DC[TNE *size_MatC]; + fPMPdest = &DC[TSE *size_MatC]; + fPMMdest = &DC[BSE *size_MatC]; } else { - fP00dest = &DC[dirW *size_MatC]; - fM00dest = &DC[dirE *size_MatC]; - f0P0dest = &DC[dirS *size_MatC]; - f0M0dest = &DC[dirN *size_MatC]; - f00Pdest = &DC[dirB *size_MatC]; - f00Mdest = &DC[dirT *size_MatC]; - fPP0dest = &DC[dirSW *size_MatC]; - fMM0dest = &DC[dirNE *size_MatC]; - fPM0dest = &DC[dirNW *size_MatC]; - fMP0dest = &DC[dirSE *size_MatC]; - fP0Pdest = &DC[dirBW *size_MatC]; - fM0Mdest = &DC[dirTE *size_MatC]; - fP0Mdest = &DC[dirTW *size_MatC]; - fM0Pdest = &DC[dirBE *size_MatC]; - f0PPdest = &DC[dirBS *size_MatC]; - f0MMdest = &DC[dirTN *size_MatC]; - f0PMdest = &DC[dirTS *size_MatC]; - f0MPdest = &DC[dirBN *size_MatC]; + fP00dest = &DC[W *size_MatC]; + fM00dest = &DC[E *size_MatC]; + f0P0dest = &DC[S *size_MatC]; + f0M0dest = &DC[N *size_MatC]; + f00Pdest = &DC[B *size_MatC]; + f00Mdest = &DC[T *size_MatC]; + fPP0dest = &DC[SW *size_MatC]; + fMM0dest = &DC[NE *size_MatC]; + fPM0dest = &DC[NW *size_MatC]; + fMP0dest = &DC[SE *size_MatC]; + fP0Pdest = &DC[BW *size_MatC]; + fM0Mdest = &DC[TE *size_MatC]; + fP0Mdest = &DC[TW *size_MatC]; + fM0Pdest = &DC[BE *size_MatC]; + f0PPdest = &DC[BS *size_MatC]; + f0MMdest = &DC[TN *size_MatC]; + f0PMdest = &DC[TS *size_MatC]; + f0MPdest = &DC[BN *size_MatC]; f000dest = &DC[dirREST*size_MatC]; - fMMMdest = &DC[dirTNE *size_MatC]; - fMMPdest = &DC[dirBNE *size_MatC]; - fMPPdest = &DC[dirBSE *size_MatC]; - fMPMdest = &DC[dirTSE *size_MatC]; - fPPMdest = &DC[dirTSW *size_MatC]; - fPPPdest = &DC[dirBSW *size_MatC]; - fPMPdest = &DC[dirBNW *size_MatC]; - fPMMdest = &DC[dirTNW *size_MatC]; + fMMMdest = &DC[TNE *size_MatC]; + fMMPdest = &DC[BNE *size_MatC]; + fMPPdest = &DC[BSE *size_MatC]; + fMPMdest = &DC[TSE *size_MatC]; + fPPMdest = &DC[TSW *size_MatC]; + fPPPdest = &DC[BSW *size_MatC]; + fPMPdest = &DC[BNW *size_MatC]; + fPMMdest = &DC[TNW *size_MatC]; } Distributions6 G; if (isEvenTimestep == true) { - G.g[dirE] = &G6[dirE *size_MatC]; - G.g[dirW] = &G6[dirW *size_MatC]; - G.g[dirN] = &G6[dirN *size_MatC]; - G.g[dirS] = &G6[dirS *size_MatC]; - G.g[dirT] = &G6[dirT *size_MatC]; - G.g[dirB] = &G6[dirB *size_MatC]; + G.g[E] = &G6[E *size_MatC]; + G.g[W] = &G6[W *size_MatC]; + G.g[N] = &G6[N *size_MatC]; + G.g[S] = &G6[S *size_MatC]; + G.g[T] = &G6[T *size_MatC]; + G.g[B] = &G6[B *size_MatC]; } else { - G.g[dirW] = &G6[dirE *size_MatC]; - G.g[dirE] = &G6[dirW *size_MatC]; - G.g[dirS] = &G6[dirN *size_MatC]; - G.g[dirN] = &G6[dirS *size_MatC]; - G.g[dirB] = &G6[dirT *size_MatC]; - G.g[dirT] = &G6[dirB *size_MatC]; + G.g[W] = &G6[E *size_MatC]; + G.g[E] = &G6[W *size_MatC]; + G.g[S] = &G6[N *size_MatC]; + G.g[N] = &G6[S *size_MatC]; + G.g[B] = &G6[T *size_MatC]; + G.g[T] = &G6[B *size_MatC]; } //////////////////////////////////////////////////////////////////////////////// @@ -2408,12 +2408,12 @@ extern "C" __global__ void scaleFC_comp_D3Q27F3( real* DC, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (G.g[dirE])[k000] = mgcbb; - (G.g[dirW])[kM00] = mgabb; - (G.g[dirN])[k000] = mgbcb; - (G.g[dirS])[k0M0] = mgbab; - (G.g[dirT])[k000] = mgbbc; - (G.g[dirB])[k00M] = mgbba; + (G.g[E])[k000] = mgcbb; + (G.g[W])[kM00] = mgabb; + (G.g[N])[k000] = mgbcb; + (G.g[S])[k0M0] = mgbab; + (G.g[T])[k000] = mgbbc; + (G.g[B])[k00M] = mgbba; //////////////////////////////////////////////////////////////////////////////////// fP00dest[k000] = mfcbb; fM00dest[kM00] = mfabb; diff --git a/src/gpu/VirtualFluids_GPU/GPU/SchlafferBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/SchlafferBCs27.cu index c6c3255ab..9ff4f8ec1 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/SchlafferBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/SchlafferBCs27.cu @@ -70,94 +70,94 @@ extern "C" __global__ void PressSchlaff27(real* rhoBC, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO,f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_E = (D.f[dirE ])[ke ]; - f1_W = (D.f[dirW ])[kw ]; - f1_N = (D.f[dirN ])[kn ]; - f1_S = (D.f[dirS ])[ks ]; - f1_T = (D.f[dirT ])[kt ]; - f1_B = (D.f[dirB ])[kb ]; - f1_NE = (D.f[dirNE ])[kne ]; - f1_SW = (D.f[dirSW ])[ksw ]; - f1_SE = (D.f[dirSE ])[kse ]; - f1_NW = (D.f[dirNW ])[knw ]; - f1_TE = (D.f[dirTE ])[kte ]; - f1_BW = (D.f[dirBW ])[kbw ]; - f1_BE = (D.f[dirBE ])[kbe ]; - f1_TW = (D.f[dirTW ])[ktw ]; - f1_TN = (D.f[dirTN ])[ktn ]; - f1_BS = (D.f[dirBS ])[kbs ]; - f1_BN = (D.f[dirBN ])[kbn ]; - f1_TS = (D.f[dirTS ])[kts ]; + f1_E = (D.f[E ])[ke ]; + f1_W = (D.f[W ])[kw ]; + f1_N = (D.f[N ])[kn ]; + f1_S = (D.f[S ])[ks ]; + f1_T = (D.f[T ])[kt ]; + f1_B = (D.f[B ])[kb ]; + f1_NE = (D.f[NE ])[kne ]; + f1_SW = (D.f[SW ])[ksw ]; + f1_SE = (D.f[SE ])[kse ]; + f1_NW = (D.f[NW ])[knw ]; + f1_TE = (D.f[TE ])[kte ]; + f1_BW = (D.f[BW ])[kbw ]; + f1_BE = (D.f[BE ])[kbe ]; + f1_TW = (D.f[TW ])[ktw ]; + f1_TN = (D.f[TN ])[ktn ]; + f1_BS = (D.f[BS ])[kbs ]; + f1_BN = (D.f[BN ])[kbn ]; + f1_TS = (D.f[TS ])[kts ]; f1_ZERO = (D.f[dirREST])[kzero]; - f1_TNE = (D.f[dirTNE ])[ktne ]; - f1_TSW = (D.f[dirTSW ])[ktsw ]; - f1_TSE = (D.f[dirTSE ])[ktse ]; - f1_TNW = (D.f[dirTNW ])[ktnw ]; - f1_BNE = (D.f[dirBNE ])[kbne ]; - f1_BSW = (D.f[dirBSW ])[kbsw ]; - f1_BSE = (D.f[dirBSE ])[kbse ]; - f1_BNW = (D.f[dirBNW ])[kbnw ]; + f1_TNE = (D.f[TNE ])[ktne ]; + f1_TSW = (D.f[TSW ])[ktsw ]; + f1_TSE = (D.f[TSE ])[ktse ]; + f1_TNW = (D.f[TNW ])[ktnw ]; + f1_BNE = (D.f[BNE ])[kbne ]; + f1_BSW = (D.f[BSW ])[kbsw ]; + f1_BSE = (D.f[BSE ])[kbse ]; + f1_BNW = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// real cs = c1o1/sqrt(c3o1); real csp1 = cs + c1o1; @@ -221,15 +221,15 @@ extern "C" __global__ void PressSchlaff27(real* rhoBC, deltaVz0[k] = tempDeltaV; - (D.f[dirB ])[kb ] = f1_B ; - (D.f[dirBW ])[kbw ] = f1_BW ; - (D.f[dirBE ])[kbe ] = f1_BE ; - (D.f[dirBS ])[kbs ] = f1_BS ; - (D.f[dirBN ])[kbn ] = f1_BN ; - (D.f[dirBNE ])[kbne ] = f1_BNE ; - (D.f[dirBSW ])[kbsw ] = f1_BSW ; - (D.f[dirBSE ])[kbse ] = f1_BSE ; - (D.f[dirBNW ])[kbnw ] = f1_BNW ; + (D.f[B ])[kb ] = f1_B ; + (D.f[BW ])[kbw ] = f1_BW ; + (D.f[BE ])[kbe ] = f1_BE ; + (D.f[BS ])[kbs ] = f1_BS ; + (D.f[BN ])[kbn ] = f1_BN ; + (D.f[BNE ])[kbne ] = f1_BNE ; + (D.f[BSW ])[kbsw ] = f1_BSW ; + (D.f[BSE ])[kbse ] = f1_BSE ; + (D.f[BNW ])[kbnw ] = f1_BNW ; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -334,122 +334,122 @@ extern "C" __global__ void VelSchlaff27( int t, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_E = (D.f[dirE ])[ke ]; - f1_W = (D.f[dirW ])[kw ]; - f1_N = (D.f[dirN ])[kn ]; - f1_S = (D.f[dirS ])[ks ]; - f1_T = (D.f[dirT ])[kt ]; - f1_B = (D.f[dirB ])[kb ]; - f1_NE = (D.f[dirNE ])[kne ]; - f1_SW = (D.f[dirSW ])[ksw ]; - f1_SE = (D.f[dirSE ])[kse ]; - f1_NW = (D.f[dirNW ])[knw ]; - f1_TE = (D.f[dirTE ])[kte ]; - f1_BW = (D.f[dirBW ])[kbw ]; - f1_BE = (D.f[dirBE ])[kbe ]; - f1_TW = (D.f[dirTW ])[ktw ]; - f1_TN = (D.f[dirTN ])[ktn ]; - f1_BS = (D.f[dirBS ])[kbs ]; - f1_BN = (D.f[dirBN ])[kbn ]; - f1_TS = (D.f[dirTS ])[kts ]; + f1_E = (D.f[E ])[ke ]; + f1_W = (D.f[W ])[kw ]; + f1_N = (D.f[N ])[kn ]; + f1_S = (D.f[S ])[ks ]; + f1_T = (D.f[T ])[kt ]; + f1_B = (D.f[B ])[kb ]; + f1_NE = (D.f[NE ])[kne ]; + f1_SW = (D.f[SW ])[ksw ]; + f1_SE = (D.f[SE ])[kse ]; + f1_NW = (D.f[NW ])[knw ]; + f1_TE = (D.f[TE ])[kte ]; + f1_BW = (D.f[BW ])[kbw ]; + f1_BE = (D.f[BE ])[kbe ]; + f1_TW = (D.f[TW ])[ktw ]; + f1_TN = (D.f[TN ])[ktn ]; + f1_BS = (D.f[BS ])[kbs ]; + f1_BN = (D.f[BN ])[kbn ]; + f1_TS = (D.f[TS ])[kts ]; f1_ZERO = (D.f[dirREST])[kzero]; - f1_TNE = (D.f[dirTNE ])[ktne ]; - f1_TSW = (D.f[dirTSW ])[ktsw ]; - f1_TSE = (D.f[dirTSE ])[ktse ]; - f1_TNW = (D.f[dirTNW ])[ktnw ]; - f1_BNE = (D.f[dirBNE ])[kbne ]; - f1_BSW = (D.f[dirBSW ])[kbsw ]; - f1_BSE = (D.f[dirBSE ])[kbse ]; - f1_BNW = (D.f[dirBNW ])[kbnw ]; - //f1_W = (D.f[dirE ])[ke ]; - //f1_E = (D.f[dirW ])[kw ]; - //f1_S = (D.f[dirN ])[kn ]; - //f1_N = (D.f[dirS ])[ks ]; - //f1_B = (D.f[dirT ])[kt ]; - //f1_T = (D.f[dirB ])[kb ]; - //f1_SW = (D.f[dirNE ])[kne ]; - //f1_NE = (D.f[dirSW ])[ksw ]; - //f1_NW = (D.f[dirSE ])[kse ]; - //f1_SE = (D.f[dirNW ])[knw ]; - //f1_BW = (D.f[dirTE ])[kte ]; - //f1_TE = (D.f[dirBW ])[kbw ]; - //f1_TW = (D.f[dirBE ])[kbe ]; - //f1_BE = (D.f[dirTW ])[ktw ]; - //f1_BS = (D.f[dirTN ])[ktn ]; - //f1_TN = (D.f[dirBS ])[kbs ]; - //f1_TS = (D.f[dirBN ])[kbn ]; - //f1_BN = (D.f[dirTS ])[kts ]; + f1_TNE = (D.f[TNE ])[ktne ]; + f1_TSW = (D.f[TSW ])[ktsw ]; + f1_TSE = (D.f[TSE ])[ktse ]; + f1_TNW = (D.f[TNW ])[ktnw ]; + f1_BNE = (D.f[BNE ])[kbne ]; + f1_BSW = (D.f[BSW ])[kbsw ]; + f1_BSE = (D.f[BSE ])[kbse ]; + f1_BNW = (D.f[BNW ])[kbnw ]; + //f1_W = (D.f[E ])[ke ]; + //f1_E = (D.f[W ])[kw ]; + //f1_S = (D.f[N ])[kn ]; + //f1_N = (D.f[S ])[ks ]; + //f1_B = (D.f[T ])[kt ]; + //f1_T = (D.f[B ])[kb ]; + //f1_SW = (D.f[NE ])[kne ]; + //f1_NE = (D.f[SW ])[ksw ]; + //f1_NW = (D.f[SE ])[kse ]; + //f1_SE = (D.f[NW ])[knw ]; + //f1_BW = (D.f[TE ])[kte ]; + //f1_TE = (D.f[BW ])[kbw ]; + //f1_TW = (D.f[BE ])[kbe ]; + //f1_BE = (D.f[TW ])[ktw ]; + //f1_BS = (D.f[TN ])[ktn ]; + //f1_TN = (D.f[BS ])[kbs ]; + //f1_TS = (D.f[BN ])[kbn ]; + //f1_BN = (D.f[TS ])[kts ]; //f1_ZERO = (D.f[dirREST])[kzero]; - //f1_BSW = (D.f[dirTNE ])[ktne ]; - //f1_BNE = (D.f[dirTSW ])[ktsw ]; - //f1_BNW = (D.f[dirTSE ])[ktse ]; - //f1_BSE = (D.f[dirTNW ])[ktnw ]; - //f1_TSW = (D.f[dirBNE ])[kbne ]; - //f1_TNE = (D.f[dirBSW ])[kbsw ]; - //f1_TNW = (D.f[dirBSE ])[kbse ]; - //f1_TSE = (D.f[dirBNW ])[kbnw ]; + //f1_BSW = (D.f[TNE ])[ktne ]; + //f1_BNE = (D.f[TSW ])[ktsw ]; + //f1_BNW = (D.f[TSE ])[ktse ]; + //f1_BSE = (D.f[TNW ])[ktnw ]; + //f1_TSW = (D.f[BNE ])[kbne ]; + //f1_TNE = (D.f[BSW ])[kbsw ]; + //f1_TNW = (D.f[BSE ])[kbse ]; + //f1_TSE = (D.f[BNW ])[kbnw ]; ////////////////////////////////////////////////////////////////////////// real cs = c1o1/sqrt(c3o1); real csp1 = cs + c1o1; @@ -521,64 +521,64 @@ extern "C" __global__ void VelSchlaff27( int t, f1_TNW = f1_BSE - c1o36 * (VX - VY - VZ); deltaVz0[k] = tempDeltaV; - (D.f[dirT ])[kt ] = f1_T ; - (D.f[dirTE ])[kte ] = f1_TE ; - (D.f[dirTW ])[ktw ] = f1_TW ; - (D.f[dirTN ])[ktn ] = f1_TN ; - (D.f[dirTS ])[kts ] = f1_TS ; - (D.f[dirTNE ])[ktne ] = f1_TNE; - (D.f[dirTSW ])[ktsw ] = f1_TSW; - (D.f[dirTSE ])[ktse ] = f1_TSE; - (D.f[dirTNW ])[ktnw ] = f1_TNW; - - //(D.f[dirB ])[kb ] = f1_B ; - //(D.f[dirBW ])[kbw ] = f1_BW ; - //(D.f[dirBE ])[kbe ] = f1_BE ; - //(D.f[dirBS ])[kbs ] = f1_BS ; - //(D.f[dirBN ])[kbn ] = f1_BN ; - //(D.f[dirBNE ])[kbne ] = f1_BNE ; - //(D.f[dirBSW ])[kbsw ] = f1_BSW ; - //(D.f[dirBSE ])[kbse ] = f1_BSE ; - //(D.f[dirBNW ])[kbnw ] = f1_BNW ; - - - //(D.f[dirT ])[kt ] = f1_B ; - //(D.f[dirTE ])[kte ] = f1_BW ; - //(D.f[dirTW ])[ktw ] = f1_BE ; - //(D.f[dirTN ])[ktn ] = f1_BS ; - //(D.f[dirTS ])[kts ] = f1_BN ; - //(D.f[dirTNE ])[ktne ] = f1_BSW; - //(D.f[dirTSW ])[ktsw ] = f1_BNE; - //(D.f[dirTSE ])[ktse ] = f1_BNW; - //(D.f[dirTNW ])[ktnw ] = f1_BSE; - - //(D.f[dirE ])[ke ] = f1_W -c2over27*drho1; - //(D.f[dirW ])[kw ] = f1_E -c2over27*drho1; - //(D.f[dirN ])[kn ] = f1_S -c2over27*drho1; - //(D.f[dirS ])[ks ] = f1_N -c2over27*drho1; - //(D.f[dirT ])[kt ] = f1_B -c2over27*drho1; - //(D.f[dirB ])[kb ] = f1_T -c2over27*drho1; - //(D.f[dirNE ])[kne ] = f1_SW -c1over54*drho1; - //(D.f[dirSW ])[ksw ] = f1_NE -c1over54*drho1; - //(D.f[dirSE ])[kse ] = f1_NW -c1over54*drho1; - //(D.f[dirNW ])[knw ] = f1_SE -c1over54*drho1; - //(D.f[dirTE ])[kte ] = f1_BW -c1over54*drho1; - //(D.f[dirBW ])[kbw ] = f1_TE -c1over54*drho1; - //(D.f[dirBE ])[kbe ] = f1_TW -c1over54*drho1; - //(D.f[dirTW ])[ktw ] = f1_BE -c1over54*drho1; - //(D.f[dirTN ])[ktn ] = f1_BS -c1over54*drho1; - //(D.f[dirBS ])[kbs ] = f1_TN -c1over54*drho1; - //(D.f[dirBN ])[kbn ] = f1_TS -c1over54*drho1; - //(D.f[dirTS ])[kts ] = f1_BN -c1over54*drho1; + (D.f[T ])[kt ] = f1_T ; + (D.f[TE ])[kte ] = f1_TE ; + (D.f[TW ])[ktw ] = f1_TW ; + (D.f[TN ])[ktn ] = f1_TN ; + (D.f[TS ])[kts ] = f1_TS ; + (D.f[TNE ])[ktne ] = f1_TNE; + (D.f[TSW ])[ktsw ] = f1_TSW; + (D.f[TSE ])[ktse ] = f1_TSE; + (D.f[TNW ])[ktnw ] = f1_TNW; + + //(D.f[B ])[kb ] = f1_B ; + //(D.f[BW ])[kbw ] = f1_BW ; + //(D.f[BE ])[kbe ] = f1_BE ; + //(D.f[BS ])[kbs ] = f1_BS ; + //(D.f[BN ])[kbn ] = f1_BN ; + //(D.f[BNE ])[kbne ] = f1_BNE ; + //(D.f[BSW ])[kbsw ] = f1_BSW ; + //(D.f[BSE ])[kbse ] = f1_BSE ; + //(D.f[BNW ])[kbnw ] = f1_BNW ; + + + //(D.f[T ])[kt ] = f1_B ; + //(D.f[TE ])[kte ] = f1_BW ; + //(D.f[TW ])[ktw ] = f1_BE ; + //(D.f[TN ])[ktn ] = f1_BS ; + //(D.f[TS ])[kts ] = f1_BN ; + //(D.f[TNE ])[ktne ] = f1_BSW; + //(D.f[TSW ])[ktsw ] = f1_BNE; + //(D.f[TSE ])[ktse ] = f1_BNW; + //(D.f[TNW ])[ktnw ] = f1_BSE; + + //(D.f[E ])[ke ] = f1_W -c2over27*drho1; + //(D.f[W ])[kw ] = f1_E -c2over27*drho1; + //(D.f[N ])[kn ] = f1_S -c2over27*drho1; + //(D.f[S ])[ks ] = f1_N -c2over27*drho1; + //(D.f[T ])[kt ] = f1_B -c2over27*drho1; + //(D.f[B ])[kb ] = f1_T -c2over27*drho1; + //(D.f[NE ])[kne ] = f1_SW -c1over54*drho1; + //(D.f[SW ])[ksw ] = f1_NE -c1over54*drho1; + //(D.f[SE ])[kse ] = f1_NW -c1over54*drho1; + //(D.f[NW ])[knw ] = f1_SE -c1over54*drho1; + //(D.f[TE ])[kte ] = f1_BW -c1over54*drho1; + //(D.f[BW ])[kbw ] = f1_TE -c1over54*drho1; + //(D.f[BE ])[kbe ] = f1_TW -c1over54*drho1; + //(D.f[TW ])[ktw ] = f1_BE -c1over54*drho1; + //(D.f[TN ])[ktn ] = f1_BS -c1over54*drho1; + //(D.f[BS ])[kbs ] = f1_TN -c1over54*drho1; + //(D.f[BN ])[kbn ] = f1_TS -c1over54*drho1; + //(D.f[TS ])[kts ] = f1_BN -c1over54*drho1; //(D.f[dirREST])[kzero] = f1_ZERO-c8over27*drho1; - //(D.f[dirTNE ])[ktne ] = f1_BSW -c1over216*drho1; - //(D.f[dirTSW ])[ktsw ] = f1_BNE -c1over216*drho1; - //(D.f[dirTSE ])[ktse ] = f1_BNW -c1over216*drho1; - //(D.f[dirTNW ])[ktnw ] = f1_BSE -c1over216*drho1; - //(D.f[dirBNE ])[kbne ] = f1_TSW -c1over216*drho1; - //(D.f[dirBSW ])[kbsw ] = f1_TNE -c1over216*drho1; - //(D.f[dirBSE ])[kbse ] = f1_TNW -c1over216*drho1; - //(D.f[dirBNW ])[kbnw ] = f1_TSE -c1over216*drho1; + //(D.f[TNE ])[ktne ] = f1_BSW -c1over216*drho1; + //(D.f[TSW ])[ktsw ] = f1_BNE -c1over216*drho1; + //(D.f[TSE ])[ktse ] = f1_BNW -c1over216*drho1; + //(D.f[TNW ])[ktnw ] = f1_BSE -c1over216*drho1; + //(D.f[BNE ])[kbne ] = f1_TSW -c1over216*drho1; + //(D.f[BSW ])[kbsw ] = f1_TNE -c1over216*drho1; + //(D.f[BSE ])[kbse ] = f1_TNW -c1over216*drho1; + //(D.f[BNW ])[kbnw ] = f1_TSE -c1over216*drho1; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/SetForcing27.cu b/src/gpu/VirtualFluids_GPU/GPU/SetForcing27.cu index a16aaa8ca..f5019babf 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/SetForcing27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/SetForcing27.cu @@ -21,63 +21,63 @@ extern "C" __global__ void GetVeloforForcing27( real* DD, Distributions27 D; if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -122,33 +122,33 @@ extern "C" __global__ void GetVeloforForcing27( real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[ke ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[kn ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[kt ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[kne ]; - real mfaab = (D.f[dirSW ])[ksw ]; - real mfcab = (D.f[dirSE ])[kse ]; - real mfacb = (D.f[dirNW ])[knw ]; - real mfcbc = (D.f[dirTE ])[kte ]; - real mfaba = (D.f[dirBW ])[kbw ]; - real mfcba = (D.f[dirBE ])[kbe ]; - real mfabc = (D.f[dirTW ])[ktw ]; - real mfbcc = (D.f[dirTN ])[ktn ]; - real mfbaa = (D.f[dirBS ])[kbs ]; - real mfbca = (D.f[dirBN ])[kbn ]; - real mfbac = (D.f[dirTS ])[kts ]; + real mfcbb = (D.f[E ])[ke ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[kn ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[kt ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[kne ]; + real mfaab = (D.f[SW ])[ksw ]; + real mfcab = (D.f[SE ])[kse ]; + real mfacb = (D.f[NW ])[knw ]; + real mfcbc = (D.f[TE ])[kte ]; + real mfaba = (D.f[BW ])[kbw ]; + real mfcba = (D.f[BE ])[kbe ]; + real mfabc = (D.f[TW ])[ktw ]; + real mfbcc = (D.f[TN ])[ktn ]; + real mfbaa = (D.f[BS ])[kbs ]; + real mfbca = (D.f[BN ])[kbn ]; + real mfbac = (D.f[TS ])[kts ]; real mfbbb = (D.f[dirREST])[kzero]; - real mfccc = (D.f[dirTNE ])[ktne ]; - real mfaac = (D.f[dirTSW ])[ktsw ]; - real mfcac = (D.f[dirTSE ])[ktse ]; - real mfacc = (D.f[dirTNW ])[ktnw ]; - real mfcca = (D.f[dirBNE ])[kbne ]; - real mfaaa = (D.f[dirBSW ])[kbsw ]; - real mfcaa = (D.f[dirBSE ])[kbse ]; - real mfaca = (D.f[dirBNW ])[kbnw ]; + real mfccc = (D.f[TNE ])[ktne ]; + real mfaac = (D.f[TSW ])[ktsw ]; + real mfcac = (D.f[TSE ])[ktse ]; + real mfacc = (D.f[TNW ])[ktnw ]; + real mfcca = (D.f[BNE ])[kbne ]; + real mfaaa = (D.f[BSW ])[kbsw ]; + real mfcaa = (D.f[BSE ])[kbse ]; + real mfaca = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real rho = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb + diff --git a/src/gpu/VirtualFluids_GPU/GPU/SlipBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/SlipBCs27.cu index 650ce293e..eb6f62b3c 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/SlipBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/SlipBCs27.cu @@ -20,63 +20,63 @@ extern "C" __global__ void QSlipDevice27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -97,32 +97,32 @@ extern "C" __global__ void QSlipDevice27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -154,32 +154,32 @@ extern "C" __global__ void QSlipDevice27(real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -204,63 +204,63 @@ extern "C" __global__ void QSlipDevice27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -282,8 +282,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-feq*om1)/(c1o1-om1)+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q); - //(D.f[dirW])[kw]=zero; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-feq*om1)/(c1o1-om1)+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q); + //(D.f[W])[kw]=zero; } q = q_dirW[k]; @@ -294,8 +294,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-feq*om1)/(c1o1-om1)+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q); - //(D.f[dirE])[ke]=zero; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-feq*om1)/(c1o1-om1)+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q); + //(D.f[E])[ke]=zero; } q = q_dirN[k]; @@ -306,8 +306,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-feq*om1)/(c1o1-om1)+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q); - //(D.f[dirS])[ks]=zero; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-feq*om1)/(c1o1-om1)+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q); + //(D.f[S])[ks]=zero; } q = q_dirS[k]; @@ -318,8 +318,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-feq*om1)/(c1o1-om1)+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q); - //(D.f[dirN])[kn]=zero; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-feq*om1)/(c1o1-om1)+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q); + //(D.f[N])[kn]=zero; } q = q_dirT[k]; @@ -330,8 +330,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-feq*om1)/(c1o1-om1)+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q); - //(D.f[dirB])[kb]=one; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-feq*om1)/(c1o1-om1)+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q); + //(D.f[B])[kb]=one; } q = q_dirB[k]; @@ -342,8 +342,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-feq*om1)/(c1o1-om1)+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q); - //(D.f[dirT])[kt]=zero; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-feq*om1)/(c1o1-om1)+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q); + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; @@ -355,8 +355,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-feq*om1)/(c1o1-om1)+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); - //(D.f[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-feq*om1)/(c1o1-om1)+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; @@ -368,8 +368,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-feq*om1)/(c1o1-om1)+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); - //(D.f[dirNE])[kne]=zero; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-feq*om1)/(c1o1-om1)+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; @@ -381,8 +381,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-feq*om1)/(c1o1-om1)+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); - //(D.f[dirNW])[knw]=zero; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-feq*om1)/(c1o1-om1)+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; @@ -394,8 +394,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-feq*om1)/(c1o1-om1)+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); - //(D.f[dirSE])[kse]=zero; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-feq*om1)/(c1o1-om1)+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; @@ -407,8 +407,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-feq*om1)/(c1o1-om1)+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); - //(D.f[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-feq*om1)/(c1o1-om1)+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; @@ -420,8 +420,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-feq*om1)/(c1o1-om1)+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); - //(D.f[dirTE])[kte]=zero; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-feq*om1)/(c1o1-om1)+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; @@ -433,8 +433,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-feq*om1)/(c1o1-om1)+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); - //(D.f[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-feq*om1)/(c1o1-om1)+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; @@ -446,8 +446,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-feq*om1)/(c1o1-om1)+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); - //(D.f[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-feq*om1)/(c1o1-om1)+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; @@ -459,8 +459,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-feq*om1)/(c1o1-om1)+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-feq*om1)/(c1o1-om1)+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; @@ -472,8 +472,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-feq*om1)/(c1o1-om1)+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-feq*om1)/(c1o1-om1)+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; @@ -485,8 +485,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-feq*om1)/(c1o1-om1)+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTS])[kts]=zero; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-feq*om1)/(c1o1-om1)+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; @@ -498,8 +498,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-feq*om1)/(c1o1-om1)+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-feq*om1)/(c1o1-om1)+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; @@ -512,8 +512,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-feq*om1)/(c1o1-om1)+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-feq*om1)/(c1o1-om1)+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; @@ -526,8 +526,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-feq*om1)/(c1o1-om1)+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-feq*om1)/(c1o1-om1)+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; @@ -540,8 +540,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-feq*om1)/(c1o1-om1)+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-feq*om1)/(c1o1-om1)+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; @@ -554,8 +554,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-feq*om1)/(c1o1-om1)+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-feq*om1)/(c1o1-om1)+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; @@ -568,8 +568,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-feq*om1)/(c1o1-om1)+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-feq*om1)/(c1o1-om1)+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; @@ -582,8 +582,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-feq*om1)/(c1o1-om1)+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-feq*om1)/(c1o1-om1)+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; @@ -596,8 +596,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-feq*om1)/(c1o1-om1)+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-feq*om1)/(c1o1-om1)+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; @@ -610,8 +610,8 @@ extern "C" __global__ void QSlipDevice27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-feq*om1)/(c1o1-om1)+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-feq*om1)/(c1o1-om1)+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); + //(D.f[BSE])[kbse]=zero; } } } @@ -670,63 +670,63 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -747,32 +747,32 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -805,32 +805,32 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -855,63 +855,63 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -933,10 +933,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); - //(D.f[dirW])[kw]=(one-q)/(one+q)*(f_E-feq*om1)/(one-om1)+(q*(f_E+f_W)-six*c2over27*( VeloX ))/(one+q); - //(D.f[dirW])[kw]=zero; + //(D.f[W])[kw]=(one-q)/(one+q)*(f_E-feq*om1)/(one-om1)+(q*(f_E+f_W)-six*c2over27*( VeloX ))/(one+q); + //(D.f[W])[kw]=zero; } q = q_dirW[k]; @@ -947,10 +947,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); - //(D.f[dirE])[ke]=(one-q)/(one+q)*(f_W-feq*om1)/(one-om1)+(q*(f_W+f_E)-six*c2over27*(-VeloX ))/(one+q); - //(D.f[dirE])[ke]=zero; + //(D.f[E])[ke]=(one-q)/(one+q)*(f_W-feq*om1)/(one-om1)+(q*(f_W+f_E)-six*c2over27*(-VeloX ))/(one+q); + //(D.f[E])[ke]=zero; } q = q_dirN[k]; @@ -961,10 +961,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); - //(D.f[dirS])[ks]=(one-q)/(one+q)*(f_N-feq*om1)/(one-om1)+(q*(f_N+f_S)-six*c2over27*( VeloY ))/(one+q); - //(D.f[dirS])[ks]=zero; + //(D.f[S])[ks]=(one-q)/(one+q)*(f_N-feq*om1)/(one-om1)+(q*(f_N+f_S)-six*c2over27*( VeloY ))/(one+q); + //(D.f[S])[ks]=zero; } q = q_dirS[k]; @@ -975,10 +975,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); - //(D.f[dirN])[kn]=(one-q)/(one+q)*(f_S-feq*om1)/(one-om1)+(q*(f_S+f_N)-six*c2over27*(-VeloY ))/(one+q); - //(D.f[dirN])[kn]=zero; + //(D.f[N])[kn]=(one-q)/(one+q)*(f_S-feq*om1)/(one-om1)+(q*(f_S+f_N)-six*c2over27*(-VeloY ))/(one+q); + //(D.f[N])[kn]=zero; } q = q_dirT[k]; @@ -989,10 +989,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); - //(D.f[dirB])[kb]=(one-q)/(one+q)*(f_T-feq*om1)/(one-om1)+(q*(f_T+f_B)-six*c2over27*( VeloZ ))/(one+q); - //(D.f[dirB])[kb]=one; + //(D.f[B])[kb]=(one-q)/(one+q)*(f_T-feq*om1)/(one-om1)+(q*(f_T+f_B)-six*c2over27*( VeloZ ))/(one+q); + //(D.f[B])[kb]=one; } q = q_dirB[k]; @@ -1003,10 +1003,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); - //(D.f[dirT])[kt]=(one-q)/(one+q)*(f_B-feq*om1)/(one-om1)+(q*(f_B+f_T)-six*c2over27*(-VeloZ ))/(one+q); - //(D.f[dirT])[kt]=zero; + //(D.f[T])[kt]=(one-q)/(one+q)*(f_B-feq*om1)/(one-om1)+(q*(f_B+f_T)-six*c2over27*(-VeloZ ))/(one+q); + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; @@ -1018,10 +1018,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - //(D.f[dirSW])[ksw]=(one-q)/(one+q)*(f_NE-feq*om1)/(one-om1)+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q); - //(D.f[dirSW])[ksw]=zero; + //(D.f[SW])[ksw]=(one-q)/(one+q)*(f_NE-feq*om1)/(one-om1)+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q); + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; @@ -1033,10 +1033,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - //(D.f[dirNE])[kne]=(one-q)/(one+q)*(f_SW-feq*om1)/(one-om1)+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q); - //(D.f[dirNE])[kne]=zero; + //(D.f[NE])[kne]=(one-q)/(one+q)*(f_SW-feq*om1)/(one-om1)+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q); + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; @@ -1048,10 +1048,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - //(D.f[dirNW])[knw]=(one-q)/(one+q)*(f_SE-feq*om1)/(one-om1)+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q); - //(D.f[dirNW])[knw]=zero; + //(D.f[NW])[knw]=(one-q)/(one+q)*(f_SE-feq*om1)/(one-om1)+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q); + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; @@ -1063,10 +1063,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - //(D.f[dirSE])[kse]=(one-q)/(one+q)*(f_NW-feq*om1)/(one-om1)+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q); - //(D.f[dirSE])[kse]=zero; + //(D.f[SE])[kse]=(one-q)/(one+q)*(f_NW-feq*om1)/(one-om1)+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q); + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; @@ -1079,10 +1079,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (z == true) VeloZ = c0o1; // if (k==10000) printf("AFTER x: %u \t y: %u \t z: %u \n VeloX: %f \t VeloY: %f \t VeloZ: %f \n\n", x,y,z, VeloX,VeloY,VeloZ); feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - //(D.f[dirBW])[kbw]=(one-q)/(one+q)*(f_TE-feq*om1)/(one-om1)+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q); - //(D.f[dirBW])[kbw]=zero; + //(D.f[BW])[kbw]=(one-q)/(one+q)*(f_TE-feq*om1)/(one-om1)+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q); + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; @@ -1094,10 +1094,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - //(D.f[dirTE])[kte]=(one-q)/(one+q)*(f_BW-feq*om1)/(one-om1)+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q); - //(D.f[dirTE])[kte]=zero; + //(D.f[TE])[kte]=(one-q)/(one+q)*(f_BW-feq*om1)/(one-om1)+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q); + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; @@ -1109,10 +1109,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - //(D.f[dirTW])[ktw]=(one-q)/(one+q)*(f_BE-feq*om1)/(one-om1)+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q); - //(D.f[dirTW])[ktw]=zero; + //(D.f[TW])[ktw]=(one-q)/(one+q)*(f_BE-feq*om1)/(one-om1)+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q); + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; @@ -1124,10 +1124,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - //(D.f[dirBE])[kbe]=(one-q)/(one+q)*(f_TW-feq*om1)/(one-om1)+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q); - //(D.f[dirBE])[kbe]=zero; + //(D.f[BE])[kbe]=(one-q)/(one+q)*(f_TW-feq*om1)/(one-om1)+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q); + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; @@ -1139,10 +1139,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); - //(D.f[dirBS])[kbs]=(one-q)/(one+q)*(f_TN-feq*om1)/(one-om1)+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q); - //(D.f[dirBS])[kbs]=zero; + //(D.f[BS])[kbs]=(one-q)/(one+q)*(f_TN-feq*om1)/(one-om1)+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q); + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; @@ -1154,10 +1154,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - //(D.f[dirTN])[ktn]=(one-q)/(one+q)*(f_BS-feq*om1)/(one-om1)+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q); - //(D.f[dirTN])[ktn]=zero; + //(D.f[TN])[ktn]=(one-q)/(one+q)*(f_BS-feq*om1)/(one-om1)+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q); + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; @@ -1169,10 +1169,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); - //(D.f[dirTS])[kts]=(one-q)/(one+q)*(f_BN-feq*om1)/(one-om1)+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q); - //(D.f[dirTS])[kts]=zero; + //(D.f[TS])[kts]=(one-q)/(one+q)*(f_BN-feq*om1)/(one-om1)+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q); + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; @@ -1184,10 +1184,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - //(D.f[dirBN])[kbn]=(one-q)/(one+q)*(f_TS-feq*om1)/(one-om1)+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q); - //(D.f[dirBN])[kbn]=zero; + //(D.f[BN])[kbn]=(one-q)/(one+q)*(f_TS-feq*om1)/(one-om1)+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q); + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; @@ -1200,10 +1200,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSW])[kbsw]=(one-q)/(one+q)*(f_TNE-feq*om1)/(one-om1)+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q); - //(D.f[dirBSW])[kbsw]=zero; + //(D.f[BSW])[kbsw]=(one-q)/(one+q)*(f_TNE-feq*om1)/(one-om1)+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q); + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; @@ -1216,10 +1216,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNE])[ktne]=(one-q)/(one+q)*(f_BSW-feq*om1)/(one-om1)+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q); - //(D.f[dirTNE])[ktne]=zero; + //(D.f[TNE])[ktne]=(one-q)/(one+q)*(f_BSW-feq*om1)/(one-om1)+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q); + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; @@ -1232,10 +1232,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSW])[ktsw]=(one-q)/(one+q)*(f_BNE-feq*om1)/(one-om1)+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q); - //(D.f[dirTSW])[ktsw]=zero; + //(D.f[TSW])[ktsw]=(one-q)/(one+q)*(f_BNE-feq*om1)/(one-om1)+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q); + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; @@ -1248,10 +1248,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNE])[kbne]=(one-q)/(one+q)*(f_TSW-feq*om1)/(one-om1)+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q); - //(D.f[dirBNE])[kbne]=zero; + //(D.f[BNE])[kbne]=(one-q)/(one+q)*(f_TSW-feq*om1)/(one-om1)+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q); + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; @@ -1264,10 +1264,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNW])[kbnw]=(one-q)/(one+q)*(f_TSE-feq*om1)/(one-om1)+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q); - //(D.f[dirBNW])[kbnw]=zero; + //(D.f[BNW])[kbnw]=(one-q)/(one+q)*(f_TSE-feq*om1)/(one-om1)+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q); + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; @@ -1280,10 +1280,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSE])[ktse]=(one-q)/(one+q)*(f_BNW-feq*om1)/(one-om1)+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q); - //(D.f[dirTSE])[ktse]=zero; + //(D.f[TSE])[ktse]=(one-q)/(one+q)*(f_BNW-feq*om1)/(one-om1)+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q); + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; @@ -1296,10 +1296,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNW])[ktnw]=(one-q)/(one+q)*(f_BSE-feq*om1)/(one-om1)+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q); - //(D.f[dirTNW])[ktnw]=zero; + //(D.f[TNW])[ktnw]=(one-q)/(one+q)*(f_BSE-feq*om1)/(one-om1)+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q); + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; @@ -1312,10 +1312,10 @@ extern "C" __global__ void QSlipDeviceComp27(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSE])[kbse]=(one-q)/(one+q)*(f_TNW-feq*om1)/(one-om1)+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q); - //(D.f[dirBSE])[kbse]=zero; + //(D.f[BSE])[kbse]=(one-q)/(one+q)*(f_TNW-feq*om1)/(one-om1)+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q); + //(D.f[BSE])[kbse]=zero; } } } @@ -1336,63 +1336,63 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1413,32 +1413,32 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1471,32 +1471,32 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -1521,63 +1521,63 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -1601,10 +1601,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); - //(D.f[dirW])[kw]=(one-q)/(one+q)*(f_E-feq*om1)/(one-om1)+(q*(f_E+f_W)-six*c2over27*( VeloX ))/(one+q); - //(D.f[dirW])[kw]=zero; + //(D.f[W])[kw]=(one-q)/(one+q)*(f_E-feq*om1)/(one-om1)+(q*(f_E+f_W)-six*c2over27*( VeloX ))/(one+q); + //(D.f[W])[kw]=zero; } q = q_dirW[k]; @@ -1615,10 +1615,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = fac*vx3; x = true; feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); - //(D.f[dirE])[ke]=(one-q)/(one+q)*(f_W-feq*om_turb)/(one-om_turb)+(q*(f_W+f_E)-six*c2over27*(-VeloX ))/(one+q); - //(D.f[dirE])[ke]=zero; + //(D.f[E])[ke]=(one-q)/(one+q)*(f_W-feq*om_turb)/(one-om_turb)+(q*(f_W+f_E)-six*c2over27*(-VeloX ))/(one+q); + //(D.f[E])[ke]=zero; } q = q_dirN[k]; @@ -1629,10 +1629,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); - //(D.f[dirS])[ks]=(one-q)/(one+q)*(f_N-feq*om_turb)/(one-om_turb)+(q*(f_N+f_S)-six*c2over27*( VeloY ))/(one+q); - //(D.f[dirS])[ks]=zero; + //(D.f[S])[ks]=(one-q)/(one+q)*(f_N-feq*om_turb)/(one-om_turb)+(q*(f_N+f_S)-six*c2over27*( VeloY ))/(one+q); + //(D.f[S])[ks]=zero; } q = q_dirS[k]; @@ -1643,10 +1643,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = fac*vx3; y = true; feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); - //(D.f[dirN])[kn]=(one-q)/(one+q)*(f_S-feq*om_turb)/(one-om_turb)+(q*(f_S+f_N)-six*c2over27*(-VeloY ))/(one+q); - //(D.f[dirN])[kn]=zero; + //(D.f[N])[kn]=(one-q)/(one+q)*(f_S-feq*om_turb)/(one-om_turb)+(q*(f_S+f_N)-six*c2over27*(-VeloY ))/(one+q); + //(D.f[N])[kn]=zero; } q = q_dirT[k]; @@ -1657,10 +1657,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); - //(D.f[dirB])[kb]=(one-q)/(one+q)*(f_T-feq*om_turb)/(one-om_turb)+(q*(f_T+f_B)-six*c2over27*( VeloZ ))/(one+q); - //(D.f[dirB])[kb]=one; + //(D.f[B])[kb]=(one-q)/(one+q)*(f_T-feq*om_turb)/(one-om_turb)+(q*(f_T+f_B)-six*c2over27*( VeloZ ))/(one+q); + //(D.f[B])[kb]=one; } q = q_dirB[k]; @@ -1671,10 +1671,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, VeloZ = c0o1; z = true; feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; //feq=c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); - //(D.f[dirT])[kt]=(one-q)/(one+q)*(f_B-feq*om_turb)/(one-om_turb)+(q*(f_B+f_T)-six*c2over27*(-VeloZ ))/(one+q); - //(D.f[dirT])[kt]=zero; + //(D.f[T])[kt]=(one-q)/(one+q)*(f_B-feq*om_turb)/(one-om_turb)+(q*(f_B+f_T)-six*c2over27*(-VeloZ ))/(one+q); + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; @@ -1686,10 +1686,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - //(D.f[dirSW])[ksw]=(one-q)/(one+q)*(f_NE-feq*om_turb)/(one-om_turb)+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q); - //(D.f[dirSW])[ksw]=zero; + //(D.f[SW])[ksw]=(one-q)/(one+q)*(f_NE-feq*om_turb)/(one-om_turb)+(q*(f_NE+f_SW)-six*c1over54*(VeloX+VeloY))/(one+q); + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; @@ -1701,10 +1701,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - //(D.f[dirNE])[kne]=(one-q)/(one+q)*(f_SW-feq*om_turb)/(one-om_turb)+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q); - //(D.f[dirNE])[kne]=zero; + //(D.f[NE])[kne]=(one-q)/(one+q)*(f_SW-feq*om_turb)/(one-om_turb)+(q*(f_SW+f_NE)-six*c1over54*(-VeloX-VeloY))/(one+q); + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; @@ -1716,10 +1716,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - //(D.f[dirNW])[knw]=(one-q)/(one+q)*(f_SE-feq*om_turb)/(one-om_turb)+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q); - //(D.f[dirNW])[knw]=zero; + //(D.f[NW])[knw]=(one-q)/(one+q)*(f_SE-feq*om_turb)/(one-om_turb)+(q*(f_SE+f_NW)-six*c1over54*( VeloX-VeloY))/(one+q); + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; @@ -1731,10 +1731,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (y == true) VeloY = c0o1; feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - //(D.f[dirSE])[kse]=(one-q)/(one+q)*(f_NW-feq*om_turb)/(one-om_turb)+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q); - //(D.f[dirSE])[kse]=zero; + //(D.f[SE])[kse]=(one-q)/(one+q)*(f_NW-feq*om_turb)/(one-om_turb)+(q*(f_NW+f_SE)-six*c1over54*(-VeloX+VeloY))/(one+q); + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; @@ -1747,10 +1747,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (z == true) VeloZ = c0o1; // if (k==10000) printf("AFTER x: %u \t y: %u \t z: %u \n VeloX: %f \t VeloY: %f \t VeloZ: %f \n\n", x,y,z, VeloX,VeloY,VeloZ); feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - //(D.f[dirBW])[kbw]=(one-q)/(one+q)*(f_TE-feq*om_turb)/(one-om_turb)+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q); - //(D.f[dirBW])[kbw]=zero; + //(D.f[BW])[kbw]=(one-q)/(one+q)*(f_TE-feq*om_turb)/(one-om_turb)+(q*(f_TE+f_BW)-six*c1over54*( VeloX+VeloZ))/(one+q); + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; @@ -1762,10 +1762,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - //(D.f[dirTE])[kte]=(one-q)/(one+q)*(f_BW-feq*om_turb)/(one-om_turb)+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q); - //(D.f[dirTE])[kte]=zero; + //(D.f[TE])[kte]=(one-q)/(one+q)*(f_BW-feq*om_turb)/(one-om_turb)+(q*(f_BW+f_TE)-six*c1over54*(-VeloX-VeloZ))/(one+q); + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; @@ -1777,10 +1777,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - //(D.f[dirTW])[ktw]=(one-q)/(one+q)*(f_BE-feq*om_turb)/(one-om_turb)+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q); - //(D.f[dirTW])[ktw]=zero; + //(D.f[TW])[ktw]=(one-q)/(one+q)*(f_BE-feq*om_turb)/(one-om_turb)+(q*(f_BE+f_TW)-six*c1over54*( VeloX-VeloZ))/(one+q); + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; @@ -1792,10 +1792,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (x == true) VeloX = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - //(D.f[dirBE])[kbe]=(one-q)/(one+q)*(f_TW-feq*om_turb)/(one-om_turb)+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q); - //(D.f[dirBE])[kbe]=zero; + //(D.f[BE])[kbe]=(one-q)/(one+q)*(f_TW-feq*om_turb)/(one-om_turb)+(q*(f_TW+f_BE)-six*c1over54*(-VeloX+VeloZ))/(one+q); + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; @@ -1807,10 +1807,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); - //(D.f[dirBS])[kbs]=(one-q)/(one+q)*(f_TN-feq*om_turb)/(one-om_turb)+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q); - //(D.f[dirBS])[kbs]=zero; + //(D.f[BS])[kbs]=(one-q)/(one+q)*(f_TN-feq*om_turb)/(one-om_turb)+(q*(f_TN+f_BS)-six*c1over54*( VeloY+VeloZ))/(one+q); + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; @@ -1822,10 +1822,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - //(D.f[dirTN])[ktn]=(one-q)/(one+q)*(f_BS-feq*om_turb)/(one-om_turb)+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q); - //(D.f[dirTN])[ktn]=zero; + //(D.f[TN])[ktn]=(one-q)/(one+q)*(f_BS-feq*om_turb)/(one-om_turb)+(q*(f_BS+f_TN)-six*c1over54*( -VeloY-VeloZ))/(one+q); + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; @@ -1837,10 +1837,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); - //(D.f[dirTS])[kts]=(one-q)/(one+q)*(f_BN-feq*om_turb)/(one-om_turb)+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q); - //(D.f[dirTS])[kts]=zero; + //(D.f[TS])[kts]=(one-q)/(one+q)*(f_BN-feq*om_turb)/(one-om_turb)+(q*(f_BN+f_TS)-six*c1over54*( VeloY-VeloZ))/(one+q); + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; @@ -1852,10 +1852,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; //feq=c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - //(D.f[dirBN])[kbn]=(one-q)/(one+q)*(f_TS-feq*om_turb)/(one-om_turb)+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q); - //(D.f[dirBN])[kbn]=zero; + //(D.f[BN])[kbn]=(one-q)/(one+q)*(f_TS-feq*om_turb)/(one-om_turb)+(q*(f_TS+f_BN)-six*c1over54*( -VeloY+VeloZ))/(one+q); + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; @@ -1868,10 +1868,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSW])[kbsw]=(one-q)/(one+q)*(f_TNE-feq*om_turb)/(one-om_turb)+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q); - //(D.f[dirBSW])[kbsw]=zero; + //(D.f[BSW])[kbsw]=(one-q)/(one+q)*(f_TNE-feq*om_turb)/(one-om_turb)+(q*(f_TNE+f_BSW)-six*c1over216*( VeloX+VeloY+VeloZ))/(one+q); + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; @@ -1884,10 +1884,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNE])[ktne]=(one-q)/(one+q)*(f_BSW-feq*om_turb)/(one-om_turb)+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q); - //(D.f[dirTNE])[ktne]=zero; + //(D.f[TNE])[ktne]=(one-q)/(one+q)*(f_BSW-feq*om_turb)/(one-om_turb)+(q*(f_BSW+f_TNE)-six*c1over216*(-VeloX-VeloY-VeloZ))/(one+q); + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; @@ -1900,10 +1900,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSW])[ktsw]=(one-q)/(one+q)*(f_BNE-feq*om_turb)/(one-om_turb)+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q); - //(D.f[dirTSW])[ktsw]=zero; + //(D.f[TSW])[ktsw]=(one-q)/(one+q)*(f_BNE-feq*om_turb)/(one-om_turb)+(q*(f_BNE+f_TSW)-six*c1over216*( VeloX+VeloY-VeloZ))/(one+q); + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; @@ -1916,10 +1916,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNE])[kbne]=(one-q)/(one+q)*(f_TSW-feq*om_turb)/(one-om_turb)+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q); - //(D.f[dirBNE])[kbne]=zero; + //(D.f[BNE])[kbne]=(one-q)/(one+q)*(f_TSW-feq*om_turb)/(one-om_turb)+(q*(f_TSW+f_BNE)-six*c1over216*(-VeloX-VeloY+VeloZ))/(one+q); + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; @@ -1932,10 +1932,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNW])[kbnw]=(one-q)/(one+q)*(f_TSE-feq*om_turb)/(one-om_turb)+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q); - //(D.f[dirBNW])[kbnw]=zero; + //(D.f[BNW])[kbnw]=(one-q)/(one+q)*(f_TSE-feq*om_turb)/(one-om_turb)+(q*(f_TSE+f_BNW)-six*c1over216*( VeloX-VeloY+VeloZ))/(one+q); + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; @@ -1948,10 +1948,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSE])[ktse]=(one-q)/(one+q)*(f_BNW-feq*om_turb)/(one-om_turb)+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q); - //(D.f[dirTSE])[ktse]=zero; + //(D.f[TSE])[ktse]=(one-q)/(one+q)*(f_BNW-feq*om_turb)/(one-om_turb)+(q*(f_BNW+f_TSE)-six*c1over216*(-VeloX+VeloY-VeloZ))/(one+q); + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; @@ -1964,10 +1964,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNW])[ktnw]=(one-q)/(one+q)*(f_BSE-feq*om_turb)/(one-om_turb)+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q); - //(D.f[dirTNW])[ktnw]=zero; + //(D.f[TNW])[ktnw]=(one-q)/(one+q)*(f_BSE-feq*om_turb)/(one-om_turb)+(q*(f_BSE+f_TNW)-six*c1over216*( VeloX-VeloY-VeloZ))/(one+q); + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; @@ -1980,10 +1980,10 @@ extern "C" __global__ void QSlipDeviceComp27TurbViscosity(real* DD, if (y == true) VeloY = c0o1; if (z == true) VeloZ = c0o1; feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om_turb)/(c1o1-om_turb))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; //feq=c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSE])[kbse]=(one-q)/(one+q)*(f_TNW-feq*om_turb)/(one-om_turb)+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q); - //(D.f[dirBSE])[kbse]=zero; + //(D.f[BSE])[kbse]=(one-q)/(one+q)*(f_TNW-feq*om_turb)/(one-om_turb)+(q*(f_TNW+f_BSE)-six*c1over216*(-VeloX+VeloY+VeloZ))/(one+q); + //(D.f[BSE])[kbse]=zero; } } } @@ -2043,63 +2043,63 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -2120,128 +2120,128 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *nx_dirE, *nx_dirW, *nx_dirN, *nx_dirS, *nx_dirT, *nx_dirB, *nx_dirNE, *nx_dirSW, *nx_dirSE, *nx_dirNW, *nx_dirTE, *nx_dirBW, *nx_dirBE, *nx_dirTW, *nx_dirTN, *nx_dirBS, *nx_dirBN, *nx_dirTS, *nx_dirTNE, *nx_dirTSW, *nx_dirTSE, *nx_dirTNW, *nx_dirBNE, *nx_dirBSW, *nx_dirBSE, *nx_dirBNW; - nx_dirE = &NormalX[dirE * numberOfBCnodes]; - nx_dirW = &NormalX[dirW * numberOfBCnodes]; - nx_dirN = &NormalX[dirN * numberOfBCnodes]; - nx_dirS = &NormalX[dirS * numberOfBCnodes]; - nx_dirT = &NormalX[dirT * numberOfBCnodes]; - nx_dirB = &NormalX[dirB * numberOfBCnodes]; - nx_dirNE = &NormalX[dirNE * numberOfBCnodes]; - nx_dirSW = &NormalX[dirSW * numberOfBCnodes]; - nx_dirSE = &NormalX[dirSE * numberOfBCnodes]; - nx_dirNW = &NormalX[dirNW * numberOfBCnodes]; - nx_dirTE = &NormalX[dirTE * numberOfBCnodes]; - nx_dirBW = &NormalX[dirBW * numberOfBCnodes]; - nx_dirBE = &NormalX[dirBE * numberOfBCnodes]; - nx_dirTW = &NormalX[dirTW * numberOfBCnodes]; - nx_dirTN = &NormalX[dirTN * numberOfBCnodes]; - nx_dirBS = &NormalX[dirBS * numberOfBCnodes]; - nx_dirBN = &NormalX[dirBN * numberOfBCnodes]; - nx_dirTS = &NormalX[dirTS * numberOfBCnodes]; - nx_dirTNE = &NormalX[dirTNE * numberOfBCnodes]; - nx_dirTSW = &NormalX[dirTSW * numberOfBCnodes]; - nx_dirTSE = &NormalX[dirTSE * numberOfBCnodes]; - nx_dirTNW = &NormalX[dirTNW * numberOfBCnodes]; - nx_dirBNE = &NormalX[dirBNE * numberOfBCnodes]; - nx_dirBSW = &NormalX[dirBSW * numberOfBCnodes]; - nx_dirBSE = &NormalX[dirBSE * numberOfBCnodes]; - nx_dirBNW = &NormalX[dirBNW * numberOfBCnodes]; + nx_dirE = &NormalX[E * numberOfBCnodes]; + nx_dirW = &NormalX[W * numberOfBCnodes]; + nx_dirN = &NormalX[N * numberOfBCnodes]; + nx_dirS = &NormalX[S * numberOfBCnodes]; + nx_dirT = &NormalX[T * numberOfBCnodes]; + nx_dirB = &NormalX[B * numberOfBCnodes]; + nx_dirNE = &NormalX[NE * numberOfBCnodes]; + nx_dirSW = &NormalX[SW * numberOfBCnodes]; + nx_dirSE = &NormalX[SE * numberOfBCnodes]; + nx_dirNW = &NormalX[NW * numberOfBCnodes]; + nx_dirTE = &NormalX[TE * numberOfBCnodes]; + nx_dirBW = &NormalX[BW * numberOfBCnodes]; + nx_dirBE = &NormalX[BE * numberOfBCnodes]; + nx_dirTW = &NormalX[TW * numberOfBCnodes]; + nx_dirTN = &NormalX[TN * numberOfBCnodes]; + nx_dirBS = &NormalX[BS * numberOfBCnodes]; + nx_dirBN = &NormalX[BN * numberOfBCnodes]; + nx_dirTS = &NormalX[TS * numberOfBCnodes]; + nx_dirTNE = &NormalX[TNE * numberOfBCnodes]; + nx_dirTSW = &NormalX[TSW * numberOfBCnodes]; + nx_dirTSE = &NormalX[TSE * numberOfBCnodes]; + nx_dirTNW = &NormalX[TNW * numberOfBCnodes]; + nx_dirBNE = &NormalX[BNE * numberOfBCnodes]; + nx_dirBSW = &NormalX[BSW * numberOfBCnodes]; + nx_dirBSE = &NormalX[BSE * numberOfBCnodes]; + nx_dirBNW = &NormalX[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *ny_dirE, *ny_dirW, *ny_dirN, *ny_dirS, *ny_dirT, *ny_dirB, *ny_dirNE, *ny_dirSW, *ny_dirSE, *ny_dirNW, *ny_dirTE, *ny_dirBW, *ny_dirBE, *ny_dirTW, *ny_dirTN, *ny_dirBS, *ny_dirBN, *ny_dirTS, *ny_dirTNE, *ny_dirTSW, *ny_dirTSE, *ny_dirTNW, *ny_dirBNE, *ny_dirBSW, *ny_dirBSE, *ny_dirBNW; - ny_dirE = &NormalY[dirE * numberOfBCnodes]; - ny_dirW = &NormalY[dirW * numberOfBCnodes]; - ny_dirN = &NormalY[dirN * numberOfBCnodes]; - ny_dirS = &NormalY[dirS * numberOfBCnodes]; - ny_dirT = &NormalY[dirT * numberOfBCnodes]; - ny_dirB = &NormalY[dirB * numberOfBCnodes]; - ny_dirNE = &NormalY[dirNE * numberOfBCnodes]; - ny_dirSW = &NormalY[dirSW * numberOfBCnodes]; - ny_dirSE = &NormalY[dirSE * numberOfBCnodes]; - ny_dirNW = &NormalY[dirNW * numberOfBCnodes]; - ny_dirTE = &NormalY[dirTE * numberOfBCnodes]; - ny_dirBW = &NormalY[dirBW * numberOfBCnodes]; - ny_dirBE = &NormalY[dirBE * numberOfBCnodes]; - ny_dirTW = &NormalY[dirTW * numberOfBCnodes]; - ny_dirTN = &NormalY[dirTN * numberOfBCnodes]; - ny_dirBS = &NormalY[dirBS * numberOfBCnodes]; - ny_dirBN = &NormalY[dirBN * numberOfBCnodes]; - ny_dirTS = &NormalY[dirTS * numberOfBCnodes]; - ny_dirTNE = &NormalY[dirTNE * numberOfBCnodes]; - ny_dirTSW = &NormalY[dirTSW * numberOfBCnodes]; - ny_dirTSE = &NormalY[dirTSE * numberOfBCnodes]; - ny_dirTNW = &NormalY[dirTNW * numberOfBCnodes]; - ny_dirBNE = &NormalY[dirBNE * numberOfBCnodes]; - ny_dirBSW = &NormalY[dirBSW * numberOfBCnodes]; - ny_dirBSE = &NormalY[dirBSE * numberOfBCnodes]; - ny_dirBNW = &NormalY[dirBNW * numberOfBCnodes]; + ny_dirE = &NormalY[E * numberOfBCnodes]; + ny_dirW = &NormalY[W * numberOfBCnodes]; + ny_dirN = &NormalY[N * numberOfBCnodes]; + ny_dirS = &NormalY[S * numberOfBCnodes]; + ny_dirT = &NormalY[T * numberOfBCnodes]; + ny_dirB = &NormalY[B * numberOfBCnodes]; + ny_dirNE = &NormalY[NE * numberOfBCnodes]; + ny_dirSW = &NormalY[SW * numberOfBCnodes]; + ny_dirSE = &NormalY[SE * numberOfBCnodes]; + ny_dirNW = &NormalY[NW * numberOfBCnodes]; + ny_dirTE = &NormalY[TE * numberOfBCnodes]; + ny_dirBW = &NormalY[BW * numberOfBCnodes]; + ny_dirBE = &NormalY[BE * numberOfBCnodes]; + ny_dirTW = &NormalY[TW * numberOfBCnodes]; + ny_dirTN = &NormalY[TN * numberOfBCnodes]; + ny_dirBS = &NormalY[BS * numberOfBCnodes]; + ny_dirBN = &NormalY[BN * numberOfBCnodes]; + ny_dirTS = &NormalY[TS * numberOfBCnodes]; + ny_dirTNE = &NormalY[TNE * numberOfBCnodes]; + ny_dirTSW = &NormalY[TSW * numberOfBCnodes]; + ny_dirTSE = &NormalY[TSE * numberOfBCnodes]; + ny_dirTNW = &NormalY[TNW * numberOfBCnodes]; + ny_dirBNE = &NormalY[BNE * numberOfBCnodes]; + ny_dirBSW = &NormalY[BSW * numberOfBCnodes]; + ny_dirBSE = &NormalY[BSE * numberOfBCnodes]; + ny_dirBNW = &NormalY[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *nz_dirE, *nz_dirW, *nz_dirN, *nz_dirS, *nz_dirT, *nz_dirB, *nz_dirNE, *nz_dirSW, *nz_dirSE, *nz_dirNW, *nz_dirTE, *nz_dirBW, *nz_dirBE, *nz_dirTW, *nz_dirTN, *nz_dirBS, *nz_dirBN, *nz_dirTS, *nz_dirTNE, *nz_dirTSW, *nz_dirTSE, *nz_dirTNW, *nz_dirBNE, *nz_dirBSW, *nz_dirBSE, *nz_dirBNW; - nz_dirE = &NormalZ[dirE * numberOfBCnodes]; - nz_dirW = &NormalZ[dirW * numberOfBCnodes]; - nz_dirN = &NormalZ[dirN * numberOfBCnodes]; - nz_dirS = &NormalZ[dirS * numberOfBCnodes]; - nz_dirT = &NormalZ[dirT * numberOfBCnodes]; - nz_dirB = &NormalZ[dirB * numberOfBCnodes]; - nz_dirNE = &NormalZ[dirNE * numberOfBCnodes]; - nz_dirSW = &NormalZ[dirSW * numberOfBCnodes]; - nz_dirSE = &NormalZ[dirSE * numberOfBCnodes]; - nz_dirNW = &NormalZ[dirNW * numberOfBCnodes]; - nz_dirTE = &NormalZ[dirTE * numberOfBCnodes]; - nz_dirBW = &NormalZ[dirBW * numberOfBCnodes]; - nz_dirBE = &NormalZ[dirBE * numberOfBCnodes]; - nz_dirTW = &NormalZ[dirTW * numberOfBCnodes]; - nz_dirTN = &NormalZ[dirTN * numberOfBCnodes]; - nz_dirBS = &NormalZ[dirBS * numberOfBCnodes]; - nz_dirBN = &NormalZ[dirBN * numberOfBCnodes]; - nz_dirTS = &NormalZ[dirTS * numberOfBCnodes]; - nz_dirTNE = &NormalZ[dirTNE * numberOfBCnodes]; - nz_dirTSW = &NormalZ[dirTSW * numberOfBCnodes]; - nz_dirTSE = &NormalZ[dirTSE * numberOfBCnodes]; - nz_dirTNW = &NormalZ[dirTNW * numberOfBCnodes]; - nz_dirBNE = &NormalZ[dirBNE * numberOfBCnodes]; - nz_dirBSW = &NormalZ[dirBSW * numberOfBCnodes]; - nz_dirBSE = &NormalZ[dirBSE * numberOfBCnodes]; - nz_dirBNW = &NormalZ[dirBNW * numberOfBCnodes]; + nz_dirE = &NormalZ[E * numberOfBCnodes]; + nz_dirW = &NormalZ[W * numberOfBCnodes]; + nz_dirN = &NormalZ[N * numberOfBCnodes]; + nz_dirS = &NormalZ[S * numberOfBCnodes]; + nz_dirT = &NormalZ[T * numberOfBCnodes]; + nz_dirB = &NormalZ[B * numberOfBCnodes]; + nz_dirNE = &NormalZ[NE * numberOfBCnodes]; + nz_dirSW = &NormalZ[SW * numberOfBCnodes]; + nz_dirSE = &NormalZ[SE * numberOfBCnodes]; + nz_dirNW = &NormalZ[NW * numberOfBCnodes]; + nz_dirTE = &NormalZ[TE * numberOfBCnodes]; + nz_dirBW = &NormalZ[BW * numberOfBCnodes]; + nz_dirBE = &NormalZ[BE * numberOfBCnodes]; + nz_dirTW = &NormalZ[TW * numberOfBCnodes]; + nz_dirTN = &NormalZ[TN * numberOfBCnodes]; + nz_dirBS = &NormalZ[BS * numberOfBCnodes]; + nz_dirBN = &NormalZ[BN * numberOfBCnodes]; + nz_dirTS = &NormalZ[TS * numberOfBCnodes]; + nz_dirTNE = &NormalZ[TNE * numberOfBCnodes]; + nz_dirTSW = &NormalZ[TSW * numberOfBCnodes]; + nz_dirTSE = &NormalZ[TSE * numberOfBCnodes]; + nz_dirTNW = &NormalZ[TNW * numberOfBCnodes]; + nz_dirBNE = &NormalZ[BNE * numberOfBCnodes]; + nz_dirBSW = &NormalZ[BSW * numberOfBCnodes]; + nz_dirBSE = &NormalZ[BSE * numberOfBCnodes]; + nz_dirBNW = &NormalZ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -2273,32 +2273,32 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -2323,63 +2323,63 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real VeloX = vx1; @@ -2461,7 +2461,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs( nx_dirE[k]) + fac); VeloX *= phi; feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q) - c2o27 * drho; } q = q_dirW[k]; @@ -2475,7 +2475,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs(-nx_dirW[k]) + fac); VeloX *= phi; feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q) - c2o27 * drho; } q = q_dirN[k]; @@ -2489,7 +2489,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs( ny_dirN[k]) + fac); VeloY *= phi; feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q) - c2o27 * drho; } q = q_dirS[k]; @@ -2503,7 +2503,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs(-ny_dirS[k]) + fac); VeloY *= phi; feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q) - c2o27 * drho; } q = q_dirT[k]; @@ -2517,7 +2517,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs( nz_dirT[k]) + fac); VeloZ *= phi; feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q) - c2o27 * drho; } q = q_dirB[k]; @@ -2531,7 +2531,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, phi = fac / (q * fabs(-nz_dirB[k]) + fac); VeloZ *= phi; feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q) - c2o27 * drho; } q = q_dirNE[k]; @@ -2547,7 +2547,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloY *= phi; feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q) - c1o54 * drho; } q = q_dirSW[k]; @@ -2563,7 +2563,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloY *= phi; feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q) - c1o54 * drho; } q = q_dirSE[k]; @@ -2579,7 +2579,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloY *= phi; feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q) - c1o54 * drho; } q = q_dirNW[k]; @@ -2595,7 +2595,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloY *= phi; feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q) - c1o54 * drho; } q = q_dirTE[k]; @@ -2611,7 +2611,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirBW[k]; @@ -2627,7 +2627,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirBE[k]; @@ -2643,7 +2643,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirTW[k]; @@ -2659,7 +2659,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloX *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirTN[k]; @@ -2675,7 +2675,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirBS[k]; @@ -2691,7 +2691,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirBN[k]; @@ -2707,7 +2707,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirTS[k]; @@ -2723,7 +2723,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q) - c1o54 * drho; } q = q_dirTNE[k]; @@ -2741,7 +2741,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirBSW[k]; @@ -2759,7 +2759,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirBNE[k]; @@ -2777,7 +2777,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirTSW[k]; @@ -2795,7 +2795,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirTSE[k]; @@ -2813,7 +2813,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirBNW[k]; @@ -2831,7 +2831,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirBSE[k]; @@ -2849,7 +2849,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q) - c1o216 * drho; } q = q_dirTNW[k]; @@ -2867,7 +2867,7 @@ extern "C" __global__ void QSlipGeomDeviceComp27(real* DD, VeloY *= phi; VeloZ *= phi; feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q) - c1o216 * drho; } } } @@ -2929,63 +2929,63 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -3006,128 +3006,128 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *nx_dirE, *nx_dirW, *nx_dirN, *nx_dirS, *nx_dirT, *nx_dirB, *nx_dirNE, *nx_dirSW, *nx_dirSE, *nx_dirNW, *nx_dirTE, *nx_dirBW, *nx_dirBE, *nx_dirTW, *nx_dirTN, *nx_dirBS, *nx_dirBN, *nx_dirTS, *nx_dirTNE, *nx_dirTSW, *nx_dirTSE, *nx_dirTNW, *nx_dirBNE, *nx_dirBSW, *nx_dirBSE, *nx_dirBNW; - nx_dirE = &NormalX[dirE * numberOfBCnodes]; - nx_dirW = &NormalX[dirW * numberOfBCnodes]; - nx_dirN = &NormalX[dirN * numberOfBCnodes]; - nx_dirS = &NormalX[dirS * numberOfBCnodes]; - nx_dirT = &NormalX[dirT * numberOfBCnodes]; - nx_dirB = &NormalX[dirB * numberOfBCnodes]; - nx_dirNE = &NormalX[dirNE * numberOfBCnodes]; - nx_dirSW = &NormalX[dirSW * numberOfBCnodes]; - nx_dirSE = &NormalX[dirSE * numberOfBCnodes]; - nx_dirNW = &NormalX[dirNW * numberOfBCnodes]; - nx_dirTE = &NormalX[dirTE * numberOfBCnodes]; - nx_dirBW = &NormalX[dirBW * numberOfBCnodes]; - nx_dirBE = &NormalX[dirBE * numberOfBCnodes]; - nx_dirTW = &NormalX[dirTW * numberOfBCnodes]; - nx_dirTN = &NormalX[dirTN * numberOfBCnodes]; - nx_dirBS = &NormalX[dirBS * numberOfBCnodes]; - nx_dirBN = &NormalX[dirBN * numberOfBCnodes]; - nx_dirTS = &NormalX[dirTS * numberOfBCnodes]; - nx_dirTNE = &NormalX[dirTNE * numberOfBCnodes]; - nx_dirTSW = &NormalX[dirTSW * numberOfBCnodes]; - nx_dirTSE = &NormalX[dirTSE * numberOfBCnodes]; - nx_dirTNW = &NormalX[dirTNW * numberOfBCnodes]; - nx_dirBNE = &NormalX[dirBNE * numberOfBCnodes]; - nx_dirBSW = &NormalX[dirBSW * numberOfBCnodes]; - nx_dirBSE = &NormalX[dirBSE * numberOfBCnodes]; - nx_dirBNW = &NormalX[dirBNW * numberOfBCnodes]; + nx_dirE = &NormalX[E * numberOfBCnodes]; + nx_dirW = &NormalX[W * numberOfBCnodes]; + nx_dirN = &NormalX[N * numberOfBCnodes]; + nx_dirS = &NormalX[S * numberOfBCnodes]; + nx_dirT = &NormalX[T * numberOfBCnodes]; + nx_dirB = &NormalX[B * numberOfBCnodes]; + nx_dirNE = &NormalX[NE * numberOfBCnodes]; + nx_dirSW = &NormalX[SW * numberOfBCnodes]; + nx_dirSE = &NormalX[SE * numberOfBCnodes]; + nx_dirNW = &NormalX[NW * numberOfBCnodes]; + nx_dirTE = &NormalX[TE * numberOfBCnodes]; + nx_dirBW = &NormalX[BW * numberOfBCnodes]; + nx_dirBE = &NormalX[BE * numberOfBCnodes]; + nx_dirTW = &NormalX[TW * numberOfBCnodes]; + nx_dirTN = &NormalX[TN * numberOfBCnodes]; + nx_dirBS = &NormalX[BS * numberOfBCnodes]; + nx_dirBN = &NormalX[BN * numberOfBCnodes]; + nx_dirTS = &NormalX[TS * numberOfBCnodes]; + nx_dirTNE = &NormalX[TNE * numberOfBCnodes]; + nx_dirTSW = &NormalX[TSW * numberOfBCnodes]; + nx_dirTSE = &NormalX[TSE * numberOfBCnodes]; + nx_dirTNW = &NormalX[TNW * numberOfBCnodes]; + nx_dirBNE = &NormalX[BNE * numberOfBCnodes]; + nx_dirBSW = &NormalX[BSW * numberOfBCnodes]; + nx_dirBSE = &NormalX[BSE * numberOfBCnodes]; + nx_dirBNW = &NormalX[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *ny_dirE, *ny_dirW, *ny_dirN, *ny_dirS, *ny_dirT, *ny_dirB, *ny_dirNE, *ny_dirSW, *ny_dirSE, *ny_dirNW, *ny_dirTE, *ny_dirBW, *ny_dirBE, *ny_dirTW, *ny_dirTN, *ny_dirBS, *ny_dirBN, *ny_dirTS, *ny_dirTNE, *ny_dirTSW, *ny_dirTSE, *ny_dirTNW, *ny_dirBNE, *ny_dirBSW, *ny_dirBSE, *ny_dirBNW; - ny_dirE = &NormalY[dirE * numberOfBCnodes]; - ny_dirW = &NormalY[dirW * numberOfBCnodes]; - ny_dirN = &NormalY[dirN * numberOfBCnodes]; - ny_dirS = &NormalY[dirS * numberOfBCnodes]; - ny_dirT = &NormalY[dirT * numberOfBCnodes]; - ny_dirB = &NormalY[dirB * numberOfBCnodes]; - ny_dirNE = &NormalY[dirNE * numberOfBCnodes]; - ny_dirSW = &NormalY[dirSW * numberOfBCnodes]; - ny_dirSE = &NormalY[dirSE * numberOfBCnodes]; - ny_dirNW = &NormalY[dirNW * numberOfBCnodes]; - ny_dirTE = &NormalY[dirTE * numberOfBCnodes]; - ny_dirBW = &NormalY[dirBW * numberOfBCnodes]; - ny_dirBE = &NormalY[dirBE * numberOfBCnodes]; - ny_dirTW = &NormalY[dirTW * numberOfBCnodes]; - ny_dirTN = &NormalY[dirTN * numberOfBCnodes]; - ny_dirBS = &NormalY[dirBS * numberOfBCnodes]; - ny_dirBN = &NormalY[dirBN * numberOfBCnodes]; - ny_dirTS = &NormalY[dirTS * numberOfBCnodes]; - ny_dirTNE = &NormalY[dirTNE * numberOfBCnodes]; - ny_dirTSW = &NormalY[dirTSW * numberOfBCnodes]; - ny_dirTSE = &NormalY[dirTSE * numberOfBCnodes]; - ny_dirTNW = &NormalY[dirTNW * numberOfBCnodes]; - ny_dirBNE = &NormalY[dirBNE * numberOfBCnodes]; - ny_dirBSW = &NormalY[dirBSW * numberOfBCnodes]; - ny_dirBSE = &NormalY[dirBSE * numberOfBCnodes]; - ny_dirBNW = &NormalY[dirBNW * numberOfBCnodes]; + ny_dirE = &NormalY[E * numberOfBCnodes]; + ny_dirW = &NormalY[W * numberOfBCnodes]; + ny_dirN = &NormalY[N * numberOfBCnodes]; + ny_dirS = &NormalY[S * numberOfBCnodes]; + ny_dirT = &NormalY[T * numberOfBCnodes]; + ny_dirB = &NormalY[B * numberOfBCnodes]; + ny_dirNE = &NormalY[NE * numberOfBCnodes]; + ny_dirSW = &NormalY[SW * numberOfBCnodes]; + ny_dirSE = &NormalY[SE * numberOfBCnodes]; + ny_dirNW = &NormalY[NW * numberOfBCnodes]; + ny_dirTE = &NormalY[TE * numberOfBCnodes]; + ny_dirBW = &NormalY[BW * numberOfBCnodes]; + ny_dirBE = &NormalY[BE * numberOfBCnodes]; + ny_dirTW = &NormalY[TW * numberOfBCnodes]; + ny_dirTN = &NormalY[TN * numberOfBCnodes]; + ny_dirBS = &NormalY[BS * numberOfBCnodes]; + ny_dirBN = &NormalY[BN * numberOfBCnodes]; + ny_dirTS = &NormalY[TS * numberOfBCnodes]; + ny_dirTNE = &NormalY[TNE * numberOfBCnodes]; + ny_dirTSW = &NormalY[TSW * numberOfBCnodes]; + ny_dirTSE = &NormalY[TSE * numberOfBCnodes]; + ny_dirTNW = &NormalY[TNW * numberOfBCnodes]; + ny_dirBNE = &NormalY[BNE * numberOfBCnodes]; + ny_dirBSW = &NormalY[BSW * numberOfBCnodes]; + ny_dirBSE = &NormalY[BSE * numberOfBCnodes]; + ny_dirBNW = &NormalY[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// real *nz_dirE, *nz_dirW, *nz_dirN, *nz_dirS, *nz_dirT, *nz_dirB, *nz_dirNE, *nz_dirSW, *nz_dirSE, *nz_dirNW, *nz_dirTE, *nz_dirBW, *nz_dirBE, *nz_dirTW, *nz_dirTN, *nz_dirBS, *nz_dirBN, *nz_dirTS, *nz_dirTNE, *nz_dirTSW, *nz_dirTSE, *nz_dirTNW, *nz_dirBNE, *nz_dirBSW, *nz_dirBSE, *nz_dirBNW; - nz_dirE = &NormalZ[dirE * numberOfBCnodes]; - nz_dirW = &NormalZ[dirW * numberOfBCnodes]; - nz_dirN = &NormalZ[dirN * numberOfBCnodes]; - nz_dirS = &NormalZ[dirS * numberOfBCnodes]; - nz_dirT = &NormalZ[dirT * numberOfBCnodes]; - nz_dirB = &NormalZ[dirB * numberOfBCnodes]; - nz_dirNE = &NormalZ[dirNE * numberOfBCnodes]; - nz_dirSW = &NormalZ[dirSW * numberOfBCnodes]; - nz_dirSE = &NormalZ[dirSE * numberOfBCnodes]; - nz_dirNW = &NormalZ[dirNW * numberOfBCnodes]; - nz_dirTE = &NormalZ[dirTE * numberOfBCnodes]; - nz_dirBW = &NormalZ[dirBW * numberOfBCnodes]; - nz_dirBE = &NormalZ[dirBE * numberOfBCnodes]; - nz_dirTW = &NormalZ[dirTW * numberOfBCnodes]; - nz_dirTN = &NormalZ[dirTN * numberOfBCnodes]; - nz_dirBS = &NormalZ[dirBS * numberOfBCnodes]; - nz_dirBN = &NormalZ[dirBN * numberOfBCnodes]; - nz_dirTS = &NormalZ[dirTS * numberOfBCnodes]; - nz_dirTNE = &NormalZ[dirTNE * numberOfBCnodes]; - nz_dirTSW = &NormalZ[dirTSW * numberOfBCnodes]; - nz_dirTSE = &NormalZ[dirTSE * numberOfBCnodes]; - nz_dirTNW = &NormalZ[dirTNW * numberOfBCnodes]; - nz_dirBNE = &NormalZ[dirBNE * numberOfBCnodes]; - nz_dirBSW = &NormalZ[dirBSW * numberOfBCnodes]; - nz_dirBSE = &NormalZ[dirBSE * numberOfBCnodes]; - nz_dirBNW = &NormalZ[dirBNW * numberOfBCnodes]; + nz_dirE = &NormalZ[E * numberOfBCnodes]; + nz_dirW = &NormalZ[W * numberOfBCnodes]; + nz_dirN = &NormalZ[N * numberOfBCnodes]; + nz_dirS = &NormalZ[S * numberOfBCnodes]; + nz_dirT = &NormalZ[T * numberOfBCnodes]; + nz_dirB = &NormalZ[B * numberOfBCnodes]; + nz_dirNE = &NormalZ[NE * numberOfBCnodes]; + nz_dirSW = &NormalZ[SW * numberOfBCnodes]; + nz_dirSE = &NormalZ[SE * numberOfBCnodes]; + nz_dirNW = &NormalZ[NW * numberOfBCnodes]; + nz_dirTE = &NormalZ[TE * numberOfBCnodes]; + nz_dirBW = &NormalZ[BW * numberOfBCnodes]; + nz_dirBE = &NormalZ[BE * numberOfBCnodes]; + nz_dirTW = &NormalZ[TW * numberOfBCnodes]; + nz_dirTN = &NormalZ[TN * numberOfBCnodes]; + nz_dirBS = &NormalZ[BS * numberOfBCnodes]; + nz_dirBN = &NormalZ[BN * numberOfBCnodes]; + nz_dirTS = &NormalZ[TS * numberOfBCnodes]; + nz_dirTNE = &NormalZ[TNE * numberOfBCnodes]; + nz_dirTSW = &NormalZ[TSW * numberOfBCnodes]; + nz_dirTSE = &NormalZ[TSE * numberOfBCnodes]; + nz_dirTNW = &NormalZ[TNW * numberOfBCnodes]; + nz_dirBNE = &NormalZ[BNE * numberOfBCnodes]; + nz_dirBSW = &NormalZ[BSW * numberOfBCnodes]; + nz_dirBSE = &NormalZ[BSE * numberOfBCnodes]; + nz_dirBNW = &NormalZ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -3159,32 +3159,32 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, unsigned int ktne = KQK; unsigned int kbsw = neighborZ[ksw]; //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -3209,63 +3209,63 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real VeloX = vx1; @@ -3353,7 +3353,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W))/(c1o1+q) - c2o27 * drho; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W))/(c1o1+q) - c2o27 * drho; } q = q_dirW[k]; @@ -3368,7 +3368,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E))/(c1o1+q) - c2o27 * drho; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E))/(c1o1+q) - c2o27 * drho; } q = q_dirN[k]; @@ -3383,7 +3383,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S))/(c1o1+q) - c2o27 * drho; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S))/(c1o1+q) - c2o27 * drho; } q = q_dirS[k]; @@ -3398,7 +3398,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N))/(c1o1+q) - c2o27 * drho; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N))/(c1o1+q) - c2o27 * drho; } q = q_dirT[k]; @@ -3413,7 +3413,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B))/(c1o1+q) - c2o27 * drho; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B))/(c1o1+q) - c2o27 * drho; } q = q_dirB[k]; @@ -3428,7 +3428,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T))/(c1o1+q) - c2o27 * drho; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T))/(c1o1+q) - c2o27 * drho; } q = q_dirNE[k]; @@ -3444,7 +3444,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW))/(c1o1+q) - c1o54 * drho; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW))/(c1o1+q) - c1o54 * drho; } q = q_dirSW[k]; @@ -3460,7 +3460,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE))/(c1o1+q) - c1o54 * drho; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE))/(c1o1+q) - c1o54 * drho; } q = q_dirSE[k]; @@ -3476,7 +3476,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW))/(c1o1+q) - c1o54 * drho; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW))/(c1o1+q) - c1o54 * drho; } q = q_dirNW[k]; @@ -3492,7 +3492,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE))/(c1o1+q) - c1o54 * drho; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE))/(c1o1+q) - c1o54 * drho; } q = q_dirTE[k]; @@ -3508,7 +3508,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW))/(c1o1+q) - c1o54 * drho; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW))/(c1o1+q) - c1o54 * drho; } q = q_dirBW[k]; @@ -3524,7 +3524,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE))/(c1o1+q) - c1o54 * drho; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE))/(c1o1+q) - c1o54 * drho; } q = q_dirBE[k]; @@ -3540,7 +3540,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW))/(c1o1+q) - c1o54 * drho; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW))/(c1o1+q) - c1o54 * drho; } q = q_dirTW[k]; @@ -3556,7 +3556,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE))/(c1o1+q) - c1o54 * drho; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE))/(c1o1+q) - c1o54 * drho; } q = q_dirTN[k]; @@ -3572,7 +3572,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS))/(c1o1+q) - c1o54 * drho; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS))/(c1o1+q) - c1o54 * drho; } q = q_dirBS[k]; @@ -3588,7 +3588,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN))/(c1o1+q) - c1o54 * drho; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN))/(c1o1+q) - c1o54 * drho; } q = q_dirBN[k]; @@ -3604,7 +3604,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS))/(c1o1+q) - c1o54 * drho; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS))/(c1o1+q) - c1o54 * drho; } q = q_dirTS[k]; @@ -3620,7 +3620,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN))/(c1o1+q) - c1o54 * drho; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN))/(c1o1+q) - c1o54 * drho; } q = q_dirTNE[k]; @@ -3639,7 +3639,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q) - c1o216 * drho; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW))/(c1o1+q) - c1o216 * drho; } q = q_dirBSW[k]; @@ -3658,7 +3658,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q) - c1o216 * drho; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE))/(c1o1+q) - c1o216 * drho; } q = q_dirBNE[k]; @@ -3677,7 +3677,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q) - c1o216 * drho; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW))/(c1o1+q) - c1o216 * drho; } q = q_dirTSW[k]; @@ -3696,7 +3696,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q) - c1o216 * drho; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE))/(c1o1+q) - c1o216 * drho; } q = q_dirTSE[k]; @@ -3715,7 +3715,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q) - c1o216 * drho; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW))/(c1o1+q) - c1o216 * drho; } q = q_dirBNW[k]; @@ -3734,7 +3734,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q) - c1o216 * drho; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE))/(c1o1+q) - c1o216 * drho; } q = q_dirBSE[k]; @@ -3753,7 +3753,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q) - c1o216 * drho; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW))/(c1o1+q) - c1o216 * drho; } q = q_dirTNW[k]; @@ -3772,7 +3772,7 @@ extern "C" __global__ void QSlipNormDeviceComp27(real* DD, //tangential = (tangential > one) ? one:tangential; q = (q + qSlip)/(c1o1 + qSlip * (c1o1 - tangential) / (smallSingle + q)); feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q) - c1o216 * drho; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE))/(c1o1+q) - c1o216 * drho; } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu index 97731f982..1c715b604 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu @@ -170,63 +170,63 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, Distributions27 D; if (isEvenTimestep==true)//get right array of post coll f's { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -247,32 +247,32 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -307,32 +307,32 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, 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[dirE ])[ke ]; //post-coll f's - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; //post-coll f's + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; @@ -359,63 +359,63 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) //get adress where incoming f's should be written to { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Compute incoming f's with zero wall velocity @@ -694,49 +694,49 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirW])[kw] = f_W_in - (c6o1*c2o27*( VeloX ))/(c1o1+q); + (D.f[W])[kw] = f_W_in - (c6o1*c2o27*( VeloX ))/(c1o1+q); wallMomentumX += -(c6o1*c2o27*( VeloX ))/(c1o1+q); } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirE])[ke] = f_E_in - (c6o1*c2o27*(-VeloX ))/(c1o1+q); + (D.f[E])[ke] = f_E_in - (c6o1*c2o27*(-VeloX ))/(c1o1+q); wallMomentumX -= - (c6o1*c2o27*(-VeloX ))/(c1o1+q); } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirS])[ks] = f_S_in - (c6o1*c2o27*( VeloY ))/(c1o1+q); + (D.f[S])[ks] = f_S_in - (c6o1*c2o27*( VeloY ))/(c1o1+q); wallMomentumY += - (c6o1*c2o27*( VeloY ))/(c1o1+q); } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirN])[kn] = f_N_in - (c6o1*c2o27*(-VeloY ))/(c1o1+q); + (D.f[N])[kn] = f_N_in - (c6o1*c2o27*(-VeloY ))/(c1o1+q); wallMomentumY -= -(c6o1*c2o27*(-VeloY ))/(c1o1+q); } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirB])[kb] = f_B_in - (c6o1*c2o27*( VeloZ ))/(c1o1+q); + (D.f[B])[kb] = f_B_in - (c6o1*c2o27*( VeloZ ))/(c1o1+q); wallMomentumZ += - (c6o1*c2o27*( VeloZ ))/(c1o1+q); } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirT])[kt] = f_T_in - (c6o1*c2o27*(-VeloZ ))/(c1o1+q); + (D.f[T])[kt] = f_T_in - (c6o1*c2o27*(-VeloZ ))/(c1o1+q); wallMomentumZ -= -(c6o1*c2o27*(-VeloZ ))/(c1o1+q); } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSW])[ksw] = f_SW_in - (c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); + (D.f[SW])[ksw] = f_SW_in - (c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); wallMomentumX += -(c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); wallMomentumY += -(c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); } @@ -744,7 +744,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNE])[kne] = f_NE_in - (c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); + (D.f[NE])[kne] = f_NE_in - (c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); wallMomentumX -= - (c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); wallMomentumY -= - (c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); } @@ -752,7 +752,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNW])[knw] = f_NW_in - (c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); + (D.f[NW])[knw] = f_NW_in - (c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); wallMomentumX += -(c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); wallMomentumY -= -(c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); } @@ -760,7 +760,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSE])[kse] = f_SE_in - (c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); + (D.f[SE])[kse] = f_SE_in - (c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); wallMomentumX -= - (c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); wallMomentumY += - (c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); } @@ -768,7 +768,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBW])[kbw] = f_BW_in - (c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); + (D.f[BW])[kbw] = f_BW_in - (c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); } @@ -776,7 +776,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTE])[kte] = f_TE_in - (c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); + (D.f[TE])[kte] = f_TE_in - (c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); } @@ -784,7 +784,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTW])[ktw] = f_TW_in - (c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); + (D.f[TW])[ktw] = f_TW_in - (c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); } @@ -792,7 +792,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBE])[kbe] = f_BE_in - (c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); + (D.f[BE])[kbe] = f_BE_in - (c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); } @@ -800,7 +800,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBS])[kbs] = f_BS_in - (c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); + (D.f[BS])[kbs] = f_BS_in - (c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); } @@ -808,7 +808,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTN])[ktn] = f_TN_in - (c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); + (D.f[TN])[ktn] = f_TN_in - (c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); } @@ -816,7 +816,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTS])[kts] = f_TS_in - (c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); + (D.f[TS])[kts] = f_TS_in - (c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); } @@ -824,7 +824,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBN])[kbn] = f_BN_in - (c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); + (D.f[BN])[kbn] = f_BN_in - (c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); } @@ -832,7 +832,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSW])[kbsw] = f_BSW_in - (c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); + (D.f[BSW])[kbsw] = f_BSW_in - (c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); @@ -841,7 +841,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNE])[ktne] = f_TNE_in - (c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); + (D.f[TNE])[ktne] = f_TNE_in - (c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); @@ -850,7 +850,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSW])[ktsw] = f_TSW_in - (c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); + (D.f[TSW])[ktsw] = f_TSW_in - (c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); @@ -859,7 +859,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNE])[kbne] = f_BNE_in - (c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); + (D.f[BNE])[kbne] = f_BNE_in - (c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); @@ -868,7 +868,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNW])[kbnw] = f_BNW_in - (c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); + (D.f[BNW])[kbnw] = f_BNW_in - (c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); @@ -877,7 +877,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSE])[ktse] = f_TSE_in - (c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); + (D.f[TSE])[ktse] = f_TSE_in - (c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); @@ -886,7 +886,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNW])[ktnw] = f_TNW_in - (c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); + (D.f[TNW])[ktnw] = f_TNW_in - (c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumX += - (c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumY -= - (c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); wallMomentumZ -= - (c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); @@ -895,7 +895,7 @@ extern "C" __global__ void QStressDeviceComp27(real* DD, q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSE])[kbse] = f_BSE_in - (c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); + (D.f[BSE])[kbse] = f_BSE_in - (c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumX -= - (c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumY += - (c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); wallMomentumZ += - (c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); @@ -945,63 +945,63 @@ extern "C" __global__ void BBStressDevice27( real* DD, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1022,32 +1022,32 @@ extern "C" __global__ void BBStressDevice27( real* DD, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1083,32 +1083,32 @@ extern "C" __global__ void BBStressDevice27( real* DD, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho; @@ -1132,63 +1132,63 @@ extern "C" __global__ void BBStressDevice27( real* DD, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real f_E_in, f_W_in, f_N_in, f_S_in, f_T_in, f_B_in, f_NE_in, f_SW_in, f_SE_in, f_NW_in, f_TE_in, f_BW_in, f_BE_in, @@ -1440,49 +1440,49 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirW])[kw] = f_W_in - (c6o1*c2o27*( VeloX )); + (D.f[W])[kw] = f_W_in - (c6o1*c2o27*( VeloX )); wallMomentumX += -(c6o1*c2o27*( VeloX )); } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirE])[ke] = f_E_in - (c6o1*c2o27*(-VeloX )); + (D.f[E])[ke] = f_E_in - (c6o1*c2o27*(-VeloX )); wallMomentumX -= - (c6o1*c2o27*(-VeloX )); } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirS])[ks] = f_S_in - (c6o1*c2o27*( VeloY )); + (D.f[S])[ks] = f_S_in - (c6o1*c2o27*( VeloY )); wallMomentumY += - (c6o1*c2o27*( VeloY )); } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirN])[kn] = f_N_in - (c6o1*c2o27*(-VeloY )); + (D.f[N])[kn] = f_N_in - (c6o1*c2o27*(-VeloY )); wallMomentumY -= -(c6o1*c2o27*(-VeloY )); } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirB])[kb] = f_B_in - (c6o1*c2o27*( VeloZ )); + (D.f[B])[kb] = f_B_in - (c6o1*c2o27*( VeloZ )); wallMomentumZ += - (c6o1*c2o27*( VeloZ )); } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirT])[kt] = f_T_in - (c6o1*c2o27*(-VeloZ )); + (D.f[T])[kt] = f_T_in - (c6o1*c2o27*(-VeloZ )); wallMomentumZ -= -(c6o1*c2o27*(-VeloZ )); } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSW])[ksw] = f_SW_in - (c6o1*c1o54*(VeloX+VeloY)); + (D.f[SW])[ksw] = f_SW_in - (c6o1*c1o54*(VeloX+VeloY)); wallMomentumX += -(c6o1*c1o54*(VeloX+VeloY)); wallMomentumY += -(c6o1*c1o54*(VeloX+VeloY)); } @@ -1490,7 +1490,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNE])[kne] = f_NE_in - (c6o1*c1o54*(-VeloX-VeloY)); + (D.f[NE])[kne] = f_NE_in - (c6o1*c1o54*(-VeloX-VeloY)); wallMomentumX -= - (c6o1*c1o54*(-VeloX-VeloY)); wallMomentumY -= - (c6o1*c1o54*(-VeloX-VeloY)); } @@ -1498,7 +1498,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirNW])[knw] = f_NW_in - (c6o1*c1o54*( VeloX-VeloY)); + (D.f[NW])[knw] = f_NW_in - (c6o1*c1o54*( VeloX-VeloY)); wallMomentumX += -(c6o1*c1o54*( VeloX-VeloY)); wallMomentumY -= -(c6o1*c1o54*( VeloX-VeloY)); } @@ -1506,7 +1506,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirSE])[kse] = f_SE_in - (c6o1*c1o54*(-VeloX+VeloY)); + (D.f[SE])[kse] = f_SE_in - (c6o1*c1o54*(-VeloX+VeloY)); wallMomentumX -= - (c6o1*c1o54*(-VeloX+VeloY)); wallMomentumY += - (c6o1*c1o54*(-VeloX+VeloY)); } @@ -1514,7 +1514,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBW])[kbw] = f_BW_in - (c6o1*c1o54*( VeloX+VeloZ)); + (D.f[BW])[kbw] = f_BW_in - (c6o1*c1o54*( VeloX+VeloZ)); wallMomentumX += - (c6o1*c1o54*( VeloX+VeloZ)); wallMomentumZ += - (c6o1*c1o54*( VeloX+VeloZ)); } @@ -1522,7 +1522,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTE])[kte] = f_TE_in - (c6o1*c1o54*(-VeloX-VeloZ)); + (D.f[TE])[kte] = f_TE_in - (c6o1*c1o54*(-VeloX-VeloZ)); wallMomentumX -= - (c6o1*c1o54*(-VeloX-VeloZ)); wallMomentumZ -= - (c6o1*c1o54*(-VeloX-VeloZ)); } @@ -1530,7 +1530,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTW])[ktw] = f_TW_in - (c6o1*c1o54*( VeloX-VeloZ)); + (D.f[TW])[ktw] = f_TW_in - (c6o1*c1o54*( VeloX-VeloZ)); wallMomentumX += - (c6o1*c1o54*( VeloX-VeloZ)); wallMomentumZ -= - (c6o1*c1o54*( VeloX-VeloZ)); } @@ -1538,7 +1538,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBE])[kbe] = f_BE_in - (c6o1*c1o54*(-VeloX+VeloZ)); + (D.f[BE])[kbe] = f_BE_in - (c6o1*c1o54*(-VeloX+VeloZ)); wallMomentumX -= - (c6o1*c1o54*(-VeloX+VeloZ)); wallMomentumZ += - (c6o1*c1o54*(-VeloX+VeloZ)); } @@ -1546,7 +1546,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBS])[kbs] = f_BS_in - (c6o1*c1o54*( VeloY+VeloZ)); + (D.f[BS])[kbs] = f_BS_in - (c6o1*c1o54*( VeloY+VeloZ)); wallMomentumY += - (c6o1*c1o54*( VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o54*( VeloY+VeloZ)); } @@ -1554,7 +1554,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTN])[ktn] = f_TN_in - (c6o1*c1o54*( -VeloY-VeloZ)); + (D.f[TN])[ktn] = f_TN_in - (c6o1*c1o54*( -VeloY-VeloZ)); wallMomentumY -= - (c6o1*c1o54*( -VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o54*( -VeloY-VeloZ)); } @@ -1562,7 +1562,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTS])[kts] = f_TS_in - (c6o1*c1o54*( VeloY-VeloZ)); + (D.f[TS])[kts] = f_TS_in - (c6o1*c1o54*( VeloY-VeloZ)); wallMomentumY += - (c6o1*c1o54*( VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o54*( VeloY-VeloZ)); } @@ -1570,7 +1570,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBN])[kbn] = f_BN_in - (c6o1*c1o54*( -VeloY+VeloZ)); + (D.f[BN])[kbn] = f_BN_in - (c6o1*c1o54*( -VeloY+VeloZ)); wallMomentumY -= - (c6o1*c1o54*( -VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o54*( -VeloY+VeloZ)); } @@ -1578,7 +1578,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSW])[kbsw] = f_BSW_in - (c6o1*c1o216*( VeloX+VeloY+VeloZ)); + (D.f[BSW])[kbsw] = f_BSW_in - (c6o1*c1o216*( VeloX+VeloY+VeloZ)); wallMomentumX += - (c6o1*c1o216*( VeloX+VeloY+VeloZ)); wallMomentumY += - (c6o1*c1o216*( VeloX+VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o216*( VeloX+VeloY+VeloZ)); @@ -1587,7 +1587,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNE])[ktne] = f_TNE_in - (c6o1*c1o216*(-VeloX-VeloY-VeloZ)); + (D.f[TNE])[ktne] = f_TNE_in - (c6o1*c1o216*(-VeloX-VeloY-VeloZ)); wallMomentumX -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ)); wallMomentumY -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o216*(-VeloX-VeloY-VeloZ)); @@ -1596,7 +1596,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSW])[ktsw] = f_TSW_in - (c6o1*c1o216*( VeloX+VeloY-VeloZ)); + (D.f[TSW])[ktsw] = f_TSW_in - (c6o1*c1o216*( VeloX+VeloY-VeloZ)); wallMomentumX += - (c6o1*c1o216*( VeloX+VeloY-VeloZ)); wallMomentumY += - (c6o1*c1o216*( VeloX+VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o216*( VeloX+VeloY-VeloZ)); @@ -1605,7 +1605,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNE])[kbne] = f_BNE_in - (c6o1*c1o216*(-VeloX-VeloY+VeloZ)); + (D.f[BNE])[kbne] = f_BNE_in - (c6o1*c1o216*(-VeloX-VeloY+VeloZ)); wallMomentumX -= - (c6o1*c1o216*(-VeloX-VeloY+VeloZ)); wallMomentumY -= - (c6o1*c1o216*(-VeloX-VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o216*(-VeloX-VeloY+VeloZ)); @@ -1614,7 +1614,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBNW])[kbnw] = f_BNW_in - (c6o1*c1o216*( VeloX-VeloY+VeloZ)); + (D.f[BNW])[kbnw] = f_BNW_in - (c6o1*c1o216*( VeloX-VeloY+VeloZ)); wallMomentumX += - (c6o1*c1o216*( VeloX-VeloY+VeloZ)); wallMomentumY -= - (c6o1*c1o216*( VeloX-VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o216*( VeloX-VeloY+VeloZ)); @@ -1623,7 +1623,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTSE])[ktse] = f_TSE_in - (c6o1*c1o216*(-VeloX+VeloY-VeloZ)); + (D.f[TSE])[ktse] = f_TSE_in - (c6o1*c1o216*(-VeloX+VeloY-VeloZ)); wallMomentumX -= - (c6o1*c1o216*(-VeloX+VeloY-VeloZ)); wallMomentumY += - (c6o1*c1o216*(-VeloX+VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o216*(-VeloX+VeloY-VeloZ)); @@ -1632,7 +1632,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirTNW])[ktnw] = f_TNW_in - (c6o1*c1o216*( VeloX-VeloY-VeloZ)); + (D.f[TNW])[ktnw] = f_TNW_in - (c6o1*c1o216*( VeloX-VeloY-VeloZ)); wallMomentumX += - (c6o1*c1o216*( VeloX-VeloY-VeloZ)); wallMomentumY -= - (c6o1*c1o216*( VeloX-VeloY-VeloZ)); wallMomentumZ -= - (c6o1*c1o216*( VeloX-VeloY-VeloZ)); @@ -1641,7 +1641,7 @@ extern "C" __global__ void BBStressDevice27( real* DD, q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { - (D.f[dirBSE])[kbse] = f_BSE_in - (c6o1*c1o216*(-VeloX+VeloY+VeloZ)); + (D.f[BSE])[kbse] = f_BSE_in - (c6o1*c1o216*(-VeloX+VeloY+VeloZ)); wallMomentumX -= - (c6o1*c1o216*(-VeloX+VeloY+VeloZ)); wallMomentumY += - (c6o1*c1o216*(-VeloX+VeloY+VeloZ)); wallMomentumZ += - (c6o1*c1o216*(-VeloX+VeloY+VeloZ)); diff --git a/src/gpu/VirtualFluids_GPU/GPU/ThinWallBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/ThinWallBCs27.cu index 3f396b7ab..2cace923d 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/ThinWallBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/ThinWallBCs27.cu @@ -32,63 +32,63 @@ extern "C" __global__ void QVelDeviceCompThinWallsPartOne27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -113,32 +113,32 @@ extern "C" __global__ void QVelDeviceCompThinWallsPartOne27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index uint KQK = k_Q[k]; @@ -173,32 +173,32 @@ extern "C" __global__ void QVelDeviceCompThinWallsPartOne27( 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -226,182 +226,182 @@ extern "C" __global__ void QVelDeviceCompThinWallsPartOne27( if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho + c9o2 * ( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W) - c6o1*c2o27*(VeloX)) / (c1o1 + q); + (D.f[W])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W) - c6o1*c2o27*(VeloX)) / (c1o1 + q); } q = q_dirW[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2 * (-vx1)*(-vx1) * (c1o1 + drho) - cu_sq); - (D.f[dirE])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E) - c6o1*c2o27*(-VeloX)) / (c1o1 + q); + (D.f[E])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E) - c6o1*c2o27*(-VeloX)) / (c1o1 + q); } q = q_dirN[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2 * (vx2)*(vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirS])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S) - c6o1*c2o27*(VeloY)) / (c1o1 + q); + (D.f[S])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S) - c6o1*c2o27*(VeloY)) / (c1o1 + q); } q = q_dirS[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2 * (-vx2)*(-vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirN])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N) - c6o1*c2o27*(-VeloY)) / (c1o1 + q); + (D.f[N])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N) - c6o1*c2o27*(-VeloY)) / (c1o1 + q); } q = q_dirT[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2 * (vx3)*(vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirB])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B) - c6o1*c2o27*(VeloZ)) / (c1o1 + q); + (D.f[B])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B) - c6o1*c2o27*(VeloZ)) / (c1o1 + q); } q = q_dirB[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2 * (-vx3)*(-vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirT])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T) - c6o1*c2o27*(-VeloZ)) / (c1o1 + q); + (D.f[T])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T) - c6o1*c2o27*(-VeloZ)) / (c1o1 + q); } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*( VeloX+VeloY))/(c1o1+q); + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*( VeloX+VeloY))/(c1o1+q); } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * (-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * (-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * (-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * (-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*(-VeloY-VeloZ))/(c1o1+q); + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*(-VeloY-VeloZ))/(c1o1+q); } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho + c9o2 * ( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*(-VeloY+VeloZ))/(c1o1+q); + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*(-VeloY+VeloZ))/(c1o1+q); } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * ( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * (-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * ( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * (-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * ( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * (-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * ( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho + c9o2 * (-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); } } } @@ -461,63 +461,63 @@ extern "C" __global__ void QDeviceCompThinWallsPartOne27( Distributions27 D; if (isEvenTimestep == true) { - D.f[dirE] = &DD[dirE *size_Mat]; - D.f[dirW] = &DD[dirW *size_Mat]; - D.f[dirN] = &DD[dirN *size_Mat]; - D.f[dirS] = &DD[dirS *size_Mat]; - D.f[dirT] = &DD[dirT *size_Mat]; - D.f[dirB] = &DD[dirB *size_Mat]; - D.f[dirNE] = &DD[dirNE *size_Mat]; - D.f[dirSW] = &DD[dirSW *size_Mat]; - D.f[dirSE] = &DD[dirSE *size_Mat]; - D.f[dirNW] = &DD[dirNW *size_Mat]; - D.f[dirTE] = &DD[dirTE *size_Mat]; - D.f[dirBW] = &DD[dirBW *size_Mat]; - D.f[dirBE] = &DD[dirBE *size_Mat]; - D.f[dirTW] = &DD[dirTW *size_Mat]; - D.f[dirTN] = &DD[dirTN *size_Mat]; - D.f[dirBS] = &DD[dirBS *size_Mat]; - D.f[dirBN] = &DD[dirBN *size_Mat]; - D.f[dirTS] = &DD[dirTS *size_Mat]; + D.f[E] = &DD[E *size_Mat]; + D.f[W] = &DD[W *size_Mat]; + D.f[N] = &DD[N *size_Mat]; + D.f[S] = &DD[S *size_Mat]; + D.f[T] = &DD[T *size_Mat]; + D.f[B] = &DD[B *size_Mat]; + D.f[NE] = &DD[NE *size_Mat]; + D.f[SW] = &DD[SW *size_Mat]; + D.f[SE] = &DD[SE *size_Mat]; + D.f[NW] = &DD[NW *size_Mat]; + D.f[TE] = &DD[TE *size_Mat]; + D.f[BW] = &DD[BW *size_Mat]; + D.f[BE] = &DD[BE *size_Mat]; + D.f[TW] = &DD[TW *size_Mat]; + D.f[TN] = &DD[TN *size_Mat]; + D.f[BS] = &DD[BS *size_Mat]; + D.f[BN] = &DD[BN *size_Mat]; + D.f[TS] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirTNE *size_Mat]; - D.f[dirTSW] = &DD[dirTSW *size_Mat]; - D.f[dirTSE] = &DD[dirTSE *size_Mat]; - D.f[dirTNW] = &DD[dirTNW *size_Mat]; - D.f[dirBNE] = &DD[dirBNE *size_Mat]; - D.f[dirBSW] = &DD[dirBSW *size_Mat]; - D.f[dirBSE] = &DD[dirBSE *size_Mat]; - D.f[dirBNW] = &DD[dirBNW *size_Mat]; + D.f[TNE] = &DD[TNE *size_Mat]; + D.f[TSW] = &DD[TSW *size_Mat]; + D.f[TSE] = &DD[TSE *size_Mat]; + D.f[TNW] = &DD[TNW *size_Mat]; + D.f[BNE] = &DD[BNE *size_Mat]; + D.f[BSW] = &DD[BSW *size_Mat]; + D.f[BSE] = &DD[BSE *size_Mat]; + D.f[BNW] = &DD[BNW *size_Mat]; } else { - D.f[dirW] = &DD[dirE *size_Mat]; - D.f[dirE] = &DD[dirW *size_Mat]; - D.f[dirS] = &DD[dirN *size_Mat]; - D.f[dirN] = &DD[dirS *size_Mat]; - D.f[dirB] = &DD[dirT *size_Mat]; - D.f[dirT] = &DD[dirB *size_Mat]; - D.f[dirSW] = &DD[dirNE *size_Mat]; - D.f[dirNE] = &DD[dirSW *size_Mat]; - D.f[dirNW] = &DD[dirSE *size_Mat]; - D.f[dirSE] = &DD[dirNW *size_Mat]; - D.f[dirBW] = &DD[dirTE *size_Mat]; - D.f[dirTE] = &DD[dirBW *size_Mat]; - D.f[dirTW] = &DD[dirBE *size_Mat]; - D.f[dirBE] = &DD[dirTW *size_Mat]; - D.f[dirBS] = &DD[dirTN *size_Mat]; - D.f[dirTN] = &DD[dirBS *size_Mat]; - D.f[dirTS] = &DD[dirBN *size_Mat]; - D.f[dirBN] = &DD[dirTS *size_Mat]; + D.f[W] = &DD[E *size_Mat]; + D.f[E] = &DD[W *size_Mat]; + D.f[S] = &DD[N *size_Mat]; + D.f[N] = &DD[S *size_Mat]; + D.f[B] = &DD[T *size_Mat]; + D.f[T] = &DD[B *size_Mat]; + D.f[SW] = &DD[NE *size_Mat]; + D.f[NE] = &DD[SW *size_Mat]; + D.f[NW] = &DD[SE *size_Mat]; + D.f[SE] = &DD[NW *size_Mat]; + D.f[BW] = &DD[TE *size_Mat]; + D.f[TE] = &DD[BW *size_Mat]; + D.f[TW] = &DD[BE *size_Mat]; + D.f[BE] = &DD[TW *size_Mat]; + D.f[BS] = &DD[TN *size_Mat]; + D.f[TN] = &DD[BS *size_Mat]; + D.f[TS] = &DD[BN *size_Mat]; + D.f[BN] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirBSW *size_Mat]; - D.f[dirTSW] = &DD[dirBNE *size_Mat]; - D.f[dirTSE] = &DD[dirBNW *size_Mat]; - D.f[dirTNW] = &DD[dirBSE *size_Mat]; - D.f[dirBNE] = &DD[dirTSW *size_Mat]; - D.f[dirBSW] = &DD[dirTNE *size_Mat]; - D.f[dirBSE] = &DD[dirTNW *size_Mat]; - D.f[dirBNW] = &DD[dirTSE *size_Mat]; + D.f[TNE] = &DD[BSW *size_Mat]; + D.f[TSW] = &DD[BNE *size_Mat]; + D.f[TSE] = &DD[BNW *size_Mat]; + D.f[TNW] = &DD[BSE *size_Mat]; + D.f[BNE] = &DD[TSW *size_Mat]; + D.f[BSW] = &DD[TNE *size_Mat]; + D.f[BSE] = &DD[TNW *size_Mat]; + D.f[BNW] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -538,32 +538,32 @@ extern "C" __global__ void QDeviceCompThinWallsPartOne27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -598,32 +598,32 @@ extern "C" __global__ void QDeviceCompThinWallsPartOne27( 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[dirE])[ke]; - f_E = (D.f[dirW])[kw]; - f_S = (D.f[dirN])[kn]; - f_N = (D.f[dirS])[ks]; - f_B = (D.f[dirT])[kt]; - f_T = (D.f[dirB])[kb]; - f_SW = (D.f[dirNE])[kne]; - f_NE = (D.f[dirSW])[ksw]; - f_NW = (D.f[dirSE])[kse]; - f_SE = (D.f[dirNW])[knw]; - f_BW = (D.f[dirTE])[kte]; - f_TE = (D.f[dirBW])[kbw]; - f_TW = (D.f[dirBE])[kbe]; - f_BE = (D.f[dirTW])[ktw]; - f_BS = (D.f[dirTN])[ktn]; - f_TN = (D.f[dirBS])[kbs]; - f_TS = (D.f[dirBN])[kbn]; - f_BN = (D.f[dirTS])[kts]; - f_BSW = (D.f[dirTNE])[ktne]; - f_BNE = (D.f[dirTSW])[ktsw]; - f_BNW = (D.f[dirTSE])[ktse]; - f_BSE = (D.f[dirTNW])[ktnw]; - f_TSW = (D.f[dirBNE])[kbne]; - f_TNE = (D.f[dirBSW])[kbsw]; - f_TNW = (D.f[dirBSE])[kbse]; - f_TSE = (D.f[dirBNW])[kbnw]; + f_W = (D.f[E])[ke]; + f_E = (D.f[W])[kw]; + f_S = (D.f[N])[kn]; + f_N = (D.f[S])[ks]; + f_B = (D.f[T])[kt]; + f_T = (D.f[B])[kb]; + f_SW = (D.f[NE])[kne]; + f_NE = (D.f[SW])[ksw]; + f_NW = (D.f[SE])[kse]; + f_SE = (D.f[NW])[knw]; + f_BW = (D.f[TE])[kte]; + f_TE = (D.f[BW])[kbw]; + f_TW = (D.f[BE])[kbe]; + f_BE = (D.f[TW])[ktw]; + f_BS = (D.f[TN])[ktn]; + f_TN = (D.f[BS])[kbs]; + f_TS = (D.f[BN])[kbn]; + f_BN = (D.f[TS])[kts]; + f_BSW = (D.f[TNE])[ktne]; + f_BNE = (D.f[TSW])[ktsw]; + f_BNW = (D.f[TSE])[ktse]; + f_BSE = (D.f[TNW])[ktnw]; + f_TSW = (D.f[BNE])[kbne]; + f_TNE = (D.f[BSW])[kbsw]; + f_TNW = (D.f[BSE])[kbse]; + f_TSE = (D.f[BNW])[kbnw]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -651,182 +651,182 @@ extern "C" __global__ void QDeviceCompThinWallsPartOne27( if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(vx1)*(vx1) * (c1o1 + drho) - cu_sq); - (D.f[dirW])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W)) / (c1o1 + q); + (D.f[W])[kw] = (c1o1 - q) / (c1o1 + q)*(f_E - f_W + (f_E + f_W - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_E + f_W)) / (c1o1 + q); } q = q_dirW[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(-vx1)*(-vx1) * (c1o1 + drho) - cu_sq); - (D.f[dirE])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E)) / (c1o1 + q); + (D.f[E])[ke] = (c1o1 - q) / (c1o1 + q)*(f_W - f_E + (f_W + f_E - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_W + f_E)) / (c1o1 + q); } q = q_dirN[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(vx2)*(vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirS])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S)) / (c1o1 + q); + (D.f[S])[ks] = (c1o1 - q) / (c1o1 + q)*(f_N - f_S + (f_N + f_S - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_N + f_S)) / (c1o1 + q); } q = q_dirS[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(-vx2)*(-vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirN])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N)) / (c1o1 + q); + (D.f[N])[kn] = (c1o1 - q) / (c1o1 + q)*(f_S - f_N + (f_S + f_N - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_S + f_N)) / (c1o1 + q); } q = q_dirT[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(vx3)*(vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirB])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B)) / (c1o1 + q); + (D.f[B])[kb] = (c1o1 - q) / (c1o1 + q)*(f_T - f_B + (f_T + f_B - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_T + f_B)) / (c1o1 + q); } q = q_dirB[k]; if (q >= c0o1 && q <= c1o1) { feq = c2o27* (drho + c9o2*(-vx3)*(-vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirT])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T)) / (c1o1 + q); + (D.f[T])[kt] = (c1o1 - q) / (c1o1 + q)*(f_B - f_T + (f_B + f_T - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_B + f_T)) / (c1o1 + q); } q = q_dirNE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx1 + vx2)*(vx1 + vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirSW])[ksw] = (c1o1 - q) / (c1o1 + q)*(f_NE - f_SW + (f_NE + f_SW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NE + f_SW)) / (c1o1 + q); + (D.f[SW])[ksw] = (c1o1 - q) / (c1o1 + q)*(f_NE - f_SW + (f_NE + f_SW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NE + f_SW)) / (c1o1 + q); } q = q_dirSW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx1 - vx2)*(-vx1 - vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirNE])[kne] = (c1o1 - q) / (c1o1 + q)*(f_SW - f_NE + (f_SW + f_NE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SW + f_NE)) / (c1o1 + q); + (D.f[NE])[kne] = (c1o1 - q) / (c1o1 + q)*(f_SW - f_NE + (f_SW + f_NE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SW + f_NE)) / (c1o1 + q); } q = q_dirSE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx1 - vx2)*(vx1 - vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirNW])[knw] = (c1o1 - q) / (c1o1 + q)*(f_SE - f_NW + (f_SE + f_NW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SE + f_NW)) / (c1o1 + q); + (D.f[NW])[knw] = (c1o1 - q) / (c1o1 + q)*(f_SE - f_NW + (f_SE + f_NW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_SE + f_NW)) / (c1o1 + q); } q = q_dirNW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx1 + vx2)*(-vx1 + vx2) * (c1o1 + drho) - cu_sq); - (D.f[dirSE])[kse] = (c1o1 - q) / (c1o1 + q)*(f_NW - f_SE + (f_NW + f_SE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NW + f_SE)) / (c1o1 + q); + (D.f[SE])[kse] = (c1o1 - q) / (c1o1 + q)*(f_NW - f_SE + (f_NW + f_SE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_NW + f_SE)) / (c1o1 + q); } q = q_dirTE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx1 + vx3)*(vx1 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBW])[kbw] = (c1o1 - q) / (c1o1 + q)*(f_TE - f_BW + (f_TE + f_BW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TE + f_BW)) / (c1o1 + q); + (D.f[BW])[kbw] = (c1o1 - q) / (c1o1 + q)*(f_TE - f_BW + (f_TE + f_BW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TE + f_BW)) / (c1o1 + q); } q = q_dirBW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx1 - vx3)*(-vx1 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTE])[kte] = (c1o1 - q) / (c1o1 + q)*(f_BW - f_TE + (f_BW + f_TE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BW + f_TE)) / (c1o1 + q); + (D.f[TE])[kte] = (c1o1 - q) / (c1o1 + q)*(f_BW - f_TE + (f_BW + f_TE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BW + f_TE)) / (c1o1 + q); } q = q_dirBE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx1 - vx3)*(vx1 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTW])[ktw] = (c1o1 - q) / (c1o1 + q)*(f_BE - f_TW + (f_BE + f_TW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BE + f_TW)) / (c1o1 + q); + (D.f[TW])[ktw] = (c1o1 - q) / (c1o1 + q)*(f_BE - f_TW + (f_BE + f_TW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BE + f_TW)) / (c1o1 + q); } q = q_dirTW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx1 + vx3)*(-vx1 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBE])[kbe] = (c1o1 - q) / (c1o1 + q)*(f_TW - f_BE + (f_TW + f_BE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TW + f_BE)) / (c1o1 + q); + (D.f[BE])[kbe] = (c1o1 - q) / (c1o1 + q)*(f_TW - f_BE + (f_TW + f_BE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TW + f_BE)) / (c1o1 + q); } q = q_dirTN[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx2 + vx3)*(vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBS])[kbs] = (c1o1 - q) / (c1o1 + q)*(f_TN - f_BS + (f_TN + f_BS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TN + f_BS)) / (c1o1 + q); + (D.f[BS])[kbs] = (c1o1 - q) / (c1o1 + q)*(f_TN - f_BS + (f_TN + f_BS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TN + f_BS)) / (c1o1 + q); } q = q_dirBS[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx2 - vx3)*(-vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTN])[ktn] = (c1o1 - q) / (c1o1 + q)*(f_BS - f_TN + (f_BS + f_TN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BS + f_TN)) / (c1o1 + q); + (D.f[TN])[ktn] = (c1o1 - q) / (c1o1 + q)*(f_BS - f_TN + (f_BS + f_TN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BS + f_TN)) / (c1o1 + q); } q = q_dirBN[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(vx2 - vx3)*(vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTS])[kts] = (c1o1 - q) / (c1o1 + q)*(f_BN - f_TS + (f_BN + f_TS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BN + f_TS)) / (c1o1 + q); + (D.f[TS])[kts] = (c1o1 - q) / (c1o1 + q)*(f_BN - f_TS + (f_BN + f_TS - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BN + f_TS)) / (c1o1 + q); } q = q_dirTS[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o54* (drho + c9o2*(-vx2 + vx3)*(-vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBN])[kbn] = (c1o1 - q) / (c1o1 + q)*(f_TS - f_BN + (f_TS + f_BN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TS + f_BN)) / (c1o1 + q); + (D.f[BN])[kbn] = (c1o1 - q) / (c1o1 + q)*(f_TS - f_BN + (f_TS + f_BN - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TS + f_BN)) / (c1o1 + q); } q = q_dirTNE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBSW])[kbsw] = (c1o1 - q) / (c1o1 + q)*(f_TNE - f_BSW + (f_TNE + f_BSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNE + f_BSW)) / (c1o1 + q); + (D.f[BSW])[kbsw] = (c1o1 - q) / (c1o1 + q)*(f_TNE - f_BSW + (f_TNE + f_BSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNE + f_BSW)) / (c1o1 + q); } q = q_dirBSW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTNE])[ktne] = (c1o1 - q) / (c1o1 + q)*(f_BSW - f_TNE + (f_BSW + f_TNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSW + f_TNE)) / (c1o1 + q); + (D.f[TNE])[ktne] = (c1o1 - q) / (c1o1 + q)*(f_BSW - f_TNE + (f_BSW + f_TNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSW + f_TNE)) / (c1o1 + q); } q = q_dirBNE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTSW])[ktsw] = (c1o1 - q) / (c1o1 + q)*(f_BNE - f_TSW + (f_BNE + f_TSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNE + f_TSW)) / (c1o1 + q); + (D.f[TSW])[ktsw] = (c1o1 - q) / (c1o1 + q)*(f_BNE - f_TSW + (f_BNE + f_TSW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNE + f_TSW)) / (c1o1 + q); } q = q_dirTSW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBNE])[kbne] = (c1o1 - q) / (c1o1 + q)*(f_TSW - f_BNE + (f_TSW + f_BNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSW + f_BNE)) / (c1o1 + q); + (D.f[BNE])[kbne] = (c1o1 - q) / (c1o1 + q)*(f_TSW - f_BNE + (f_TSW + f_BNE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSW + f_BNE)) / (c1o1 + q); } q = q_dirTSE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBNW])[kbnw] = (c1o1 - q) / (c1o1 + q)*(f_TSE - f_BNW + (f_TSE + f_BNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSE + f_BNW)) / (c1o1 + q); + (D.f[BNW])[kbnw] = (c1o1 - q) / (c1o1 + q)*(f_TSE - f_BNW + (f_TSE + f_BNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TSE + f_BNW)) / (c1o1 + q); } q = q_dirBNW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTSE])[ktse] = (c1o1 - q) / (c1o1 + q)*(f_BNW - f_TSE + (f_BNW + f_TSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNW + f_TSE)) / (c1o1 + q); + (D.f[TSE])[ktse] = (c1o1 - q) / (c1o1 + q)*(f_BNW - f_TSE + (f_BNW + f_TSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BNW + f_TSE)) / (c1o1 + q); } q = q_dirBSE[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirTNW])[ktnw] = (c1o1 - q) / (c1o1 + q)*(f_BSE - f_TNW + (f_BSE + f_TNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSE + f_TNW)) / (c1o1 + q); + (D.f[TNW])[ktnw] = (c1o1 - q) / (c1o1 + q)*(f_BSE - f_TNW + (f_BSE + f_TNW - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_BSE + f_TNW)) / (c1o1 + q); } q = q_dirTNW[k]; if (q >= c0o1 && q <= c1o1) { feq = c1o216*(drho + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) * (c1o1 + drho) - cu_sq); - (D.f[dirBSE])[kbse] = (c1o1 - q) / (c1o1 + q)*(f_TNW - f_BSE + (f_TNW + f_BSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNW + f_BSE)) / (c1o1 + q); + (D.f[BSE])[kbse] = (c1o1 - q) / (c1o1 + q)*(f_TNW - f_BSE + (f_TNW + f_BSE - c2o1*feq*om1) / (c1o1 - om1))*c1o2 + (q*(f_TNW + f_BSE)) / (c1o1 + q); } } } @@ -903,32 +903,32 @@ extern "C" __global__ void QThinWallsPartTwo27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index uint KQK = k_Q[k]; @@ -979,123 +979,123 @@ extern "C" __global__ void QThinWallsPartTwo27( Distributions27 D, DN; if (isEvenTimestep == true) { - D.f[dirE] = &DD[dirE *size_Mat]; - D.f[dirW] = &DD[dirW *size_Mat]; - D.f[dirN] = &DD[dirN *size_Mat]; - D.f[dirS] = &DD[dirS *size_Mat]; - D.f[dirT] = &DD[dirT *size_Mat]; - D.f[dirB] = &DD[dirB *size_Mat]; - D.f[dirNE] = &DD[dirNE *size_Mat]; - D.f[dirSW] = &DD[dirSW *size_Mat]; - D.f[dirSE] = &DD[dirSE *size_Mat]; - D.f[dirNW] = &DD[dirNW *size_Mat]; - D.f[dirTE] = &DD[dirTE *size_Mat]; - D.f[dirBW] = &DD[dirBW *size_Mat]; - D.f[dirBE] = &DD[dirBE *size_Mat]; - D.f[dirTW] = &DD[dirTW *size_Mat]; - D.f[dirTN] = &DD[dirTN *size_Mat]; - D.f[dirBS] = &DD[dirBS *size_Mat]; - D.f[dirBN] = &DD[dirBN *size_Mat]; - D.f[dirTS] = &DD[dirTS *size_Mat]; + D.f[E] = &DD[E *size_Mat]; + D.f[W] = &DD[W *size_Mat]; + D.f[N] = &DD[N *size_Mat]; + D.f[S] = &DD[S *size_Mat]; + D.f[T] = &DD[T *size_Mat]; + D.f[B] = &DD[B *size_Mat]; + D.f[NE] = &DD[NE *size_Mat]; + D.f[SW] = &DD[SW *size_Mat]; + D.f[SE] = &DD[SE *size_Mat]; + D.f[NW] = &DD[NW *size_Mat]; + D.f[TE] = &DD[TE *size_Mat]; + D.f[BW] = &DD[BW *size_Mat]; + D.f[BE] = &DD[BE *size_Mat]; + D.f[TW] = &DD[TW *size_Mat]; + D.f[TN] = &DD[TN *size_Mat]; + D.f[BS] = &DD[BS *size_Mat]; + D.f[BN] = &DD[BN *size_Mat]; + D.f[TS] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirTNE *size_Mat]; - D.f[dirTSW] = &DD[dirTSW *size_Mat]; - D.f[dirTSE] = &DD[dirTSE *size_Mat]; - D.f[dirTNW] = &DD[dirTNW *size_Mat]; - D.f[dirBNE] = &DD[dirBNE *size_Mat]; - D.f[dirBSW] = &DD[dirBSW *size_Mat]; - D.f[dirBSE] = &DD[dirBSE *size_Mat]; - D.f[dirBNW] = &DD[dirBNW *size_Mat]; + D.f[TNE] = &DD[TNE *size_Mat]; + D.f[TSW] = &DD[TSW *size_Mat]; + D.f[TSE] = &DD[TSE *size_Mat]; + D.f[TNW] = &DD[TNW *size_Mat]; + D.f[BNE] = &DD[BNE *size_Mat]; + D.f[BSW] = &DD[BSW *size_Mat]; + D.f[BSE] = &DD[BSE *size_Mat]; + D.f[BNW] = &DD[BNW *size_Mat]; } else { - D.f[dirW] = &DD[dirE *size_Mat]; - D.f[dirE] = &DD[dirW *size_Mat]; - D.f[dirS] = &DD[dirN *size_Mat]; - D.f[dirN] = &DD[dirS *size_Mat]; - D.f[dirB] = &DD[dirT *size_Mat]; - D.f[dirT] = &DD[dirB *size_Mat]; - D.f[dirSW] = &DD[dirNE *size_Mat]; - D.f[dirNE] = &DD[dirSW *size_Mat]; - D.f[dirNW] = &DD[dirSE *size_Mat]; - D.f[dirSE] = &DD[dirNW *size_Mat]; - D.f[dirBW] = &DD[dirTE *size_Mat]; - D.f[dirTE] = &DD[dirBW *size_Mat]; - D.f[dirTW] = &DD[dirBE *size_Mat]; - D.f[dirBE] = &DD[dirTW *size_Mat]; - D.f[dirBS] = &DD[dirTN *size_Mat]; - D.f[dirTN] = &DD[dirBS *size_Mat]; - D.f[dirTS] = &DD[dirBN *size_Mat]; - D.f[dirBN] = &DD[dirTS *size_Mat]; + D.f[W] = &DD[E *size_Mat]; + D.f[E] = &DD[W *size_Mat]; + D.f[S] = &DD[N *size_Mat]; + D.f[N] = &DD[S *size_Mat]; + D.f[B] = &DD[T *size_Mat]; + D.f[T] = &DD[B *size_Mat]; + D.f[SW] = &DD[NE *size_Mat]; + D.f[NE] = &DD[SW *size_Mat]; + D.f[NW] = &DD[SE *size_Mat]; + D.f[SE] = &DD[NW *size_Mat]; + D.f[BW] = &DD[TE *size_Mat]; + D.f[TE] = &DD[BW *size_Mat]; + D.f[TW] = &DD[BE *size_Mat]; + D.f[BE] = &DD[TW *size_Mat]; + D.f[BS] = &DD[TN *size_Mat]; + D.f[TN] = &DD[BS *size_Mat]; + D.f[TS] = &DD[BN *size_Mat]; + D.f[BN] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirBSW *size_Mat]; - D.f[dirTSW] = &DD[dirBNE *size_Mat]; - D.f[dirTSE] = &DD[dirBNW *size_Mat]; - D.f[dirTNW] = &DD[dirBSE *size_Mat]; - D.f[dirBNE] = &DD[dirTSW *size_Mat]; - D.f[dirBSW] = &DD[dirTNE *size_Mat]; - D.f[dirBSE] = &DD[dirTNW *size_Mat]; - D.f[dirBNW] = &DD[dirTSE *size_Mat]; + D.f[TNE] = &DD[BSW *size_Mat]; + D.f[TSW] = &DD[BNE *size_Mat]; + D.f[TSE] = &DD[BNW *size_Mat]; + D.f[TNW] = &DD[BSE *size_Mat]; + D.f[BNE] = &DD[TSW *size_Mat]; + D.f[BSW] = &DD[TNE *size_Mat]; + D.f[BSE] = &DD[TNW *size_Mat]; + D.f[BNW] = &DD[TSE *size_Mat]; } if (isEvenTimestep==false) { - DN.f[dirE ] = &DD[dirE *size_Mat]; - DN.f[dirW ] = &DD[dirW *size_Mat]; - DN.f[dirN ] = &DD[dirN *size_Mat]; - DN.f[dirS ] = &DD[dirS *size_Mat]; - DN.f[dirT ] = &DD[dirT *size_Mat]; - DN.f[dirB ] = &DD[dirB *size_Mat]; - DN.f[dirNE ] = &DD[dirNE *size_Mat]; - DN.f[dirSW ] = &DD[dirSW *size_Mat]; - DN.f[dirSE ] = &DD[dirSE *size_Mat]; - DN.f[dirNW ] = &DD[dirNW *size_Mat]; - DN.f[dirTE ] = &DD[dirTE *size_Mat]; - DN.f[dirBW ] = &DD[dirBW *size_Mat]; - DN.f[dirBE ] = &DD[dirBE *size_Mat]; - DN.f[dirTW ] = &DD[dirTW *size_Mat]; - DN.f[dirTN ] = &DD[dirTN *size_Mat]; - DN.f[dirBS ] = &DD[dirBS *size_Mat]; - DN.f[dirBN ] = &DD[dirBN *size_Mat]; - DN.f[dirTS ] = &DD[dirTS *size_Mat]; + DN.f[E ] = &DD[E *size_Mat]; + DN.f[W ] = &DD[W *size_Mat]; + DN.f[N ] = &DD[N *size_Mat]; + DN.f[S ] = &DD[S *size_Mat]; + DN.f[T ] = &DD[T *size_Mat]; + DN.f[B ] = &DD[B *size_Mat]; + DN.f[NE ] = &DD[NE *size_Mat]; + DN.f[SW ] = &DD[SW *size_Mat]; + DN.f[SE ] = &DD[SE *size_Mat]; + DN.f[NW ] = &DD[NW *size_Mat]; + DN.f[TE ] = &DD[TE *size_Mat]; + DN.f[BW ] = &DD[BW *size_Mat]; + DN.f[BE ] = &DD[BE *size_Mat]; + DN.f[TW ] = &DD[TW *size_Mat]; + DN.f[TN ] = &DD[TN *size_Mat]; + DN.f[BS ] = &DD[BS *size_Mat]; + DN.f[BN ] = &DD[BN *size_Mat]; + DN.f[TS ] = &DD[TS *size_Mat]; DN.f[dirREST] = &DD[dirREST*size_Mat]; - DN.f[dirTNE ] = &DD[dirTNE *size_Mat]; - DN.f[dirTSW ] = &DD[dirTSW *size_Mat]; - DN.f[dirTSE ] = &DD[dirTSE *size_Mat]; - DN.f[dirTNW ] = &DD[dirTNW *size_Mat]; - DN.f[dirBNE ] = &DD[dirBNE *size_Mat]; - DN.f[dirBSW ] = &DD[dirBSW *size_Mat]; - DN.f[dirBSE ] = &DD[dirBSE *size_Mat]; - DN.f[dirBNW ] = &DD[dirBNW *size_Mat]; + DN.f[TNE ] = &DD[TNE *size_Mat]; + DN.f[TSW ] = &DD[TSW *size_Mat]; + DN.f[TSE ] = &DD[TSE *size_Mat]; + DN.f[TNW ] = &DD[TNW *size_Mat]; + DN.f[BNE ] = &DD[BNE *size_Mat]; + DN.f[BSW ] = &DD[BSW *size_Mat]; + DN.f[BSE ] = &DD[BSE *size_Mat]; + DN.f[BNW ] = &DD[BNW *size_Mat]; } else { - DN.f[dirW ] = &DD[dirE *size_Mat]; - DN.f[dirE ] = &DD[dirW *size_Mat]; - DN.f[dirS ] = &DD[dirN *size_Mat]; - DN.f[dirN ] = &DD[dirS *size_Mat]; - DN.f[dirB ] = &DD[dirT *size_Mat]; - DN.f[dirT ] = &DD[dirB *size_Mat]; - DN.f[dirSW ] = &DD[dirNE *size_Mat]; - DN.f[dirNE ] = &DD[dirSW *size_Mat]; - DN.f[dirNW ] = &DD[dirSE *size_Mat]; - DN.f[dirSE ] = &DD[dirNW *size_Mat]; - DN.f[dirBW ] = &DD[dirTE *size_Mat]; - DN.f[dirTE ] = &DD[dirBW *size_Mat]; - DN.f[dirTW ] = &DD[dirBE *size_Mat]; - DN.f[dirBE ] = &DD[dirTW *size_Mat]; - DN.f[dirBS ] = &DD[dirTN *size_Mat]; - DN.f[dirTN ] = &DD[dirBS *size_Mat]; - DN.f[dirTS ] = &DD[dirBN *size_Mat]; - DN.f[dirBN ] = &DD[dirTS *size_Mat]; + DN.f[W ] = &DD[E *size_Mat]; + DN.f[E ] = &DD[W *size_Mat]; + DN.f[S ] = &DD[N *size_Mat]; + DN.f[N ] = &DD[S *size_Mat]; + DN.f[B ] = &DD[T *size_Mat]; + DN.f[T ] = &DD[B *size_Mat]; + DN.f[SW ] = &DD[NE *size_Mat]; + DN.f[NE ] = &DD[SW *size_Mat]; + DN.f[NW ] = &DD[SE *size_Mat]; + DN.f[SE ] = &DD[NW *size_Mat]; + DN.f[BW ] = &DD[TE *size_Mat]; + DN.f[TE ] = &DD[BW *size_Mat]; + DN.f[TW ] = &DD[BE *size_Mat]; + DN.f[BE ] = &DD[TW *size_Mat]; + DN.f[BS ] = &DD[TN *size_Mat]; + DN.f[TN ] = &DD[BS *size_Mat]; + DN.f[TS ] = &DD[BN *size_Mat]; + DN.f[BN ] = &DD[TS *size_Mat]; DN.f[dirREST] = &DD[dirREST*size_Mat]; - DN.f[dirTNE ] = &DD[dirBSW *size_Mat]; - DN.f[dirTSW ] = &DD[dirBNE *size_Mat]; - DN.f[dirTSE ] = &DD[dirBNW *size_Mat]; - DN.f[dirTNW ] = &DD[dirBSE *size_Mat]; - DN.f[dirBNE ] = &DD[dirTSW *size_Mat]; - DN.f[dirBSW ] = &DD[dirTNE *size_Mat]; - DN.f[dirBSE ] = &DD[dirTNW *size_Mat]; - DN.f[dirBNW ] = &DD[dirTSE *size_Mat]; + DN.f[TNE ] = &DD[BSW *size_Mat]; + DN.f[TSW ] = &DD[BNE *size_Mat]; + DN.f[TSE ] = &DD[BNW *size_Mat]; + DN.f[TNW ] = &DD[BSE *size_Mat]; + DN.f[BNE ] = &DD[TSW *size_Mat]; + DN.f[BSW ] = &DD[TNE *size_Mat]; + DN.f[BSE ] = &DD[TNW *size_Mat]; + DN.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //directions allways exchange @@ -1105,32 +1105,32 @@ extern "C" __global__ void QThinWallsPartTwo27( //( 1 1 1) ( 1 0 0) ( 0 1 0) ( 0 0 1) ( 1 1 0) ( 1 0 1) ( 0 1 1) (-1 -1 1) (-1 1 -1) ( 1 -1 -1) (-1 1 0) (-1 0 1) ( 0 -1 1) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real q, tmp; - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kw ] < GEO_FLUID){tmp = (DN.f[dirW ])[kw ]; (DN.f[dirW ])[kw ]=(D.f[dirW ])[kw ]; (D.f[dirW ])[kw ]=tmp;}} - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirE ])[ke ]; (DN.f[dirE ])[ke ]=(D.f[dirE ])[ke ]; (D.f[dirE ])[ke ]=tmp;}} - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1){ if (geom[ks ] < GEO_FLUID){tmp = (DN.f[dirS ])[ks ]; (DN.f[dirS ])[ks ]=(D.f[dirS ])[ks ]; (D.f[dirS ])[ks ]=tmp;}} - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirN ])[kn ]; (DN.f[dirN ])[kn ]=(D.f[dirN ])[kn ]; (D.f[dirN ])[kn ]=tmp;}} - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kb ] < GEO_FLUID){tmp = (DN.f[dirB ])[kb ]; (DN.f[dirB ])[kb ]=(D.f[dirB ])[kb ]; (D.f[dirB ])[kb ]=tmp;}} - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirT ])[kt ]; (DN.f[dirT ])[kt ]=(D.f[dirT ])[kt ]; (D.f[dirT ])[kt ]=tmp;}} - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[ksw ] < GEO_FLUID){tmp = (DN.f[dirSW ])[ksw ]; (DN.f[dirSW ])[ksw ]=(D.f[dirSW ])[ksw ]; (D.f[dirSW ])[ksw ]=tmp;}} - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirNE ])[kne ]; (DN.f[dirNE ])[kne ]=(D.f[dirNE ])[kne ]; (D.f[dirNE ])[kne ]=tmp;}} - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirNW ])[knw ]; (DN.f[dirNW ])[knw ]=(D.f[dirNW ])[knw ]; (D.f[dirNW ])[knw ]=tmp;}} - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmp0] < GEO_FLUID){tmp = (DN.f[dirSE ])[kse ]; (DN.f[dirSE ])[kse ]=(D.f[dirSE ])[kse ]; (D.f[dirSE ])[kse ]=tmp;}} - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbw ] < GEO_FLUID){tmp = (DN.f[dirBW ])[kbw ]; (DN.f[dirBW ])[kbw ]=(D.f[dirBW ])[kbw ]; (D.f[dirBW ])[kbw ]=tmp;}} - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTE ])[kte ]; (DN.f[dirTE ])[kte ]=(D.f[dirTE ])[kte ]; (D.f[dirTE ])[kte ]=tmp;}} - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTW ])[ktw ]; (DN.f[dirTW ])[ktw ]=(D.f[dirTW ])[ktw ]; (D.f[dirTW ])[ktw ]=tmp;}} - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[km0p] < GEO_FLUID){tmp = (DN.f[dirBE ])[kbe ]; (DN.f[dirBE ])[kbe ]=(D.f[dirBE ])[kbe ]; (D.f[dirBE ])[kbe ]=tmp;}} - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbs ] < GEO_FLUID){tmp = (DN.f[dirBS ])[kbs ]; (DN.f[dirBS ])[kbs ]=(D.f[dirBS ])[kbs ]; (D.f[dirBS ])[kbs ]=tmp;}} - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTN ])[ktn ]; (DN.f[dirTN ])[ktn ]=(D.f[dirTN ])[ktn ]; (D.f[dirTN ])[ktn ]=tmp;}} - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTS ])[kts ]; (DN.f[dirTS ])[kts ]=(D.f[dirTS ])[kts ]; (D.f[dirTS ])[kts ]=tmp;}} - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1){ if (geom[k0mp] < GEO_FLUID){tmp = (DN.f[dirBN ])[kbn ]; (DN.f[dirBN ])[kbn ]=(D.f[dirBN ])[kbn ]; (D.f[dirBN ])[kbn ]=tmp;}} - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbsw] < GEO_FLUID){tmp = (DN.f[dirBSW])[kbsw]; (DN.f[dirBSW])[kbsw]=(D.f[dirBSW])[kbsw]; (D.f[dirBSW])[kbsw]=tmp;}} - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTNE])[ktne]; (DN.f[dirTNE])[ktne]=(D.f[dirTNE])[ktne]; (D.f[dirTNE])[ktne]=tmp;}} - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirTSW])[ktsw]; (DN.f[dirTSW])[ktsw]=(D.f[dirTSW])[ktsw]; (D.f[dirTSW])[ktsw]=tmp;}} - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmmp] < GEO_FLUID){tmp = (DN.f[dirBNE])[kbne]; (DN.f[dirBNE])[kbne]=(D.f[dirBNE])[kbne]; (D.f[dirBNE])[kbne]=tmp;}} - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirBNW])[kbnw]; (DN.f[dirBNW])[kbnw]=(D.f[dirBNW])[kbnw]; (D.f[dirBNW])[kbnw]=tmp;}} - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmpm] < GEO_FLUID){tmp = (DN.f[dirTSE])[ktse]; (DN.f[dirTSE])[ktse]=(D.f[dirTSE])[ktse]; (D.f[dirTSE])[ktse]=tmp;}} - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kpmm] < GEO_FLUID){tmp = (DN.f[dirTNW])[ktnw]; (DN.f[dirTNW])[ktnw]=(D.f[dirTNW])[ktnw]; (D.f[dirTNW])[ktnw]=tmp;}} - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[dirBSE])[kbse]; (DN.f[dirBSE])[kbse]=(D.f[dirBSE])[kbse]; (D.f[dirBSE])[kbse]=tmp;}} + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kw ] < GEO_FLUID){tmp = (DN.f[W ])[kw ]; (DN.f[W ])[kw ]=(D.f[W ])[kw ]; (D.f[W ])[kw ]=tmp;}} + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[E ])[ke ]; (DN.f[E ])[ke ]=(D.f[E ])[ke ]; (D.f[E ])[ke ]=tmp;}} + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1){ if (geom[ks ] < GEO_FLUID){tmp = (DN.f[S ])[ks ]; (DN.f[S ])[ks ]=(D.f[S ])[ks ]; (D.f[S ])[ks ]=tmp;}} + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[N ])[kn ]; (DN.f[N ])[kn ]=(D.f[N ])[kn ]; (D.f[N ])[kn ]=tmp;}} + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kb ] < GEO_FLUID){tmp = (DN.f[B ])[kb ]; (DN.f[B ])[kb ]=(D.f[B ])[kb ]; (D.f[B ])[kb ]=tmp;}} + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[T ])[kt ]; (DN.f[T ])[kt ]=(D.f[T ])[kt ]; (D.f[T ])[kt ]=tmp;}} + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[ksw ] < GEO_FLUID){tmp = (DN.f[SW ])[ksw ]; (DN.f[SW ])[ksw ]=(D.f[SW ])[ksw ]; (D.f[SW ])[ksw ]=tmp;}} + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[NE ])[kne ]; (DN.f[NE ])[kne ]=(D.f[NE ])[kne ]; (D.f[NE ])[kne ]=tmp;}} + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[NW ])[knw ]; (DN.f[NW ])[knw ]=(D.f[NW ])[knw ]; (D.f[NW ])[knw ]=tmp;}} + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmp0] < GEO_FLUID){tmp = (DN.f[SE ])[kse ]; (DN.f[SE ])[kse ]=(D.f[SE ])[kse ]; (D.f[SE ])[kse ]=tmp;}} + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbw ] < GEO_FLUID){tmp = (DN.f[BW ])[kbw ]; (DN.f[BW ])[kbw ]=(D.f[BW ])[kbw ]; (D.f[BW ])[kbw ]=tmp;}} + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TE ])[kte ]; (DN.f[TE ])[kte ]=(D.f[TE ])[kte ]; (D.f[TE ])[kte ]=tmp;}} + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TW ])[ktw ]; (DN.f[TW ])[ktw ]=(D.f[TW ])[ktw ]; (D.f[TW ])[ktw ]=tmp;}} + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[km0p] < GEO_FLUID){tmp = (DN.f[BE ])[kbe ]; (DN.f[BE ])[kbe ]=(D.f[BE ])[kbe ]; (D.f[BE ])[kbe ]=tmp;}} + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbs ] < GEO_FLUID){tmp = (DN.f[BS ])[kbs ]; (DN.f[BS ])[kbs ]=(D.f[BS ])[kbs ]; (D.f[BS ])[kbs ]=tmp;}} + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TN ])[ktn ]; (DN.f[TN ])[ktn ]=(D.f[TN ])[ktn ]; (D.f[TN ])[ktn ]=tmp;}} + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TS ])[kts ]; (DN.f[TS ])[kts ]=(D.f[TS ])[kts ]; (D.f[TS ])[kts ]=tmp;}} + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1){ if (geom[k0mp] < GEO_FLUID){tmp = (DN.f[BN ])[kbn ]; (DN.f[BN ])[kbn ]=(D.f[BN ])[kbn ]; (D.f[BN ])[kbn ]=tmp;}} + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kbsw] < GEO_FLUID){tmp = (DN.f[BSW])[kbsw]; (DN.f[BSW])[kbsw]=(D.f[BSW])[kbsw]; (D.f[BSW])[kbsw]=tmp;}} + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TNE])[ktne]; (DN.f[TNE])[ktne]=(D.f[TNE])[ktne]; (D.f[TNE])[ktne]=tmp;}} + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[TSW])[ktsw]; (DN.f[TSW])[ktsw]=(D.f[TSW])[ktsw]; (D.f[TSW])[ktsw]=tmp;}} + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmmp] < GEO_FLUID){tmp = (DN.f[BNE])[kbne]; (DN.f[BNE])[kbne]=(D.f[BNE])[kbne]; (D.f[BNE])[kbne]=tmp;}} + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[BNW])[kbnw]; (DN.f[BNW])[kbnw]=(D.f[BNW])[kbnw]; (D.f[BNW])[kbnw]=tmp;}} + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kmpm] < GEO_FLUID){tmp = (DN.f[TSE])[ktse]; (DN.f[TSE])[ktse]=(D.f[TSE])[ktse]; (D.f[TSE])[ktse]=tmp;}} + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1){ if (geom[kpmm] < GEO_FLUID){tmp = (DN.f[TNW])[ktnw]; (DN.f[TNW])[ktnw]=(D.f[TNW])[ktnw]; (D.f[TNW])[ktnw]=tmp;}} + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1){ {tmp = (DN.f[BSE])[kbse]; (DN.f[BSE])[kbse]=(D.f[BSE])[kbse]; (D.f[BSE])[kbse]=tmp;}} } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/VirtualFluids_GPU/GPU/VelocityBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/VelocityBCs27.cu index 942aa76de..44b949241 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/VelocityBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/VelocityBCs27.cu @@ -33,63 +33,63 @@ extern "C" __global__ void QVelDeviceCompPlusSlip27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -114,32 +114,32 @@ extern "C" __global__ void QVelDeviceCompPlusSlip27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -174,32 +174,32 @@ extern "C" __global__ void QVelDeviceCompPlusSlip27( 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[dirE])[ke]; - f_E = (D.f[dirW])[kw]; - f_S = (D.f[dirN])[kn]; - f_N = (D.f[dirS])[ks]; - f_B = (D.f[dirT])[kt]; - f_T = (D.f[dirB])[kb]; - f_SW = (D.f[dirNE])[kne]; - f_NE = (D.f[dirSW])[ksw]; - f_NW = (D.f[dirSE])[kse]; - f_SE = (D.f[dirNW])[knw]; - f_BW = (D.f[dirTE])[kte]; - f_TE = (D.f[dirBW])[kbw]; - f_TW = (D.f[dirBE])[kbe]; - f_BE = (D.f[dirTW])[ktw]; - f_BS = (D.f[dirTN])[ktn]; - f_TN = (D.f[dirBS])[kbs]; - f_TS = (D.f[dirBN])[kbn]; - f_BN = (D.f[dirTS])[kts]; - f_BSW = (D.f[dirTNE])[ktne]; - f_BNE = (D.f[dirTSW])[ktsw]; - f_BNW = (D.f[dirTSE])[ktse]; - f_BSE = (D.f[dirTNW])[ktnw]; - f_TSW = (D.f[dirBNE])[kbne]; - f_TNE = (D.f[dirBSW])[kbsw]; - f_TNW = (D.f[dirBSE])[kbse]; - f_TSE = (D.f[dirBNW])[kbnw]; + f_W = (D.f[E])[ke]; + f_E = (D.f[W])[kw]; + f_S = (D.f[N])[kn]; + f_N = (D.f[S])[ks]; + f_B = (D.f[T])[kt]; + f_T = (D.f[B])[kb]; + f_SW = (D.f[NE])[kne]; + f_NE = (D.f[SW])[ksw]; + f_NW = (D.f[SE])[kse]; + f_SE = (D.f[NW])[knw]; + f_BW = (D.f[TE])[kte]; + f_TE = (D.f[BW])[kbw]; + f_TW = (D.f[BE])[kbe]; + f_BE = (D.f[TW])[ktw]; + f_BS = (D.f[TN])[ktn]; + f_TN = (D.f[BS])[kbs]; + f_TS = (D.f[BN])[kbn]; + f_BN = (D.f[TS])[kts]; + f_BSW = (D.f[TNE])[ktne]; + f_BNE = (D.f[TSW])[ktsw]; + f_BNW = (D.f[TSE])[ktse]; + f_BSE = (D.f[TNW])[ktnw]; + f_TSW = (D.f[BNE])[kbne]; + f_TNE = (D.f[BSW])[kbsw]; + f_TNW = (D.f[BSE])[kbse]; + f_TSE = (D.f[BNW])[kbnw]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -224,63 +224,63 @@ extern "C" __global__ void QVelDeviceCompPlusSlip27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep == false) { - D.f[dirE] = &DD[dirE *size_Mat]; - D.f[dirW] = &DD[dirW *size_Mat]; - D.f[dirN] = &DD[dirN *size_Mat]; - D.f[dirS] = &DD[dirS *size_Mat]; - D.f[dirT] = &DD[dirT *size_Mat]; - D.f[dirB] = &DD[dirB *size_Mat]; - D.f[dirNE] = &DD[dirNE *size_Mat]; - D.f[dirSW] = &DD[dirSW *size_Mat]; - D.f[dirSE] = &DD[dirSE *size_Mat]; - D.f[dirNW] = &DD[dirNW *size_Mat]; - D.f[dirTE] = &DD[dirTE *size_Mat]; - D.f[dirBW] = &DD[dirBW *size_Mat]; - D.f[dirBE] = &DD[dirBE *size_Mat]; - D.f[dirTW] = &DD[dirTW *size_Mat]; - D.f[dirTN] = &DD[dirTN *size_Mat]; - D.f[dirBS] = &DD[dirBS *size_Mat]; - D.f[dirBN] = &DD[dirBN *size_Mat]; - D.f[dirTS] = &DD[dirTS *size_Mat]; + D.f[E] = &DD[E *size_Mat]; + D.f[W] = &DD[W *size_Mat]; + D.f[N] = &DD[N *size_Mat]; + D.f[S] = &DD[S *size_Mat]; + D.f[T] = &DD[T *size_Mat]; + D.f[B] = &DD[B *size_Mat]; + D.f[NE] = &DD[NE *size_Mat]; + D.f[SW] = &DD[SW *size_Mat]; + D.f[SE] = &DD[SE *size_Mat]; + D.f[NW] = &DD[NW *size_Mat]; + D.f[TE] = &DD[TE *size_Mat]; + D.f[BW] = &DD[BW *size_Mat]; + D.f[BE] = &DD[BE *size_Mat]; + D.f[TW] = &DD[TW *size_Mat]; + D.f[TN] = &DD[TN *size_Mat]; + D.f[BS] = &DD[BS *size_Mat]; + D.f[BN] = &DD[BN *size_Mat]; + D.f[TS] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirTNE *size_Mat]; - D.f[dirTSW] = &DD[dirTSW *size_Mat]; - D.f[dirTSE] = &DD[dirTSE *size_Mat]; - D.f[dirTNW] = &DD[dirTNW *size_Mat]; - D.f[dirBNE] = &DD[dirBNE *size_Mat]; - D.f[dirBSW] = &DD[dirBSW *size_Mat]; - D.f[dirBSE] = &DD[dirBSE *size_Mat]; - D.f[dirBNW] = &DD[dirBNW *size_Mat]; + D.f[TNE] = &DD[TNE *size_Mat]; + D.f[TSW] = &DD[TSW *size_Mat]; + D.f[TSE] = &DD[TSE *size_Mat]; + D.f[TNW] = &DD[TNW *size_Mat]; + D.f[BNE] = &DD[BNE *size_Mat]; + D.f[BSW] = &DD[BSW *size_Mat]; + D.f[BSE] = &DD[BSE *size_Mat]; + D.f[BNW] = &DD[BNW *size_Mat]; } else { - D.f[dirW] = &DD[dirE *size_Mat]; - D.f[dirE] = &DD[dirW *size_Mat]; - D.f[dirS] = &DD[dirN *size_Mat]; - D.f[dirN] = &DD[dirS *size_Mat]; - D.f[dirB] = &DD[dirT *size_Mat]; - D.f[dirT] = &DD[dirB *size_Mat]; - D.f[dirSW] = &DD[dirNE *size_Mat]; - D.f[dirNE] = &DD[dirSW *size_Mat]; - D.f[dirNW] = &DD[dirSE *size_Mat]; - D.f[dirSE] = &DD[dirNW *size_Mat]; - D.f[dirBW] = &DD[dirTE *size_Mat]; - D.f[dirTE] = &DD[dirBW *size_Mat]; - D.f[dirTW] = &DD[dirBE *size_Mat]; - D.f[dirBE] = &DD[dirTW *size_Mat]; - D.f[dirBS] = &DD[dirTN *size_Mat]; - D.f[dirTN] = &DD[dirBS *size_Mat]; - D.f[dirTS] = &DD[dirBN *size_Mat]; - D.f[dirBN] = &DD[dirTS *size_Mat]; + D.f[W] = &DD[E *size_Mat]; + D.f[E] = &DD[W *size_Mat]; + D.f[S] = &DD[N *size_Mat]; + D.f[N] = &DD[S *size_Mat]; + D.f[B] = &DD[T *size_Mat]; + D.f[T] = &DD[B *size_Mat]; + D.f[SW] = &DD[NE *size_Mat]; + D.f[NE] = &DD[SW *size_Mat]; + D.f[NW] = &DD[SE *size_Mat]; + D.f[SE] = &DD[NW *size_Mat]; + D.f[BW] = &DD[TE *size_Mat]; + D.f[TE] = &DD[BW *size_Mat]; + D.f[TW] = &DD[BE *size_Mat]; + D.f[BE] = &DD[TW *size_Mat]; + D.f[BS] = &DD[TN *size_Mat]; + D.f[TN] = &DD[BS *size_Mat]; + D.f[TS] = &DD[BN *size_Mat]; + D.f[BN] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE] = &DD[dirBSW *size_Mat]; - D.f[dirTSW] = &DD[dirBNE *size_Mat]; - D.f[dirTSE] = &DD[dirBNW *size_Mat]; - D.f[dirTNW] = &DD[dirBSE *size_Mat]; - D.f[dirBNE] = &DD[dirTSW *size_Mat]; - D.f[dirBSW] = &DD[dirTNE *size_Mat]; - D.f[dirBSE] = &DD[dirTNW *size_Mat]; - D.f[dirBNW] = &DD[dirTSE *size_Mat]; + D.f[TNE] = &DD[BSW *size_Mat]; + D.f[TSW] = &DD[BNE *size_Mat]; + D.f[TSE] = &DD[BNW *size_Mat]; + D.f[TNW] = &DD[BSE *size_Mat]; + D.f[BNE] = &DD[TSW *size_Mat]; + D.f[BSW] = &DD[TNE *size_Mat]; + D.f[BSE] = &DD[TNW *size_Mat]; + D.f[BNW] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -306,208 +306,208 @@ extern "C" __global__ void QVelDeviceCompPlusSlip27( if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirW])[kw]=zero; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q);// - c2over27 * drho; + //(D.f[W])[kw]=zero; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirE])[ke]=zero; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q);// - c2over27 * drho; + //(D.f[E])[ke]=zero; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirS])[ks]=zero; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q);// - c2over27 * drho; + //(D.f[S])[ks]=zero; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirN])[kn]=zero; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q);// - c2over27 * drho; + //(D.f[N])[kn]=zero; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirB])[kb]=one; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q);// - c2over27 * drho; + //(D.f[B])[kb]=one; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q);// - c2over27 * drho; - //(D.f[dirT])[kt]=zero; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q);// - c2over27 * drho; + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q);// - c1over54 * drho; + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirNE])[kne]=zero; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q);// - c1over54 * drho; + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirNW])[knw]=zero; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q);// - c1over54 * drho; + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirSE])[kse]=zero; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q);// - c1over54 * drho; + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirTE])[kte]=zero; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirTS])[kts]=zero; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q);// - c1over54 * drho; - //(D.f[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q);// - c1over54 * drho; + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; - //(D.f[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q);// - c1over216 * drho; + //(D.f[BSE])[kbse]=zero; } } } @@ -612,95 +612,95 @@ extern "C" __global__ void QVeloDeviceEQ27(real* VeloX, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // based on BGK Plus Comp ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[ke ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[kn ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[kt ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[kne ]; - real mfaab = (D.f[dirSW ])[ksw ]; - real mfcab = (D.f[dirSE ])[kse ]; - real mfacb = (D.f[dirNW ])[knw ]; - real mfcbc = (D.f[dirTE ])[kte ]; - real mfaba = (D.f[dirBW ])[kbw ]; - real mfcba = (D.f[dirBE ])[kbe ]; - real mfabc = (D.f[dirTW ])[ktw ]; - real mfbcc = (D.f[dirTN ])[ktn ]; - real mfbaa = (D.f[dirBS ])[kbs ]; - real mfbca = (D.f[dirBN ])[kbn ]; - real mfbac = (D.f[dirTS ])[kts ]; + real mfcbb = (D.f[E ])[ke ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[kn ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[kt ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[kne ]; + real mfaab = (D.f[SW ])[ksw ]; + real mfcab = (D.f[SE ])[kse ]; + real mfacb = (D.f[NW ])[knw ]; + real mfcbc = (D.f[TE ])[kte ]; + real mfaba = (D.f[BW ])[kbw ]; + real mfcba = (D.f[BE ])[kbe ]; + real mfabc = (D.f[TW ])[ktw ]; + real mfbcc = (D.f[TN ])[ktn ]; + real mfbaa = (D.f[BS ])[kbs ]; + real mfbca = (D.f[BN ])[kbn ]; + real mfbac = (D.f[TS ])[kts ]; real mfbbb = (D.f[dirREST])[kzero]; - real mfccc = (D.f[dirTNE ])[ktne ]; - real mfaac = (D.f[dirTSW ])[ktsw ]; - real mfcac = (D.f[dirTSE ])[ktse ]; - real mfacc = (D.f[dirTNW ])[ktnw ]; - real mfcca = (D.f[dirBNE ])[kbne ]; - real mfaaa = (D.f[dirBSW ])[kbsw ]; - real mfcaa = (D.f[dirBSE ])[kbse ]; - real mfaca = (D.f[dirBNW ])[kbnw ]; + real mfccc = (D.f[TNE ])[ktne ]; + real mfaac = (D.f[TSW ])[ktsw ]; + real mfcac = (D.f[TSE ])[ktse ]; + real mfacc = (D.f[TNW ])[ktnw ]; + real mfcca = (D.f[BNE ])[kbne ]; + real mfaaa = (D.f[BSW ])[kbsw ]; + real mfcaa = (D.f[BSE ])[kbse ]; + real mfaca = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real rho = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb + @@ -762,33 +762,33 @@ extern "C" __global__ void QVeloDeviceEQ27(real* VeloX, mfcaa = -rho * XXc * YYa * ZZa - c1o216; mfaca = -rho * XXa * YYc * ZZa - c1o216; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE ])[ke ] = mfabb;//mfcbb; - (D.f[dirW ])[kw ] = mfcbb;//mfabb; - (D.f[dirN ])[kn ] = mfbab;//mfbcb; - (D.f[dirS ])[ks ] = mfbcb;//mfbab; - (D.f[dirT ])[kt ] = mfbba;//mfbbc; - (D.f[dirB ])[kb ] = mfbbc;//mfbba; - (D.f[dirNE ])[kne ] = mfaab;//mfccb; - (D.f[dirSW ])[ksw ] = mfccb;//mfaab; - (D.f[dirSE ])[kse ] = mfacb;//mfcab; - (D.f[dirNW ])[knw ] = mfcab;//mfacb; - (D.f[dirTE ])[kte ] = mfaba;//mfcbc; - (D.f[dirBW ])[kbw ] = mfcbc;//mfaba; - (D.f[dirBE ])[kbe ] = mfabc;//mfcba; - (D.f[dirTW ])[ktw ] = mfcba;//mfabc; - (D.f[dirTN ])[ktn ] = mfbaa;//mfbcc; - (D.f[dirBS ])[kbs ] = mfbcc;//mfbaa; - (D.f[dirBN ])[kbn ] = mfbac;//mfbca; - (D.f[dirTS ])[kts ] = mfbca;//mfbac; + (D.f[E ])[ke ] = mfabb;//mfcbb; + (D.f[W ])[kw ] = mfcbb;//mfabb; + (D.f[N ])[kn ] = mfbab;//mfbcb; + (D.f[S ])[ks ] = mfbcb;//mfbab; + (D.f[T ])[kt ] = mfbba;//mfbbc; + (D.f[B ])[kb ] = mfbbc;//mfbba; + (D.f[NE ])[kne ] = mfaab;//mfccb; + (D.f[SW ])[ksw ] = mfccb;//mfaab; + (D.f[SE ])[kse ] = mfacb;//mfcab; + (D.f[NW ])[knw ] = mfcab;//mfacb; + (D.f[TE ])[kte ] = mfaba;//mfcbc; + (D.f[BW ])[kbw ] = mfcbc;//mfaba; + (D.f[BE ])[kbe ] = mfabc;//mfcba; + (D.f[TW ])[ktw ] = mfcba;//mfabc; + (D.f[TN ])[ktn ] = mfbaa;//mfbcc; + (D.f[BS ])[kbs ] = mfbcc;//mfbaa; + (D.f[BN ])[kbn ] = mfbac;//mfbca; + (D.f[TS ])[kts ] = mfbca;//mfbac; (D.f[dirREST])[kzero] = mfbbb;//mfbbb; - (D.f[dirTNE ])[ktne ] = mfaaa;//mfccc; - (D.f[dirTSW ])[ktsw ] = mfcca;//mfaac; - (D.f[dirTSE ])[ktse ] = mfaca;//mfcac; - (D.f[dirTNW ])[ktnw ] = mfcaa;//mfacc; - (D.f[dirBNE ])[kbne ] = mfaac;//mfcca; - (D.f[dirBSW ])[kbsw ] = mfccc;//mfaaa; - (D.f[dirBSE ])[kbse ] = mfacc;//mfcaa; - (D.f[dirBNW ])[kbnw ] = mfcac;//mfaca; + (D.f[TNE ])[ktne ] = mfaaa;//mfccc; + (D.f[TSW ])[ktsw ] = mfcca;//mfaac; + (D.f[TSE ])[ktse ] = mfaca;//mfcac; + (D.f[TNW ])[ktnw ] = mfcaa;//mfacc; + (D.f[BNE ])[kbne ] = mfaac;//mfcca; + (D.f[BSW ])[kbsw ] = mfccc;//mfaaa; + (D.f[BSE ])[kbse ] = mfacc;//mfcaa; + (D.f[BNW ])[kbnw ] = mfcac;//mfaca; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -893,95 +893,95 @@ extern "C" __global__ void QVeloStreetDeviceEQ27( Distributions27 D; if (isEvenTimestep == true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // based on BGK Plus Comp ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[ke ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[kn ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[kt ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[kne ]; - real mfaab = (D.f[dirSW ])[ksw ]; - real mfcab = (D.f[dirSE ])[kse ]; - real mfacb = (D.f[dirNW ])[knw ]; - real mfcbc = (D.f[dirTE ])[kte ]; - real mfaba = (D.f[dirBW ])[kbw ]; - real mfcba = (D.f[dirBE ])[kbe ]; - real mfabc = (D.f[dirTW ])[ktw ]; - real mfbcc = (D.f[dirTN ])[ktn ]; - real mfbaa = (D.f[dirBS ])[kbs ]; - real mfbca = (D.f[dirBN ])[kbn ]; - real mfbac = (D.f[dirTS ])[kts ]; + real mfcbb = (D.f[E ])[ke ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[kn ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[kt ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[kne ]; + real mfaab = (D.f[SW ])[ksw ]; + real mfcab = (D.f[SE ])[kse ]; + real mfacb = (D.f[NW ])[knw ]; + real mfcbc = (D.f[TE ])[kte ]; + real mfaba = (D.f[BW ])[kbw ]; + real mfcba = (D.f[BE ])[kbe ]; + real mfabc = (D.f[TW ])[ktw ]; + real mfbcc = (D.f[TN ])[ktn ]; + real mfbaa = (D.f[BS ])[kbs ]; + real mfbca = (D.f[BN ])[kbn ]; + real mfbac = (D.f[TS ])[kts ]; real mfbbb = (D.f[dirREST])[kzero]; - real mfccc = (D.f[dirTNE ])[ktne ]; - real mfaac = (D.f[dirTSW ])[ktsw ]; - real mfcac = (D.f[dirTSE ])[ktse ]; - real mfacc = (D.f[dirTNW ])[ktnw ]; - real mfcca = (D.f[dirBNE ])[kbne ]; - real mfaaa = (D.f[dirBSW ])[kbsw ]; - real mfcaa = (D.f[dirBSE ])[kbse ]; - real mfaca = (D.f[dirBNW ])[kbnw ]; + real mfccc = (D.f[TNE ])[ktne ]; + real mfaac = (D.f[TSW ])[ktsw ]; + real mfcac = (D.f[TSE ])[ktse ]; + real mfacc = (D.f[TNW ])[ktnw ]; + real mfcca = (D.f[BNE ])[kbne ]; + real mfaaa = (D.f[BSW ])[kbsw ]; + real mfcaa = (D.f[BSE ])[kbse ]; + real mfaca = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real rho = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca + mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb + @@ -1048,33 +1048,33 @@ extern "C" __global__ void QVeloStreetDeviceEQ27( mfcaa = -rho * XXc * YYa * ZZa - c1o216; mfaca = -rho * XXa * YYc * ZZa - c1o216; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE ])[ke ] = mfabb;//mfcbb; - (D.f[dirW ])[kw ] = mfcbb;//mfabb; - (D.f[dirN ])[kn ] = mfbab;//mfbcb; - (D.f[dirS ])[ks ] = mfbcb;//mfbab; - (D.f[dirT ])[kt ] = mfbba;//mfbbc; - (D.f[dirB ])[kb ] = mfbbc;//mfbba; - (D.f[dirNE ])[kne ] = mfaab;//mfccb; - (D.f[dirSW ])[ksw ] = mfccb;//mfaab; - (D.f[dirSE ])[kse ] = mfacb;//mfcab; - (D.f[dirNW ])[knw ] = mfcab;//mfacb; - (D.f[dirTE ])[kte ] = mfaba;//mfcbc; - (D.f[dirBW ])[kbw ] = mfcbc;//mfaba; - (D.f[dirBE ])[kbe ] = mfabc;//mfcba; - (D.f[dirTW ])[ktw ] = mfcba;//mfabc; - (D.f[dirTN ])[ktn ] = mfbaa;//mfbcc; - (D.f[dirBS ])[kbs ] = mfbcc;//mfbaa; - (D.f[dirBN ])[kbn ] = mfbac;//mfbca; - (D.f[dirTS ])[kts ] = mfbca;//mfbac; + (D.f[E ])[ke ] = mfabb;//mfcbb; + (D.f[W ])[kw ] = mfcbb;//mfabb; + (D.f[N ])[kn ] = mfbab;//mfbcb; + (D.f[S ])[ks ] = mfbcb;//mfbab; + (D.f[T ])[kt ] = mfbba;//mfbbc; + (D.f[B ])[kb ] = mfbbc;//mfbba; + (D.f[NE ])[kne ] = mfaab;//mfccb; + (D.f[SW ])[ksw ] = mfccb;//mfaab; + (D.f[SE ])[kse ] = mfacb;//mfcab; + (D.f[NW ])[knw ] = mfcab;//mfacb; + (D.f[TE ])[kte ] = mfaba;//mfcbc; + (D.f[BW ])[kbw ] = mfcbc;//mfaba; + (D.f[BE ])[kbe ] = mfabc;//mfcba; + (D.f[TW ])[ktw ] = mfcba;//mfabc; + (D.f[TN ])[ktn ] = mfbaa;//mfbcc; + (D.f[BS ])[kbs ] = mfbcc;//mfbaa; + (D.f[BN ])[kbn ] = mfbac;//mfbca; + (D.f[TS ])[kts ] = mfbca;//mfbac; (D.f[dirREST])[kzero] = mfbbb;//mfbbb; - (D.f[dirTNE ])[ktne ] = mfaaa;//mfccc; - (D.f[dirTSW ])[ktsw ] = mfcca;//mfaac; - (D.f[dirTSE ])[ktse ] = mfaca;//mfcac; - (D.f[dirTNW ])[ktnw ] = mfcaa;//mfacc; - (D.f[dirBNE ])[kbne ] = mfaac;//mfcca; - (D.f[dirBSW ])[kbsw ] = mfccc;//mfaaa; - (D.f[dirBSE ])[kbse ] = mfacc;//mfcaa; - (D.f[dirBNW ])[kbnw ] = mfcac;//mfaca; + (D.f[TNE ])[ktne ] = mfaaa;//mfccc; + (D.f[TSW ])[ktsw ] = mfcca;//mfaac; + (D.f[TSE ])[ktse ] = mfaca;//mfcac; + (D.f[TNW ])[ktnw ] = mfcaa;//mfacc; + (D.f[BNE ])[kbne ] = mfaac;//mfcca; + (D.f[BSW ])[kbsw ] = mfccc;//mfaaa; + (D.f[BSE ])[kbse ] = mfacc;//mfcaa; + (D.f[BNW ])[kbnw ] = mfcac;//mfaca; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1137,63 +1137,63 @@ extern "C" __global__ void QVelDeviceIncompHighNu27(int inx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1218,32 +1218,32 @@ extern "C" __global__ void QVelDeviceIncompHighNu27(int inx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1278,32 +1278,32 @@ extern "C" __global__ void QVelDeviceIncompHighNu27(int inx, 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -1328,63 +1328,63 @@ extern "C" __global__ void QVelDeviceIncompHighNu27(int inx, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -1397,182 +1397,182 @@ extern "C" __global__ void QVelDeviceIncompHighNu27(int inx, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) /** (one + drho)*/-cu_sq); - (D.f[dirW])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; + (D.f[W])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) /** (one + drho)*/-cu_sq); - (D.f[dirE])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; + (D.f[E])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirS])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; + (D.f[S])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirN])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; + (D.f[N])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) /** (one + drho)*/-cu_sq); - (D.f[dirB])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; + (D.f[B])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirT])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; + (D.f[T])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirSW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; + (D.f[SW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirNE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; + (D.f[NE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirNW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; + (D.f[NW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) /** (one + drho)*/-cu_sq); - (D.f[dirSE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; + (D.f[SE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; + (D.f[BW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; + (D.f[TE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; + (D.f[TW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; + (D.f[BE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) /** (one + drho)*/-cu_sq); - (D.f[dirTNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; + (D.f[TNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) /** (one + drho)*/-cu_sq); - (D.f[dirBSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; + (D.f[BSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; } } } @@ -1635,63 +1635,63 @@ extern "C" __global__ void QVelDeviceCompHighNu27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -1716,32 +1716,32 @@ extern "C" __global__ void QVelDeviceCompHighNu27( *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -1776,58 +1776,58 @@ extern "C" __global__ void QVelDeviceCompHighNu27( 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_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; - //f_W = (D.f[dirE ])[ke ]; - //f_E = (D.f[dirW ])[kw ]; - //f_S = (D.f[dirN ])[kn ]; - //f_N = (D.f[dirS ])[ks ]; - //f_B = (D.f[dirT ])[kt ]; - //f_T = (D.f[dirB ])[kb ]; - //f_SW = (D.f[dirNE ])[kne ]; - //f_NE = (D.f[dirSW ])[ksw ]; - //f_NW = (D.f[dirSE ])[kse ]; - //f_SE = (D.f[dirNW ])[knw ]; - //f_BW = (D.f[dirTE ])[kte ]; - //f_TE = (D.f[dirBW ])[kbw ]; - //f_TW = (D.f[dirBE ])[kbe ]; - //f_BE = (D.f[dirTW ])[ktw ]; - //f_BS = (D.f[dirTN ])[ktn ]; - //f_TN = (D.f[dirBS ])[kbs ]; - //f_TS = (D.f[dirBN ])[kbn ]; - //f_BN = (D.f[dirTS ])[kts ]; - //f_BSW = (D.f[dirTNE ])[ktne ]; - //f_BNE = (D.f[dirTSW ])[ktsw ]; - //f_BNW = (D.f[dirTSE ])[ktse ]; - //f_BSE = (D.f[dirTNW ])[ktnw ]; - //f_TSW = (D.f[dirBNE ])[kbne ]; - //f_TNE = (D.f[dirBSW ])[kbsw ]; - //f_TNW = (D.f[dirBSE ])[kbse ]; - //f_TSE = (D.f[dirBNW ])[kbnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_BNW = (D.f[BNW ])[kbnw ]; + //f_W = (D.f[E ])[ke ]; + //f_E = (D.f[W ])[kw ]; + //f_S = (D.f[N ])[kn ]; + //f_N = (D.f[S ])[ks ]; + //f_B = (D.f[T ])[kt ]; + //f_T = (D.f[B ])[kb ]; + //f_SW = (D.f[NE ])[kne ]; + //f_NE = (D.f[SW ])[ksw ]; + //f_NW = (D.f[SE ])[kse ]; + //f_SE = (D.f[NW ])[knw ]; + //f_BW = (D.f[TE ])[kte ]; + //f_TE = (D.f[BW ])[kbw ]; + //f_TW = (D.f[BE ])[kbe ]; + //f_BE = (D.f[TW ])[ktw ]; + //f_BS = (D.f[TN ])[ktn ]; + //f_TN = (D.f[BS ])[kbs ]; + //f_TS = (D.f[BN ])[kbn ]; + //f_BN = (D.f[TS ])[kts ]; + //f_BSW = (D.f[TNE ])[ktne ]; + //f_BNE = (D.f[TSW ])[ktsw ]; + //f_BNW = (D.f[TSE ])[ktse ]; + //f_BSE = (D.f[TNW ])[ktnw ]; + //f_TSW = (D.f[BNE ])[kbne ]; + //f_TNE = (D.f[BSW ])[kbsw ]; + //f_TNW = (D.f[BSE ])[kbse ]; + //f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -1852,63 +1852,63 @@ extern "C" __global__ void QVelDeviceCompHighNu27( ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -1921,234 +1921,234 @@ extern "C" __global__ void QVelDeviceCompHighNu27( if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; - //(D.f[dirW])[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[dirW])[kw]=zero; + (D.f[W])[kw]=((c1o1 - q) * f_E + q * ((f_E + f_W) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloX )) / (q + c1o1) ; + //(D.f[W])[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[W])[kw]=zero; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; - //(D.f[dirE])[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[dirE])[ke]=zero; + (D.f[E])[ke]=((c1o1 - q) * f_W + q * ((f_W + f_E) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloX )) / (q + c1o1) ; + //(D.f[E])[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[E])[ke]=zero; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; - //(D.f[dirS])[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[dirS])[ks]=zero; + (D.f[S])[ks]=((c1o1 - q) * f_N + q * ((f_N + f_S) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloY )) / (q + c1o1) ; + //(D.f[S])[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[S])[ks]=zero; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; - //(D.f[dirN])[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[dirN])[kn]=zero; + (D.f[N])[kn]=((c1o1 - q) * f_S + q * ((f_S + f_N) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloY )) / (q + c1o1) ; + //(D.f[N])[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[N])[kn]=zero; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; - //(D.f[dirB])[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[dirB])[kb]=one; + (D.f[B])[kb]=((c1o1 - q) * f_T + q * ((f_T + f_B) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*( VeloZ )) / (q + c1o1) ; + //(D.f[B])[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[B])[kb]=one; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; - //(D.f[dirT])[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[dirT])[kt]=zero; + (D.f[T])[kt]=((c1o1 - q) * f_B + q * ((f_B + f_T) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c2o27*(-VeloZ )) / (q + c1o1) ; + //(D.f[T])[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[T])[kt]=zero; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; - //(D.f[dirSW])[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[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=((c1o1 - q) * f_NE + q * ((f_NE + f_SW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloY)) / (q + c1o1) ; + //(D.f[SW])[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[SW])[ksw]=zero; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; - //(D.f[dirNE])[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[dirNE])[kne]=zero; + (D.f[NE])[kne]=((c1o1 - q) * f_SW + q * ((f_SW + f_NE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloY)) / (q + c1o1) ; + //(D.f[NE])[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[NE])[kne]=zero; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; - //(D.f[dirNW])[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[dirNW])[knw]=zero; + (D.f[NW])[knw]=((c1o1 - q) * f_SE + q * ((f_SE + f_NW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloY)) / (q + c1o1) ; + //(D.f[NW])[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[NW])[knw]=zero; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; - //(D.f[dirSE])[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[dirSE])[kse]=zero; + (D.f[SE])[kse]=((c1o1 - q) * f_NW + q * ((f_NW + f_SE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloY)) / (q + c1o1) ; + //(D.f[SE])[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[SE])[kse]=zero; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; - //(D.f[dirBW])[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[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=((c1o1 - q) * f_TE + q * ((f_TE + f_BW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX+VeloZ)) / (q + c1o1) ; + //(D.f[BW])[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[BW])[kbw]=zero; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; - //(D.f[dirTE])[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[dirTE])[kte]=zero; + (D.f[TE])[kte]=((c1o1 - q) * f_BW + q * ((f_BW + f_TE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX-VeloZ)) / (q + c1o1) ; + //(D.f[TE])[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[TE])[kte]=zero; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; - //(D.f[dirTW])[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[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=((c1o1 - q) * f_BE + q * ((f_BE + f_TW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloX-VeloZ)) / (q + c1o1) ; + //(D.f[TW])[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[TW])[ktw]=zero; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; - //(D.f[dirBE])[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[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=((c1o1 - q) * f_TW + q * ((f_TW + f_BE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloX+VeloZ)) / (q + c1o1) ; + //(D.f[BE])[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[BE])[kbe]=zero; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBS])[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[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=((c1o1 - q) * f_TN + q * ((f_TN + f_BS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BS])[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[BS])[kbs]=zero; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTN])[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[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=((c1o1 - q) * f_BS + q * ((f_BS + f_TN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TN])[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[TN])[ktn]=zero; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTS])[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[dirTS])[kts]=zero; + (D.f[TS])[kts]=((c1o1 - q) * f_BN + q * ((f_BN + f_TS) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*( VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TS])[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[TS])[kts]=zero; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBN])[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[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=((c1o1 - q) * f_TS + q * ((f_TS + f_BN) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o54*(-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BN])[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[BN])[kbn]=zero; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBSW])[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[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=((c1o1 - q) * f_TNE + q * ((f_TNE + f_BSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BSW])[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[BSW])[kbsw]=zero; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTNE])[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[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=((c1o1 - q) * f_BSW + q * ((f_BSW + f_TNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TNE])[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[TNE])[ktne]=zero; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTSW])[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[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=((c1o1 - q) * f_BNE + q * ((f_BNE + f_TSW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX+VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TSW])[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[TSW])[ktsw]=zero; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBNE])[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[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=((c1o1 - q) * f_TSW + q * ((f_TSW + f_BNE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BNE])[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[BNE])[kbne]=zero; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBNW])[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[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=((c1o1 - q) * f_TSE + q * ((f_TSE + f_BNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BNW])[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[BNW])[kbnw]=zero; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTSE])[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[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=((c1o1 - q) * f_BNW + q * ((f_BNW + f_TSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TSE])[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[TSE])[ktse]=zero; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; - //(D.f[dirTNW])[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[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=((c1o1 - q) * f_BSE + q * ((f_BSE + f_TNW) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*( VeloX-VeloY-VeloZ)) / (q + c1o1) ; + //(D.f[TNW])[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[TNW])[ktnw]=zero; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; - //(D.f[dirBSE])[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[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=((c1o1 - q) * f_TNW + q * ((f_TNW + f_BSE) * (c1o1 - om1) + om1 * c2o1 * feq) - c6o1*c1o216*(-VeloX+VeloY+VeloZ)) / (q + c1o1) ; + //(D.f[BSE])[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[BSE])[kbse]=zero; } } } @@ -2285,32 +2285,32 @@ extern "C" __global__ void QVelDeviceCompZeroPress27( //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - Calculate macroscopic quantities @@ -2342,238 +2342,238 @@ extern "C" __global__ void QVelDeviceCompZeroPress27( //////////////////////////////////////////////////////////////////////////////// //! - Update distributions with subgrid distance (q) between zero and one real feq, q, velocityLB, velocityBC; - q = (subgridD.q[dirE])[k]; + q = (subgridD.q[E])[k]; if (q>=c0o1 && q<=c1o1) // only update distribution for q between zero and one { velocityLB = vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloX; - (dist.f[dirW])[kw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_E, f_W, feq, omega, drho, velocityBC, c2o27); + (dist.f[W])[kw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_E, f_W, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirW])[k]; + q = (subgridD.q[W])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloX; - (dist.f[dirE])[ke] = getInterpolatedDistributionForVeloWithPressureBC(q, f_W, f_E, feq, omega, drho, velocityBC, c2o27); + (dist.f[E])[ke] = getInterpolatedDistributionForVeloWithPressureBC(q, f_W, f_E, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirN])[k]; + q = (subgridD.q[N])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloY; - (dist.f[dirS])[ks] = getInterpolatedDistributionForVeloWithPressureBC(q, f_N, f_S, feq, omega, drho, velocityBC, c2o27); + (dist.f[S])[ks] = getInterpolatedDistributionForVeloWithPressureBC(q, f_N, f_S, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirS])[k]; + q = (subgridD.q[S])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloY; - (dist.f[dirN])[kn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_S, f_N, feq, omega, drho, velocityBC, c2o27); + (dist.f[N])[kn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_S, f_N, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirT])[k]; + q = (subgridD.q[T])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloZ; - (dist.f[dirB])[kb] = getInterpolatedDistributionForVeloWithPressureBC(q, f_T, f_B, feq, omega, drho, velocityBC, c2o27); + (dist.f[B])[kb] = getInterpolatedDistributionForVeloWithPressureBC(q, f_T, f_B, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirB])[k]; + q = (subgridD.q[B])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloZ; - (dist.f[dirT])[kt] = getInterpolatedDistributionForVeloWithPressureBC(q, f_B, f_T, feq, omega, drho, velocityBC, c2o27); + (dist.f[T])[kt] = getInterpolatedDistributionForVeloWithPressureBC(q, f_B, f_T, feq, omega, drho, velocityBC, c2o27); } - q = (subgridD.q[dirNE])[k]; + q = (subgridD.q[NE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX + VeloY; - (dist.f[dirSW])[ksw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_NE, f_SW, feq, omega, drho, velocityBC, c1o54); + (dist.f[SW])[ksw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_NE, f_SW, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirSW])[k]; + q = (subgridD.q[SW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX - VeloY; - (dist.f[dirNE])[kne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_SW, f_NE, feq, omega, drho, velocityBC, c1o54); + (dist.f[NE])[kne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_SW, f_NE, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirSE])[k]; + q = (subgridD.q[SE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX - VeloY; - (dist.f[dirNW])[knw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_SE, f_NW, feq, omega, drho, velocityBC, c1o54); + (dist.f[NW])[knw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_SE, f_NW, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirNW])[k]; + q = (subgridD.q[NW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX + VeloY; - (dist.f[dirSE])[kse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_NW, f_SE, feq, omega, drho, velocityBC, c1o54); + (dist.f[SE])[kse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_NW, f_SE, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirTE])[k]; + q = (subgridD.q[TE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX + VeloZ; - (dist.f[dirBW])[kbw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TE, f_BW, feq, omega, drho, velocityBC, c1o54); + (dist.f[BW])[kbw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TE, f_BW, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirBW])[k]; + q = (subgridD.q[BW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX - VeloZ; - (dist.f[dirTE])[kte] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BW, f_TE, feq, omega, drho, velocityBC, c1o54); + (dist.f[TE])[kte] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BW, f_TE, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirBE])[k]; + q = (subgridD.q[BE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX - VeloZ; - (dist.f[dirTW])[ktw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BE, f_TW, feq, omega, drho, velocityBC, c1o54); + (dist.f[TW])[ktw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BE, f_TW, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirTW])[k]; + q = (subgridD.q[TW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX + VeloZ; - (dist.f[dirBE])[kbe] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TW, f_BE, feq, omega, drho, velocityBC, c1o54); + (dist.f[BE])[kbe] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TW, f_BE, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirTN])[k]; + q = (subgridD.q[TN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloY + VeloZ; - (dist.f[dirBS])[kbs] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TN, f_BS, feq, omega, drho, velocityBC, c1o54); + (dist.f[BS])[kbs] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TN, f_BS, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirBS])[k]; + q = (subgridD.q[BS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloY - VeloZ; - (dist.f[dirTN])[ktn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BS, f_TN, feq, omega, drho, velocityBC, c1o54); + (dist.f[TN])[ktn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BS, f_TN, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirBN])[k]; + q = (subgridD.q[BN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloY - VeloZ; - (dist.f[dirTS])[kts] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BN, f_TS, feq, omega, drho, velocityBC, c1o54); + (dist.f[TS])[kts] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BN, f_TS, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirTS])[k]; + q = (subgridD.q[TS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloY + VeloZ; - (dist.f[dirBN])[kbn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TS, f_BN, feq, omega, drho, velocityBC, c1o54); + (dist.f[BN])[kbn] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TS, f_BN, feq, omega, drho, velocityBC, c1o54); } - q = (subgridD.q[dirTNE])[k]; + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX + VeloY + VeloZ; - (dist.f[dirBSW])[kbsw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TNE, f_BSW, feq, omega, drho, velocityBC, c1o216); + (dist.f[BSW])[kbsw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TNE, f_BSW, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirBSW])[k]; + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX - VeloY - VeloZ; - (dist.f[dirTNE])[ktne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BSW, f_TNE, feq, omega, drho, velocityBC, c1o216); + (dist.f[TNE])[ktne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BSW, f_TNE, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirBNE])[k]; + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX + VeloY - VeloZ; - (dist.f[dirTSW])[ktsw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BNE, f_TSW, feq, omega, drho, velocityBC, c1o216); + (dist.f[TSW])[ktsw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BNE, f_TSW, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirTSW])[k]; + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX - VeloY + VeloZ; - (dist.f[dirBNE])[kbne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TSW, f_BNE, feq, omega, drho, velocityBC, c1o216); + (dist.f[BNE])[kbne] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TSW, f_BNE, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirTSE])[k]; + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX - VeloY + VeloZ; - (dist.f[dirBNW])[kbnw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TSE, f_BNW, feq, omega, drho, velocityBC, c1o216); + (dist.f[BNW])[kbnw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TSE, f_BNW, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirBNW])[k]; + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX + VeloY - VeloZ; - (dist.f[dirTSE])[ktse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BNW, f_TSE, feq, omega, drho, velocityBC, c1o216); + (dist.f[TSE])[ktse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BNW, f_TSE, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirBSE])[k]; + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX - VeloY - VeloZ; - (dist.f[dirTNW])[ktnw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BSE, f_TNW, feq, omega, drho, velocityBC, c1o216); + (dist.f[TNW])[ktnw] = getInterpolatedDistributionForVeloWithPressureBC(q, f_BSE, f_TNW, feq, omega, drho, velocityBC, c1o216); } - q = (subgridD.q[dirTNW])[k]; + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX + VeloY + VeloZ; - (dist.f[dirBSE])[kbse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TNW, f_BSE, feq, omega, drho, velocityBC, c1o216); + (dist.f[BSE])[kbse] = getInterpolatedDistributionForVeloWithPressureBC(q, f_TNW, f_BSE, feq, omega, drho, velocityBC, c1o216); } } } @@ -2643,63 +2643,63 @@ extern "C" __global__ void QVelDeviceCompZeroPress1h27( int inx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -2738,32 +2738,32 @@ extern "C" __global__ void QVelDeviceCompZeroPress1h27( int inx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -2797,63 +2797,63 @@ extern "C" __global__ void QVelDeviceCompZeroPress1h27( int inx, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q, cu_sq; @@ -2870,182 +2870,182 @@ extern "C" __global__ void QVelDeviceCompZeroPress1h27( int inx, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( VeloXpur )+c9o2*( vx1 )*( vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirW])[kw]= feq - c2o27 * drho; + (D.f[W])[kw]= feq - c2o27 * drho; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*(-VeloXpur )+c9o2*(-vx1 )*(-vx1 ) * (c1o1 + drho)-cu_sq); - (D.f[dirE])[ke]= feq - c2o27 * drho; + (D.f[E])[ke]= feq - c2o27 * drho; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( VeloYpur )+c9o2*( vx2 )*( vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirS])[ks]= feq - c2o27 * drho; + (D.f[S])[ks]= feq - c2o27 * drho; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( -VeloYpur )+c9o2*( -vx2 )*( -vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirN])[kn]= feq - c2o27 * drho; + (D.f[N])[kn]= feq - c2o27 * drho; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirB])[kb]= feq - c2o27 * drho; + (D.f[B])[kb]= feq - c2o27 * drho; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirT])[kt]= feq - c2o27 * drho; + (D.f[T])[kt]= feq - c2o27 * drho; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur+VeloYpur )+c9o2*( vx1+vx2 )*( vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSW])[ksw]= feq - c1o54 * drho; + (D.f[SW])[ksw]= feq - c1o54 * drho; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur-VeloYpur )+c9o2*(-vx1-vx2 )*(-vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNE])[kne]= feq - c1o54 * drho; + (D.f[NE])[kne]= feq - c1o54 * drho; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur-VeloYpur )+c9o2*( vx1-vx2 )*( vx1-vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirNW])[knw]= feq - c1o54 * drho; + (D.f[NW])[knw]= feq - c1o54 * drho; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur+VeloYpur )+c9o2*(-vx1+vx2 )*(-vx1+vx2 ) * (c1o1 + drho)-cu_sq); - (D.f[dirSE])[kse]= feq - c1o54 * drho; + (D.f[SE])[kse]= feq - c1o54 * drho; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBW])[kbw]= feq - c1o54 * drho; + (D.f[BW])[kbw]= feq - c1o54 * drho; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTE])[kte]= feq - c1o54 * drho; + (D.f[TE])[kte]= feq - c1o54 * drho; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTW])[ktw]= feq - c1o54 * drho; + (D.f[TW])[ktw]= feq - c1o54 * drho; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBE])[kbe]= feq - c1o54 * drho; + (D.f[BE])[kbe]= feq - c1o54 * drho; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloYpur+vx3)+c9o2*( vx2+vx3)*( vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBS])[kbs]= feq - c1o54 * drho; + (D.f[BS])[kbs]= feq - c1o54 * drho; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( -VeloYpur-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTN])[ktn]= feq - c1o54 * drho; + (D.f[TN])[ktn]= feq - c1o54 * drho; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloYpur-vx3)+c9o2*( vx2-vx3)*( vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTS])[kts]= feq - c1o54 * drho; + (D.f[TS])[kts]= feq - c1o54 * drho; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( -VeloYpur+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBN])[kbn]= feq - c1o54 * drho; + (D.f[BN])[kbn]= feq - c1o54 * drho; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSW])[kbsw]= feq - c1o216 * drho; + (D.f[BSW])[kbsw]= feq - c1o216 * drho; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNE])[ktne]= feq - c1o216 * drho; + (D.f[TNE])[ktne]= feq - c1o216 * drho; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSW])[ktsw]= feq - c1o216 * drho; + (D.f[TSW])[ktsw]= feq - c1o216 * drho; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNE])[kbne]= feq - c1o216 * drho; + (D.f[BNE])[kbne]= feq - c1o216 * drho; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBNW])[kbnw]= feq - c1o216 * drho; + (D.f[BNW])[kbnw]= feq - c1o216 * drho; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTSE])[ktse]= feq - c1o216 * drho; + (D.f[TSE])[ktse]= feq - c1o216 * drho; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirTNW])[ktnw]= feq - c1o216 * drho; + (D.f[TNW])[ktnw]= feq - c1o216 * drho; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3) * (c1o1 + drho)-cu_sq); - (D.f[dirBSE])[kbse]= feq - c1o216 * drho; + (D.f[BSE])[kbse]= feq - c1o216 * drho; } } } @@ -3125,63 +3125,63 @@ extern "C" __global__ void LB_BC_Vel_West_27( int nx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -3300,33 +3300,33 @@ extern "C" __global__ void LB_BC_Vel_West_27( int nx, real f1_E,f1_W,f1_N,f1_S,f1_T,f1_B,f1_NE,f1_SW,f1_SE,f1_NW,f1_TE,f1_BW,f1_BE,f1_TW,f1_TN,f1_BS,f1_BN,f1_TS,f1_ZERO, f1_TNE,f1_TSW,f1_TSE,f1_TNW,f1_BNE,f1_BSW,f1_BSE,f1_BNW; - f1_W = (D.f[dirE ])[k1e ]; - f1_E = (D.f[dirW ])[k1w ]; - f1_S = (D.f[dirN ])[k1n ]; - f1_N = (D.f[dirS ])[k1s ]; - f1_B = (D.f[dirT ])[k1t ]; - f1_T = (D.f[dirB ])[k1b ]; - f1_SW = (D.f[dirNE ])[k1ne ]; - f1_NE = (D.f[dirSW ])[k1sw ]; - f1_NW = (D.f[dirSE ])[k1se ]; - f1_SE = (D.f[dirNW ])[k1nw ]; - f1_BW = (D.f[dirTE ])[k1te ]; - f1_TE = (D.f[dirBW ])[k1bw ]; - f1_TW = (D.f[dirBE ])[k1be ]; - f1_BE = (D.f[dirTW ])[k1tw ]; - f1_BS = (D.f[dirTN ])[k1tn ]; - f1_TN = (D.f[dirBS ])[k1bs ]; - f1_TS = (D.f[dirBN ])[k1bn ]; - f1_BN = (D.f[dirTS ])[k1ts ]; + f1_W = (D.f[E ])[k1e ]; + f1_E = (D.f[W ])[k1w ]; + f1_S = (D.f[N ])[k1n ]; + f1_N = (D.f[S ])[k1s ]; + f1_B = (D.f[T ])[k1t ]; + f1_T = (D.f[B ])[k1b ]; + f1_SW = (D.f[NE ])[k1ne ]; + f1_NE = (D.f[SW ])[k1sw ]; + f1_NW = (D.f[SE ])[k1se ]; + f1_SE = (D.f[NW ])[k1nw ]; + f1_BW = (D.f[TE ])[k1te ]; + f1_TE = (D.f[BW ])[k1bw ]; + f1_TW = (D.f[BE ])[k1be ]; + f1_BE = (D.f[TW ])[k1tw ]; + f1_BS = (D.f[TN ])[k1tn ]; + f1_TN = (D.f[BS ])[k1bs ]; + f1_TS = (D.f[BN ])[k1bn ]; + f1_BN = (D.f[TS ])[k1ts ]; f1_ZERO = (D.f[dirREST])[k1zero]; - f1_BSW = (D.f[dirTNE ])[k1tne ]; - f1_BNE = (D.f[dirTSW ])[k1tsw ]; - f1_BNW = (D.f[dirTSE ])[k1tse ]; - f1_BSE = (D.f[dirTNW ])[k1tnw ]; - f1_TSW = (D.f[dirBNE ])[k1bne ]; - f1_TNE = (D.f[dirBSW ])[k1bsw ]; - f1_TNW = (D.f[dirBSE ])[k1bse ]; - f1_TSE = (D.f[dirBNW ])[k1bnw ]; + f1_BSW = (D.f[TNE ])[k1tne ]; + f1_BNE = (D.f[TSW ])[k1tsw ]; + f1_BNW = (D.f[TSE ])[k1tse ]; + f1_BSE = (D.f[TNW ])[k1tnw ]; + f1_TSW = (D.f[BNE ])[k1bne ]; + f1_TNE = (D.f[BSW ])[k1bsw ]; + f1_TNW = (D.f[BSE ])[k1bse ]; + f1_TSE = (D.f[BNW ])[k1bnw ]; real drho1 = f1_ZERO+f1_E+f1_W+f1_N+f1_S+f1_T+f1_B+f1_NE+f1_SW+f1_SE+f1_NW+f1_TE+f1_BW+f1_BE+f1_TW+f1_TN+f1_BS+f1_BN+f1_TS+ f1_TNE+f1_TSW+f1_TSE+f1_TNW+f1_BNE+f1_BSW+f1_BSE+f1_BNW; @@ -3343,32 +3343,32 @@ extern "C" __global__ void LB_BC_Vel_West_27( int nx, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq); - (D.f[dirE ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirN ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirT ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirNE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirSE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirTE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirBE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirTN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirBN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D.f[E ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D.f[W ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[N ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D.f[S ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[T ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D.f[B ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D.f[NE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D.f[SW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D.f[SE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D.f[NW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D.f[TE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D.f[BW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D.f[BE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D.f[TW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D.f[TN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D.f[BS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D.f[BN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D.f[TS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D.f[TNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D.f[BSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D.f[BNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D.f[TSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D.f[TSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D.f[BNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D.f[BSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D.f[TNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); } __syncthreads(); } @@ -3500,32 +3500,32 @@ extern "C" __global__ void QVelDevPlainBB27( //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - change the pointer to write the results in the correct array @@ -3535,32 +3535,32 @@ extern "C" __global__ void QVelDevPlainBB27( //////////////////////////////////////////////////////////////////////////////// //! - rewrite distributions if there is a sub-grid distance (q) in same direction real q; - q = (subgridD.q[dirE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirW ])[kw ]=f_E + c4o9 * (-VeloX); - q = (subgridD.q[dirW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirE ])[ke ]=f_W + c4o9 * ( VeloX); - q = (subgridD.q[dirN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirS ])[ks ]=f_N + c4o9 * (-VeloY); - q = (subgridD.q[dirS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirN ])[kn ]=f_S + c4o9 * ( VeloY); - q = (subgridD.q[dirT ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirB ])[kb ]=f_T + c4o9 * (-VeloZ); - q = (subgridD.q[dirB ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirT ])[kt ]=f_B + c4o9 * ( VeloZ); - q = (subgridD.q[dirNE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirSW ])[ksw ]=f_NE + c1o9 * (-VeloX - VeloY); - q = (subgridD.q[dirSW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNE ])[kne ]=f_SW + c1o9 * ( VeloX + VeloY); - q = (subgridD.q[dirSE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirNW ])[knw ]=f_SE + c1o9 * (-VeloX + VeloY); - q = (subgridD.q[dirNW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirSE ])[kse ]=f_NW + c1o9 * ( VeloX - VeloY); - q = (subgridD.q[dirTE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBW ])[kbw ]=f_TE + c1o9 * (-VeloX - VeloZ); - q = (subgridD.q[dirBW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTE ])[kte ]=f_BW + c1o9 * ( VeloX + VeloZ); - q = (subgridD.q[dirBE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTW ])[ktw ]=f_BE + c1o9 * (-VeloX + VeloZ); - q = (subgridD.q[dirTW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBE ])[kbe ]=f_TW + c1o9 * ( VeloX - VeloZ); - q = (subgridD.q[dirTN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBS ])[kbs ]=f_TN + c1o9 * (-VeloY - VeloZ); - q = (subgridD.q[dirBS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTN ])[ktn ]=f_BS + c1o9 * ( VeloY + VeloZ); - q = (subgridD.q[dirBN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTS ])[kts ]=f_BN + c1o9 * (-VeloY + VeloZ); - q = (subgridD.q[dirTS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBN ])[kbn ]=f_TS + c1o9 * ( VeloY - VeloZ); - q = (subgridD.q[dirTNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSW])[kbsw]=f_TNE + c1o36 * (-VeloX - VeloY - VeloZ); - q = (subgridD.q[dirBSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNE])[ktne]=f_BSW + c1o36 * ( VeloX + VeloY + VeloZ); - q = (subgridD.q[dirBNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSW])[ktsw]=f_BNE + c1o36 * (-VeloX - VeloY + VeloZ); - q = (subgridD.q[dirTSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNE])[kbne]=f_TSW + c1o36 * ( VeloX + VeloY - VeloZ); - q = (subgridD.q[dirTSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBNW])[kbnw]=f_TSE + c1o36 * (-VeloX + VeloY - VeloZ); - q = (subgridD.q[dirBNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTSE])[ktse]=f_BNW + c1o36 * ( VeloX - VeloY + VeloZ); - q = (subgridD.q[dirBSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirTNW])[ktnw]=f_BSE + c1o36 * (-VeloX + VeloY + VeloZ); - q = (subgridD.q[dirTNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[dirBSE])[kbse]=f_TNW + c1o36 * ( VeloX - VeloY - VeloZ); + q = (subgridD.q[E ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[W ])[kw ]=f_E + c4o9 * (-VeloX); + q = (subgridD.q[W ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[E ])[ke ]=f_W + c4o9 * ( VeloX); + q = (subgridD.q[N ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[S ])[ks ]=f_N + c4o9 * (-VeloY); + q = (subgridD.q[S ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[N ])[kn ]=f_S + c4o9 * ( VeloY); + q = (subgridD.q[T ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[B ])[kb ]=f_T + c4o9 * (-VeloZ); + q = (subgridD.q[B ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[T ])[kt ]=f_B + c4o9 * ( VeloZ); + q = (subgridD.q[NE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[SW ])[ksw ]=f_NE + c1o9 * (-VeloX - VeloY); + q = (subgridD.q[SW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[NE ])[kne ]=f_SW + c1o9 * ( VeloX + VeloY); + q = (subgridD.q[SE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[NW ])[knw ]=f_SE + c1o9 * (-VeloX + VeloY); + q = (subgridD.q[NW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[SE ])[kse ]=f_NW + c1o9 * ( VeloX - VeloY); + q = (subgridD.q[TE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BW ])[kbw ]=f_TE + c1o9 * (-VeloX - VeloZ); + q = (subgridD.q[BW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TE ])[kte ]=f_BW + c1o9 * ( VeloX + VeloZ); + q = (subgridD.q[BE ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TW ])[ktw ]=f_BE + c1o9 * (-VeloX + VeloZ); + q = (subgridD.q[TW ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BE ])[kbe ]=f_TW + c1o9 * ( VeloX - VeloZ); + q = (subgridD.q[TN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BS ])[kbs ]=f_TN + c1o9 * (-VeloY - VeloZ); + q = (subgridD.q[BS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TN ])[ktn ]=f_BS + c1o9 * ( VeloY + VeloZ); + q = (subgridD.q[BN ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TS ])[kts ]=f_BN + c1o9 * (-VeloY + VeloZ); + q = (subgridD.q[TS ])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BN ])[kbn ]=f_TS + c1o9 * ( VeloY - VeloZ); + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BSW])[kbsw]=f_TNE + c1o36 * (-VeloX - VeloY - VeloZ); + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TNE])[ktne]=f_BSW + c1o36 * ( VeloX + VeloY + VeloZ); + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TSW])[ktsw]=f_BNE + c1o36 * (-VeloX - VeloY + VeloZ); + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BNE])[kbne]=f_TSW + c1o36 * ( VeloX + VeloY - VeloZ); + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BNW])[kbnw]=f_TSE + c1o36 * (-VeloX + VeloY - VeloZ); + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TSE])[ktse]=f_BNW + c1o36 * ( VeloX - VeloY + VeloZ); + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[TNW])[ktnw]=f_BSE + c1o36 * (-VeloX + VeloY + VeloZ); + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) (dist.f[BSE])[kbse]=f_TNW + c1o36 * ( VeloX - VeloY - VeloZ); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -3621,63 +3621,63 @@ extern "C" __global__ void QVelDevCouette27(real* vx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -3702,32 +3702,32 @@ extern "C" __global__ void QVelDevCouette27(real* vx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -3761,94 +3761,94 @@ extern "C" __global__ void QVelDevCouette27(real* vx, //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// - real f_W = (D.f[dirE ])[ke ]; - real f_E = (D.f[dirW ])[kw ]; - real f_S = (D.f[dirN ])[kn ]; - real f_N = (D.f[dirS ])[ks ]; - real f_B = (D.f[dirT ])[kt ]; - real f_T = (D.f[dirB ])[kb ]; - real f_SW = (D.f[dirNE ])[kne ]; - real f_NE = (D.f[dirSW ])[ksw ]; - real f_NW = (D.f[dirSE ])[kse ]; - real f_SE = (D.f[dirNW ])[knw ]; - real f_BW = (D.f[dirTE ])[kte ]; - real f_TE = (D.f[dirBW ])[kbw ]; - real f_TW = (D.f[dirBE ])[kbe ]; - real f_BE = (D.f[dirTW ])[ktw ]; - real f_BS = (D.f[dirTN ])[ktn ]; - real f_TN = (D.f[dirBS ])[kbs ]; - real f_TS = (D.f[dirBN ])[kbn ]; - real f_BN = (D.f[dirTS ])[kts ]; - real f_BSW = (D.f[dirTNE ])[ktne ]; - real f_BNE = (D.f[dirTSW ])[ktsw ]; - real f_BNW = (D.f[dirTSE ])[ktse ]; - real f_BSE = (D.f[dirTNW ])[ktnw ]; - real f_TSW = (D.f[dirBNE ])[kbne ]; - real f_TNE = (D.f[dirBSW ])[kbsw ]; - real f_TNW = (D.f[dirBSE ])[kbse ]; - real f_TSE = (D.f[dirBNW ])[kbnw ]; + real f_W = (D.f[E ])[ke ]; + real f_E = (D.f[W ])[kw ]; + real f_S = (D.f[N ])[kn ]; + real f_N = (D.f[S ])[ks ]; + real f_B = (D.f[T ])[kt ]; + real f_T = (D.f[B ])[kb ]; + real f_SW = (D.f[NE ])[kne ]; + real f_NE = (D.f[SW ])[ksw ]; + real f_NW = (D.f[SE ])[kse ]; + real f_SE = (D.f[NW ])[knw ]; + real f_BW = (D.f[TE ])[kte ]; + real f_TE = (D.f[BW ])[kbw ]; + real f_TW = (D.f[BE ])[kbe ]; + real f_BE = (D.f[TW ])[ktw ]; + real f_BS = (D.f[TN ])[ktn ]; + real f_TN = (D.f[BS ])[kbs ]; + real f_TS = (D.f[BN ])[kbn ]; + real f_BN = (D.f[TS ])[kts ]; + real f_BSW = (D.f[TNE ])[ktne ]; + real f_BNE = (D.f[TSW ])[ktsw ]; + real f_BNW = (D.f[TSE ])[ktse ]; + real f_BSE = (D.f[TNW ])[ktnw ]; + real f_TSW = (D.f[BNE ])[kbne ]; + real f_TNE = (D.f[BSW ])[kbsw ]; + real f_TNW = (D.f[BSE ])[kbse ]; + real f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////// FlowDirection Y !!!!!!!!!! /////////////////////////////////// @@ -3868,58 +3868,58 @@ extern "C" __global__ void QVelDevCouette27(real* vx, ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //set distributions real q; - q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirW ])[kw ]=f_E + ms*c2o27 * VeloX; - q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirE ])[ke ]=f_W - ms*c2o27 * VeloX; - q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirS ])[ks ]=f_N + ms*c2o27 * VeloY; - q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirN ])[kn ]=f_S - ms*c2o27 * VeloY; - q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirB ])[kb ]=f_T + ms*c2o27 * VeloZ - c3o2*c2o27*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; - q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirT ])[kt ]=f_B - ms*c2o27 * VeloZ; - q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirSW ])[ksw ]=f_NE + ms*c1o54 * VeloX + ms*c1o54 * VeloY; - q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirNE ])[kne ]=f_SW - ms*c1o54 * VeloX - ms*c1o54 * VeloY; - q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirNW ])[knw ]=f_SE + ms*c1o54 * VeloX - ms*c1o54 * VeloY; - q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirSE ])[kse ]=f_NW - ms*c1o54 * VeloX + ms*c1o54 * VeloY; - q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBW ])[kbw ]=f_TE + ms*c1o54 * VeloX + ms*c1o54 * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ; - q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTE ])[kte ]=f_BW - ms*c1o54 * VeloX - ms*c1o54 * VeloZ; - q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTW ])[ktw ]=f_BE + ms*c1o54 * VeloX - ms*c1o54 * VeloZ; - q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBE ])[kbe ]=f_TW - ms*c1o54 * VeloX + ms*c1o54 * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ; - q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBS ])[kbs ]=f_TN + ms*c1o54 * VeloY + ms*c1o54 * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ; - q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTN ])[ktn ]=f_BS - ms*c1o54 * VeloY - ms*c1o54 * VeloZ; - q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTS ])[kts ]=f_BN + ms*c1o54 * VeloY - ms*c1o54 * VeloZ; - q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBN ])[kbn ]=f_TS - ms*c1o54 * VeloY + ms*c1o54 * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ; - q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBSW])[kbsw]=f_TNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; - q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTNE])[ktne]=f_BSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ; - q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTSW])[ktsw]=f_BNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ; - q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBNE])[kbne]=f_TSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; - q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBNW])[kbnw]=f_TSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; - q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTSE])[ktse]=f_BNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ; - q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirTNW])[ktnw]=f_BSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ; - q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[dirBSE])[kbse]=f_TNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; - //q = q_dirE[k]; if (q>=zero && q<=one) (D.f[dirW ])[kw ]=f_E + ms*c2over27 * VeloX; - // q = q_dirW[k]; if (q>=zero && q<=one) (D.f[dirE ])[ke ]=f_W - ms*c2over27 * VeloX; - // q = q_dirN[k]; if (q>=zero && q<=one) (D.f[dirS ])[ks ]=f_N + ms*c2over27 * VeloY; - // q = q_dirS[k]; if (q>=zero && q<=one) (D.f[dirN ])[kn ]=f_S - ms*c2over27 * VeloY; - //q = q_dirT[k]; if (q>=zero && q<=one) (D.f[dirB ])[kb ]=f_T + ms*c2over27 * VeloZ - c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - // q = q_dirB[k]; if (q>=zero && q<=one) (D.f[dirT ])[kt ]=f_B - ms*c2over27 * VeloZ; - // q = q_dirNE[k]; if (q>=zero && q<=one) (D.f[dirSW ])[ksw ]=f_NE + ms*c1over54 * VeloX + ms*c1over54 * VeloY; - //q = q_dirSW[k]; if (q>=zero && q<=one) (D.f[dirNE ])[kne ]=f_SW - ms*c1over54 * VeloX - ms*c1over54 * VeloY; - //q = q_dirSE[k]; if (q>=zero && q<=one) (D.f[dirNW ])[knw ]=f_SE + ms*c1over54 * VeloX - ms*c1over54 * VeloY; - //q = q_dirNW[k]; if (q>=zero && q<=one) (D.f[dirSE ])[kse ]=f_NW - ms*c1over54 * VeloX + ms*c1over54 * VeloY; - //q = q_dirTE[k]; if (q>=zero && q<=one) (D.f[dirBW ])[kbw ]=f_TE + ms*c1over54 * VeloX + ms*c1over54 * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - //q = q_dirBW[k]; if (q>=zero && q<=one) (D.f[dirTE ])[kte ]=f_BW - ms*c1over54 * VeloX - ms*c1over54 * VeloZ; - //q = q_dirBE[k]; if (q>=zero && q<=one) (D.f[dirTW ])[ktw ]=f_BE + ms*c1over54 * VeloX - ms*c1over54 * VeloZ; - //q = q_dirTW[k]; if (q>=zero && q<=one) (D.f[dirBE ])[kbe ]=f_TW - ms*c1over54 * VeloX + ms*c1over54 * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - //q = q_dirTN[k]; if (q>=zero && q<=one) (D.f[dirBS ])[kbs ]=f_TN + ms*c1over54 * VeloY + ms*c1over54 * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - //q = q_dirBS[k]; if (q>=zero && q<=one) (D.f[dirTN ])[ktn ]=f_BS - ms*c1over54 * VeloY - ms*c1over54 * VeloZ; - //q = q_dirBN[k]; if (q>=zero && q<=one) (D.f[dirTS ])[kts ]=f_BN + ms*c1over54 * VeloY - ms*c1over54 * VeloZ; - //q = q_dirTS[k]; if (q>=zero && q<=one) (D.f[dirBN ])[kbn ]=f_TS - ms*c1over54 * VeloY + ms*c1over54 * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - // q = q_dirTNE[k]; if (q>=zero && q<=one) (D.f[dirBSW])[kbsw]=f_TNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - // q = q_dirBSW[k]; if (q>=zero && q<=one) (D.f[dirTNE])[ktne]=f_BSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ; - // q = q_dirBNE[k]; if (q>=zero && q<=one) (D.f[dirTSW])[ktsw]=f_BNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ; - // q = q_dirTSW[k]; if (q>=zero && q<=one) (D.f[dirBNE])[kbne]=f_TSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - // q = q_dirTSE[k]; if (q>=zero && q<=one) (D.f[dirBNW])[kbnw]=f_TSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; - // q = q_dirBNW[k]; if (q>=zero && q<=one) (D.f[dirTSE])[ktse]=f_BNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ; - // q = q_dirBSE[k]; if (q>=zero && q<=one) (D.f[dirTNW])[ktnw]=f_BSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ; - // q = q_dirTNW[k]; if (q>=zero && q<=one) (D.f[dirBSE])[kbse]=f_TNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + q = q_dirE[k]; if (q>=c0o1 && q<=c1o1) (D.f[W ])[kw ]=f_E + ms*c2o27 * VeloX; + q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) (D.f[E ])[ke ]=f_W - ms*c2o27 * VeloX; + q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) (D.f[S ])[ks ]=f_N + ms*c2o27 * VeloY; + q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) (D.f[N ])[kn ]=f_S - ms*c2o27 * VeloY; + q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) (D.f[B ])[kb ]=f_T + ms*c2o27 * VeloZ - c3o2*c2o27*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; + q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) (D.f[T ])[kt ]=f_B - ms*c2o27 * VeloZ; + q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[SW ])[ksw ]=f_NE + ms*c1o54 * VeloX + ms*c1o54 * VeloY; + q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[NE ])[kne ]=f_SW - ms*c1o54 * VeloX - ms*c1o54 * VeloY; + q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[NW ])[knw ]=f_SE + ms*c1o54 * VeloX - ms*c1o54 * VeloY; + q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[SE ])[kse ]=f_NW - ms*c1o54 * VeloX + ms*c1o54 * VeloY; + q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) (D.f[BW ])[kbw ]=f_TE + ms*c1o54 * VeloX + ms*c1o54 * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ; + q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) (D.f[TE ])[kte ]=f_BW - ms*c1o54 * VeloX - ms*c1o54 * VeloZ; + q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) (D.f[TW ])[ktw ]=f_BE + ms*c1o54 * VeloX - ms*c1o54 * VeloZ; + q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) (D.f[BE ])[kbe ]=f_TW - ms*c1o54 * VeloX + ms*c1o54 * VeloZ - c3o2*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on-c1o12*kxxMyyFromfcNEQ; + q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) (D.f[BS ])[kbs ]=f_TN + ms*c1o54 * VeloY + ms*c1o54 * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ; + q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) (D.f[TN ])[ktn ]=f_BS - ms*c1o54 * VeloY - ms*c1o54 * VeloZ; + q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) (D.f[TS ])[kts ]=f_BN + ms*c1o54 * VeloY - ms*c1o54 * VeloZ; + q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) (D.f[BN ])[kbn ]=f_TS - ms*c1o54 * VeloY + ms*c1o54 * VeloZ + c3o1*c1o54*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on+c1o12*kxxMyyFromfcNEQ; + q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[BSW])[kbsw]=f_TNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; + q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[TNE])[ktne]=f_BSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ; + q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) (D.f[TSW])[ktsw]=f_BNE + ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ; + q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) (D.f[BNE])[kbne]=f_TSW - ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; + q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[BNW])[kbnw]=f_TSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; + q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[TSE])[ktse]=f_BNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY - ms*c1o216 * VeloZ; + q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) (D.f[TNW])[ktnw]=f_BSE + ms*c1o216 * VeloX - ms*c1o216 * VeloY - ms*c1o216 * VeloZ; + q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) (D.f[BSE])[kbse]=f_TNW - ms*c1o216 * VeloX + ms*c1o216 * VeloY + ms*c1o216 * VeloZ + c3o1*c1o216*((c2o1*VeloY-vx2)*(c2o1*VeloY-vx2)-vx2*vx2)*on; + //q = q_dirE[k]; if (q>=zero && q<=one) (D.f[W ])[kw ]=f_E + ms*c2over27 * VeloX; + // q = q_dirW[k]; if (q>=zero && q<=one) (D.f[E ])[ke ]=f_W - ms*c2over27 * VeloX; + // q = q_dirN[k]; if (q>=zero && q<=one) (D.f[S ])[ks ]=f_N + ms*c2over27 * VeloY; + // q = q_dirS[k]; if (q>=zero && q<=one) (D.f[N ])[kn ]=f_S - ms*c2over27 * VeloY; + //q = q_dirT[k]; if (q>=zero && q<=one) (D.f[B ])[kb ]=f_T + ms*c2over27 * VeloZ - c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + // q = q_dirB[k]; if (q>=zero && q<=one) (D.f[T ])[kt ]=f_B - ms*c2over27 * VeloZ; + // q = q_dirNE[k]; if (q>=zero && q<=one) (D.f[SW ])[ksw ]=f_NE + ms*c1over54 * VeloX + ms*c1over54 * VeloY; + //q = q_dirSW[k]; if (q>=zero && q<=one) (D.f[NE ])[kne ]=f_SW - ms*c1over54 * VeloX - ms*c1over54 * VeloY; + //q = q_dirSE[k]; if (q>=zero && q<=one) (D.f[NW ])[knw ]=f_SE + ms*c1over54 * VeloX - ms*c1over54 * VeloY; + //q = q_dirNW[k]; if (q>=zero && q<=one) (D.f[SE ])[kse ]=f_NW - ms*c1over54 * VeloX + ms*c1over54 * VeloY; + //q = q_dirTE[k]; if (q>=zero && q<=one) (D.f[BW ])[kbw ]=f_TE + ms*c1over54 * VeloX + ms*c1over54 * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + //q = q_dirBW[k]; if (q>=zero && q<=one) (D.f[TE ])[kte ]=f_BW - ms*c1over54 * VeloX - ms*c1over54 * VeloZ; + //q = q_dirBE[k]; if (q>=zero && q<=one) (D.f[TW ])[ktw ]=f_BE + ms*c1over54 * VeloX - ms*c1over54 * VeloZ; + //q = q_dirTW[k]; if (q>=zero && q<=one) (D.f[BE ])[kbe ]=f_TW - ms*c1over54 * VeloX + ms*c1over54 * VeloZ - c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + //q = q_dirTN[k]; if (q>=zero && q<=one) (D.f[BS ])[kbs ]=f_TN + ms*c1over54 * VeloY + ms*c1over54 * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + //q = q_dirBS[k]; if (q>=zero && q<=one) (D.f[TN ])[ktn ]=f_BS - ms*c1over54 * VeloY - ms*c1over54 * VeloZ; + //q = q_dirBN[k]; if (q>=zero && q<=one) (D.f[TS ])[kts ]=f_BN + ms*c1over54 * VeloY - ms*c1over54 * VeloZ; + //q = q_dirTS[k]; if (q>=zero && q<=one) (D.f[BN ])[kbn ]=f_TS - ms*c1over54 * VeloY + ms*c1over54 * VeloZ + c1o2*c1o9*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + // q = q_dirTNE[k]; if (q>=zero && q<=one) (D.f[BSW])[kbsw]=f_TNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + // q = q_dirBSW[k]; if (q>=zero && q<=one) (D.f[TNE])[ktne]=f_BSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ; + // q = q_dirBNE[k]; if (q>=zero && q<=one) (D.f[TSW])[ktsw]=f_BNE + ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ; + // q = q_dirTSW[k]; if (q>=zero && q<=one) (D.f[BNE])[kbne]=f_TSW - ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + // q = q_dirTSE[k]; if (q>=zero && q<=one) (D.f[BNW])[kbnw]=f_TSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; + // q = q_dirBNW[k]; if (q>=zero && q<=one) (D.f[TSE])[ktse]=f_BNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY - ms*c1over216 * VeloZ; + // q = q_dirBSE[k]; if (q>=zero && q<=one) (D.f[TNW])[ktnw]=f_BSE + ms*c1over216 * VeloX - ms*c1over216 * VeloY - ms*c1over216 * VeloZ; + // q = q_dirTNW[k]; if (q>=zero && q<=one) (D.f[BSE])[kbse]=f_TNW - ms*c1over216 * VeloX + ms*c1over216 * VeloY + ms*c1over216 * VeloZ + c1o2*c1o36*((two*VeloY-vx2)*(two*VeloY-vx2)-vx2*vx2)*on; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } @@ -3988,63 +3988,63 @@ extern "C" __global__ void QVelDev1h27( int inx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -4079,32 +4079,32 @@ extern "C" __global__ void QVelDev1h27( int inx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -4167,32 +4167,32 @@ extern "C" __global__ void QVelDev1h27( int inx, //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[dirE ])[ke ]; - //f_E = (D.f[dirW ])[kw ]; - //f_S = (D.f[dirN ])[kn ]; - //f_N = (D.f[dirS ])[ks ]; - //f_B = (D.f[dirT ])[kt ]; - //f_T = (D.f[dirB ])[kb ]; - //f_SW = (D.f[dirNE ])[kne ]; - //f_NE = (D.f[dirSW ])[ksw ]; - //f_NW = (D.f[dirSE ])[kse ]; - //f_SE = (D.f[dirNW ])[knw ]; - //f_BW = (D.f[dirTE ])[kte ]; - //f_TE = (D.f[dirBW ])[kbw ]; - //f_TW = (D.f[dirBE ])[kbe ]; - //f_BE = (D.f[dirTW ])[ktw ]; - //f_BS = (D.f[dirTN ])[ktn ]; - //f_TN = (D.f[dirBS ])[kbs ]; - //f_TS = (D.f[dirBN ])[kbn ]; - //f_BN = (D.f[dirTS ])[kts ]; - //f_BSW = (D.f[dirTNE ])[ktne ]; - //f_BNE = (D.f[dirTSW ])[ktsw ]; - //f_BNW = (D.f[dirTSE ])[ktse ]; - //f_BSE = (D.f[dirTNW ])[ktnw ]; - //f_TSW = (D.f[dirBNE ])[kbne ]; - //f_TNE = (D.f[dirBSW ])[kbsw ]; - //f_TNW = (D.f[dirBSE ])[kbse ]; - //f_TSE = (D.f[dirBNW ])[kbnw ]; + //f_W = (D.f[E ])[ke ]; + //f_E = (D.f[W ])[kw ]; + //f_S = (D.f[N ])[kn ]; + //f_N = (D.f[S ])[ks ]; + //f_B = (D.f[T ])[kt ]; + //f_T = (D.f[B ])[kb ]; + //f_SW = (D.f[NE ])[kne ]; + //f_NE = (D.f[SW ])[ksw ]; + //f_NW = (D.f[SE ])[kse ]; + //f_SE = (D.f[NW ])[knw ]; + //f_BW = (D.f[TE ])[kte ]; + //f_TE = (D.f[BW ])[kbw ]; + //f_TW = (D.f[BE ])[kbe ]; + //f_BE = (D.f[TW ])[ktw ]; + //f_BS = (D.f[TN ])[ktn ]; + //f_TN = (D.f[BS ])[kbs ]; + //f_TS = (D.f[BN ])[kbn ]; + //f_BN = (D.f[TS ])[kts ]; + //f_BSW = (D.f[TNE ])[ktne ]; + //f_BNE = (D.f[TSW ])[ktsw ]; + //f_BNW = (D.f[TSE ])[ktse ]; + //f_BSE = (D.f[TNW ])[ktnw ]; + //f_TSW = (D.f[BNE ])[kbne ]; + //f_TNE = (D.f[BSW ])[kbsw ]; + //f_TNW = (D.f[BSE ])[kbse ]; + //f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real /*vx1, vx2,*/ vx3, drho, feq, q, cu_sq; //drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -4217,63 +4217,63 @@ extern "C" __global__ void QVelDev1h27( int inx, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -4286,208 +4286,208 @@ extern "C" __global__ void QVelDev1h27( int inx, //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*( vx1 )*/+c9over2*( vx1 )*( vx1 )-cu_sq); - // (D.f[dirW])[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); - // //(D.f[dirW])[kw]=zero; + // (D.f[W])[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); + // //(D.f[W])[kw]=zero; //} //q = q_dirW[k]; //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*(-vx1 )*/+c9over2*(-vx1 )*(-vx1 )-cu_sq); - // (D.f[dirE])[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); - // //(D.f[dirE])[ke]=zero; + // (D.f[E])[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); + // //(D.f[E])[ke]=zero; //} //q = q_dirN[k]; //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*( vx2 )*/+c9over2*( vx2 )*( vx2 )-cu_sq); - // (D.f[dirS])[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); - // //(D.f[dirS])[ks]=zero; + // (D.f[S])[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); + // //(D.f[S])[ks]=zero; //} //q = q_dirS[k]; //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*( -vx2 )*/+c9over2*( -vx2 )*( -vx2 )-cu_sq); - // (D.f[dirN])[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); - // //(D.f[dirN])[kn]=zero; + // (D.f[N])[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); + // //(D.f[N])[kn]=zero; //} //q = q_dirT[k]; //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*( vx3)*/+c9over2*( vx3)*( vx3)-cu_sq); - // (D.f[dirB])[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); - // //(D.f[dirB])[kb]=one; + // (D.f[B])[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); + // //(D.f[B])[kb]=one; //} //q = q_dirB[k]; //if (q>=zero && q<=one) //{ // feq=c2over27* (drho/*+three*( -vx3)*/+c9over2*( -vx3)*( -vx3)-cu_sq); - // (D.f[dirT])[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); - // //(D.f[dirT])[kt]=zero; + // (D.f[T])[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); + // //(D.f[T])[kt]=zero; //} //q = q_dirNE[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx1+vx2 )*/+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - // (D.f[dirSW])[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); - // //(D.f[dirSW])[ksw]=zero; + // (D.f[SW])[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); + // //(D.f[SW])[ksw]=zero; //} //q = q_dirSW[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*(-vx1-vx2 )*/+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - // (D.f[dirNE])[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); - // //(D.f[dirNE])[kne]=zero; + // (D.f[NE])[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); + // //(D.f[NE])[kne]=zero; //} //q = q_dirSE[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx1-vx2 )*/+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - // (D.f[dirNW])[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); - // //(D.f[dirNW])[knw]=zero; + // (D.f[NW])[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); + // //(D.f[NW])[knw]=zero; //} //q = q_dirNW[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*(-vx1+vx2 )*/+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - // (D.f[dirSE])[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); - // //(D.f[dirSE])[kse]=zero; + // (D.f[SE])[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); + // //(D.f[SE])[kse]=zero; //} //q = q_dirTE[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx1 +vx3)*/+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - // (D.f[dirBW])[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); - // //(D.f[dirBW])[kbw]=zero; + // (D.f[BW])[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); + // //(D.f[BW])[kbw]=zero; //} //q = q_dirBW[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*(-vx1 -vx3)*/+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - // (D.f[dirTE])[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); - // //(D.f[dirTE])[kte]=zero; + // (D.f[TE])[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); + // //(D.f[TE])[kte]=zero; //} //q = q_dirBE[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx1 -vx3)*/+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - // (D.f[dirTW])[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); - // //(D.f[dirTW])[ktw]=zero; + // (D.f[TW])[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); + // //(D.f[TW])[ktw]=zero; //} //q = q_dirTW[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*(-vx1 +vx3)*/+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - // (D.f[dirBE])[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); - // //(D.f[dirBE])[kbe]=zero; + // (D.f[BE])[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); + // //(D.f[BE])[kbe]=zero; //} //q = q_dirTN[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx2+vx3)*/+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); - // (D.f[dirBS])[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); - // //(D.f[dirBS])[kbs]=zero; + // (D.f[BS])[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); + // //(D.f[BS])[kbs]=zero; //} //q = q_dirBS[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( -vx2-vx3)*/+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - // (D.f[dirTN])[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); - // //(D.f[dirTN])[ktn]=zero; + // (D.f[TN])[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); + // //(D.f[TN])[ktn]=zero; //} //q = q_dirBN[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( vx2-vx3)*/+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); - // (D.f[dirTS])[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); - // //(D.f[dirTS])[kts]=zero; + // (D.f[TS])[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); + // //(D.f[TS])[kts]=zero; //} //q = q_dirTS[k]; //if (q>=zero && q<=one) //{ // feq=c1over54* (drho/*+three*( -vx2+vx3)*/+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - // (D.f[dirBN])[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); - // //(D.f[dirBN])[kbn]=zero; + // (D.f[BN])[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); + // //(D.f[BN])[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)-cu_sq); - // (D.f[dirBSW])[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); - // //(D.f[dirBSW])[kbsw]=zero; + // (D.f[BSW])[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); + // //(D.f[BSW])[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)-cu_sq); - // (D.f[dirTNE])[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); - // //(D.f[dirTNE])[ktne]=zero; + // (D.f[TNE])[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); + // //(D.f[TNE])[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)-cu_sq); - // (D.f[dirTSW])[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); - // //(D.f[dirTSW])[ktsw]=zero; + // (D.f[TSW])[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); + // //(D.f[TSW])[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)-cu_sq); - // (D.f[dirBNE])[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); - // //(D.f[dirBNE])[kbne]=zero; + // (D.f[BNE])[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); + // //(D.f[BNE])[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)-cu_sq); - // (D.f[dirBNW])[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); - // //(D.f[dirBNW])[kbnw]=zero; + // (D.f[BNW])[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); + // //(D.f[BNW])[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)-cu_sq); - // (D.f[dirTSE])[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); - // //(D.f[dirTSE])[ktse]=zero; + // (D.f[TSE])[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); + // //(D.f[TSE])[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)-cu_sq); - // (D.f[dirTNW])[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); - // //(D.f[dirTNW])[ktnw]=zero; + // (D.f[TNW])[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); + // //(D.f[TNW])[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)-cu_sq); - // (D.f[dirBSE])[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); - // //(D.f[dirBSE])[kbse]=zero; + // (D.f[BSE])[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); + // //(D.f[BSE])[kbse]=zero; //} ///////// equilibrium BC @@ -4500,208 +4500,208 @@ extern "C" __global__ void QVelDev1h27( int inx, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( VeloXpur )+c9o2*( VeloX )*( VeloX )-cu_sq); - (D.f[dirW])[kw]=feq; - //(D.f[dirW])[kw]=zero; + (D.f[W])[kw]=feq; + //(D.f[W])[kw]=zero; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*(-VeloXpur )+c9o2*(-VeloX )*(-VeloX )-cu_sq); - (D.f[dirE])[ke]=feq; - //(D.f[dirE])[ke]=zero; + (D.f[E])[ke]=feq; + //(D.f[E])[ke]=zero; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( VeloYpur )+c9o2*( VeloY )*( VeloY )-cu_sq); - (D.f[dirS])[ks]=feq; - //(D.f[dirS])[ks]=zero; + (D.f[S])[ks]=feq; + //(D.f[S])[ks]=zero; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( -VeloYpur )+c9o2*( -VeloY )*( -VeloY )-cu_sq); - (D.f[dirN])[kn]=feq; - //(D.f[dirN])[kn]=zero; + (D.f[N])[kn]=feq; + //(D.f[N])[kn]=zero; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB])[kb]=feq; - //(D.f[dirB])[kb]=one; + (D.f[B])[kb]=feq; + //(D.f[B])[kb]=one; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirT])[kt]=feq; - //(D.f[dirT])[kt]=zero; + (D.f[T])[kt]=feq; + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur+VeloYpur )+c9o2*( VeloX+VeloY )*( VeloX+VeloY )-cu_sq); - (D.f[dirSW])[ksw]=feq; - //(D.f[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=feq; + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur-VeloYpur )+c9o2*(-VeloX-VeloY )*(-VeloX-VeloY )-cu_sq); - (D.f[dirNE])[kne]=feq; - //(D.f[dirNE])[kne]=zero; + (D.f[NE])[kne]=feq; + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur-VeloYpur )+c9o2*( VeloX-VeloY )*( VeloX-VeloY )-cu_sq); - (D.f[dirNW])[knw]=feq; - //(D.f[dirNW])[knw]=zero; + (D.f[NW])[knw]=feq; + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur+VeloYpur )+c9o2*(-VeloX+VeloY )*(-VeloX+VeloY )-cu_sq); - (D.f[dirSE])[kse]=feq; - //(D.f[dirSE])[kse]=zero; + (D.f[SE])[kse]=feq; + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur +vx3)+c9o2*( VeloX +vx3)*( VeloX +vx3)-cu_sq); - (D.f[dirBW])[kbw]=feq; - //(D.f[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=feq; + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur -vx3)+c9o2*(-VeloX -vx3)*(-VeloX -vx3)-cu_sq); - (D.f[dirTE])[kte]=feq; - //(D.f[dirTE])[kte]=zero; + (D.f[TE])[kte]=feq; + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloXpur -vx3)+c9o2*( VeloX -vx3)*( VeloX -vx3)-cu_sq); - (D.f[dirTW])[ktw]=feq; - //(D.f[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=feq; + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*(-VeloXpur +vx3)+c9o2*(-VeloX +vx3)*(-VeloX +vx3)-cu_sq); - (D.f[dirBE])[kbe]=feq; - //(D.f[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=feq; + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloYpur+vx3)+c9o2*( VeloY+vx3)*( VeloY+vx3)-cu_sq); - (D.f[dirBS])[kbs]=feq; - //(D.f[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=feq; + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( -VeloYpur-vx3)+c9o2*( -VeloY-vx3)*( -VeloY-vx3)-cu_sq); - (D.f[dirTN])[ktn]=feq; - //(D.f[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=feq; + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( VeloYpur-vx3)+c9o2*( VeloY-vx3)*( VeloY-vx3)-cu_sq); - (D.f[dirTS])[kts]=feq; - //(D.f[dirTS])[kts]=zero; + (D.f[TS])[kts]=feq; + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho+c3o1*( -VeloYpur+vx3)+c9o2*( -VeloY+vx3)*( -VeloY+vx3)-cu_sq); - (D.f[dirBN])[kbn]=feq; - //(D.f[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=feq; + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur+vx3)+c9o2*( VeloX+VeloY+vx3)*( VeloX+VeloY+vx3)-cu_sq); - (D.f[dirBSW])[kbsw]=feq; - //(D.f[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=feq; + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur-vx3)+c9o2*(-VeloX-VeloY-vx3)*(-VeloX-VeloY-vx3)-cu_sq); - (D.f[dirTNE])[ktne]=feq; - //(D.f[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=feq; + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur+VeloYpur-vx3)+c9o2*( VeloX+VeloY-vx3)*( VeloX+VeloY-vx3)-cu_sq); - (D.f[dirTSW])[ktsw]=feq; - //(D.f[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=feq; + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur-VeloYpur+vx3)+c9o2*(-VeloX-VeloY+vx3)*(-VeloX-VeloY+vx3)-cu_sq); - (D.f[dirBNE])[kbne]=feq; - //(D.f[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=feq; + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur+vx3)+c9o2*( VeloX-VeloY+vx3)*( VeloX-VeloY+vx3)-cu_sq); - (D.f[dirBNW])[kbnw]=feq; - //(D.f[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=feq; + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur-vx3)+c9o2*(-VeloX+VeloY-vx3)*(-VeloX+VeloY-vx3)-cu_sq); - (D.f[dirTSE])[ktse]=feq; - //(D.f[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=feq; + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*( VeloXpur-VeloYpur-vx3)+c9o2*( VeloX-VeloY-vx3)*( VeloX-VeloY-vx3)-cu_sq); - (D.f[dirTNW])[ktnw]=feq; - //(D.f[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=feq; + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho+c3o1*(-VeloXpur+VeloYpur+vx3)+c9o2*(-VeloX+VeloY+vx3)*(-VeloX+VeloY+vx3)-cu_sq); - (D.f[dirBSE])[kbse]=feq; - //(D.f[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=feq; + //(D.f[BSE])[kbse]=zero; } } @@ -4837,32 +4837,32 @@ extern "C" __global__ void QVelDeviceComp27( //////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real f_W = (dist.f[dirE ])[ke ]; - real f_E = (dist.f[dirW ])[kw ]; - real f_S = (dist.f[dirN ])[kn ]; - real f_N = (dist.f[dirS ])[ks ]; - real f_B = (dist.f[dirT ])[kt ]; - real f_T = (dist.f[dirB ])[kb ]; - real f_SW = (dist.f[dirNE ])[kne ]; - real f_NE = (dist.f[dirSW ])[ksw ]; - real f_NW = (dist.f[dirSE ])[kse ]; - real f_SE = (dist.f[dirNW ])[knw ]; - real f_BW = (dist.f[dirTE ])[kte ]; - real f_TE = (dist.f[dirBW ])[kbw ]; - real f_TW = (dist.f[dirBE ])[kbe ]; - real f_BE = (dist.f[dirTW ])[ktw ]; - real f_BS = (dist.f[dirTN ])[ktn ]; - real f_TN = (dist.f[dirBS ])[kbs ]; - real f_TS = (dist.f[dirBN ])[kbn ]; - real f_BN = (dist.f[dirTS ])[kts ]; - real f_BSW = (dist.f[dirTNE ])[ktne ]; - real f_BNE = (dist.f[dirTSW ])[ktsw ]; - real f_BNW = (dist.f[dirTSE ])[ktse ]; - real f_BSE = (dist.f[dirTNW ])[ktnw ]; - real f_TSW = (dist.f[dirBNE ])[kbne ]; - real f_TNE = (dist.f[dirBSW ])[kbsw ]; - real f_TNW = (dist.f[dirBSE ])[kbse ]; - real f_TSE = (dist.f[dirBNW ])[kbnw ]; + real f_W = (dist.f[E ])[ke ]; + real f_E = (dist.f[W ])[kw ]; + real f_S = (dist.f[N ])[kn ]; + real f_N = (dist.f[S ])[ks ]; + real f_B = (dist.f[T ])[kt ]; + real f_T = (dist.f[B ])[kb ]; + real f_SW = (dist.f[NE ])[kne ]; + real f_NE = (dist.f[SW ])[ksw ]; + real f_NW = (dist.f[SE ])[kse ]; + real f_SE = (dist.f[NW ])[knw ]; + real f_BW = (dist.f[TE ])[kte ]; + real f_TE = (dist.f[BW ])[kbw ]; + real f_TW = (dist.f[BE ])[kbe ]; + real f_BE = (dist.f[TW ])[ktw ]; + real f_BS = (dist.f[TN ])[ktn ]; + real f_TN = (dist.f[BS ])[kbs ]; + real f_TS = (dist.f[BN ])[kbn ]; + real f_BN = (dist.f[TS ])[kts ]; + real f_BSW = (dist.f[TNE ])[ktne ]; + real f_BNE = (dist.f[TSW ])[ktsw ]; + real f_BNW = (dist.f[TSE ])[ktse ]; + real f_BSE = (dist.f[TNW ])[ktnw ]; + real f_TSW = (dist.f[BNE ])[kbne ]; + real f_TNE = (dist.f[BSW ])[kbsw ]; + real f_TNW = (dist.f[BSE ])[kbse ]; + real f_TSE = (dist.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// //! - Calculate macroscopic quantities @@ -4894,238 +4894,238 @@ extern "C" __global__ void QVelDeviceComp27( //! - Update distributions with subgrid distance (q) between zero and one //! real feq, q, velocityLB, velocityBC; - q = (subgridD.q[dirE])[k]; + q = (subgridD.q[E])[k]; if (q>=c0o1 && q<=c1o1) // only update distribution for q between zero and one { velocityLB = vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloX; - (dist.f[dirW])[kw] = getInterpolatedDistributionForVeloBC(q, f_E, f_W, feq, omega, velocityBC, c2o27); + (dist.f[W])[kw] = getInterpolatedDistributionForVeloBC(q, f_E, f_W, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirW])[k]; + q = (subgridD.q[W])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloX; - (dist.f[dirE])[ke] = getInterpolatedDistributionForVeloBC(q, f_W, f_E, feq, omega, velocityBC, c2o27); + (dist.f[E])[ke] = getInterpolatedDistributionForVeloBC(q, f_W, f_E, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirN])[k]; + q = (subgridD.q[N])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloY; - (dist.f[dirS])[ks] = getInterpolatedDistributionForVeloBC(q, f_N, f_S, feq, omega, velocityBC, c2o27); + (dist.f[S])[ks] = getInterpolatedDistributionForVeloBC(q, f_N, f_S, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirS])[k]; + q = (subgridD.q[S])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloY; - (dist.f[dirN])[kn] = getInterpolatedDistributionForVeloBC(q, f_S, f_N, feq, omega, velocityBC, c2o27); + (dist.f[N])[kn] = getInterpolatedDistributionForVeloBC(q, f_S, f_N, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirT])[k]; + q = (subgridD.q[T])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = VeloZ; - (dist.f[dirB])[kb] = getInterpolatedDistributionForVeloBC(q, f_T, f_B, feq, omega, velocityBC, c2o27); + (dist.f[B])[kb] = getInterpolatedDistributionForVeloBC(q, f_T, f_B, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirB])[k]; + q = (subgridD.q[B])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c2o27); velocityBC = -VeloZ; - (dist.f[dirT])[kt] = getInterpolatedDistributionForVeloBC(q, f_B, f_T, feq, omega, velocityBC, c2o27); + (dist.f[T])[kt] = getInterpolatedDistributionForVeloBC(q, f_B, f_T, feq, omega, velocityBC, c2o27); } - q = (subgridD.q[dirNE])[k]; + q = (subgridD.q[NE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX + VeloY; - (dist.f[dirSW])[ksw] = getInterpolatedDistributionForVeloBC(q, f_NE, f_SW, feq, omega, velocityBC, c1o54); + (dist.f[SW])[ksw] = getInterpolatedDistributionForVeloBC(q, f_NE, f_SW, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirSW])[k]; + q = (subgridD.q[SW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX - VeloY; - (dist.f[dirNE])[kne] = getInterpolatedDistributionForVeloBC(q, f_SW, f_NE, feq, omega, velocityBC, c1o54); + (dist.f[NE])[kne] = getInterpolatedDistributionForVeloBC(q, f_SW, f_NE, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirSE])[k]; + q = (subgridD.q[SE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX - VeloY; - (dist.f[dirNW])[knw] = getInterpolatedDistributionForVeloBC(q, f_SE, f_NW, feq, omega, velocityBC, c1o54); + (dist.f[NW])[knw] = getInterpolatedDistributionForVeloBC(q, f_SE, f_NW, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirNW])[k]; + q = (subgridD.q[NW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX + VeloY; - (dist.f[dirSE])[kse] = getInterpolatedDistributionForVeloBC(q, f_NW, f_SE, feq, omega, velocityBC, c1o54); + (dist.f[SE])[kse] = getInterpolatedDistributionForVeloBC(q, f_NW, f_SE, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirTE])[k]; + q = (subgridD.q[TE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX + VeloZ; - (dist.f[dirBW])[kbw] = getInterpolatedDistributionForVeloBC(q, f_TE, f_BW, feq, omega, velocityBC, c1o54); + (dist.f[BW])[kbw] = getInterpolatedDistributionForVeloBC(q, f_TE, f_BW, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirBW])[k]; + q = (subgridD.q[BW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX - VeloZ; - (dist.f[dirTE])[kte] = getInterpolatedDistributionForVeloBC(q, f_BW, f_TE, feq, omega, velocityBC, c1o54); + (dist.f[TE])[kte] = getInterpolatedDistributionForVeloBC(q, f_BW, f_TE, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirBE])[k]; + q = (subgridD.q[BE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloX - VeloZ; - (dist.f[dirTW])[ktw] = getInterpolatedDistributionForVeloBC(q, f_BE, f_TW, feq, omega, velocityBC, c1o54); + (dist.f[TW])[ktw] = getInterpolatedDistributionForVeloBC(q, f_BE, f_TW, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirTW])[k]; + q = (subgridD.q[TW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloX + VeloZ; - (dist.f[dirBE])[kbe] = getInterpolatedDistributionForVeloBC(q, f_TW, f_BE, feq, omega, velocityBC, c1o54); + (dist.f[BE])[kbe] = getInterpolatedDistributionForVeloBC(q, f_TW, f_BE, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirTN])[k]; + q = (subgridD.q[TN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloY + VeloZ; - (dist.f[dirBS])[kbs] = getInterpolatedDistributionForVeloBC(q, f_TN, f_BS, feq, omega, velocityBC, c1o54); + (dist.f[BS])[kbs] = getInterpolatedDistributionForVeloBC(q, f_TN, f_BS, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirBS])[k]; + q = (subgridD.q[BS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloY - VeloZ; - (dist.f[dirTN])[ktn] = getInterpolatedDistributionForVeloBC(q, f_BS, f_TN, feq, omega, velocityBC, c1o54); + (dist.f[TN])[ktn] = getInterpolatedDistributionForVeloBC(q, f_BS, f_TN, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirBN])[k]; + q = (subgridD.q[BN])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = VeloY - VeloZ; - (dist.f[dirTS])[kts] = getInterpolatedDistributionForVeloBC(q, f_BN, f_TS, feq, omega, velocityBC, c1o54); + (dist.f[TS])[kts] = getInterpolatedDistributionForVeloBC(q, f_BN, f_TS, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirTS])[k]; + q = (subgridD.q[TS])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o54); velocityBC = -VeloY + VeloZ; - (dist.f[dirBN])[kbn] = getInterpolatedDistributionForVeloBC(q, f_TS, f_BN, feq, omega, velocityBC, c1o54); + (dist.f[BN])[kbn] = getInterpolatedDistributionForVeloBC(q, f_TS, f_BN, feq, omega, velocityBC, c1o54); } - q = (subgridD.q[dirTNE])[k]; + q = (subgridD.q[TNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX + VeloY + VeloZ; - (dist.f[dirBSW])[kbsw] = getInterpolatedDistributionForVeloBC(q, f_TNE, f_BSW, feq, omega, velocityBC, c1o216); + (dist.f[BSW])[kbsw] = getInterpolatedDistributionForVeloBC(q, f_TNE, f_BSW, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirBSW])[k]; + q = (subgridD.q[BSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX - VeloY - VeloZ; - (dist.f[dirTNE])[ktne] = getInterpolatedDistributionForVeloBC(q, f_BSW, f_TNE, feq, omega, velocityBC, c1o216); + (dist.f[TNE])[ktne] = getInterpolatedDistributionForVeloBC(q, f_BSW, f_TNE, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirBNE])[k]; + q = (subgridD.q[BNE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX + VeloY - VeloZ; - (dist.f[dirTSW])[ktsw] = getInterpolatedDistributionForVeloBC(q, f_BNE, f_TSW, feq, omega, velocityBC, c1o216); + (dist.f[TSW])[ktsw] = getInterpolatedDistributionForVeloBC(q, f_BNE, f_TSW, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirTSW])[k]; + q = (subgridD.q[TSW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX - VeloY + VeloZ; - (dist.f[dirBNE])[kbne] = getInterpolatedDistributionForVeloBC(q, f_TSW, f_BNE, feq, omega, velocityBC, c1o216); + (dist.f[BNE])[kbne] = getInterpolatedDistributionForVeloBC(q, f_TSW, f_BNE, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirTSE])[k]; + q = (subgridD.q[TSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX - VeloY + VeloZ; - (dist.f[dirBNW])[kbnw] = getInterpolatedDistributionForVeloBC(q, f_TSE, f_BNW, feq, omega, velocityBC, c1o216); + (dist.f[BNW])[kbnw] = getInterpolatedDistributionForVeloBC(q, f_TSE, f_BNW, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirBNW])[k]; + q = (subgridD.q[BNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX + VeloY - VeloZ; - (dist.f[dirTSE])[ktse] = getInterpolatedDistributionForVeloBC(q, f_BNW, f_TSE, feq, omega, velocityBC, c1o216); + (dist.f[TSE])[ktse] = getInterpolatedDistributionForVeloBC(q, f_BNW, f_TSE, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirBSE])[k]; + q = (subgridD.q[BSE])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = vx1 - vx2 - vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = VeloX - VeloY - VeloZ; - (dist.f[dirTNW])[ktnw] = getInterpolatedDistributionForVeloBC(q, f_BSE, f_TNW, feq, omega, velocityBC, c1o216); + (dist.f[TNW])[ktnw] = getInterpolatedDistributionForVeloBC(q, f_BSE, f_TNW, feq, omega, velocityBC, c1o216); } - q = (subgridD.q[dirTNW])[k]; + q = (subgridD.q[TNW])[k]; if (q>=c0o1 && q<=c1o1) { velocityLB = -vx1 + vx2 + vx3; feq = getEquilibriumForBC(drho, velocityLB, cu_sq, c1o216); velocityBC = -VeloX + VeloY + VeloZ; - (dist.f[dirBSE])[kbse] = getInterpolatedDistributionForVeloBC(q, f_TNW, f_BSE, feq, omega, velocityBC, c1o216); + (dist.f[BSE])[kbse] = getInterpolatedDistributionForVeloBC(q, f_TNW, f_BSE, feq, omega, velocityBC, c1o216); } } } @@ -5189,63 +5189,63 @@ extern "C" __global__ void QVelDevice27(int inx, Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -5270,32 +5270,32 @@ extern "C" __global__ void QVelDevice27(int inx, *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[dirE * numberOfBCnodes]; - q_dirW = &QQ[dirW * numberOfBCnodes]; - q_dirN = &QQ[dirN * numberOfBCnodes]; - q_dirS = &QQ[dirS * numberOfBCnodes]; - q_dirT = &QQ[dirT * numberOfBCnodes]; - q_dirB = &QQ[dirB * numberOfBCnodes]; - q_dirNE = &QQ[dirNE * numberOfBCnodes]; - q_dirSW = &QQ[dirSW * numberOfBCnodes]; - q_dirSE = &QQ[dirSE * numberOfBCnodes]; - q_dirNW = &QQ[dirNW * numberOfBCnodes]; - q_dirTE = &QQ[dirTE * numberOfBCnodes]; - q_dirBW = &QQ[dirBW * numberOfBCnodes]; - q_dirBE = &QQ[dirBE * numberOfBCnodes]; - q_dirTW = &QQ[dirTW * numberOfBCnodes]; - q_dirTN = &QQ[dirTN * numberOfBCnodes]; - q_dirBS = &QQ[dirBS * numberOfBCnodes]; - q_dirBN = &QQ[dirBN * numberOfBCnodes]; - q_dirTS = &QQ[dirTS * numberOfBCnodes]; - q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + q_dirE = &QQ[E * numberOfBCnodes]; + q_dirW = &QQ[W * numberOfBCnodes]; + q_dirN = &QQ[N * numberOfBCnodes]; + q_dirS = &QQ[S * numberOfBCnodes]; + q_dirT = &QQ[T * numberOfBCnodes]; + q_dirB = &QQ[B * numberOfBCnodes]; + q_dirNE = &QQ[NE * numberOfBCnodes]; + q_dirSW = &QQ[SW * numberOfBCnodes]; + q_dirSE = &QQ[SE * numberOfBCnodes]; + q_dirNW = &QQ[NW * numberOfBCnodes]; + q_dirTE = &QQ[TE * numberOfBCnodes]; + q_dirBW = &QQ[BW * numberOfBCnodes]; + q_dirBE = &QQ[BE * numberOfBCnodes]; + q_dirTW = &QQ[TW * numberOfBCnodes]; + q_dirTN = &QQ[TN * numberOfBCnodes]; + q_dirBS = &QQ[BS * numberOfBCnodes]; + q_dirBN = &QQ[BN * numberOfBCnodes]; + q_dirTS = &QQ[TS * numberOfBCnodes]; + q_dirTNE = &QQ[TNE * numberOfBCnodes]; + q_dirTSW = &QQ[TSW * numberOfBCnodes]; + q_dirTSE = &QQ[TSE * numberOfBCnodes]; + q_dirTNW = &QQ[TNW * numberOfBCnodes]; + q_dirBNE = &QQ[BNE * numberOfBCnodes]; + q_dirBSW = &QQ[BSW * numberOfBCnodes]; + q_dirBSE = &QQ[BSE * numberOfBCnodes]; + q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -5358,32 +5358,32 @@ extern "C" __global__ void QVelDevice27(int inx, 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// real vx1, vx2, vx3, drho, feq, q; drho = f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -5408,63 +5408,63 @@ extern "C" __global__ void QVelDevice27(int inx, ////////////////////////////////////////////////////////////////////////// if (isEvenTimestep==false) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Test @@ -5477,208 +5477,208 @@ extern "C" __global__ void QVelDevice27(int inx, if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx1 )*/+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q); - //(D.f[dirW])[kw]=zero; + (D.f[W])[kw]=(c1o1-q)/(c1o1+q)*(f_E-f_W+(f_E+f_W-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_E+f_W)-c6o1*c2o27*( VeloX ))/(c1o1+q); + //(D.f[W])[kw]=zero; } q = q_dirW[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*(-vx1 )*/+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirE])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q); - //(D.f[dirE])[ke]=zero; + (D.f[E])[ke]=(c1o1-q)/(c1o1+q)*(f_W-f_E+(f_W+f_E-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_W+f_E)-c6o1*c2o27*(-VeloX ))/(c1o1+q); + //(D.f[E])[ke]=zero; } q = q_dirN[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx2 )*/+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q); - //(D.f[dirS])[ks]=zero; + (D.f[S])[ks]=(c1o1-q)/(c1o1+q)*(f_N-f_S+(f_N+f_S-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_N+f_S)-c6o1*c2o27*( VeloY ))/(c1o1+q); + //(D.f[S])[ks]=zero; } q = q_dirS[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx2 )*/+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirN])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q); - //(D.f[dirN])[kn]=zero; + (D.f[N])[kn]=(c1o1-q)/(c1o1+q)*(f_S-f_N+(f_S+f_N-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_S+f_N)-c6o1*c2o27*(-VeloY ))/(c1o1+q); + //(D.f[N])[kn]=zero; } q = q_dirT[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( vx3)*/+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q); - //(D.f[dirB])[kb]=one; + (D.f[B])[kb]=(c1o1-q)/(c1o1+q)*(f_T-f_B+(f_T+f_B-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_T+f_B)-c6o1*c2o27*( VeloZ ))/(c1o1+q); + //(D.f[B])[kb]=one; } q = q_dirB[k]; if (q>=c0o1 && q<=c1o1) { feq=c2o27* (drho/*+three*( -vx3)*/+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirT])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q); - //(D.f[dirT])[kt]=zero; + (D.f[T])[kt]=(c1o1-q)/(c1o1+q)*(f_B-f_T+(f_B+f_T-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_B+f_T)-c6o1*c2o27*(-VeloZ ))/(c1o1+q); + //(D.f[T])[kt]=zero; } q = q_dirNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1+vx2 )*/+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); - //(D.f[dirSW])[ksw]=zero; + (D.f[SW])[ksw]=(c1o1-q)/(c1o1+q)*(f_NE-f_SW+(f_NE+f_SW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NE+f_SW)-c6o1*c1o54*(VeloX+VeloY))/(c1o1+q); + //(D.f[SW])[ksw]=zero; } q = q_dirSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1-vx2 )*/+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirNE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); - //(D.f[dirNE])[kne]=zero; + (D.f[NE])[kne]=(c1o1-q)/(c1o1+q)*(f_SW-f_NE+(f_SW+f_NE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SW+f_NE)-c6o1*c1o54*(-VeloX-VeloY))/(c1o1+q); + //(D.f[NE])[kne]=zero; } q = q_dirSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1-vx2 )*/+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); - //(D.f[dirNW])[knw]=zero; + (D.f[NW])[knw]=(c1o1-q)/(c1o1+q)*(f_SE-f_NW+(f_SE+f_NW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_SE+f_NW)-c6o1*c1o54*( VeloX-VeloY))/(c1o1+q); + //(D.f[NW])[knw]=zero; } q = q_dirNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1+vx2 )*/+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirSE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); - //(D.f[dirSE])[kse]=zero; + (D.f[SE])[kse]=(c1o1-q)/(c1o1+q)*(f_NW-f_SE+(f_NW+f_SE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_NW+f_SE)-c6o1*c1o54*(-VeloX+VeloY))/(c1o1+q); + //(D.f[SE])[kse]=zero; } q = q_dirTE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 +vx3)*/+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); - //(D.f[dirBW])[kbw]=zero; + (D.f[BW])[kbw]=(c1o1-q)/(c1o1+q)*(f_TE-f_BW+(f_TE+f_BW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TE+f_BW)-c6o1*c1o54*( VeloX+VeloZ))/(c1o1+q); + //(D.f[BW])[kbw]=zero; } q = q_dirBW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 -vx3)*/+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirTE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); - //(D.f[dirTE])[kte]=zero; + (D.f[TE])[kte]=(c1o1-q)/(c1o1+q)*(f_BW-f_TE+(f_BW+f_TE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BW+f_TE)-c6o1*c1o54*(-VeloX-VeloZ))/(c1o1+q); + //(D.f[TE])[kte]=zero; } q = q_dirBE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx1 -vx3)*/+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); - //(D.f[dirTW])[ktw]=zero; + (D.f[TW])[ktw]=(c1o1-q)/(c1o1+q)*(f_BE-f_TW+(f_BE+f_TW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BE+f_TW)-c6o1*c1o54*( VeloX-VeloZ))/(c1o1+q); + //(D.f[TW])[ktw]=zero; } q = q_dirTW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*(-vx1 +vx3)*/+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirBE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); - //(D.f[dirBE])[kbe]=zero; + (D.f[BE])[kbe]=(c1o1-q)/(c1o1+q)*(f_TW-f_BE+(f_TW+f_BE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TW+f_BE)-c6o1*c1o54*(-VeloX+VeloZ))/(c1o1+q); + //(D.f[BE])[kbe]=zero; } q = q_dirTN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2+vx3)*/+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBS])[kbs]=zero; + (D.f[BS])[kbs]=(c1o1-q)/(c1o1+q)*(f_TN-f_BS+(f_TN+f_BS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TN+f_BS)-c6o1*c1o54*( VeloY+VeloZ))/(c1o1+q); + //(D.f[BS])[kbs]=zero; } q = q_dirBS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2-vx3)*/+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirTN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTN])[ktn]=zero; + (D.f[TN])[ktn]=(c1o1-q)/(c1o1+q)*(f_BS-f_TN+(f_BS+f_TN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BS+f_TN)-c6o1*c1o54*( -VeloY-VeloZ))/(c1o1+q); + //(D.f[TN])[ktn]=zero; } q = q_dirBN[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( vx2-vx3)*/+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTS])[kts]=zero; + (D.f[TS])[kts]=(c1o1-q)/(c1o1+q)*(f_BN-f_TS+(f_BN+f_TS-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BN+f_TS)-c6o1*c1o54*( VeloY-VeloZ))/(c1o1+q); + //(D.f[TS])[kts]=zero; } q = q_dirTS[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o54* (drho/*+three*( -vx2+vx3)*/+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirBN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBN])[kbn]=zero; + (D.f[BN])[kbn]=(c1o1-q)/(c1o1+q)*(f_TS-f_BN+(f_TS+f_BN-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TS+f_BN)-c6o1*c1o54*( -VeloY+VeloZ))/(c1o1+q); + //(D.f[BN])[kbn]=zero; } q = q_dirTNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2+vx3)*/+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBSW])[kbsw]=zero; + (D.f[BSW])[kbsw]=(c1o1-q)/(c1o1+q)*(f_TNE-f_BSW+(f_TNE+f_BSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNE+f_BSW)-c6o1*c1o216*( VeloX+VeloY+VeloZ))/(c1o1+q); + //(D.f[BSW])[kbsw]=zero; } q = q_dirBSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2-vx3)*/+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirTNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTNE])[ktne]=zero; + (D.f[TNE])[ktne]=(c1o1-q)/(c1o1+q)*(f_BSW-f_TNE+(f_BSW+f_TNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSW+f_TNE)-c6o1*c1o216*(-VeloX-VeloY-VeloZ))/(c1o1+q); + //(D.f[TNE])[ktne]=zero; } q = q_dirBNE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1+vx2-vx3)*/+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTSW])[ktsw]=zero; + (D.f[TSW])[ktsw]=(c1o1-q)/(c1o1+q)*(f_BNE-f_TSW+(f_BNE+f_TSW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNE+f_TSW)-c6o1*c1o216*( VeloX+VeloY-VeloZ))/(c1o1+q); + //(D.f[TSW])[ktsw]=zero; } q = q_dirTSW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1-vx2+vx3)*/+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirBNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBNE])[kbne]=zero; + (D.f[BNE])[kbne]=(c1o1-q)/(c1o1+q)*(f_TSW-f_BNE+(f_TSW+f_BNE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSW+f_BNE)-c6o1*c1o216*(-VeloX-VeloY+VeloZ))/(c1o1+q); + //(D.f[BNE])[kbne]=zero; } q = q_dirTSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2+vx3)*/+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBNW])[kbnw]=zero; + (D.f[BNW])[kbnw]=(c1o1-q)/(c1o1+q)*(f_TSE-f_BNW+(f_TSE+f_BNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TSE+f_BNW)-c6o1*c1o216*( VeloX-VeloY+VeloZ))/(c1o1+q); + //(D.f[BNW])[kbnw]=zero; } q = q_dirBNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2-vx3)*/+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirTSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTSE])[ktse]=zero; + (D.f[TSE])[ktse]=(c1o1-q)/(c1o1+q)*(f_BNW-f_TSE+(f_BNW+f_TSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BNW+f_TSE)-c6o1*c1o216*(-VeloX+VeloY-VeloZ))/(c1o1+q); + //(D.f[TSE])[ktse]=zero; } q = q_dirBSE[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*( vx1-vx2-vx3)*/+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); - //(D.f[dirTNW])[ktnw]=zero; + (D.f[TNW])[ktnw]=(c1o1-q)/(c1o1+q)*(f_BSE-f_TNW+(f_BSE+f_TNW-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_BSE+f_TNW)-c6o1*c1o216*( VeloX-VeloY-VeloZ))/(c1o1+q); + //(D.f[TNW])[ktnw]=zero; } q = q_dirTNW[k]; if (q>=c0o1 && q<=c1o1) { feq=c1o216*(drho/*+three*(-vx1+vx2+vx3)*/+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); - (D.f[dirBSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); - //(D.f[dirBSE])[kbse]=zero; + (D.f[BSE])[kbse]=(c1o1-q)/(c1o1+q)*(f_TNW-f_BSE+(f_TNW+f_BSE-c2o1*feq*om1)/(c1o1-om1))*c1o2+(q*(f_TNW+f_BSE)-c6o1*c1o216*(-VeloX+VeloY+VeloZ))/(c1o1+q); + //(D.f[BSE])[kbse]=zero; } } } @@ -5754,63 +5754,63 @@ extern "C" __global__ void PropellerBC(unsigned int* neighborX, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// unsigned int KQK = k_Q[k]; @@ -5859,58 +5859,58 @@ extern "C" __global__ void PropellerBC(unsigned int* neighborX, 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_ZERO; f_ZERO= (D.f[dirREST])[kzero]; - f_E = (D.f[dirE ])[ke ]; - f_W = (D.f[dirW ])[kw ]; - f_N = (D.f[dirN ])[kn ]; - f_S = (D.f[dirS ])[ks ]; - f_T = (D.f[dirT ])[kt ]; - f_B = (D.f[dirB ])[kb ]; - f_NE = (D.f[dirNE ])[kne ]; - f_SW = (D.f[dirSW ])[ksw ]; - f_SE = (D.f[dirSE ])[kse ]; - f_NW = (D.f[dirNW ])[knw ]; - f_TE = (D.f[dirTE ])[kte ]; - f_BW = (D.f[dirBW ])[kbw ]; - f_BE = (D.f[dirBE ])[kbe ]; - f_TW = (D.f[dirTW ])[ktw ]; - f_TN = (D.f[dirTN ])[ktn ]; - f_BS = (D.f[dirBS ])[kbs ]; - f_BN = (D.f[dirBN ])[kbn ]; - f_TS = (D.f[dirTS ])[kts ]; - f_TNE = (D.f[dirTNE ])[ktne ]; - f_BSW = (D.f[dirBSW ])[kbsw ]; - f_BNE = (D.f[dirBNE ])[kbne ]; - f_TSW = (D.f[dirTSW ])[ktsw ]; - f_TSE = (D.f[dirTSE ])[ktse ]; - f_BNW = (D.f[dirBNW ])[kbnw ]; - f_BSE = (D.f[dirBSE ])[kbse ]; - f_TNW = (D.f[dirTNW ])[ktnw ]; - //f_W = (D.f[dirE ])[ke ]; - //f_E = (D.f[dirW ])[kw ]; - //f_S = (D.f[dirN ])[kn ]; - //f_N = (D.f[dirS ])[ks ]; - //f_B = (D.f[dirT ])[kt ]; - //f_T = (D.f[dirB ])[kb ]; - //f_SW = (D.f[dirNE ])[kne ]; - //f_NE = (D.f[dirSW ])[ksw ]; - //f_NW = (D.f[dirSE ])[kse ]; - //f_SE = (D.f[dirNW ])[knw ]; - //f_BW = (D.f[dirTE ])[kte ]; - //f_TE = (D.f[dirBW ])[kbw ]; - //f_TW = (D.f[dirBE ])[kbe ]; - //f_BE = (D.f[dirTW ])[ktw ]; - //f_BS = (D.f[dirTN ])[ktn ]; - //f_TN = (D.f[dirBS ])[kbs ]; - //f_TS = (D.f[dirBN ])[kbn ]; - //f_BN = (D.f[dirTS ])[kts ]; - //f_BSW = (D.f[dirTNE ])[ktne ]; - //f_TNE = (D.f[dirBSW ])[kbsw ]; - //f_TSW = (D.f[dirBNE ])[kbne ]; - //f_BNE = (D.f[dirTSW ])[ktsw ]; - //f_BNW = (D.f[dirTSE ])[ktse ]; - //f_TSE = (D.f[dirBNW ])[kbnw ]; - //f_TNW = (D.f[dirBSE ])[kbse ]; - //f_BSE = (D.f[dirTNW ])[ktnw ]; + f_E = (D.f[E ])[ke ]; + f_W = (D.f[W ])[kw ]; + f_N = (D.f[N ])[kn ]; + f_S = (D.f[S ])[ks ]; + f_T = (D.f[T ])[kt ]; + f_B = (D.f[B ])[kb ]; + f_NE = (D.f[NE ])[kne ]; + f_SW = (D.f[SW ])[ksw ]; + f_SE = (D.f[SE ])[kse ]; + f_NW = (D.f[NW ])[knw ]; + f_TE = (D.f[TE ])[kte ]; + f_BW = (D.f[BW ])[kbw ]; + f_BE = (D.f[BE ])[kbe ]; + f_TW = (D.f[TW ])[ktw ]; + f_TN = (D.f[TN ])[ktn ]; + f_BS = (D.f[BS ])[kbs ]; + f_BN = (D.f[BN ])[kbn ]; + f_TS = (D.f[TS ])[kts ]; + f_TNE = (D.f[TNE ])[ktne ]; + f_BSW = (D.f[BSW ])[kbsw ]; + f_BNE = (D.f[BNE ])[kbne ]; + f_TSW = (D.f[TSW ])[ktsw ]; + f_TSE = (D.f[TSE ])[ktse ]; + f_BNW = (D.f[BNW ])[kbnw ]; + f_BSE = (D.f[BSE ])[kbse ]; + f_TNW = (D.f[TNW ])[ktnw ]; + //f_W = (D.f[E ])[ke ]; + //f_E = (D.f[W ])[kw ]; + //f_S = (D.f[N ])[kn ]; + //f_N = (D.f[S ])[ks ]; + //f_B = (D.f[T ])[kt ]; + //f_T = (D.f[B ])[kb ]; + //f_SW = (D.f[NE ])[kne ]; + //f_NE = (D.f[SW ])[ksw ]; + //f_NW = (D.f[SE ])[kse ]; + //f_SE = (D.f[NW ])[knw ]; + //f_BW = (D.f[TE ])[kte ]; + //f_TE = (D.f[BW ])[kbw ]; + //f_TW = (D.f[BE ])[kbe ]; + //f_BE = (D.f[TW ])[ktw ]; + //f_BS = (D.f[TN ])[ktn ]; + //f_TN = (D.f[BS ])[kbs ]; + //f_TS = (D.f[BN ])[kbn ]; + //f_BN = (D.f[TS ])[kts ]; + //f_BSW = (D.f[TNE ])[ktne ]; + //f_TNE = (D.f[BSW ])[kbsw ]; + //f_TSW = (D.f[BNE ])[kbne ]; + //f_BNE = (D.f[TSW ])[ktsw ]; + //f_BNW = (D.f[TSE ])[ktse ]; + //f_TSE = (D.f[BNW ])[kbnw ]; + //f_TNW = (D.f[BSE ])[kbse ]; + //f_BSE = (D.f[TNW ])[ktnw ]; ////////////////////////////////////////////////////////////////////////////////// real vxo1, vxo2, vxo3, drho; drho = /*zero;*/f_TSE + f_TNW + f_TNE + f_TSW + f_BSE + f_BNW + f_BNE + f_BSW + @@ -5992,88 +5992,88 @@ extern "C" __global__ void PropellerBC(unsigned int* neighborX, f_TNW = f_TNW + ((c1o1+drho) * (- c1o216*(c3o1*(-vxo1+vxo2+vxo3)+c9o2*(-vxo1+vxo2+vxo3)*(-vxo1+vxo2+vxo3)-cusq) + c1o216*(c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq2))); (D.f[dirREST])[kzero] = f_ZERO; - (D.f[dirE ])[ke ] = f_E ; // f_W ;// - (D.f[dirW ])[kw ] = f_W ; // f_E ;// - (D.f[dirN ])[kn ] = f_N ; // f_S ;// - (D.f[dirS ])[ks ] = f_S ; // f_N ;// - (D.f[dirT ])[kt ] = f_T ; // f_B ;// - (D.f[dirB ])[kb ] = f_B ; // f_T ;// - (D.f[dirNE ])[kne ] = f_NE ; // f_SW ;// - (D.f[dirSW ])[ksw ] = f_SW ; // f_NE ;// - (D.f[dirSE ])[kse ] = f_SE ; // f_NW ;// - (D.f[dirNW ])[knw ] = f_NW ; // f_SE ;// - (D.f[dirTE ])[kte ] = f_TE ; // f_BW ;// - (D.f[dirBW ])[kbw ] = f_BW ; // f_TE ;// - (D.f[dirBE ])[kbe ] = f_BE ; // f_TW ;// - (D.f[dirTW ])[ktw ] = f_TW ; // f_BE ;// - (D.f[dirTN ])[ktn ] = f_TN ; // f_BS ;// - (D.f[dirBS ])[kbs ] = f_BS ; // f_TN ;// - (D.f[dirBN ])[kbn ] = f_BN ; // f_TS ;// - (D.f[dirTS ])[kts ] = f_TS ; // f_BN ;// - (D.f[dirTNE ])[ktne ] = f_TNE ; // f_BSW ;// - (D.f[dirBSW ])[kbsw ] = f_BSW ; // f_BNE ;// - (D.f[dirBNE ])[kbne ] = f_BNE ; // f_BNW ;// - (D.f[dirTSW ])[ktsw ] = f_TSW ; // f_BSE ;// - (D.f[dirTSE ])[ktse ] = f_TSE ; // f_TSW ;// - (D.f[dirBNW ])[kbnw ] = f_BNW ; // f_TNE ;// - (D.f[dirBSE ])[kbse ] = f_BSE ; // f_TNW ;// - (D.f[dirTNW ])[ktnw ] = f_TNW ; // f_TSE ;// + (D.f[E ])[ke ] = f_E ; // f_W ;// + (D.f[W ])[kw ] = f_W ; // f_E ;// + (D.f[N ])[kn ] = f_N ; // f_S ;// + (D.f[S ])[ks ] = f_S ; // f_N ;// + (D.f[T ])[kt ] = f_T ; // f_B ;// + (D.f[B ])[kb ] = f_B ; // f_T ;// + (D.f[NE ])[kne ] = f_NE ; // f_SW ;// + (D.f[SW ])[ksw ] = f_SW ; // f_NE ;// + (D.f[SE ])[kse ] = f_SE ; // f_NW ;// + (D.f[NW ])[knw ] = f_NW ; // f_SE ;// + (D.f[TE ])[kte ] = f_TE ; // f_BW ;// + (D.f[BW ])[kbw ] = f_BW ; // f_TE ;// + (D.f[BE ])[kbe ] = f_BE ; // f_TW ;// + (D.f[TW ])[ktw ] = f_TW ; // f_BE ;// + (D.f[TN ])[ktn ] = f_TN ; // f_BS ;// + (D.f[BS ])[kbs ] = f_BS ; // f_TN ;// + (D.f[BN ])[kbn ] = f_BN ; // f_TS ;// + (D.f[TS ])[kts ] = f_TS ; // f_BN ;// + (D.f[TNE ])[ktne ] = f_TNE ; // f_BSW ;// + (D.f[BSW ])[kbsw ] = f_BSW ; // f_BNE ;// + (D.f[BNE ])[kbne ] = f_BNE ; // f_BNW ;// + (D.f[TSW ])[ktsw ] = f_TSW ; // f_BSE ;// + (D.f[TSE ])[ktse ] = f_TSE ; // f_TSW ;// + (D.f[BNW ])[kbnw ] = f_BNW ; // f_TNE ;// + (D.f[BSE ])[kbse ] = f_BSE ; // f_TNW ;// + (D.f[TNW ])[ktnw ] = f_TNW ; // f_TSE ;// ////////////////////////////////////////////////////////////////////////// ////(D.f[dirREST])[kzero] = c8over27* (drho-cu_sq); - //(D.f[dirE ])[ke ] = three*c2over27* ( vx1 ); //six - //(D.f[dirW ])[kw ] = three*c2over27* (-vx1 ); //six - //(D.f[dirN ])[kn ] = three*c2over27* ( vx2 ); //six - //(D.f[dirS ])[ks ] = three*c2over27* ( -vx2 ); //six - //(D.f[dirT ])[kt ] = three*c2over27* ( vx3); //six - //(D.f[dirB ])[kb ] = three*c2over27* ( -vx3); //six - //(D.f[dirNE ])[kne ] = three*c1over54* ( vx1+vx2 ); //six - //(D.f[dirSW ])[ksw ] = three*c1over54* (-vx1-vx2 ); //six - //(D.f[dirSE ])[kse ] = three*c1over54* ( vx1-vx2 ); //six - //(D.f[dirNW ])[knw ] = three*c1over54* (-vx1+vx2 ); //six - //(D.f[dirTE ])[kte ] = three*c1over54* ( vx1 +vx3); //six - //(D.f[dirBW ])[kbw ] = three*c1over54* (-vx1 -vx3); //six - //(D.f[dirBE ])[kbe ] = three*c1over54* ( vx1 -vx3); //six - //(D.f[dirTW ])[ktw ] = three*c1over54* (-vx1 +vx3); //six - //(D.f[dirTN ])[ktn ] = three*c1over54* ( vx2+vx3); //six - //(D.f[dirBS ])[kbs ] = three*c1over54* ( -vx2-vx3); //six - //(D.f[dirBN ])[kbn ] = three*c1over54* ( vx2-vx3); //six - //(D.f[dirTS ])[kts ] = three*c1over54* ( -vx2+vx3); //six - //(D.f[dirTNE ])[ktne ] = three*c1over216*( vx1+vx2+vx3); //six - //(D.f[dirBSW ])[kbsw ] = three*c1over216*(-vx1-vx2-vx3); //six - //(D.f[dirBNE ])[kbne ] = three*c1over216*( vx1+vx2-vx3); //six - //(D.f[dirTSW ])[ktsw ] = three*c1over216*(-vx1-vx2+vx3); //six - //(D.f[dirTSE ])[ktse ] = three*c1over216*( vx1-vx2+vx3); //six - //(D.f[dirBNW ])[kbnw ] = three*c1over216*(-vx1+vx2-vx3); //six - //(D.f[dirBSE ])[kbse ] = three*c1over216*( vx1-vx2-vx3); //six - //(D.f[dirTNW ])[ktnw ] = three*c1over216*(-vx1+vx2+vx3); //six + //(D.f[E ])[ke ] = three*c2over27* ( vx1 ); //six + //(D.f[W ])[kw ] = three*c2over27* (-vx1 ); //six + //(D.f[N ])[kn ] = three*c2over27* ( vx2 ); //six + //(D.f[S ])[ks ] = three*c2over27* ( -vx2 ); //six + //(D.f[T ])[kt ] = three*c2over27* ( vx3); //six + //(D.f[B ])[kb ] = three*c2over27* ( -vx3); //six + //(D.f[NE ])[kne ] = three*c1over54* ( vx1+vx2 ); //six + //(D.f[SW ])[ksw ] = three*c1over54* (-vx1-vx2 ); //six + //(D.f[SE ])[kse ] = three*c1over54* ( vx1-vx2 ); //six + //(D.f[NW ])[knw ] = three*c1over54* (-vx1+vx2 ); //six + //(D.f[TE ])[kte ] = three*c1over54* ( vx1 +vx3); //six + //(D.f[BW ])[kbw ] = three*c1over54* (-vx1 -vx3); //six + //(D.f[BE ])[kbe ] = three*c1over54* ( vx1 -vx3); //six + //(D.f[TW ])[ktw ] = three*c1over54* (-vx1 +vx3); //six + //(D.f[TN ])[ktn ] = three*c1over54* ( vx2+vx3); //six + //(D.f[BS ])[kbs ] = three*c1over54* ( -vx2-vx3); //six + //(D.f[BN ])[kbn ] = three*c1over54* ( vx2-vx3); //six + //(D.f[TS ])[kts ] = three*c1over54* ( -vx2+vx3); //six + //(D.f[TNE ])[ktne ] = three*c1over216*( vx1+vx2+vx3); //six + //(D.f[BSW ])[kbsw ] = three*c1over216*(-vx1-vx2-vx3); //six + //(D.f[BNE ])[kbne ] = three*c1over216*( vx1+vx2-vx3); //six + //(D.f[TSW ])[ktsw ] = three*c1over216*(-vx1-vx2+vx3); //six + //(D.f[TSE ])[ktse ] = three*c1over216*( vx1-vx2+vx3); //six + //(D.f[BNW ])[kbnw ] = three*c1over216*(-vx1+vx2-vx3); //six + //(D.f[BSE ])[kbse ] = three*c1over216*( vx1-vx2-vx3); //six + //(D.f[TNW ])[ktnw ] = three*c1over216*(-vx1+vx2+vx3); //six //(D.f[dirREST])[kzero] = c8over27* (drho-cu_sq); - //(D.f[dirE ])[ke ] = c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); - //(D.f[dirW ])[kw ] = c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); - //(D.f[dirN ])[kn ] = c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); - //(D.f[dirS ])[ks ] = c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); - //(D.f[dirT ])[kt ] = c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); - //(D.f[dirB ])[kb ] = c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); - //(D.f[dirNE ])[kne ] = c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - //(D.f[dirSW ])[ksw ] = c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - //(D.f[dirSE ])[kse ] = c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - //(D.f[dirNW ])[knw ] = c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - //(D.f[dirTE ])[kte ] = c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - //(D.f[dirBW ])[kbw ] = c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - //(D.f[dirBE ])[kbe ] = c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - //(D.f[dirTW ])[ktw ] = c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - //(D.f[dirTN ])[ktn ] = c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); - //(D.f[dirBS ])[kbs ] = c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - //(D.f[dirBN ])[kbn ] = c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); - //(D.f[dirTS ])[kts ] = c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - //(D.f[dirTNE ])[ktne ] = c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - //(D.f[dirBSW ])[kbsw ] = c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - //(D.f[dirBNE ])[kbne ] = c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - //(D.f[dirTSW ])[ktsw ] = c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - //(D.f[dirTSE ])[ktse ] = c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - //(D.f[dirBNW ])[kbnw ] = c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - //(D.f[dirBSE ])[kbse ] = c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - //(D.f[dirTNW ])[ktnw ] = c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + //(D.f[E ])[ke ] = c2over27* (drho+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cu_sq); + //(D.f[W ])[kw ] = c2over27* (drho+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cu_sq); + //(D.f[N ])[kn ] = c2over27* (drho+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cu_sq); + //(D.f[S ])[ks ] = c2over27* (drho+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cu_sq); + //(D.f[T ])[kt ] = c2over27* (drho+three*( vx3)+c9over2*( vx3)*( vx3)-cu_sq); + //(D.f[B ])[kb ] = c2over27* (drho+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cu_sq); + //(D.f[NE ])[kne ] = c1over54* (drho+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + //(D.f[SW ])[ksw ] = c1over54* (drho+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + //(D.f[SE ])[kse ] = c1over54* (drho+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + //(D.f[NW ])[knw ] = c1over54* (drho+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + //(D.f[TE ])[kte ] = c1over54* (drho+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + //(D.f[BW ])[kbw ] = c1over54* (drho+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + //(D.f[BE ])[kbe ] = c1over54* (drho+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + //(D.f[TW ])[ktw ] = c1over54* (drho+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + //(D.f[TN ])[ktn ] = c1over54* (drho+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cu_sq); + //(D.f[BS ])[kbs ] = c1over54* (drho+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + //(D.f[BN ])[kbn ] = c1over54* (drho+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cu_sq); + //(D.f[TS ])[kts ] = c1over54* (drho+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + //(D.f[TNE ])[ktne ] = c1over216*(drho+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + //(D.f[BSW ])[kbsw ] = c1over216*(drho+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + //(D.f[BNE ])[kbne ] = c1over216*(drho+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + //(D.f[TSW ])[ktsw ] = c1over216*(drho+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + //(D.f[TSE ])[ktse ] = c1over216*(drho+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + //(D.f[BNW ])[kbnw ] = c1over216*(drho+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + //(D.f[BSE ])[kbse ] = c1over216*(drho+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + //(D.f[TNW ])[ktnw ] = c1over216*(drho+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); } } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu b/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu index f7decf118..181c0006e 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/WaleCumulant27.cu @@ -48,63 +48,63 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -118,33 +118,33 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1005,33 +1005,33 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalav_Cum_AA2016_Comp_SP_27( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/GPU/WallFunction.cu b/src/gpu/VirtualFluids_GPU/GPU/WallFunction.cu index c0f4c1092..b25736e00 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/WallFunction.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/WallFunction.cu @@ -25,63 +25,63 @@ extern "C" __global__ void WallFunction27( Distributions27 D; if (isEvenTimestep==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// const unsigned x = threadIdx.x; // Globaler x-Index @@ -106,32 +106,32 @@ extern "C" __global__ void WallFunction27( // *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[dirE * numberOfBCnodes]; - //q_dirW = &QQ[dirW * numberOfBCnodes]; - //q_dirN = &QQ[dirN * numberOfBCnodes]; - //q_dirS = &QQ[dirS * numberOfBCnodes]; - //q_dirT = &QQ[dirT * numberOfBCnodes]; - //q_dirB = &QQ[dirB * numberOfBCnodes]; - //q_dirNE = &QQ[dirNE * numberOfBCnodes]; - //q_dirSW = &QQ[dirSW * numberOfBCnodes]; - //q_dirSE = &QQ[dirSE * numberOfBCnodes]; - //q_dirNW = &QQ[dirNW * numberOfBCnodes]; - //q_dirTE = &QQ[dirTE * numberOfBCnodes]; - //q_dirBW = &QQ[dirBW * numberOfBCnodes]; - //q_dirBE = &QQ[dirBE * numberOfBCnodes]; - //q_dirTW = &QQ[dirTW * numberOfBCnodes]; - //q_dirTN = &QQ[dirTN * numberOfBCnodes]; - //q_dirBS = &QQ[dirBS * numberOfBCnodes]; - //q_dirBN = &QQ[dirBN * numberOfBCnodes]; - //q_dirTS = &QQ[dirTS * numberOfBCnodes]; - //q_dirTNE = &QQ[dirTNE * numberOfBCnodes]; - //q_dirTSW = &QQ[dirTSW * numberOfBCnodes]; - //q_dirTSE = &QQ[dirTSE * numberOfBCnodes]; - //q_dirTNW = &QQ[dirTNW * numberOfBCnodes]; - //q_dirBNE = &QQ[dirBNE * numberOfBCnodes]; - //q_dirBSW = &QQ[dirBSW * numberOfBCnodes]; - //q_dirBSE = &QQ[dirBSE * numberOfBCnodes]; - //q_dirBNW = &QQ[dirBNW * numberOfBCnodes]; + //q_dirE = &QQ[E * numberOfBCnodes]; + //q_dirW = &QQ[W * numberOfBCnodes]; + //q_dirN = &QQ[N * numberOfBCnodes]; + //q_dirS = &QQ[S * numberOfBCnodes]; + //q_dirT = &QQ[T * numberOfBCnodes]; + //q_dirB = &QQ[B * numberOfBCnodes]; + //q_dirNE = &QQ[NE * numberOfBCnodes]; + //q_dirSW = &QQ[SW * numberOfBCnodes]; + //q_dirSE = &QQ[SE * numberOfBCnodes]; + //q_dirNW = &QQ[NW * numberOfBCnodes]; + //q_dirTE = &QQ[TE * numberOfBCnodes]; + //q_dirBW = &QQ[BW * numberOfBCnodes]; + //q_dirBE = &QQ[BE * numberOfBCnodes]; + //q_dirTW = &QQ[TW * numberOfBCnodes]; + //q_dirTN = &QQ[TN * numberOfBCnodes]; + //q_dirBS = &QQ[BS * numberOfBCnodes]; + //q_dirBN = &QQ[BN * numberOfBCnodes]; + //q_dirTS = &QQ[TS * numberOfBCnodes]; + //q_dirTNE = &QQ[TNE * numberOfBCnodes]; + //q_dirTSW = &QQ[TSW * numberOfBCnodes]; + //q_dirTSE = &QQ[TSE * numberOfBCnodes]; + //q_dirTNW = &QQ[TNW * numberOfBCnodes]; + //q_dirBNE = &QQ[BNE * numberOfBCnodes]; + //q_dirBSW = &QQ[BSW * numberOfBCnodes]; + //q_dirBSE = &QQ[BSE * numberOfBCnodes]; + //q_dirBNW = &QQ[BNW * numberOfBCnodes]; //////////////////////////////////////////////////////////////////////////////// //index unsigned int KQK = k_Q[k]; @@ -166,32 +166,32 @@ extern "C" __global__ void WallFunction27( 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[dirE ])[ke ]; - f_E = (D.f[dirW ])[kw ]; - f_S = (D.f[dirN ])[kn ]; - f_N = (D.f[dirS ])[ks ]; - f_B = (D.f[dirT ])[kt ]; - f_T = (D.f[dirB ])[kb ]; - f_SW = (D.f[dirNE ])[kne ]; - f_NE = (D.f[dirSW ])[ksw ]; - f_NW = (D.f[dirSE ])[kse ]; - f_SE = (D.f[dirNW ])[knw ]; - f_BW = (D.f[dirTE ])[kte ]; - f_TE = (D.f[dirBW ])[kbw ]; - f_TW = (D.f[dirBE ])[kbe ]; - f_BE = (D.f[dirTW ])[ktw ]; - f_BS = (D.f[dirTN ])[ktn ]; - f_TN = (D.f[dirBS ])[kbs ]; - f_TS = (D.f[dirBN ])[kbn ]; - f_BN = (D.f[dirTS ])[kts ]; - f_BSW = (D.f[dirTNE ])[ktne ]; - f_BNE = (D.f[dirTSW ])[ktsw ]; - f_BNW = (D.f[dirTSE ])[ktse ]; - f_BSE = (D.f[dirTNW ])[ktnw ]; - f_TSW = (D.f[dirBNE ])[kbne ]; - f_TNE = (D.f[dirBSW ])[kbsw ]; - f_TNW = (D.f[dirBSE ])[kbse ]; - f_TSE = (D.f[dirBNW ])[kbnw ]; + f_W = (D.f[E ])[ke ]; + f_E = (D.f[W ])[kw ]; + f_S = (D.f[N ])[kn ]; + f_N = (D.f[S ])[ks ]; + f_B = (D.f[T ])[kt ]; + f_T = (D.f[B ])[kb ]; + f_SW = (D.f[NE ])[kne ]; + f_NE = (D.f[SW ])[ksw ]; + f_NW = (D.f[SE ])[kse ]; + f_SE = (D.f[NW ])[knw ]; + f_BW = (D.f[TE ])[kte ]; + f_TE = (D.f[BW ])[kbw ]; + f_TW = (D.f[BE ])[kbe ]; + f_BE = (D.f[TW ])[ktw ]; + f_BS = (D.f[TN ])[ktn ]; + f_TN = (D.f[BS ])[kbs ]; + f_TS = (D.f[BN ])[kbn ]; + f_BN = (D.f[TS ])[kts ]; + f_BSW = (D.f[TNE ])[ktne ]; + f_BNE = (D.f[TSW ])[ktsw ]; + f_BNW = (D.f[TSE ])[ktse ]; + f_BSE = (D.f[TNW ])[ktnw ]; + f_TSW = (D.f[BNE ])[kbne ]; + f_TNE = (D.f[BSW ])[kbsw ]; + f_TNW = (D.f[BSE ])[kbse ]; + f_TSE = (D.f[BNW ])[kbnw ]; //////////////////////////////////////////////////////////////////////////////// // real vx2, vx3, feq, q; real vx1, drho; @@ -233,63 +233,63 @@ extern "C" __global__ void WallFunction27( // ////////////////////////////////////////////////////////////////////////// // if (isEvenTimestep==false) // { - // D.f[dirE ] = &DD[dirE *size_Mat]; - // D.f[dirW ] = &DD[dirW *size_Mat]; - // D.f[dirN ] = &DD[dirN *size_Mat]; - // D.f[dirS ] = &DD[dirS *size_Mat]; - // D.f[dirT ] = &DD[dirT *size_Mat]; - // D.f[dirB ] = &DD[dirB *size_Mat]; - // D.f[dirNE ] = &DD[dirNE *size_Mat]; - // D.f[dirSW ] = &DD[dirSW *size_Mat]; - // D.f[dirSE ] = &DD[dirSE *size_Mat]; - // D.f[dirNW ] = &DD[dirNW *size_Mat]; - // D.f[dirTE ] = &DD[dirTE *size_Mat]; - // D.f[dirBW ] = &DD[dirBW *size_Mat]; - // D.f[dirBE ] = &DD[dirBE *size_Mat]; - // D.f[dirTW ] = &DD[dirTW *size_Mat]; - // D.f[dirTN ] = &DD[dirTN *size_Mat]; - // D.f[dirBS ] = &DD[dirBS *size_Mat]; - // D.f[dirBN ] = &DD[dirBN *size_Mat]; - // D.f[dirTS ] = &DD[dirTS *size_Mat]; + // D.f[E ] = &DD[E *size_Mat]; + // D.f[W ] = &DD[W *size_Mat]; + // D.f[N ] = &DD[N *size_Mat]; + // D.f[S ] = &DD[S *size_Mat]; + // D.f[T ] = &DD[T *size_Mat]; + // D.f[B ] = &DD[B *size_Mat]; + // D.f[NE ] = &DD[NE *size_Mat]; + // D.f[SW ] = &DD[SW *size_Mat]; + // D.f[SE ] = &DD[SE *size_Mat]; + // D.f[NW ] = &DD[NW *size_Mat]; + // D.f[TE ] = &DD[TE *size_Mat]; + // D.f[BW ] = &DD[BW *size_Mat]; + // D.f[BE ] = &DD[BE *size_Mat]; + // D.f[TW ] = &DD[TW *size_Mat]; + // D.f[TN ] = &DD[TN *size_Mat]; + // D.f[BS ] = &DD[BS *size_Mat]; + // D.f[BN ] = &DD[BN *size_Mat]; + // D.f[TS ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - // D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - // D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - // D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - // D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - // D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + // D.f[TNE ] = &DD[TNE *size_Mat]; + // D.f[TSW ] = &DD[TSW *size_Mat]; + // D.f[TSE ] = &DD[TSE *size_Mat]; + // D.f[TNW ] = &DD[TNW *size_Mat]; + // D.f[BNE ] = &DD[BNE *size_Mat]; + // D.f[BSW ] = &DD[BSW *size_Mat]; + // D.f[BSE ] = &DD[BSE *size_Mat]; + // D.f[BNW ] = &DD[BNW *size_Mat]; // } // else // { - // D.f[dirW ] = &DD[dirE *size_Mat]; - // D.f[dirE ] = &DD[dirW *size_Mat]; - // D.f[dirS ] = &DD[dirN *size_Mat]; - // D.f[dirN ] = &DD[dirS *size_Mat]; - // D.f[dirB ] = &DD[dirT *size_Mat]; - // D.f[dirT ] = &DD[dirB *size_Mat]; - // D.f[dirSW ] = &DD[dirNE *size_Mat]; - // D.f[dirNE ] = &DD[dirSW *size_Mat]; - // D.f[dirNW ] = &DD[dirSE *size_Mat]; - // D.f[dirSE ] = &DD[dirNW *size_Mat]; - // D.f[dirBW ] = &DD[dirTE *size_Mat]; - // D.f[dirTE ] = &DD[dirBW *size_Mat]; - // D.f[dirTW ] = &DD[dirBE *size_Mat]; - // D.f[dirBE ] = &DD[dirTW *size_Mat]; - // D.f[dirBS ] = &DD[dirTN *size_Mat]; - // D.f[dirTN ] = &DD[dirBS *size_Mat]; - // D.f[dirTS ] = &DD[dirBN *size_Mat]; - // D.f[dirBN ] = &DD[dirTS *size_Mat]; + // D.f[W ] = &DD[E *size_Mat]; + // D.f[E ] = &DD[W *size_Mat]; + // D.f[S ] = &DD[N *size_Mat]; + // D.f[N ] = &DD[S *size_Mat]; + // D.f[B ] = &DD[T *size_Mat]; + // D.f[T ] = &DD[B *size_Mat]; + // D.f[SW ] = &DD[NE *size_Mat]; + // D.f[NE ] = &DD[SW *size_Mat]; + // D.f[NW ] = &DD[SE *size_Mat]; + // D.f[SE ] = &DD[NW *size_Mat]; + // D.f[BW ] = &DD[TE *size_Mat]; + // D.f[TE ] = &DD[BW *size_Mat]; + // D.f[TW ] = &DD[BE *size_Mat]; + // D.f[BE ] = &DD[TW *size_Mat]; + // D.f[BS ] = &DD[TN *size_Mat]; + // D.f[TN ] = &DD[BS *size_Mat]; + // D.f[TS ] = &DD[BN *size_Mat]; + // D.f[BN ] = &DD[TS *size_Mat]; // D.f[dirREST] = &DD[dirREST*size_Mat]; - // D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - // D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - // D.f[dirTSE ] = &DD[dirBNW *size_Mat]; - // D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - // D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - // D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - // D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - // D.f[dirBNW ] = &DD[dirTSE *size_Mat]; + // D.f[TNE ] = &DD[BSW *size_Mat]; + // D.f[TSW ] = &DD[BNE *size_Mat]; + // D.f[TSE ] = &DD[BNW *size_Mat]; + // D.f[TNW ] = &DD[BSE *size_Mat]; + // D.f[BNE ] = &DD[TSW *size_Mat]; + // D.f[BSW ] = &DD[TNE *size_Mat]; + // D.f[BSE ] = &DD[TNW *size_Mat]; + // D.f[BNW ] = &DD[TSE *size_Mat]; // } // //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // //Test @@ -302,208 +302,208 @@ extern "C" __global__ void WallFunction27( // if (q>=zero && q<=one) // { // feq=c2over27* (drho/*+three*( vx1 )*/+c9over2*( vx1 )*( vx1 ) * (one + drho)-cu_sq); - // (D.f[dirW])[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[dirW])[kw]=zero; + // (D.f[W])[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[W])[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[dirE])[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[dirE])[ke]=zero; + // (D.f[E])[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[E])[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[dirS])[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[dirS])[ks]=zero; + // (D.f[S])[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[S])[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[dirN])[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[dirN])[kn]=zero; + // (D.f[N])[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[N])[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[dirB])[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[dirB])[kb]=one; + // (D.f[B])[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[B])[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[dirT])[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[dirT])[kt]=zero; + // (D.f[T])[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[T])[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[dirSW])[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[dirSW])[ksw]=zero; + // (D.f[SW])[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[SW])[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[dirNE])[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[dirNE])[kne]=zero; + // (D.f[NE])[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[NE])[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[dirNW])[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[dirNW])[knw]=zero; + // (D.f[NW])[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[NW])[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[dirSE])[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[dirSE])[kse]=zero; + // (D.f[SE])[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[SE])[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[dirBW])[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[dirBW])[kbw]=zero; + // (D.f[BW])[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[BW])[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[dirTE])[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[dirTE])[kte]=zero; + // (D.f[TE])[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[TE])[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[dirTW])[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[dirTW])[ktw]=zero; + // (D.f[TW])[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[TW])[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[dirBE])[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[dirBE])[kbe]=zero; + // (D.f[BE])[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[BE])[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[dirBS])[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[dirBS])[kbs]=zero; + // (D.f[BS])[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[BS])[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[dirTN])[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[dirTN])[ktn]=zero; + // (D.f[TN])[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[TN])[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[dirTS])[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[dirTS])[kts]=zero; + // (D.f[TS])[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[TS])[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[dirBN])[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[dirBN])[kbn]=zero; + // (D.f[BN])[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[BN])[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[dirBSW])[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[dirBSW])[kbsw]=zero; + // (D.f[BSW])[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[BSW])[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[dirTNE])[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[dirTNE])[ktne]=zero; + // (D.f[TNE])[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[TNE])[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[dirTSW])[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[dirTSW])[ktsw]=zero; + // (D.f[TSW])[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[TSW])[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[dirBNE])[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[dirBNE])[kbne]=zero; + // (D.f[BNE])[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[BNE])[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[dirBNW])[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[dirBNW])[kbnw]=zero; + // (D.f[BNW])[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[BNW])[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[dirTSE])[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[dirTSE])[ktse]=zero; + // (D.f[TSE])[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[TSE])[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[dirTNW])[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[dirTNW])[ktnw]=zero; + // (D.f[TNW])[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[TNW])[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[dirBSE])[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[dirBSE])[kbse]=zero; + // (D.f[BSE])[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[BSE])[kbse]=zero; // } } } diff --git a/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp b/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp index 52764b357..11792d0c9 100644 --- a/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp +++ b/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp @@ -139,41 +139,41 @@ void PositionReader::definePropellerQs(Parameter* para) real* QQ = para->getParH(para->getFine())->propellerBC.q27[0]; unsigned int sizeQ = para->getParH(para->getFine())->propellerBC.numberOfBCnodes; QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[E ] = &QQ[E *sizeQ]; + Q.q27[W ] = &QQ[W *sizeQ]; + Q.q27[N ] = &QQ[N *sizeQ]; + Q.q27[S ] = &QQ[S *sizeQ]; + Q.q27[T ] = &QQ[T *sizeQ]; + Q.q27[B ] = &QQ[B *sizeQ]; + Q.q27[NE ] = &QQ[NE *sizeQ]; + Q.q27[SW ] = &QQ[SW *sizeQ]; + Q.q27[SE ] = &QQ[SE *sizeQ]; + Q.q27[NW ] = &QQ[NW *sizeQ]; + Q.q27[TE ] = &QQ[TE *sizeQ]; + Q.q27[BW ] = &QQ[BW *sizeQ]; + Q.q27[BE ] = &QQ[BE *sizeQ]; + Q.q27[TW ] = &QQ[TW *sizeQ]; + Q.q27[TN ] = &QQ[TN *sizeQ]; + Q.q27[BS ] = &QQ[BS *sizeQ]; + Q.q27[BN ] = &QQ[BN *sizeQ]; + Q.q27[TS ] = &QQ[TS *sizeQ]; Q.q27[dirREST] = &QQ[dirREST*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + Q.q27[TNE ] = &QQ[TNE *sizeQ]; + Q.q27[TSW ] = &QQ[TSW *sizeQ]; + Q.q27[TSE ] = &QQ[TSE *sizeQ]; + Q.q27[TNW ] = &QQ[TNW *sizeQ]; + Q.q27[BNE ] = &QQ[BNE *sizeQ]; + Q.q27[BSW ] = &QQ[BSW *sizeQ]; + Q.q27[BSE ] = &QQ[BSE *sizeQ]; + Q.q27[BNW ] = &QQ[BNW *sizeQ]; ////////////////////////////////////////////////////////////////// for(uint u=0; u<para->getParH(para->getFine())->propellerBC.numberOfBCnodes; u++) { - for (int dir = dirE; dir<=dirBSW; dir++) + for (int dir = E; dir<=BSW; dir++) { - if ((dir==dirE) || - (dir==dirNE) || (dir==dirSE) || (dir==dirTE) || (dir==dirBE) || - (dir==dirTNE)|| (dir==dirBNE)|| (dir==dirTSE)|| (dir==dirBSE)) + if ((dir==E) || + (dir==NE) || (dir==SE) || (dir==TE) || (dir==BE) || + (dir==TNE)|| (dir==BNE)|| (dir==TSE)|| (dir==BSE)) { Q.q27[dir][u] = 1.0f; } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod27/ADComp27/ADComp27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod27/ADComp27/ADComp27_Device.cu index f853c6104..a45e19e84 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod27/ADComp27/ADComp27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod27/ADComp27/ADComp27_Device.cu @@ -37,125 +37,125 @@ extern "C" __global__ void LB_KERNEL_AD_COMP_27(real diffusivity, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions27 D27; if (EvenOrOdd == true) { - D27.f[dirE] = &DD27[dirE *size_Mat]; - D27.f[dirW] = &DD27[dirW *size_Mat]; - D27.f[dirN] = &DD27[dirN *size_Mat]; - D27.f[dirS] = &DD27[dirS *size_Mat]; - D27.f[dirT] = &DD27[dirT *size_Mat]; - D27.f[dirB] = &DD27[dirB *size_Mat]; - D27.f[dirNE] = &DD27[dirNE *size_Mat]; - D27.f[dirSW] = &DD27[dirSW *size_Mat]; - D27.f[dirSE] = &DD27[dirSE *size_Mat]; - D27.f[dirNW] = &DD27[dirNW *size_Mat]; - D27.f[dirTE] = &DD27[dirTE *size_Mat]; - D27.f[dirBW] = &DD27[dirBW *size_Mat]; - D27.f[dirBE] = &DD27[dirBE *size_Mat]; - D27.f[dirTW] = &DD27[dirTW *size_Mat]; - D27.f[dirTN] = &DD27[dirTN *size_Mat]; - D27.f[dirBS] = &DD27[dirBS *size_Mat]; - D27.f[dirBN] = &DD27[dirBN *size_Mat]; - D27.f[dirTS] = &DD27[dirTS *size_Mat]; + D27.f[E] = &DD27[E *size_Mat]; + D27.f[W] = &DD27[W *size_Mat]; + D27.f[N] = &DD27[N *size_Mat]; + D27.f[S] = &DD27[S *size_Mat]; + D27.f[T] = &DD27[T *size_Mat]; + D27.f[B] = &DD27[B *size_Mat]; + D27.f[NE] = &DD27[NE *size_Mat]; + D27.f[SW] = &DD27[SW *size_Mat]; + D27.f[SE] = &DD27[SE *size_Mat]; + D27.f[NW] = &DD27[NW *size_Mat]; + D27.f[TE] = &DD27[TE *size_Mat]; + D27.f[BW] = &DD27[BW *size_Mat]; + D27.f[BE] = &DD27[BE *size_Mat]; + D27.f[TW] = &DD27[TW *size_Mat]; + D27.f[TN] = &DD27[TN *size_Mat]; + D27.f[BS] = &DD27[BS *size_Mat]; + D27.f[BN] = &DD27[BN *size_Mat]; + D27.f[TS] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW] = &DD27[dirBNW *size_Mat]; + D27.f[TNE] = &DD27[TNE *size_Mat]; + D27.f[TSW] = &DD27[TSW *size_Mat]; + D27.f[TSE] = &DD27[TSE *size_Mat]; + D27.f[TNW] = &DD27[TNW *size_Mat]; + D27.f[BNE] = &DD27[BNE *size_Mat]; + D27.f[BSW] = &DD27[BSW *size_Mat]; + D27.f[BSE] = &DD27[BSE *size_Mat]; + D27.f[BNW] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW] = &DD27[dirE *size_Mat]; - D27.f[dirE] = &DD27[dirW *size_Mat]; - D27.f[dirS] = &DD27[dirN *size_Mat]; - D27.f[dirN] = &DD27[dirS *size_Mat]; - D27.f[dirB] = &DD27[dirT *size_Mat]; - D27.f[dirT] = &DD27[dirB *size_Mat]; - D27.f[dirSW] = &DD27[dirNE *size_Mat]; - D27.f[dirNE] = &DD27[dirSW *size_Mat]; - D27.f[dirNW] = &DD27[dirSE *size_Mat]; - D27.f[dirSE] = &DD27[dirNW *size_Mat]; - D27.f[dirBW] = &DD27[dirTE *size_Mat]; - D27.f[dirTE] = &DD27[dirBW *size_Mat]; - D27.f[dirTW] = &DD27[dirBE *size_Mat]; - D27.f[dirBE] = &DD27[dirTW *size_Mat]; - D27.f[dirBS] = &DD27[dirTN *size_Mat]; - D27.f[dirTN] = &DD27[dirBS *size_Mat]; - D27.f[dirTS] = &DD27[dirBN *size_Mat]; - D27.f[dirBN] = &DD27[dirTS *size_Mat]; + D27.f[W] = &DD27[E *size_Mat]; + D27.f[E] = &DD27[W *size_Mat]; + D27.f[S] = &DD27[N *size_Mat]; + D27.f[N] = &DD27[S *size_Mat]; + D27.f[B] = &DD27[T *size_Mat]; + D27.f[T] = &DD27[B *size_Mat]; + D27.f[SW] = &DD27[NE *size_Mat]; + D27.f[NE] = &DD27[SW *size_Mat]; + D27.f[NW] = &DD27[SE *size_Mat]; + D27.f[SE] = &DD27[NW *size_Mat]; + D27.f[BW] = &DD27[TE *size_Mat]; + D27.f[TE] = &DD27[BW *size_Mat]; + D27.f[TW] = &DD27[BE *size_Mat]; + D27.f[BE] = &DD27[TW *size_Mat]; + D27.f[BS] = &DD27[TN *size_Mat]; + D27.f[TN] = &DD27[BS *size_Mat]; + D27.f[TS] = &DD27[BN *size_Mat]; + D27.f[BN] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirBSW] = &DD27[dirTNE *size_Mat]; - D27.f[dirBNE] = &DD27[dirTSW *size_Mat]; - D27.f[dirBNW] = &DD27[dirTSE *size_Mat]; - D27.f[dirBSE] = &DD27[dirTNW *size_Mat]; - D27.f[dirTSW] = &DD27[dirBNE *size_Mat]; - D27.f[dirTNE] = &DD27[dirBSW *size_Mat]; - D27.f[dirTNW] = &DD27[dirBSE *size_Mat]; - D27.f[dirTSE] = &DD27[dirBNW *size_Mat]; + D27.f[BSW] = &DD27[TNE *size_Mat]; + D27.f[BNE] = &DD27[TSW *size_Mat]; + D27.f[BNW] = &DD27[TSE *size_Mat]; + D27.f[BSE] = &DD27[TNW *size_Mat]; + D27.f[TSW] = &DD27[BNE *size_Mat]; + D27.f[TNE] = &DD27[BSW *size_Mat]; + D27.f[TNW] = &DD27[BSE *size_Mat]; + D27.f[TSE] = &DD27[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -168,61 +168,61 @@ extern "C" __global__ void LB_KERNEL_AD_COMP_27(real diffusivity, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fW = (D.f[dirE])[k];//ke - real fE = (D.f[dirW])[kw]; - real fS = (D.f[dirN])[k];//kn - real fN = (D.f[dirS])[ks]; - real fB = (D.f[dirT])[k];//kt - real fT = (D.f[dirB])[kb]; - real fSW = (D.f[dirNE])[k];//kne - real fNE = (D.f[dirSW])[ksw]; - real fNW = (D.f[dirSE])[ks];//kse - real fSE = (D.f[dirNW])[kw];//knw - real fBW = (D.f[dirTE])[k];//kte - real fTE = (D.f[dirBW])[kbw]; - real fTW = (D.f[dirBE])[kb];//kbe - real fBE = (D.f[dirTW])[kw];//ktw - real fBS = (D.f[dirTN])[k];//ktn - real fTN = (D.f[dirBS])[kbs]; - real fTS = (D.f[dirBN])[kb];//kbn - real fBN = (D.f[dirTS])[ks];//kts + real fW = (D.f[E])[k];//ke + real fE = (D.f[W])[kw]; + real fS = (D.f[N])[k];//kn + real fN = (D.f[S])[ks]; + real fB = (D.f[T])[k];//kt + real fT = (D.f[B])[kb]; + real fSW = (D.f[NE])[k];//kne + real fNE = (D.f[SW])[ksw]; + real fNW = (D.f[SE])[ks];//kse + real fSE = (D.f[NW])[kw];//knw + real fBW = (D.f[TE])[k];//kte + real fTE = (D.f[BW])[kbw]; + real fTW = (D.f[BE])[kb];//kbe + real fBE = (D.f[TW])[kw];//ktw + real fBS = (D.f[TN])[k];//ktn + real fTN = (D.f[BS])[kbs]; + real fTS = (D.f[BN])[kb];//kbn + real fBN = (D.f[TS])[ks];//kts real fZERO = (D.f[dirREST])[k];//kzero - real fBSW = (D.f[dirTNE])[k];//ktne - real fBNE = (D.f[dirTSW])[ksw];//ktsw - real fBNW = (D.f[dirTSE])[ks];//ktse - real fBSE = (D.f[dirTNW])[kw];//ktnw - real fTSW = (D.f[dirBNE])[kb];//kbne - real fTNE = (D.f[dirBSW])[kbsw]; - real fTNW = (D.f[dirBSE])[kbs];//kbse - real fTSE = (D.f[dirBNW])[kbw];//kbnw + real fBSW = (D.f[TNE])[k];//ktne + real fBNE = (D.f[TSW])[ksw];//ktsw + real fBNW = (D.f[TSE])[ks];//ktse + real fBSE = (D.f[TNW])[kw];//ktnw + real fTSW = (D.f[BNE])[kb];//kbne + real fTNE = (D.f[BSW])[kbsw]; + real fTNW = (D.f[BSE])[kbs];//kbse + real fTSE = (D.f[BNW])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D27.f[dirE])[k]; - real mfabb = (D27.f[dirW])[kw]; - real mfbcb = (D27.f[dirN])[k]; - real mfbab = (D27.f[dirS])[ks]; - real mfbbc = (D27.f[dirT])[k]; - real mfbba = (D27.f[dirB])[kb]; - real mfccb = (D27.f[dirNE])[k]; - real mfaab = (D27.f[dirSW])[ksw]; - real mfcab = (D27.f[dirSE])[ks]; - real mfacb = (D27.f[dirNW])[kw]; - real mfcbc = (D27.f[dirTE])[k]; - real mfaba = (D27.f[dirBW])[kbw]; - real mfcba = (D27.f[dirBE])[kb]; - real mfabc = (D27.f[dirTW])[kw]; - real mfbcc = (D27.f[dirTN])[k]; - real mfbaa = (D27.f[dirBS])[kbs]; - real mfbca = (D27.f[dirBN])[kb]; - real mfbac = (D27.f[dirTS])[ks]; + real mfcbb = (D27.f[E])[k]; + real mfabb = (D27.f[W])[kw]; + real mfbcb = (D27.f[N])[k]; + real mfbab = (D27.f[S])[ks]; + real mfbbc = (D27.f[T])[k]; + real mfbba = (D27.f[B])[kb]; + real mfccb = (D27.f[NE])[k]; + real mfaab = (D27.f[SW])[ksw]; + real mfcab = (D27.f[SE])[ks]; + real mfacb = (D27.f[NW])[kw]; + real mfcbc = (D27.f[TE])[k]; + real mfaba = (D27.f[BW])[kbw]; + real mfcba = (D27.f[BE])[kb]; + real mfabc = (D27.f[TW])[kw]; + real mfbcc = (D27.f[TN])[k]; + real mfbaa = (D27.f[BS])[kbs]; + real mfbca = (D27.f[BN])[kb]; + real mfbac = (D27.f[TS])[ks]; real mfbbb = (D27.f[dirREST])[k]; - real mfccc = (D27.f[dirTNE])[k]; - real mfaac = (D27.f[dirTSW])[ksw]; - real mfcac = (D27.f[dirTSE])[ks]; - real mfacc = (D27.f[dirTNW])[kw]; - real mfcca = (D27.f[dirBNE])[kb]; - real mfaaa = (D27.f[dirBSW])[kbsw]; - real mfcaa = (D27.f[dirBSE])[kbs]; - real mfaca = (D27.f[dirBNW])[kbw]; + real mfccc = (D27.f[TNE])[k]; + real mfaac = (D27.f[TSW])[ksw]; + real mfcac = (D27.f[TSE])[ks]; + real mfacc = (D27.f[TNW])[kw]; + real mfcca = (D27.f[BNE])[kb]; + real mfaaa = (D27.f[BSW])[kbsw]; + real mfcaa = (D27.f[BSE])[kbs]; + real mfaca = (D27.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //Conc real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + @@ -772,33 +772,33 @@ extern "C" __global__ void LB_KERNEL_AD_COMP_27(real diffusivity, //////////////////////////////////////////////////////////////////////////////////// - (D27.f[dirE])[k] = mfabb; - (D27.f[dirW])[kw] = mfcbb; - (D27.f[dirN])[k] = mfbab; - (D27.f[dirS])[ks] = mfbcb; - (D27.f[dirT])[k] = mfbba; - (D27.f[dirB])[kb] = mfbbc; - (D27.f[dirNE])[k] = mfaab; - (D27.f[dirSW])[ksw] = mfccb; - (D27.f[dirSE])[ks] = mfacb; - (D27.f[dirNW])[kw] = mfcab; - (D27.f[dirTE])[k] = mfaba; - (D27.f[dirBW])[kbw] = mfcbc; - (D27.f[dirBE])[kb] = mfabc; - (D27.f[dirTW])[kw] = mfcba; - (D27.f[dirTN])[k] = mfbaa; - (D27.f[dirBS])[kbs] = mfbcc; - (D27.f[dirBN])[kb] = mfbac; - (D27.f[dirTS])[ks] = mfbca; + (D27.f[E])[k] = mfabb; + (D27.f[W])[kw] = mfcbb; + (D27.f[N])[k] = mfbab; + (D27.f[S])[ks] = mfbcb; + (D27.f[T])[k] = mfbba; + (D27.f[B])[kb] = mfbbc; + (D27.f[NE])[k] = mfaab; + (D27.f[SW])[ksw] = mfccb; + (D27.f[SE])[ks] = mfacb; + (D27.f[NW])[kw] = mfcab; + (D27.f[TE])[k] = mfaba; + (D27.f[BW])[kbw] = mfcbc; + (D27.f[BE])[kb] = mfabc; + (D27.f[TW])[kw] = mfcba; + (D27.f[TN])[k] = mfbaa; + (D27.f[BS])[kbs] = mfbcc; + (D27.f[BN])[kb] = mfbac; + (D27.f[TS])[ks] = mfbca; (D27.f[dirREST])[k] = mfbbb; - (D27.f[dirTNE])[k] = mfaaa; - (D27.f[dirTSE])[ks] = mfaca; - (D27.f[dirBNE])[kb] = mfaac; - (D27.f[dirBSE])[kbs] = mfacc; - (D27.f[dirTNW])[kw] = mfcaa; - (D27.f[dirTSW])[ksw] = mfcca; - (D27.f[dirBNW])[kbw] = mfcac; - (D27.f[dirBSW])[kbsw] = mfccc; + (D27.f[TNE])[k] = mfaaa; + (D27.f[TSE])[ks] = mfaca; + (D27.f[BNE])[kb] = mfaac; + (D27.f[BSE])[kbs] = mfacc; + (D27.f[TNW])[kw] = mfcaa; + (D27.f[TSW])[ksw] = mfcca; + (D27.f[BNW])[kbw] = mfcac; + (D27.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod7/ADComp7/ADComp7_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod7/ADComp7/ADComp7_Device.cu index c9e0b79d3..21d8816a7 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod7/ADComp7/ADComp7_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Compressible/Mod7/ADComp7/ADComp7_Device.cu @@ -37,63 +37,63 @@ extern "C" __global__ void LB_Kernel_AD_Comp_7(real diffusivity, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions7 D7; @@ -128,60 +128,60 @@ extern "C" __global__ void LB_Kernel_AD_Comp_7(real diffusivity, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fW = (D.f[dirE])[k];//ke - real fE = (D.f[dirW])[kw]; - real fS = (D.f[dirN])[k];//kn - real fN = (D.f[dirS])[ks]; - real fB = (D.f[dirT])[k];//kt - real fT = (D.f[dirB])[kb]; - real fSW = (D.f[dirNE])[k];//kne - real fNE = (D.f[dirSW])[ksw]; - real fNW = (D.f[dirSE])[ks];//kse - real fSE = (D.f[dirNW])[kw];//knw - real fBW = (D.f[dirTE])[k];//kte - real fTE = (D.f[dirBW])[kbw]; - real fTW = (D.f[dirBE])[kb];//kbe - real fBE = (D.f[dirTW])[kw];//ktw - real fBS = (D.f[dirTN])[k];//ktn - real fTN = (D.f[dirBS])[kbs]; - real fTS = (D.f[dirBN])[kb];//kbn - real fBN = (D.f[dirTS])[ks];//kts + real fW = (D.f[E])[k];//ke + real fE = (D.f[W])[kw]; + real fS = (D.f[N])[k];//kn + real fN = (D.f[S])[ks]; + real fB = (D.f[T])[k];//kt + real fT = (D.f[B])[kb]; + real fSW = (D.f[NE])[k];//kne + real fNE = (D.f[SW])[ksw]; + real fNW = (D.f[SE])[ks];//kse + real fSE = (D.f[NW])[kw];//knw + real fBW = (D.f[TE])[k];//kte + real fTE = (D.f[BW])[kbw]; + real fTW = (D.f[BE])[kb];//kbe + real fBE = (D.f[TW])[kw];//ktw + real fBS = (D.f[TN])[k];//ktn + real fTN = (D.f[BS])[kbs]; + real fTS = (D.f[BN])[kb];//kbn + real fBN = (D.f[TS])[ks];//kts real fZERO = (D.f[dirREST])[k];//kzero - real fBSW = (D.f[dirTNE])[k];//ktne - real fBNE = (D.f[dirTSW])[ksw];//ktsw - real fBNW = (D.f[dirTSE])[ks];//ktse - real fBSE = (D.f[dirTNW])[kw];//ktnw - real fTSW = (D.f[dirBNE])[kb];//kbne - real fTNE = (D.f[dirBSW])[kbsw]; - real fTNW = (D.f[dirBSE])[kbs];//kbse - real fTSE = (D.f[dirBNW])[kbw];//kbnw - //real fE = (D.f[dirE ])[k ];//ke - //real fW = (D.f[dirW ])[kw ]; - //real fN = (D.f[dirN ])[k ];//kn - //real fS = (D.f[dirS ])[ks ]; - //real fT = (D.f[dirT ])[k ];//kt - //real fB = (D.f[dirB ])[kb ]; - //real fNE = (D.f[dirNE ])[k ];//kne - //real fSW = (D.f[dirSW ])[ksw]; - //real fSE = (D.f[dirSE ])[ks ];//kse - //real fNW = (D.f[dirNW ])[kw ];//knw - //real fTE = (D.f[dirTE ])[k ];//kte - //real fBW = (D.f[dirBW ])[kbw]; - //real fBE = (D.f[dirBE ])[kb ];//kbe - //real fTW = (D.f[dirTW ])[kw ];//ktw - //real fTN = (D.f[dirTN ])[k ];//ktn - //real fBS = (D.f[dirBS ])[kbs]; - //real fBN = (D.f[dirBN ])[kb ];//kbn - //real fTS = (D.f[dirTS ])[ks ];//kts + real fBSW = (D.f[TNE])[k];//ktne + real fBNE = (D.f[TSW])[ksw];//ktsw + real fBNW = (D.f[TSE])[ks];//ktse + real fBSE = (D.f[TNW])[kw];//ktnw + real fTSW = (D.f[BNE])[kb];//kbne + real fTNE = (D.f[BSW])[kbsw]; + real fTNW = (D.f[BSE])[kbs];//kbse + real fTSE = (D.f[BNW])[kbw];//kbnw + //real fE = (D.f[E ])[k ];//ke + //real fW = (D.f[W ])[kw ]; + //real fN = (D.f[N ])[k ];//kn + //real fS = (D.f[S ])[ks ]; + //real fT = (D.f[T ])[k ];//kt + //real fB = (D.f[B ])[kb ]; + //real fNE = (D.f[NE ])[k ];//kne + //real fSW = (D.f[SW ])[ksw]; + //real fSE = (D.f[SE ])[ks ];//kse + //real fNW = (D.f[NW ])[kw ];//knw + //real fTE = (D.f[TE ])[k ];//kte + //real fBW = (D.f[BW ])[kbw]; + //real fBE = (D.f[BE ])[kb ];//kbe + //real fTW = (D.f[TW ])[kw ];//ktw + //real fTN = (D.f[TN ])[k ];//ktn + //real fBS = (D.f[BS ])[kbs]; + //real fBN = (D.f[BN ])[kb ];//kbn + //real fTS = (D.f[TS ])[ks ];//kts //real fZERO = (D.f[dirREST])[k ];//kzero - //real fTNE = (D.f[dirTNE ])[k ];//ktne - //real fTSW = (D.f[dirTSW ])[ksw];//ktsw - //real fTSE = (D.f[dirTSE ])[ks ];//ktse - //real fTNW = (D.f[dirTNW ])[kw ];//ktnw - //real fBNE = (D.f[dirBNE ])[kb ];//kbne - //real fBSW = (D.f[dirBSW ])[kbsw]; - //real fBSE = (D.f[dirBSE ])[kbs];//kbse - //real fBNW = (D.f[dirBNW ])[kbw];//kbnw + //real fTNE = (D.f[TNE ])[k ];//ktne + //real fTSW = (D.f[TSW ])[ksw];//ktsw + //real fTSE = (D.f[TSE ])[ks ];//ktse + //real fTNW = (D.f[TNW ])[kw ];//ktnw + //real fBNE = (D.f[BNE ])[kb ];//kbne + //real fBSW = (D.f[BSW ])[kbsw]; + //real fBSE = (D.f[BSE ])[kbs];//kbse + //real fBNW = (D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real f7ZERO = (D7.f[0])[k]; real f7E = (D7.f[1])[k]; diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod27/ADIncomp27/ADIncomp27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod27/ADIncomp27/ADIncomp27_Device.cu index 1c4748025..1b907c73d 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod27/ADIncomp27/ADIncomp27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod27/ADIncomp27/ADIncomp27_Device.cu @@ -37,125 +37,125 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_27(real diffusivity, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions27 D27; if (EvenOrOdd == true) { - D27.f[dirE] = &DD27[dirE *size_Mat]; - D27.f[dirW] = &DD27[dirW *size_Mat]; - D27.f[dirN] = &DD27[dirN *size_Mat]; - D27.f[dirS] = &DD27[dirS *size_Mat]; - D27.f[dirT] = &DD27[dirT *size_Mat]; - D27.f[dirB] = &DD27[dirB *size_Mat]; - D27.f[dirNE] = &DD27[dirNE *size_Mat]; - D27.f[dirSW] = &DD27[dirSW *size_Mat]; - D27.f[dirSE] = &DD27[dirSE *size_Mat]; - D27.f[dirNW] = &DD27[dirNW *size_Mat]; - D27.f[dirTE] = &DD27[dirTE *size_Mat]; - D27.f[dirBW] = &DD27[dirBW *size_Mat]; - D27.f[dirBE] = &DD27[dirBE *size_Mat]; - D27.f[dirTW] = &DD27[dirTW *size_Mat]; - D27.f[dirTN] = &DD27[dirTN *size_Mat]; - D27.f[dirBS] = &DD27[dirBS *size_Mat]; - D27.f[dirBN] = &DD27[dirBN *size_Mat]; - D27.f[dirTS] = &DD27[dirTS *size_Mat]; + D27.f[E] = &DD27[E *size_Mat]; + D27.f[W] = &DD27[W *size_Mat]; + D27.f[N] = &DD27[N *size_Mat]; + D27.f[S] = &DD27[S *size_Mat]; + D27.f[T] = &DD27[T *size_Mat]; + D27.f[B] = &DD27[B *size_Mat]; + D27.f[NE] = &DD27[NE *size_Mat]; + D27.f[SW] = &DD27[SW *size_Mat]; + D27.f[SE] = &DD27[SE *size_Mat]; + D27.f[NW] = &DD27[NW *size_Mat]; + D27.f[TE] = &DD27[TE *size_Mat]; + D27.f[BW] = &DD27[BW *size_Mat]; + D27.f[BE] = &DD27[BE *size_Mat]; + D27.f[TW] = &DD27[TW *size_Mat]; + D27.f[TN] = &DD27[TN *size_Mat]; + D27.f[BS] = &DD27[BS *size_Mat]; + D27.f[BN] = &DD27[BN *size_Mat]; + D27.f[TS] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW] = &DD27[dirBNW *size_Mat]; + D27.f[TNE] = &DD27[TNE *size_Mat]; + D27.f[TSW] = &DD27[TSW *size_Mat]; + D27.f[TSE] = &DD27[TSE *size_Mat]; + D27.f[TNW] = &DD27[TNW *size_Mat]; + D27.f[BNE] = &DD27[BNE *size_Mat]; + D27.f[BSW] = &DD27[BSW *size_Mat]; + D27.f[BSE] = &DD27[BSE *size_Mat]; + D27.f[BNW] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW] = &DD27[dirE *size_Mat]; - D27.f[dirE] = &DD27[dirW *size_Mat]; - D27.f[dirS] = &DD27[dirN *size_Mat]; - D27.f[dirN] = &DD27[dirS *size_Mat]; - D27.f[dirB] = &DD27[dirT *size_Mat]; - D27.f[dirT] = &DD27[dirB *size_Mat]; - D27.f[dirSW] = &DD27[dirNE *size_Mat]; - D27.f[dirNE] = &DD27[dirSW *size_Mat]; - D27.f[dirNW] = &DD27[dirSE *size_Mat]; - D27.f[dirSE] = &DD27[dirNW *size_Mat]; - D27.f[dirBW] = &DD27[dirTE *size_Mat]; - D27.f[dirTE] = &DD27[dirBW *size_Mat]; - D27.f[dirTW] = &DD27[dirBE *size_Mat]; - D27.f[dirBE] = &DD27[dirTW *size_Mat]; - D27.f[dirBS] = &DD27[dirTN *size_Mat]; - D27.f[dirTN] = &DD27[dirBS *size_Mat]; - D27.f[dirTS] = &DD27[dirBN *size_Mat]; - D27.f[dirBN] = &DD27[dirTS *size_Mat]; + D27.f[W] = &DD27[E *size_Mat]; + D27.f[E] = &DD27[W *size_Mat]; + D27.f[S] = &DD27[N *size_Mat]; + D27.f[N] = &DD27[S *size_Mat]; + D27.f[B] = &DD27[T *size_Mat]; + D27.f[T] = &DD27[B *size_Mat]; + D27.f[SW] = &DD27[NE *size_Mat]; + D27.f[NE] = &DD27[SW *size_Mat]; + D27.f[NW] = &DD27[SE *size_Mat]; + D27.f[SE] = &DD27[NW *size_Mat]; + D27.f[BW] = &DD27[TE *size_Mat]; + D27.f[TE] = &DD27[BW *size_Mat]; + D27.f[TW] = &DD27[BE *size_Mat]; + D27.f[BE] = &DD27[TW *size_Mat]; + D27.f[BS] = &DD27[TN *size_Mat]; + D27.f[TN] = &DD27[BS *size_Mat]; + D27.f[TS] = &DD27[BN *size_Mat]; + D27.f[BN] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirBSW] = &DD27[dirTNE *size_Mat]; - D27.f[dirBNE] = &DD27[dirTSW *size_Mat]; - D27.f[dirBNW] = &DD27[dirTSE *size_Mat]; - D27.f[dirBSE] = &DD27[dirTNW *size_Mat]; - D27.f[dirTSW] = &DD27[dirBNE *size_Mat]; - D27.f[dirTNE] = &DD27[dirBSW *size_Mat]; - D27.f[dirTNW] = &DD27[dirBSE *size_Mat]; - D27.f[dirTSE] = &DD27[dirBNW *size_Mat]; + D27.f[BSW] = &DD27[TNE *size_Mat]; + D27.f[BNE] = &DD27[TSW *size_Mat]; + D27.f[BNW] = &DD27[TSE *size_Mat]; + D27.f[BSE] = &DD27[TNW *size_Mat]; + D27.f[TSW] = &DD27[BNE *size_Mat]; + D27.f[TNE] = &DD27[BSW *size_Mat]; + D27.f[TNW] = &DD27[BSE *size_Mat]; + D27.f[TSE] = &DD27[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -168,61 +168,61 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_27(real diffusivity, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fW = (D.f[dirE])[k];//ke - real fE = (D.f[dirW])[kw]; - real fS = (D.f[dirN])[k];//kn - real fN = (D.f[dirS])[ks]; - real fB = (D.f[dirT])[k];//kt - real fT = (D.f[dirB])[kb]; - real fSW = (D.f[dirNE])[k];//kne - real fNE = (D.f[dirSW])[ksw]; - real fNW = (D.f[dirSE])[ks];//kse - real fSE = (D.f[dirNW])[kw];//knw - real fBW = (D.f[dirTE])[k];//kte - real fTE = (D.f[dirBW])[kbw]; - real fTW = (D.f[dirBE])[kb];//kbe - real fBE = (D.f[dirTW])[kw];//ktw - real fBS = (D.f[dirTN])[k];//ktn - real fTN = (D.f[dirBS])[kbs]; - real fTS = (D.f[dirBN])[kb];//kbn - real fBN = (D.f[dirTS])[ks];//kts + real fW = (D.f[E])[k];//ke + real fE = (D.f[W])[kw]; + real fS = (D.f[N])[k];//kn + real fN = (D.f[S])[ks]; + real fB = (D.f[T])[k];//kt + real fT = (D.f[B])[kb]; + real fSW = (D.f[NE])[k];//kne + real fNE = (D.f[SW])[ksw]; + real fNW = (D.f[SE])[ks];//kse + real fSE = (D.f[NW])[kw];//knw + real fBW = (D.f[TE])[k];//kte + real fTE = (D.f[BW])[kbw]; + real fTW = (D.f[BE])[kb];//kbe + real fBE = (D.f[TW])[kw];//ktw + real fBS = (D.f[TN])[k];//ktn + real fTN = (D.f[BS])[kbs]; + real fTS = (D.f[BN])[kb];//kbn + real fBN = (D.f[TS])[ks];//kts //real fZERO = (D.f[dirREST])[k];//kzero - real fBSW = (D.f[dirTNE])[k];//ktne - real fBNE = (D.f[dirTSW])[ksw];//ktsw - real fBNW = (D.f[dirTSE])[ks];//ktse - real fBSE = (D.f[dirTNW])[kw];//ktnw - real fTSW = (D.f[dirBNE])[kb];//kbne - real fTNE = (D.f[dirBSW])[kbsw]; - real fTNW = (D.f[dirBSE])[kbs];//kbse - real fTSE = (D.f[dirBNW])[kbw];//kbnw + real fBSW = (D.f[TNE])[k];//ktne + real fBNE = (D.f[TSW])[ksw];//ktsw + real fBNW = (D.f[TSE])[ks];//ktse + real fBSE = (D.f[TNW])[kw];//ktnw + real fTSW = (D.f[BNE])[kb];//kbne + real fTNE = (D.f[BSW])[kbsw]; + real fTNW = (D.f[BSE])[kbs];//kbse + real fTSE = (D.f[BNW])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// - //real f27E = (D27.f[dirE ])[k ];//ke - //real f27W = (D27.f[dirW ])[kw ]; - //real f27N = (D27.f[dirN ])[k ];//kn - //real f27S = (D27.f[dirS ])[ks ]; - //real f27T = (D27.f[dirT ])[k ];//kt - //real f27B = (D27.f[dirB ])[kb ]; - //real f27NE = (D27.f[dirNE ])[k ];//kne - //real f27SW = (D27.f[dirSW ])[ksw]; - //real f27SE = (D27.f[dirSE ])[ks ];//kse - //real f27NW = (D27.f[dirNW ])[kw ];//knw - //real f27TE = (D27.f[dirTE ])[k ];//kte - //real f27BW = (D27.f[dirBW ])[kbw]; - //real f27BE = (D27.f[dirBE ])[kb ];//kbe - //real f27TW = (D27.f[dirTW ])[kw ];//ktw - //real f27TN = (D27.f[dirTN ])[k ];//ktn - //real f27BS = (D27.f[dirBS ])[kbs]; - //real f27BN = (D27.f[dirBN ])[kb ];//kbn - //real f27TS = (D27.f[dirTS ])[ks ];//kts + //real f27E = (D27.f[E ])[k ];//ke + //real f27W = (D27.f[W ])[kw ]; + //real f27N = (D27.f[N ])[k ];//kn + //real f27S = (D27.f[S ])[ks ]; + //real f27T = (D27.f[T ])[k ];//kt + //real f27B = (D27.f[B ])[kb ]; + //real f27NE = (D27.f[NE ])[k ];//kne + //real f27SW = (D27.f[SW ])[ksw]; + //real f27SE = (D27.f[SE ])[ks ];//kse + //real f27NW = (D27.f[NW ])[kw ];//knw + //real f27TE = (D27.f[TE ])[k ];//kte + //real f27BW = (D27.f[BW ])[kbw]; + //real f27BE = (D27.f[BE ])[kb ];//kbe + //real f27TW = (D27.f[TW ])[kw ];//ktw + //real f27TN = (D27.f[TN ])[k ];//ktn + //real f27BS = (D27.f[BS ])[kbs]; + //real f27BN = (D27.f[BN ])[kb ];//kbn + //real f27TS = (D27.f[TS ])[ks ];//kts //real f27ZERO = (D27.f[dirREST])[k ];//kzero - //real f27TNE = (D27.f[dirTNE ])[k ];//ktne - //real f27TSW = (D27.f[dirTSW ])[ksw];//ktsw - //real f27TSE = (D27.f[dirTSE ])[ks ];//ktse - //real f27TNW = (D27.f[dirTNW ])[kw ];//ktnw - //real f27BNE = (D27.f[dirBNE ])[kb ];//kbne - //real f27BSW = (D27.f[dirBSW ])[kbsw]; - //real f27BSE = (D27.f[dirBSE ])[kbs];//kbse - //real f27BNW = (D27.f[dirBNW ])[kbw];//kbnw + //real f27TNE = (D27.f[TNE ])[k ];//ktne + //real f27TSW = (D27.f[TSW ])[ksw];//ktsw + //real f27TSE = (D27.f[TSE ])[ks ];//ktse + //real f27TNW = (D27.f[TNW ])[kw ];//ktnw + //real f27BNE = (D27.f[BNE ])[kb ];//kbne + //real f27BSW = (D27.f[BSW ])[kbsw]; + //real f27BSE = (D27.f[BSE ])[kbs];//kbse + //real f27BNW = (D27.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// //real vx1 = ((fTNE-fBSW)+(fBNE-fTSW)+(fTSE-fBNW)+(fBSE-fTNW) +(fNE-fSW)+(fSE-fNW)+(fTE-fBW)+(fBE-fTW)+(fE-fW)); //real vx2 = ((fTNE-fBSW)+(fBNE-fTSW)+(fBNW-fTSE)+(fTNW-fBSE) +(fNE-fSW)+(fNW-fSE)+(fTN-fBS)+(fBN-fTS)+(fN-fS)); @@ -230,33 +230,33 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_27(real diffusivity, //////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D27.f[dirE])[k]; - real mfabb = (D27.f[dirW])[kw]; - real mfbcb = (D27.f[dirN])[k]; - real mfbab = (D27.f[dirS])[ks]; - real mfbbc = (D27.f[dirT])[k]; - real mfbba = (D27.f[dirB])[kb]; - real mfccb = (D27.f[dirNE])[k]; - real mfaab = (D27.f[dirSW])[ksw]; - real mfcab = (D27.f[dirSE])[ks]; - real mfacb = (D27.f[dirNW])[kw]; - real mfcbc = (D27.f[dirTE])[k]; - real mfaba = (D27.f[dirBW])[kbw]; - real mfcba = (D27.f[dirBE])[kb]; - real mfabc = (D27.f[dirTW])[kw]; - real mfbcc = (D27.f[dirTN])[k]; - real mfbaa = (D27.f[dirBS])[kbs]; - real mfbca = (D27.f[dirBN])[kb]; - real mfbac = (D27.f[dirTS])[ks]; + real mfcbb = (D27.f[E])[k]; + real mfabb = (D27.f[W])[kw]; + real mfbcb = (D27.f[N])[k]; + real mfbab = (D27.f[S])[ks]; + real mfbbc = (D27.f[T])[k]; + real mfbba = (D27.f[B])[kb]; + real mfccb = (D27.f[NE])[k]; + real mfaab = (D27.f[SW])[ksw]; + real mfcab = (D27.f[SE])[ks]; + real mfacb = (D27.f[NW])[kw]; + real mfcbc = (D27.f[TE])[k]; + real mfaba = (D27.f[BW])[kbw]; + real mfcba = (D27.f[BE])[kb]; + real mfabc = (D27.f[TW])[kw]; + real mfbcc = (D27.f[TN])[k]; + real mfbaa = (D27.f[BS])[kbs]; + real mfbca = (D27.f[BN])[kb]; + real mfbac = (D27.f[TS])[ks]; real mfbbb = (D27.f[dirREST])[k]; - real mfccc = (D27.f[dirTNE])[k]; - real mfaac = (D27.f[dirTSW])[ksw]; - real mfcac = (D27.f[dirTSE])[ks]; - real mfacc = (D27.f[dirTNW])[kw]; - real mfcca = (D27.f[dirBNE])[kb]; - real mfaaa = (D27.f[dirBSW])[kbsw]; - real mfcaa = (D27.f[dirBSE])[kbs]; - real mfaca = (D27.f[dirBNW])[kbw]; + real mfccc = (D27.f[TNE])[k]; + real mfaac = (D27.f[TSW])[ksw]; + real mfcac = (D27.f[TSE])[ks]; + real mfacc = (D27.f[TNW])[kw]; + real mfcca = (D27.f[BNE])[kb]; + real mfaaa = (D27.f[BSW])[kbsw]; + real mfcaa = (D27.f[BSE])[kbs]; + real mfaca = (D27.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //Conc real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + @@ -300,33 +300,33 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_27(real diffusivity, // (f27E+f27W)+(f27N+f27S)+(f27T+f27B)+f27ZERO; //real cusq = c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); - //(D27.f[ dirE ])[k ] = f27W *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cusq); - //(D27.f[ dirW ])[kw ] = f27E *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cusq); - //(D27.f[ dirN ])[k ] = f27S *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cusq); - //(D27.f[ dirS ])[ks ] = f27N *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cusq); - //(D27.f[ dirT ])[k ] = f27B *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cusq); - //(D27.f[ dirB ])[kb ] = f27T *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx3)+c9over2*( vx3)*( vx3)-cusq); - //(D27.f[ dirNE ])[k ] = f27SW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cusq); - //(D27.f[ dirSW ])[ksw ] = f27NE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cusq); - //(D27.f[ dirSE ])[ks ] = f27NW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cusq); - //(D27.f[ dirNW ])[kw ] = f27SE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cusq); - //(D27.f[ dirTE ])[k ] = f27BW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cusq); - //(D27.f[ dirBW ])[kbw ] = f27TE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cusq); - //(D27.f[ dirBE ])[kb ] = f27TW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cusq); - //(D27.f[ dirTW ])[kw ] = f27BE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cusq); - //(D27.f[ dirTN ])[k ] = f27BS *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cusq); - //(D27.f[ dirBS ])[kbs ] = f27TN *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cusq); - //(D27.f[ dirBN ])[kb ] = f27TS *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cusq); - //(D27.f[ dirTS ])[ks ] = f27BN *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cusq); + //(D27.f[ E ])[k ] = f27W *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*(-vx1 )+c9over2*(-vx1 )*(-vx1 )-cusq); + //(D27.f[ W ])[kw ] = f27E *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx1 )+c9over2*( vx1 )*( vx1 )-cusq); + //(D27.f[ N ])[k ] = f27S *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( -vx2 )+c9over2*( -vx2 )*( -vx2 )-cusq); + //(D27.f[ S ])[ks ] = f27N *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx2 )+c9over2*( vx2 )*( vx2 )-cusq); + //(D27.f[ T ])[k ] = f27B *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( -vx3)+c9over2*( -vx3)*( -vx3)-cusq); + //(D27.f[ B ])[kb ] = f27T *(one-omegaD)+omegaD* c2over27* ConcD*(one+three*( vx3)+c9over2*( vx3)*( vx3)-cusq); + //(D27.f[ NE ])[k ] = f27SW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1-vx2 )+c9over2*(-vx1-vx2 )*(-vx1-vx2 )-cusq); + //(D27.f[ SW ])[ksw ] = f27NE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1+vx2 )+c9over2*( vx1+vx2 )*( vx1+vx2 )-cusq); + //(D27.f[ SE ])[ks ] = f27NW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1+vx2 )+c9over2*(-vx1+vx2 )*(-vx1+vx2 )-cusq); + //(D27.f[ NW ])[kw ] = f27SE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1-vx2 )+c9over2*( vx1-vx2 )*( vx1-vx2 )-cusq); + //(D27.f[ TE ])[k ] = f27BW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1 -vx3)+c9over2*(-vx1 -vx3)*(-vx1 -vx3)-cusq); + //(D27.f[ BW ])[kbw ] = f27TE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1 +vx3)+c9over2*( vx1 +vx3)*( vx1 +vx3)-cusq); + //(D27.f[ BE ])[kb ] = f27TW *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*(-vx1 +vx3)+c9over2*(-vx1 +vx3)*(-vx1 +vx3)-cusq); + //(D27.f[ TW ])[kw ] = f27BE *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx1 -vx3)+c9over2*( vx1 -vx3)*( vx1 -vx3)-cusq); + //(D27.f[ TN ])[k ] = f27BS *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( -vx2-vx3)+c9over2*( -vx2-vx3)*( -vx2-vx3)-cusq); + //(D27.f[ BS ])[kbs ] = f27TN *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx2+vx3)+c9over2*( vx2+vx3)*( vx2+vx3)-cusq); + //(D27.f[ BN ])[kb ] = f27TS *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( -vx2+vx3)+c9over2*( -vx2+vx3)*( -vx2+vx3)-cusq); + //(D27.f[ TS ])[ks ] = f27BN *(one-omegaD)+omegaD* c1over54* ConcD*(one+three*( vx2-vx3)+c9over2*( vx2-vx3)*( vx2-vx3)-cusq); //(D27.f[ dirREST])[k ] = f27ZERO *(one-omegaD)+omegaD* c8over27* ConcD*(one-cusq); - //(D27.f[ dirTNE ])[k ] = f27BSW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq); - //(D27.f[ dirTSE ])[ks ] = f27BNW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq); - //(D27.f[ dirBNE ])[kb ] = f27TSW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq); - //(D27.f[ dirBSE ])[kbs ] = f27TNW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq); - //(D27.f[ dirTNW ])[kw ] = f27BSE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq); - //(D27.f[ dirTSW ])[ksw ] = f27BNE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq); - //(D27.f[ dirBNW ])[kbw ] = f27TSE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq); - //(D27.f[ dirBSW ])[kbsw] = f27TNE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq); + //(D27.f[ TNE ])[k ] = f27BSW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2-vx3)+c9over2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cusq); + //(D27.f[ TSE ])[ks ] = f27BNW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2-vx3)+c9over2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cusq); + //(D27.f[ BNE ])[kb ] = f27TSW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1-vx2+vx3)+c9over2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cusq); + //(D27.f[ BSE ])[kbs ] = f27TNW *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*(-vx1+vx2+vx3)+c9over2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cusq); + //(D27.f[ TNW ])[kw ] = f27BSE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2-vx3)+c9over2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cusq); + //(D27.f[ TSW ])[ksw ] = f27BNE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2-vx3)+c9over2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cusq); + //(D27.f[ BNW ])[kbw ] = f27TSE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1-vx2+vx3)+c9over2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cusq); + //(D27.f[ BSW ])[kbsw] = f27TNE *(one-omegaD)+omegaD* c1over216*ConcD*(one+three*( vx1+vx2+vx3)+c9over2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cusq); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// real oMdrho = c0o1;//one; // comp special @@ -860,33 +860,33 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_27(real diffusivity, //////////////////////////////////////////////////////////////////////////////////// - (D27.f[dirE])[k] = mfabb; - (D27.f[dirW])[kw] = mfcbb; - (D27.f[dirN])[k] = mfbab; - (D27.f[dirS])[ks] = mfbcb; - (D27.f[dirT])[k] = mfbba; - (D27.f[dirB])[kb] = mfbbc; - (D27.f[dirNE])[k] = mfaab; - (D27.f[dirSW])[ksw] = mfccb; - (D27.f[dirSE])[ks] = mfacb; - (D27.f[dirNW])[kw] = mfcab; - (D27.f[dirTE])[k] = mfaba; - (D27.f[dirBW])[kbw] = mfcbc; - (D27.f[dirBE])[kb] = mfabc; - (D27.f[dirTW])[kw] = mfcba; - (D27.f[dirTN])[k] = mfbaa; - (D27.f[dirBS])[kbs] = mfbcc; - (D27.f[dirBN])[kb] = mfbac; - (D27.f[dirTS])[ks] = mfbca; + (D27.f[E])[k] = mfabb; + (D27.f[W])[kw] = mfcbb; + (D27.f[N])[k] = mfbab; + (D27.f[S])[ks] = mfbcb; + (D27.f[T])[k] = mfbba; + (D27.f[B])[kb] = mfbbc; + (D27.f[NE])[k] = mfaab; + (D27.f[SW])[ksw] = mfccb; + (D27.f[SE])[ks] = mfacb; + (D27.f[NW])[kw] = mfcab; + (D27.f[TE])[k] = mfaba; + (D27.f[BW])[kbw] = mfcbc; + (D27.f[BE])[kb] = mfabc; + (D27.f[TW])[kw] = mfcba; + (D27.f[TN])[k] = mfbaa; + (D27.f[BS])[kbs] = mfbcc; + (D27.f[BN])[kb] = mfbac; + (D27.f[TS])[ks] = mfbca; (D27.f[dirREST])[k] = mfbbb; - (D27.f[dirTNE])[k] = mfaaa; - (D27.f[dirTSE])[ks] = mfaca; - (D27.f[dirBNE])[kb] = mfaac; - (D27.f[dirBSE])[kbs] = mfacc; - (D27.f[dirTNW])[kw] = mfcaa; - (D27.f[dirTSW])[ksw] = mfcca; - (D27.f[dirBNW])[kbw] = mfcac; - (D27.f[dirBSW])[kbsw] = mfccc; + (D27.f[TNE])[k] = mfaaa; + (D27.f[TSE])[ks] = mfaca; + (D27.f[BNE])[kb] = mfaac; + (D27.f[BSE])[kbs] = mfacc; + (D27.f[TNW])[kw] = mfcaa; + (D27.f[TSW])[ksw] = mfcca; + (D27.f[BNW])[kbw] = mfcac; + (D27.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod7/ADIncomp7/ADIncomp7_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod7/ADIncomp7/ADIncomp7_Device.cu index 3ddcaa22d..0e38831bb 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod7/ADIncomp7/ADIncomp7_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/AdvectionDiffusion/Incompressible/Mod7/ADIncomp7/ADIncomp7_Device.cu @@ -37,63 +37,63 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_7(real diffusivity, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions7 D7; @@ -128,60 +128,60 @@ extern "C" __global__ void LB_Kernel_AD_Incomp_7(real diffusivity, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fW = (D.f[dirE])[k];//ke - real fE = (D.f[dirW])[kw]; - real fS = (D.f[dirN])[k];//kn - real fN = (D.f[dirS])[ks]; - real fB = (D.f[dirT])[k];//kt - real fT = (D.f[dirB])[kb]; - real fSW = (D.f[dirNE])[k];//kne - real fNE = (D.f[dirSW])[ksw]; - real fNW = (D.f[dirSE])[ks];//kse - real fSE = (D.f[dirNW])[kw];//knw - real fBW = (D.f[dirTE])[k];//kte - real fTE = (D.f[dirBW])[kbw]; - real fTW = (D.f[dirBE])[kb];//kbe - real fBE = (D.f[dirTW])[kw];//ktw - real fBS = (D.f[dirTN])[k];//ktn - real fTN = (D.f[dirBS])[kbs]; - real fTS = (D.f[dirBN])[kb];//kbn - real fBN = (D.f[dirTS])[ks];//kts + real fW = (D.f[E])[k];//ke + real fE = (D.f[W])[kw]; + real fS = (D.f[N])[k];//kn + real fN = (D.f[S])[ks]; + real fB = (D.f[T])[k];//kt + real fT = (D.f[B])[kb]; + real fSW = (D.f[NE])[k];//kne + real fNE = (D.f[SW])[ksw]; + real fNW = (D.f[SE])[ks];//kse + real fSE = (D.f[NW])[kw];//knw + real fBW = (D.f[TE])[k];//kte + real fTE = (D.f[BW])[kbw]; + real fTW = (D.f[BE])[kb];//kbe + real fBE = (D.f[TW])[kw];//ktw + real fBS = (D.f[TN])[k];//ktn + real fTN = (D.f[BS])[kbs]; + real fTS = (D.f[BN])[kb];//kbn + real fBN = (D.f[TS])[ks];//kts //real fZERO = (D.f[dirREST])[k];//kzero - real fBSW = (D.f[dirTNE])[k];//ktne - real fBNE = (D.f[dirTSW])[ksw];//ktsw - real fBNW = (D.f[dirTSE])[ks];//ktse - real fBSE = (D.f[dirTNW])[kw];//ktnw - real fTSW = (D.f[dirBNE])[kb];//kbne - real fTNE = (D.f[dirBSW])[kbsw]; - real fTNW = (D.f[dirBSE])[kbs];//kbse - real fTSE = (D.f[dirBNW])[kbw];//kbnw - //real fE = (D.f[dirE ])[k ];//ke - //real fW = (D.f[dirW ])[kw ]; - //real fN = (D.f[dirN ])[k ];//kn - //real fS = (D.f[dirS ])[ks ]; - //real fT = (D.f[dirT ])[k ];//kt - //real fB = (D.f[dirB ])[kb ]; - //real fNE = (D.f[dirNE ])[k ];//kne - //real fSW = (D.f[dirSW ])[ksw]; - //real fSE = (D.f[dirSE ])[ks ];//kse - //real fNW = (D.f[dirNW ])[kw ];//knw - //real fTE = (D.f[dirTE ])[k ];//kte - //real fBW = (D.f[dirBW ])[kbw]; - //real fBE = (D.f[dirBE ])[kb ];//kbe - //real fTW = (D.f[dirTW ])[kw ];//ktw - //real fTN = (D.f[dirTN ])[k ];//ktn - //real fBS = (D.f[dirBS ])[kbs]; - //real fBN = (D.f[dirBN ])[kb ];//kbn - //real fTS = (D.f[dirTS ])[ks ];//kts + real fBSW = (D.f[TNE])[k];//ktne + real fBNE = (D.f[TSW])[ksw];//ktsw + real fBNW = (D.f[TSE])[ks];//ktse + real fBSE = (D.f[TNW])[kw];//ktnw + real fTSW = (D.f[BNE])[kb];//kbne + real fTNE = (D.f[BSW])[kbsw]; + real fTNW = (D.f[BSE])[kbs];//kbse + real fTSE = (D.f[BNW])[kbw];//kbnw + //real fE = (D.f[E ])[k ];//ke + //real fW = (D.f[W ])[kw ]; + //real fN = (D.f[N ])[k ];//kn + //real fS = (D.f[S ])[ks ]; + //real fT = (D.f[T ])[k ];//kt + //real fB = (D.f[B ])[kb ]; + //real fNE = (D.f[NE ])[k ];//kne + //real fSW = (D.f[SW ])[ksw]; + //real fSE = (D.f[SE ])[ks ];//kse + //real fNW = (D.f[NW ])[kw ];//knw + //real fTE = (D.f[TE ])[k ];//kte + //real fBW = (D.f[BW ])[kbw]; + //real fBE = (D.f[BE ])[kb ];//kbe + //real fTW = (D.f[TW ])[kw ];//ktw + //real fTN = (D.f[TN ])[k ];//ktn + //real fBS = (D.f[BS ])[kbs]; + //real fBN = (D.f[BN ])[kb ];//kbn + //real fTS = (D.f[TS ])[ks ];//kts //real fZERO = (D.f[dirREST])[k ];//kzero - //real fTNE = (D.f[dirTNE ])[k ];//ktne - //real fTSW = (D.f[dirTSW ])[ksw];//ktsw - //real fTSE = (D.f[dirTSE ])[ks ];//ktse - //real fTNW = (D.f[dirTNW ])[kw ];//ktnw - //real fBNE = (D.f[dirBNE ])[kb ];//kbne - //real fBSW = (D.f[dirBSW ])[kbsw]; - //real fBSE = (D.f[dirBSE ])[kbs];//kbse - //real fBNW = (D.f[dirBNW ])[kbw];//kbnw + //real fTNE = (D.f[TNE ])[k ];//ktne + //real fTSW = (D.f[TSW ])[ksw];//ktsw + //real fTSE = (D.f[TSE ])[ks ];//ktse + //real fTNW = (D.f[TNW ])[kw ];//ktnw + //real fBNE = (D.f[BNE ])[kb ];//kbne + //real fBSW = (D.f[BSW ])[kbsw]; + //real fBSE = (D.f[BSE ])[kbs];//kbse + //real fBNW = (D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real f7ZERO = (D7.f[0])[k]; real f7E = (D7.f[1])[k]; diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGK/BGKCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGK/BGKCompSP27_Device.cu index 3829aac1e..38a6dedd8 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGK/BGKCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGK/BGKCompSP27_Device.cu @@ -37,63 +37,63 @@ extern "C" __global__ void LB_Kernel_BGK_Comp_SP_27( real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -126,33 +126,33 @@ extern "C" __global__ void LB_Kernel_BGK_Comp_SP_27( real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fE = (D.f[dirE])[k];//ke - real fW = (D.f[dirW])[kw]; - real fN = (D.f[dirN])[k];//kn - real fS = (D.f[dirS])[ks]; - real fT = (D.f[dirT])[k];//kt - real fB = (D.f[dirB])[kb]; - real fNE = (D.f[dirNE])[k];//kne - real fSW = (D.f[dirSW])[ksw]; - real fSE = (D.f[dirSE])[ks];//kse - real fNW = (D.f[dirNW])[kw];//knw - real fTE = (D.f[dirTE])[k];//kte - real fBW = (D.f[dirBW])[kbw]; - real fBE = (D.f[dirBE])[kb];//kbe - real fTW = (D.f[dirTW])[kw];//ktw - real fTN = (D.f[dirTN])[k];//ktn - real fBS = (D.f[dirBS])[kbs]; - real fBN = (D.f[dirBN])[kb];//kbn - real fTS = (D.f[dirTS])[ks];//kts + real fE = (D.f[E])[k];//ke + real fW = (D.f[W])[kw]; + real fN = (D.f[N])[k];//kn + real fS = (D.f[S])[ks]; + real fT = (D.f[T])[k];//kt + real fB = (D.f[B])[kb]; + real fNE = (D.f[NE])[k];//kne + real fSW = (D.f[SW])[ksw]; + real fSE = (D.f[SE])[ks];//kse + real fNW = (D.f[NW])[kw];//knw + real fTE = (D.f[TE])[k];//kte + real fBW = (D.f[BW])[kbw]; + real fBE = (D.f[BE])[kb];//kbe + real fTW = (D.f[TW])[kw];//ktw + real fTN = (D.f[TN])[k];//ktn + real fBS = (D.f[BS])[kbs]; + real fBN = (D.f[BN])[kb];//kbn + real fTS = (D.f[TS])[ks];//kts real fZERO = (D.f[dirREST])[k];//kzero - real fTNE = (D.f[dirTNE])[k];//ktne - real fTSW = (D.f[dirTSW])[ksw];//ktsw - real fTSE = (D.f[dirTSE])[ks];//ktse - real fTNW = (D.f[dirTNW])[kw];//ktnw - real fBNE = (D.f[dirBNE])[kb];//kbne - real fBSW = (D.f[dirBSW])[kbsw]; - real fBSE = (D.f[dirBSE])[kbs];//kbse - real fBNW = (D.f[dirBNW])[kbw];//kbnw + real fTNE = (D.f[TNE])[k];//ktne + real fTSW = (D.f[TSW])[ksw];//ktsw + real fTSE = (D.f[TSE])[ks];//ktse + real fTNW = (D.f[TNW])[kw];//ktnw + real fBNE = (D.f[BNE])[kb];//kbne + real fBSW = (D.f[BSW])[kbsw]; + real fBSE = (D.f[BSE])[kbs];//kbse + real fBNW = (D.f[BNW])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// real drho = (fTNE + fBSW) + (fTSW + fBNE) + (fTSE + fBNW) + (fTNW + fBSE) + (fNE + fSW) + (fNW + fSE) + (fTE + fBW) + (fBE + fTW) + (fTN + fBS) + (fBN + fTS) + (fE + fW) + (fN + fS) + (fT + fB) + fZERO; real rho = drho + c1o1; @@ -209,33 +209,33 @@ extern "C" __global__ void LB_Kernel_BGK_Comp_SP_27( real omega, ////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = fW; - (D.f[dirW])[kw] = fE; - (D.f[dirN])[k] = fS; - (D.f[dirS])[ks] = fN; - (D.f[dirT])[k] = fB; - (D.f[dirB])[kb] = fT; - (D.f[dirNE])[k] = fSW; - (D.f[dirSW])[ksw] = fNE; - (D.f[dirSE])[ks] = fNW; - (D.f[dirNW])[kw] = fSE; - (D.f[dirTE])[k] = fBW; - (D.f[dirBW])[kbw] = fTE; - (D.f[dirBE])[kb] = fTW; - (D.f[dirTW])[kw] = fBE; - (D.f[dirTN])[k] = fBS; - (D.f[dirBS])[kbs] = fTN; - (D.f[dirBN])[kb] = fTS; - (D.f[dirTS])[ks] = fBN; + (D.f[E])[k] = fW; + (D.f[W])[kw] = fE; + (D.f[N])[k] = fS; + (D.f[S])[ks] = fN; + (D.f[T])[k] = fB; + (D.f[B])[kb] = fT; + (D.f[NE])[k] = fSW; + (D.f[SW])[ksw] = fNE; + (D.f[SE])[ks] = fNW; + (D.f[NW])[kw] = fSE; + (D.f[TE])[k] = fBW; + (D.f[BW])[kbw] = fTE; + (D.f[BE])[kb] = fTW; + (D.f[TW])[kw] = fBE; + (D.f[TN])[k] = fBS; + (D.f[BS])[kbs] = fTN; + (D.f[BN])[kb] = fTS; + (D.f[TS])[ks] = fBN; (D.f[dirREST])[k] = fZERO; - (D.f[dirTNE])[k] = fBSW; - (D.f[dirTSE])[ks] = fBNW; - (D.f[dirBNE])[kb] = fTSW; - (D.f[dirBSE])[kbs] = fTNW; - (D.f[dirTNW])[kw] = fBSE; - (D.f[dirTSW])[ksw] = fBNE; - (D.f[dirBNW])[kbw] = fTSE; - (D.f[dirBSW])[kbsw] = fTNE; + (D.f[TNE])[k] = fBSW; + (D.f[TSE])[ks] = fBNW; + (D.f[BNE])[kb] = fTSW; + (D.f[BSE])[kbs] = fTNW; + (D.f[TNW])[kw] = fBSE; + (D.f[TSW])[ksw] = fBNE; + (D.f[BNW])[kbw] = fTSE; + (D.f[BSW])[kbsw] = fTNE; ////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGKPlus/BGKPlusCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGKPlus/BGKPlusCompSP27_Device.cu index 7e049436e..f021194d2 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGKPlus/BGKPlusCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/BGKPlus/BGKPlusCompSP27_Device.cu @@ -37,63 +37,63 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Comp_SP_27( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -126,33 +126,33 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Comp_SP_27( //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -792,33 +792,33 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Comp_SP_27( //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cascade/CascadeCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cascade/CascadeCompSP27_Device.cu index a60faa191..ae48cb6c2 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cascade/CascadeCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cascade/CascadeCompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_Cascade_Comp_SP_27(real omega, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_Cascade_Comp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ];//[ke ]; - real mfabb = (D.f[dirW ])[kw ];//[kw ]; - real mfbcb = (D.f[dirN ])[k ];//[kn ]; - real mfbab = (D.f[dirS ])[ks ];//[ks ]; - real mfbbc = (D.f[dirT ])[k ];//[kt ]; - real mfbba = (D.f[dirB ])[kb ];//[kb ]; - real mfccb = (D.f[dirNE ])[k ];//[kne ]; - real mfaab = (D.f[dirSW ])[ksw];//[ksw ]; - real mfcab = (D.f[dirSE ])[ks ];//[kse ]; - real mfacb = (D.f[dirNW ])[kw ];//[knw ]; - real mfcbc = (D.f[dirTE ])[k ];//[kte ]; - real mfaba = (D.f[dirBW ])[kbw];//[kbw ]; - real mfcba = (D.f[dirBE ])[kb ];//[kbe ]; - real mfabc = (D.f[dirTW ])[kw ];//[ktw ]; - real mfbcc = (D.f[dirTN ])[k ];//[ktn ]; - real mfbaa = (D.f[dirBS ])[kbs];//[kbs ]; - real mfbca = (D.f[dirBN ])[kb ];//[kbn ]; - real mfbac = (D.f[dirTS ])[ks ];//[kts ]; + real mfcbb = (D.f[E ])[k ];//[ke ]; + real mfabb = (D.f[W ])[kw ];//[kw ]; + real mfbcb = (D.f[N ])[k ];//[kn ]; + real mfbab = (D.f[S ])[ks ];//[ks ]; + real mfbbc = (D.f[T ])[k ];//[kt ]; + real mfbba = (D.f[B ])[kb ];//[kb ]; + real mfccb = (D.f[NE ])[k ];//[kne ]; + real mfaab = (D.f[SW ])[ksw];//[ksw ]; + real mfcab = (D.f[SE ])[ks ];//[kse ]; + real mfacb = (D.f[NW ])[kw ];//[knw ]; + real mfcbc = (D.f[TE ])[k ];//[kte ]; + real mfaba = (D.f[BW ])[kbw];//[kbw ]; + real mfcba = (D.f[BE ])[kb ];//[kbe ]; + real mfabc = (D.f[TW ])[kw ];//[ktw ]; + real mfbcc = (D.f[TN ])[k ];//[ktn ]; + real mfbaa = (D.f[BS ])[kbs];//[kbs ]; + real mfbca = (D.f[BN ])[kb ];//[kbn ]; + real mfbac = (D.f[TS ])[ks ];//[kts ]; real mfbbb = (D.f[dirREST])[k ];//[kzero]; - real mfccc = (D.f[dirTNE ])[k ];//[ktne ]; - real mfaac = (D.f[dirTSW ])[ksw];//[ktsw ]; - real mfcac = (D.f[dirTSE ])[ks ];//[ktse ]; - real mfacc = (D.f[dirTNW ])[kw ];//[ktnw ]; - real mfcca = (D.f[dirBNE ])[kb ];//[kbne ]; - real mfaaa = (D.f[dirBSW ])[kbsw];//[kbsw ] - real mfcaa = (D.f[dirBSE ])[kbs];//[kbse ]; - real mfaca = (D.f[dirBNW ])[kbw];//[kbnw ]; + real mfccc = (D.f[TNE ])[k ];//[ktne ]; + real mfaac = (D.f[TSW ])[ksw];//[ktsw ]; + real mfcac = (D.f[TSE ])[ks ];//[ktse ]; + real mfacc = (D.f[TNW ])[kw ];//[ktnw ]; + real mfcca = (D.f[BNE ])[kb ];//[kbne ]; + real mfaaa = (D.f[BSW ])[kbsw];//[kbsw ] + real mfcaa = (D.f[BSE ])[kbs];//[kbse ]; + real mfaca = (D.f[BNW ])[kbw];//[kbnw ]; //////////////////////////////////////////////////////////////////////////////////// real rho = (mfccc+mfaaa + mfaca+mfcac + mfacc+mfcaa + mfaac+mfcca + mfbac+mfbca + mfbaa+mfbcc + mfabc+mfcba + mfaba+mfcbc + mfacb+mfcab + mfaab+mfccb + @@ -732,33 +732,33 @@ extern "C" __global__ void LB_Kernel_Cascade_Comp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb; - (D.f[ dirW ])[kw ] = mfcbb; - (D.f[ dirN ])[k ] = mfbab; - (D.f[ dirS ])[ks ] = mfbcb; - (D.f[ dirT ])[k ] = mfbba; - (D.f[ dirB ])[kb ] = mfbbc; - (D.f[ dirNE ])[k ] = mfaab; - (D.f[ dirSW ])[ksw ] = mfccb; - (D.f[ dirSE ])[ks ] = mfacb; - (D.f[ dirNW ])[kw ] = mfcab; - (D.f[ dirTE ])[k ] = mfaba; - (D.f[ dirBW ])[kbw ] = mfcbc; - (D.f[ dirBE ])[kb ] = mfabc; - (D.f[ dirTW ])[kw ] = mfcba; - (D.f[ dirTN ])[k ] = mfbaa; - (D.f[ dirBS ])[kbs ] = mfbcc; - (D.f[ dirBN ])[kb ] = mfbac; - (D.f[ dirTS ])[ks ] = mfbca; + (D.f[ E ])[k ] = mfabb; + (D.f[ W ])[kw ] = mfcbb; + (D.f[ N ])[k ] = mfbab; + (D.f[ S ])[ks ] = mfbcb; + (D.f[ T ])[k ] = mfbba; + (D.f[ B ])[kb ] = mfbbc; + (D.f[ NE ])[k ] = mfaab; + (D.f[ SW ])[ksw ] = mfccb; + (D.f[ SE ])[ks ] = mfacb; + (D.f[ NW ])[kw ] = mfcab; + (D.f[ TE ])[k ] = mfaba; + (D.f[ BW ])[kbw ] = mfcbc; + (D.f[ BE ])[kb ] = mfabc; + (D.f[ TW ])[kw ] = mfcba; + (D.f[ TN ])[k ] = mfbaa; + (D.f[ BS ])[kbs ] = mfbcc; + (D.f[ BN ])[kb ] = mfbac; + (D.f[ TS ])[ks ] = mfbca; (D.f[ dirREST])[k ] = mfbbb; - (D.f[ dirTNE ])[k ] = mfaaa; - (D.f[ dirTSE ])[ks ] = mfaca; - (D.f[ dirBNE ])[kb ] = mfaac; - (D.f[ dirBSE ])[kbs ] = mfacc; - (D.f[ dirTNW ])[kw ] = mfcaa; - (D.f[ dirTSW ])[ksw ] = mfcca; - (D.f[ dirBNW ])[kbw ] = mfcac; - (D.f[ dirBSW ])[kbsw] = mfccc; + (D.f[ TNE ])[k ] = mfaaa; + (D.f[ TSE ])[ks ] = mfaca; + (D.f[ BNE ])[kb ] = mfaac; + (D.f[ BSE ])[kbs ] = mfacc; + (D.f[ TNW ])[kw ] = mfcaa; + (D.f[ TSW ])[ksw ] = mfcca; + (D.f[ BNW ])[kbw ] = mfcac; + (D.f[ BSW ])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cumulant/CumulantCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cumulant/CumulantCompSP27_Device.cu index 174b4a0b7..52d3d8966 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cumulant/CumulantCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/Cumulant/CumulantCompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_Cum_Comp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_Cum_Comp_SP_27(real omega, unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real E = (D.f[dirE])[ke];// + c2over27 ; - real W = (D.f[dirW])[kw];// + c2over27 ; - real N = (D.f[dirN])[kn];// + c2over27 ; - real S = (D.f[dirS])[ks];// + c2over27 ; - real F = (D.f[dirT])[kt];// + c2over27 ; - real B = (D.f[dirB])[kb];// + c2over27 ; - real Ne = (D.f[dirNE])[kne];// + c1over54 ; - real Sw = (D.f[dirSW])[ksw];// + c1over54 ; - real Se = (D.f[dirSE])[kse];// + c1over54 ; - real Nw = (D.f[dirNW])[knw];// + c1over54 ; - real Ef = (D.f[dirTE])[kte];// + c1over54 ; - real Wb = (D.f[dirBW])[kbw];// + c1over54 ; - real Eb = (D.f[dirBE])[kbe];// + c1over54 ; - real Wf = (D.f[dirTW])[ktw];// + c1over54 ; - real Nf = (D.f[dirTN])[ktn];// + c1over54 ; - real Sb = (D.f[dirBS])[kbs];// + c1over54 ; - real Nb = (D.f[dirBN])[kbn];// + c1over54 ; - real Sf = (D.f[dirTS])[kts];// + c1over54 ; + real E = (D.f[E])[ke];// + c2over27 ; + real W = (D.f[W])[kw];// + c2over27 ; + real N = (D.f[N])[kn];// + c2over27 ; + real S = (D.f[S])[ks];// + c2over27 ; + real F = (D.f[T])[kt];// + c2over27 ; + real B = (D.f[B])[kb];// + c2over27 ; + real Ne = (D.f[NE])[kne];// + c1over54 ; + real Sw = (D.f[SW])[ksw];// + c1over54 ; + real Se = (D.f[SE])[kse];// + c1over54 ; + real Nw = (D.f[NW])[knw];// + c1over54 ; + real Ef = (D.f[TE])[kte];// + c1over54 ; + real Wb = (D.f[BW])[kbw];// + c1over54 ; + real Eb = (D.f[BE])[kbe];// + c1over54 ; + real Wf = (D.f[TW])[ktw];// + c1over54 ; + real Nf = (D.f[TN])[ktn];// + c1over54 ; + real Sb = (D.f[BS])[kbs];// + c1over54 ; + real Nb = (D.f[BN])[kbn];// + c1over54 ; + real Sf = (D.f[TS])[kts];// + c1over54 ; real R = (D.f[dirREST])[kzero];// + c8over27 ; - real Nef = (D.f[dirTNE])[ktne];// + c1over216; - real Swf = (D.f[dirTSW])[ktsw];// + c1over216; - real Sef = (D.f[dirTSE])[ktse];// + c1over216; - real Nwf = (D.f[dirTNW])[ktnw];// + c1over216; - real Neb = (D.f[dirBNE])[kbne];// + c1over216; - real Swb = (D.f[dirBSW])[kbsw];// + c1over216; - real Seb = (D.f[dirBSE])[kbse];// + c1over216; - real Nwb = (D.f[dirBNW])[kbnw];// + c1over216; + real Nef = (D.f[TNE])[ktne];// + c1over216; + real Swf = (D.f[TSW])[ktsw];// + c1over216; + real Sef = (D.f[TSE])[ktse];// + c1over216; + real Nwf = (D.f[TNW])[ktnw];// + c1over216; + real Neb = (D.f[BNE])[kbne];// + c1over216; + real Swb = (D.f[BSW])[kbsw];// + c1over216; + real Seb = (D.f[BSE])[kbse];// + c1over216; + real Nwb = (D.f[BNW])[kbnw];// + c1over216; //////////////////////////////////////////////////////////////////////////////////// real fx = c0o1; real fy = c0o1; @@ -873,33 +873,33 @@ extern "C" __global__ void LB_Kernel_Cum_Comp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[ke] = mfabb;// - c2over27 ;// - (D.f[dirW])[kw] = mfcbb;// - c2over27 ; - (D.f[dirN])[kn] = mfbab;// - c2over27 ; - (D.f[dirS])[ks] = mfbcb;// - c2over27 ; - (D.f[dirT])[kt] = mfbba;// - c2over27 ; - (D.f[dirB])[kb] = mfbbc;// - c2over27 ; - (D.f[dirNE])[kne] = mfaab;// - c1over54 ; - (D.f[dirSW])[ksw] = mfccb;// - c1over54 ; - (D.f[dirSE])[kse] = mfacb;// - c1over54 ; - (D.f[dirNW])[knw] = mfcab;// - c1over54 ; - (D.f[dirTE])[kte] = mfaba;// - c1over54 ; - (D.f[dirBW])[kbw] = mfcbc;// - c1over54 ; - (D.f[dirBE])[kbe] = mfabc;// - c1over54 ; - (D.f[dirTW])[ktw] = mfcba;// - c1over54 ; - (D.f[dirTN])[ktn] = mfbaa;// - c1over54 ; - (D.f[dirBS])[kbs] = mfbcc;// - c1over54 ; - (D.f[dirBN])[kbn] = mfbac;// - c1over54 ; - (D.f[dirTS])[kts] = mfbca;// - c1over54 ; + (D.f[E])[ke] = mfabb;// - c2over27 ;// + (D.f[W])[kw] = mfcbb;// - c2over27 ; + (D.f[N])[kn] = mfbab;// - c2over27 ; + (D.f[S])[ks] = mfbcb;// - c2over27 ; + (D.f[T])[kt] = mfbba;// - c2over27 ; + (D.f[B])[kb] = mfbbc;// - c2over27 ; + (D.f[NE])[kne] = mfaab;// - c1over54 ; + (D.f[SW])[ksw] = mfccb;// - c1over54 ; + (D.f[SE])[kse] = mfacb;// - c1over54 ; + (D.f[NW])[knw] = mfcab;// - c1over54 ; + (D.f[TE])[kte] = mfaba;// - c1over54 ; + (D.f[BW])[kbw] = mfcbc;// - c1over54 ; + (D.f[BE])[kbe] = mfabc;// - c1over54 ; + (D.f[TW])[ktw] = mfcba;// - c1over54 ; + (D.f[TN])[ktn] = mfbaa;// - c1over54 ; + (D.f[BS])[kbs] = mfbcc;// - c1over54 ; + (D.f[BN])[kbn] = mfbac;// - c1over54 ; + (D.f[TS])[kts] = mfbca;// - c1over54 ; (D.f[dirREST])[kzero] = mfbbb;// - c8over27 ; - (D.f[dirTNE])[ktne] = mfaaa;// - c1over216; - (D.f[dirTSE])[ktse] = mfaca;// - c1over216; - (D.f[dirBNE])[kbne] = mfaac;// - c1over216; - (D.f[dirBSE])[kbse] = mfacc;// - c1over216; - (D.f[dirTNW])[ktnw] = mfcaa;// - c1over216; - (D.f[dirTSW])[ktsw] = mfcca;// - c1over216; - (D.f[dirBNW])[kbnw] = mfcac;// - c1over216; - (D.f[dirBSW])[kbsw] = mfccc;// - c1over216; + (D.f[TNE])[ktne] = mfaaa;// - c1over216; + (D.f[TSE])[ktse] = mfaca;// - c1over216; + (D.f[BNE])[kbne] = mfaac;// - c1over216; + (D.f[BSE])[kbse] = mfacc;// - c1over216; + (D.f[TNW])[ktnw] = mfcaa;// - c1over216; + (D.f[TSW])[ktsw] = mfcca;// - c1over216; + (D.f[BNW])[kbnw] = mfcac;// - c1over216; + (D.f[BSW])[kbsw] = mfccc;// - c1over216; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu index de0a2d05a..5ecdd0d0a 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantAll4/CumulantAll4CompSP27_Device.cu @@ -41,63 +41,63 @@ extern "C" __global__ void LB_Kernel_Cumulant_D3Q27All4( real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -159,33 +159,33 @@ extern "C" __global__ void LB_Kernel_Cumulant_D3Q27All4( real omega, //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1060,33 +1060,33 @@ extern "C" __global__ void LB_Kernel_Cumulant_D3Q27All4( real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15/CumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15/CumulantK15Comp_Device.cu index b1818659e..2588c21b6 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15/CumulantK15Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15/CumulantK15Comp_Device.cu @@ -38,63 +38,63 @@ extern "C" __global__ void LB_Kernel_CumulantK15Comp(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -155,33 +155,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15Comp(real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1241,33 +1241,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15Comp(real omega, ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; mfbbb += drho - drhoPost; //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu index 5da7cdb44..54799ac6d 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Bulk/CumulantK15BulkComp_Device.cu @@ -38,63 +38,63 @@ extern "C" __global__ void LB_Kernel_CumulantK15BulkComp(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -155,33 +155,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15BulkComp(real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -911,33 +911,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15BulkComp(real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Sponge/CumulantK15SpongeComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Sponge/CumulantK15SpongeComp_Device.cu index a8677a12d..d665f7eec 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Sponge/CumulantK15SpongeComp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK15Sponge/CumulantK15SpongeComp_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Kernel_CumulantK15SpongeComp(real omegaIn, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -128,33 +128,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15SpongeComp(real omegaIn, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -892,33 +892,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15SpongeComp(real omegaIn, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17/CumulantK17Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17/CumulantK17Comp_Device.cu index a19cb2b16..1156f1aad 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17/CumulantK17Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17/CumulantK17Comp_Device.cu @@ -40,63 +40,63 @@ extern "C" __global__ void LB_Kernel_CumulantK17Comp(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -157,33 +157,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17Comp(real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1006,33 +1006,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17Comp(real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu index e5b9d4dbe..38554d7f4 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17Bulk/CumulantK17BulkComp_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Kernel_CumulantK17BulkComp(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -128,33 +128,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17BulkComp(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -885,33 +885,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17BulkComp(real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chim/CumulantK17CompChim_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chim/CumulantK17CompChim_Device.cu index 0c39ba17a..8c31dc928 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chim/CumulantK17CompChim_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chim/CumulantK17CompChim_Device.cu @@ -87,61 +87,61 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChim( //! 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[E] = &distributions[E * size_Mat]; + dist.f[W] = &distributions[W * size_Mat]; + dist.f[N] = &distributions[N * size_Mat]; + dist.f[S] = &distributions[S * size_Mat]; + dist.f[T] = &distributions[T * size_Mat]; + dist.f[B] = &distributions[B * size_Mat]; + dist.f[NE] = &distributions[NE * size_Mat]; + dist.f[SW] = &distributions[SW * size_Mat]; + dist.f[SE] = &distributions[SE * size_Mat]; + dist.f[NW] = &distributions[NW * size_Mat]; + dist.f[TE] = &distributions[TE * size_Mat]; + dist.f[BW] = &distributions[BW * size_Mat]; + dist.f[BE] = &distributions[BE * size_Mat]; + dist.f[TW] = &distributions[TW * size_Mat]; + dist.f[TN] = &distributions[TN * size_Mat]; + dist.f[BS] = &distributions[BS * size_Mat]; + dist.f[BN] = &distributions[BN * size_Mat]; + dist.f[TS] = &distributions[TS * 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[TNE] = &distributions[TNE * size_Mat]; + dist.f[TSW] = &distributions[TSW * size_Mat]; + dist.f[TSE] = &distributions[TSE * size_Mat]; + dist.f[TNW] = &distributions[TNW * size_Mat]; + dist.f[BNE] = &distributions[BNE * size_Mat]; + dist.f[BSW] = &distributions[BSW * size_Mat]; + dist.f[BSE] = &distributions[BSE * size_Mat]; + dist.f[BNW] = &distributions[BNW * size_Mat]; } 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[W] = &distributions[E * size_Mat]; + dist.f[E] = &distributions[W * size_Mat]; + dist.f[S] = &distributions[N * size_Mat]; + dist.f[N] = &distributions[S * size_Mat]; + dist.f[B] = &distributions[T * size_Mat]; + dist.f[T] = &distributions[B * size_Mat]; + dist.f[SW] = &distributions[NE * size_Mat]; + dist.f[NE] = &distributions[SW * size_Mat]; + dist.f[NW] = &distributions[SE * size_Mat]; + dist.f[SE] = &distributions[NW * size_Mat]; + dist.f[BW] = &distributions[TE * size_Mat]; + dist.f[TE] = &distributions[BW * size_Mat]; + dist.f[TW] = &distributions[BE * size_Mat]; + dist.f[BE] = &distributions[TW * size_Mat]; + dist.f[BS] = &distributions[TN * size_Mat]; + dist.f[TN] = &distributions[BS * size_Mat]; + dist.f[TS] = &distributions[BN * size_Mat]; + dist.f[BN] = &distributions[TS * size_Mat]; dist.f[dirREST] = &distributions[dirREST * size_Mat]; - dist.f[dirBSW] = &distributions[dirTNE * size_Mat]; - dist.f[dirBNE] = &distributions[dirTSW * size_Mat]; - dist.f[dirBNW] = &distributions[dirTSE * size_Mat]; - dist.f[dirBSE] = &distributions[dirTNW * size_Mat]; - dist.f[dirTSW] = &distributions[dirBNE * size_Mat]; - dist.f[dirTNE] = &distributions[dirBSW * size_Mat]; - dist.f[dirTNW] = &distributions[dirBSE * size_Mat]; - dist.f[dirTSE] = &distributions[dirBNW * size_Mat]; + dist.f[BSW] = &distributions[TNE * size_Mat]; + dist.f[BNE] = &distributions[TSW * size_Mat]; + dist.f[BNW] = &distributions[TSE * size_Mat]; + dist.f[BSE] = &distributions[TNW * size_Mat]; + dist.f[TSW] = &distributions[BNE * size_Mat]; + dist.f[TNE] = &distributions[BSW * size_Mat]; + dist.f[TNW] = &distributions[BSE * size_Mat]; + dist.f[TSE] = &distributions[BNW * size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) @@ -155,33 +155,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChim( //////////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real mfcbb = (dist.f[dirE])[k]; - real mfabb = (dist.f[dirW])[kw]; - real mfbcb = (dist.f[dirN])[k]; - real mfbab = (dist.f[dirS])[ks]; - real mfbbc = (dist.f[dirT])[k]; - real mfbba = (dist.f[dirB])[kb]; - real mfccb = (dist.f[dirNE])[k]; - real mfaab = (dist.f[dirSW])[ksw]; - real mfcab = (dist.f[dirSE])[ks]; - real mfacb = (dist.f[dirNW])[kw]; - real mfcbc = (dist.f[dirTE])[k]; - real mfaba = (dist.f[dirBW])[kbw]; - real mfcba = (dist.f[dirBE])[kb]; - real mfabc = (dist.f[dirTW])[kw]; - real mfbcc = (dist.f[dirTN])[k]; - real mfbaa = (dist.f[dirBS])[kbs]; - real mfbca = (dist.f[dirBN])[kb]; - real mfbac = (dist.f[dirTS])[ks]; + real mfcbb = (dist.f[E])[k]; + real mfabb = (dist.f[W])[kw]; + real mfbcb = (dist.f[N])[k]; + real mfbab = (dist.f[S])[ks]; + real mfbbc = (dist.f[T])[k]; + real mfbba = (dist.f[B])[kb]; + real mfccb = (dist.f[NE])[k]; + real mfaab = (dist.f[SW])[ksw]; + real mfcab = (dist.f[SE])[ks]; + real mfacb = (dist.f[NW])[kw]; + real mfcbc = (dist.f[TE])[k]; + real mfaba = (dist.f[BW])[kbw]; + real mfcba = (dist.f[BE])[kb]; + real mfabc = (dist.f[TW])[kw]; + real mfbcc = (dist.f[TN])[k]; + real mfbaa = (dist.f[BS])[kbs]; + real mfbca = (dist.f[BN])[kb]; + real mfbac = (dist.f[TS])[ks]; real mfbbb = (dist.f[dirREST])[k]; - real mfccc = (dist.f[dirTNE])[k]; - real mfaac = (dist.f[dirTSW])[ksw]; - real mfcac = (dist.f[dirTSE])[ks]; - real mfacc = (dist.f[dirTNW])[kw]; - real mfcca = (dist.f[dirBNE])[kb]; - real mfaaa = (dist.f[dirBSW])[kbsw]; - real mfcaa = (dist.f[dirBSE])[kbs]; - real mfaca = (dist.f[dirBNW])[kbw]; + real mfccc = (dist.f[TNE])[k]; + real mfaac = (dist.f[TSW])[ksw]; + real mfcac = (dist.f[TSE])[ks]; + real mfacc = (dist.f[TNW])[kw]; + real mfcca = (dist.f[BNE])[kb]; + real mfaaa = (dist.f[BSW])[kbsw]; + real mfcaa = (dist.f[BSE])[kbs]; + real mfaca = (dist.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), @@ -622,32 +622,32 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChim( //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), //! DOI:10.3390/computation5020019 ]</b></a> //! - (dist.f[dirE])[k] = mfabb; - (dist.f[dirW])[kw] = mfcbb; - (dist.f[dirN])[k] = mfbab; - (dist.f[dirS])[ks] = mfbcb; - (dist.f[dirT])[k] = mfbba; - (dist.f[dirB])[kb] = mfbbc; - (dist.f[dirNE])[k] = mfaab; - (dist.f[dirSW])[ksw] = mfccb; - (dist.f[dirSE])[ks] = mfacb; - (dist.f[dirNW])[kw] = mfcab; - (dist.f[dirTE])[k] = mfaba; - (dist.f[dirBW])[kbw] = mfcbc; - (dist.f[dirBE])[kb] = mfabc; - (dist.f[dirTW])[kw] = mfcba; - (dist.f[dirTN])[k] = mfbaa; - (dist.f[dirBS])[kbs] = mfbcc; - (dist.f[dirBN])[kb] = mfbac; - (dist.f[dirTS])[ks] = mfbca; + (dist.f[E])[k] = mfabb; + (dist.f[W])[kw] = mfcbb; + (dist.f[N])[k] = mfbab; + (dist.f[S])[ks] = mfbcb; + (dist.f[T])[k] = mfbba; + (dist.f[B])[kb] = mfbbc; + (dist.f[NE])[k] = mfaab; + (dist.f[SW])[ksw] = mfccb; + (dist.f[SE])[ks] = mfacb; + (dist.f[NW])[kw] = mfcab; + (dist.f[TE])[k] = mfaba; + (dist.f[BW])[kbw] = mfcbc; + (dist.f[BE])[kb] = mfabc; + (dist.f[TW])[kw] = mfcba; + (dist.f[TN])[k] = mfbaa; + (dist.f[BS])[kbs] = mfbcc; + (dist.f[BN])[kb] = mfbac; + (dist.f[TS])[ks] = mfbca; (dist.f[dirREST])[k] = mfbbb; - (dist.f[dirTNE])[k] = mfaaa; - (dist.f[dirTSE])[ks] = mfaca; - (dist.f[dirBNE])[kb] = mfaac; - (dist.f[dirBSE])[kbs] = mfacc; - (dist.f[dirTNW])[kw] = mfcaa; - (dist.f[dirTSW])[ksw] = mfcca; - (dist.f[dirBNW])[kbw] = mfcac; - (dist.f[dirBSW])[kbsw] = mfccc; + (dist.f[TNE])[k] = mfaaa; + (dist.f[TSE])[ks] = mfaca; + (dist.f[BNE])[kb] = mfaac; + (dist.f[BSE])[kbs] = mfacc; + (dist.f[TNW])[kw] = mfcaa; + (dist.f[TSW])[ksw] = mfcca; + (dist.f[BNW])[kbw] = mfcac; + (dist.f[BSW])[kbsw] = mfccc; } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimStream/CumulantK17CompChimStreamDevice.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimStream/CumulantK17CompChimStreamDevice.cu index 3408471a3..66aaed441 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimStream/CumulantK17CompChimStreamDevice.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK17chimStream/CumulantK17CompChimStreamDevice.cu @@ -86,61 +86,61 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChimStream( 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[E] = &distributions[E * size_Mat]; + dist.f[W] = &distributions[W * size_Mat]; + dist.f[N] = &distributions[N * size_Mat]; + dist.f[S] = &distributions[S * size_Mat]; + dist.f[T] = &distributions[T * size_Mat]; + dist.f[B] = &distributions[B * size_Mat]; + dist.f[NE] = &distributions[NE * size_Mat]; + dist.f[SW] = &distributions[SW * size_Mat]; + dist.f[SE] = &distributions[SE * size_Mat]; + dist.f[NW] = &distributions[NW * size_Mat]; + dist.f[TE] = &distributions[TE * size_Mat]; + dist.f[BW] = &distributions[BW * size_Mat]; + dist.f[BE] = &distributions[BE * size_Mat]; + dist.f[TW] = &distributions[TW * size_Mat]; + dist.f[TN] = &distributions[TN * size_Mat]; + dist.f[BS] = &distributions[BS * size_Mat]; + dist.f[BN] = &distributions[BN * size_Mat]; + dist.f[TS] = &distributions[TS * 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[TNE] = &distributions[TNE * size_Mat]; + dist.f[TSW] = &distributions[TSW * size_Mat]; + dist.f[TSE] = &distributions[TSE * size_Mat]; + dist.f[TNW] = &distributions[TNW * size_Mat]; + dist.f[BNE] = &distributions[BNE * size_Mat]; + dist.f[BSW] = &distributions[BSW * size_Mat]; + dist.f[BSE] = &distributions[BSE * size_Mat]; + dist.f[BNW] = &distributions[BNW * size_Mat]; } 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[W] = &distributions[E * size_Mat]; + dist.f[E] = &distributions[W * size_Mat]; + dist.f[S] = &distributions[N * size_Mat]; + dist.f[N] = &distributions[S * size_Mat]; + dist.f[B] = &distributions[T * size_Mat]; + dist.f[T] = &distributions[B * size_Mat]; + dist.f[SW] = &distributions[NE * size_Mat]; + dist.f[NE] = &distributions[SW * size_Mat]; + dist.f[NW] = &distributions[SE * size_Mat]; + dist.f[SE] = &distributions[NW * size_Mat]; + dist.f[BW] = &distributions[TE * size_Mat]; + dist.f[TE] = &distributions[BW * size_Mat]; + dist.f[TW] = &distributions[BE * size_Mat]; + dist.f[BE] = &distributions[TW * size_Mat]; + dist.f[BS] = &distributions[TN * size_Mat]; + dist.f[TN] = &distributions[BS * size_Mat]; + dist.f[TS] = &distributions[BN * size_Mat]; + dist.f[BN] = &distributions[TS * size_Mat]; dist.f[dirREST] = &distributions[dirREST * size_Mat]; - dist.f[dirBSW] = &distributions[dirTNE * size_Mat]; - dist.f[dirBNE] = &distributions[dirTSW * size_Mat]; - dist.f[dirBNW] = &distributions[dirTSE * size_Mat]; - dist.f[dirBSE] = &distributions[dirTNW * size_Mat]; - dist.f[dirTSW] = &distributions[dirBNE * size_Mat]; - dist.f[dirTNE] = &distributions[dirBSW * size_Mat]; - dist.f[dirTNW] = &distributions[dirBSE * size_Mat]; - dist.f[dirTSE] = &distributions[dirBNW * size_Mat]; + dist.f[BSW] = &distributions[TNE * size_Mat]; + dist.f[BNE] = &distributions[TSW * size_Mat]; + dist.f[BNW] = &distributions[TSE * size_Mat]; + dist.f[BSE] = &distributions[TNW * size_Mat]; + dist.f[TSW] = &distributions[BNE * size_Mat]; + dist.f[TNE] = &distributions[BSW * size_Mat]; + dist.f[TNW] = &distributions[BSE * size_Mat]; + dist.f[TSE] = &distributions[BNW * size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) @@ -154,33 +154,33 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChimStream( //////////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real mfcbb = (dist.f[dirE])[k]; - real mfabb = (dist.f[dirW])[kw]; - real mfbcb = (dist.f[dirN])[k]; - real mfbab = (dist.f[dirS])[ks]; - real mfbbc = (dist.f[dirT])[k]; - real mfbba = (dist.f[dirB])[kb]; - real mfccb = (dist.f[dirNE])[k]; - real mfaab = (dist.f[dirSW])[ksw]; - real mfcab = (dist.f[dirSE])[ks]; - real mfacb = (dist.f[dirNW])[kw]; - real mfcbc = (dist.f[dirTE])[k]; - real mfaba = (dist.f[dirBW])[kbw]; - real mfcba = (dist.f[dirBE])[kb]; - real mfabc = (dist.f[dirTW])[kw]; - real mfbcc = (dist.f[dirTN])[k]; - real mfbaa = (dist.f[dirBS])[kbs]; - real mfbca = (dist.f[dirBN])[kb]; - real mfbac = (dist.f[dirTS])[ks]; + real mfcbb = (dist.f[E])[k]; + real mfabb = (dist.f[W])[kw]; + real mfbcb = (dist.f[N])[k]; + real mfbab = (dist.f[S])[ks]; + real mfbbc = (dist.f[T])[k]; + real mfbba = (dist.f[B])[kb]; + real mfccb = (dist.f[NE])[k]; + real mfaab = (dist.f[SW])[ksw]; + real mfcab = (dist.f[SE])[ks]; + real mfacb = (dist.f[NW])[kw]; + real mfcbc = (dist.f[TE])[k]; + real mfaba = (dist.f[BW])[kbw]; + real mfcba = (dist.f[BE])[kb]; + real mfabc = (dist.f[TW])[kw]; + real mfbcc = (dist.f[TN])[k]; + real mfbaa = (dist.f[BS])[kbs]; + real mfbca = (dist.f[BN])[kb]; + real mfbac = (dist.f[TS])[ks]; real mfbbb = (dist.f[dirREST])[k]; - real mfccc = (dist.f[dirTNE])[k]; - real mfaac = (dist.f[dirTSW])[ksw]; - real mfcac = (dist.f[dirTSE])[ks]; - real mfacc = (dist.f[dirTNW])[kw]; - real mfcca = (dist.f[dirBNE])[kb]; - real mfaaa = (dist.f[dirBSW])[kbsw]; - real mfcaa = (dist.f[dirBSE])[kbs]; - real mfaca = (dist.f[dirBNW])[kbw]; + real mfccc = (dist.f[TNE])[k]; + real mfaac = (dist.f[TSW])[ksw]; + real mfcac = (dist.f[TSE])[ks]; + real mfacc = (dist.f[TNW])[kw]; + real mfcca = (dist.f[BNE])[kb]; + real mfaaa = (dist.f[BSW])[kbsw]; + real mfcaa = (dist.f[BSE])[kbs]; + real mfaca = (dist.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), @@ -608,32 +608,32 @@ extern "C" __global__ void LB_Kernel_CumulantK17CompChimStream( //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), //! DOI:10.3390/computation5020019 ]</b></a> //! - (dist.f[dirE])[k] = mfabb; - (dist.f[dirW])[kw] = mfcbb; - (dist.f[dirN])[k] = mfbab; - (dist.f[dirS])[ks] = mfbcb; - (dist.f[dirT])[k] = mfbba; - (dist.f[dirB])[kb] = mfbbc; - (dist.f[dirNE])[k] = mfaab; - (dist.f[dirSW])[ksw] = mfccb; - (dist.f[dirSE])[ks] = mfacb; - (dist.f[dirNW])[kw] = mfcab; - (dist.f[dirTE])[k] = mfaba; - (dist.f[dirBW])[kbw] = mfcbc; - (dist.f[dirBE])[kb] = mfabc; - (dist.f[dirTW])[kw] = mfcba; - (dist.f[dirTN])[k] = mfbaa; - (dist.f[dirBS])[kbs] = mfbcc; - (dist.f[dirBN])[kb] = mfbac; - (dist.f[dirTS])[ks] = mfbca; + (dist.f[E])[k] = mfabb; + (dist.f[W])[kw] = mfcbb; + (dist.f[N])[k] = mfbab; + (dist.f[S])[ks] = mfbcb; + (dist.f[T])[k] = mfbba; + (dist.f[B])[kb] = mfbbc; + (dist.f[NE])[k] = mfaab; + (dist.f[SW])[ksw] = mfccb; + (dist.f[SE])[ks] = mfacb; + (dist.f[NW])[kw] = mfcab; + (dist.f[TE])[k] = mfaba; + (dist.f[BW])[kbw] = mfcbc; + (dist.f[BE])[kb] = mfabc; + (dist.f[TW])[kw] = mfcba; + (dist.f[TN])[k] = mfbaa; + (dist.f[BS])[kbs] = mfbcc; + (dist.f[BN])[kb] = mfbac; + (dist.f[TS])[ks] = mfbca; (dist.f[dirREST])[k] = mfbbb; - (dist.f[dirTNE])[k] = mfaaa; - (dist.f[dirTSE])[ks] = mfaca; - (dist.f[dirBNE])[kb] = mfaac; - (dist.f[dirBSE])[kbs] = mfacc; - (dist.f[dirTNW])[kw] = mfcaa; - (dist.f[dirTSW])[ksw] = mfcca; - (dist.f[dirBNW])[kbw] = mfcac; - (dist.f[dirBSW])[kbsw] = mfccc; + (dist.f[TNE])[k] = mfaaa; + (dist.f[TSE])[ks] = mfaca; + (dist.f[BNE])[kb] = mfaac; + (dist.f[BSE])[kbs] = mfacc; + (dist.f[TNW])[kw] = mfcaa; + (dist.f[TSW])[ksw] = mfcca; + (dist.f[BNW])[kbw] = mfcac; + (dist.f[BSW])[kbsw] = mfccc; } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK18/CumulantK18Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK18/CumulantK18Comp_Device.cu index 226e7ba12..443a5252d 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK18/CumulantK18Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK18/CumulantK18Comp_Device.cu @@ -41,83 +41,83 @@ extern "C" __global__ void LB_Kernel_CumulantK18Comp( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions6 G; if (EvenOrOdd == true) { - G.g[dirE] = &G6[dirE *size_Mat]; - G.g[dirW] = &G6[dirW *size_Mat]; - G.g[dirN] = &G6[dirN *size_Mat]; - G.g[dirS] = &G6[dirS *size_Mat]; - G.g[dirT] = &G6[dirT *size_Mat]; - G.g[dirB] = &G6[dirB *size_Mat]; + G.g[E] = &G6[E *size_Mat]; + G.g[W] = &G6[W *size_Mat]; + G.g[N] = &G6[N *size_Mat]; + G.g[S] = &G6[S *size_Mat]; + G.g[T] = &G6[T *size_Mat]; + G.g[B] = &G6[B *size_Mat]; } else { - G.g[dirW] = &G6[dirE *size_Mat]; - G.g[dirE] = &G6[dirW *size_Mat]; - G.g[dirS] = &G6[dirN *size_Mat]; - G.g[dirN] = &G6[dirS *size_Mat]; - G.g[dirB] = &G6[dirT *size_Mat]; - G.g[dirT] = &G6[dirB *size_Mat]; + G.g[W] = &G6[E *size_Mat]; + G.g[E] = &G6[W *size_Mat]; + G.g[S] = &G6[N *size_Mat]; + G.g[N] = &G6[S *size_Mat]; + G.g[B] = &G6[T *size_Mat]; + G.g[T] = &G6[B *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -151,43 +151,43 @@ extern "C" __global__ void LB_Kernel_CumulantK18Comp( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = (G.g[dirE])[k]; - real mgabb = (G.g[dirW])[kw]; - real mgbcb = (G.g[dirN])[k]; - real mgbab = (G.g[dirS])[ks]; - real mgbbc = (G.g[dirT])[k]; - real mgbba = (G.g[dirB])[kb]; + real mgcbb = (G.g[E])[k]; + real mgabb = (G.g[W])[kw]; + real mgbcb = (G.g[N])[k]; + real mgbab = (G.g[S])[ks]; + real mgbbc = (G.g[T])[k]; + real mgbba = (G.g[B])[kb]; real dxxux = c1o2 * (-mgcbb + mgabb); real dyyuy = c1o2 * (-mgbcb + mgbab); real dzzuz = c1o2 * (-mgbbc + mgbba); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -914,41 +914,41 @@ extern "C" __global__ void LB_Kernel_CumulantK18Comp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; - //////////////////////////////////////////////////////////////////////////////////// - - (G.g[dirE])[k] = mgabb; - (G.g[dirW])[kw] = mgcbb; - (G.g[dirN])[k] = mgbab; - (G.g[dirS])[ks] = mgbcb; - (G.g[dirT])[k] = mgbba; - (G.g[dirB])[kb] = mgbbc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; + //////////////////////////////////////////////////////////////////////////////////// + + (G.g[E])[k] = mgabb; + (G.g[W])[kw] = mgcbb; + (G.g[N])[k] = mgbab; + (G.g[S])[ks] = mgbcb; + (G.g[T])[k] = mgbba; + (G.g[B])[kb] = mgbbc; } } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK20/CumulantK20Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK20/CumulantK20Comp_Device.cu index b86e5dab5..ec10076b3 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK20/CumulantK20Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/CumulantK20/CumulantK20Comp_Device.cu @@ -41,83 +41,83 @@ extern "C" __global__ void LB_Kernel_CumulantK20Comp( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } Distributions6 G; if (EvenOrOdd == true) { - G.g[dirE] = &G6[dirE *size_Mat]; - G.g[dirW] = &G6[dirW *size_Mat]; - G.g[dirN] = &G6[dirN *size_Mat]; - G.g[dirS] = &G6[dirS *size_Mat]; - G.g[dirT] = &G6[dirT *size_Mat]; - G.g[dirB] = &G6[dirB *size_Mat]; + G.g[E] = &G6[E *size_Mat]; + G.g[W] = &G6[W *size_Mat]; + G.g[N] = &G6[N *size_Mat]; + G.g[S] = &G6[S *size_Mat]; + G.g[T] = &G6[T *size_Mat]; + G.g[B] = &G6[B *size_Mat]; } else { - G.g[dirW] = &G6[dirE *size_Mat]; - G.g[dirE] = &G6[dirW *size_Mat]; - G.g[dirS] = &G6[dirN *size_Mat]; - G.g[dirN] = &G6[dirS *size_Mat]; - G.g[dirB] = &G6[dirT *size_Mat]; - G.g[dirT] = &G6[dirB *size_Mat]; + G.g[W] = &G6[E *size_Mat]; + G.g[E] = &G6[W *size_Mat]; + G.g[S] = &G6[N *size_Mat]; + G.g[N] = &G6[S *size_Mat]; + G.g[B] = &G6[T *size_Mat]; + G.g[T] = &G6[B *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -150,43 +150,43 @@ extern "C" __global__ void LB_Kernel_CumulantK20Comp( //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mgcbb = (G.g[dirE])[k]; - real mgabb = (G.g[dirW])[kw]; - real mgbcb = (G.g[dirN])[k]; - real mgbab = (G.g[dirS])[ks]; - real mgbbc = (G.g[dirT])[k]; - real mgbba = (G.g[dirB])[kb]; + real mgcbb = (G.g[E])[k]; + real mgabb = (G.g[W])[kw]; + real mgbcb = (G.g[N])[k]; + real mgbab = (G.g[S])[ks]; + real mgbbc = (G.g[T])[k]; + real mgbba = (G.g[B])[kb]; real dxuxdxux = c1o2 * (-mgcbb + mgabb); real dyuydyuy = c1o2 * (-mgbcb + mgbab); real dzuzdzuz = c1o2 * (-mgbbc + mgbba); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -918,41 +918,41 @@ extern "C" __global__ void LB_Kernel_CumulantK20Comp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; - //////////////////////////////////////////////////////////////////////////////////// - - (G.g[dirE])[k] = mgabb; - (G.g[dirW])[kw] = mgcbb; - (G.g[dirN])[k] = mgbab; - (G.g[dirS])[ks] = mgbcb; - (G.g[dirT])[k] = mgbba; - (G.g[dirB])[kb] = mgbbc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; + //////////////////////////////////////////////////////////////////////////////////// + + (G.g[E])[k] = mgabb; + (G.g[W])[kw] = mgcbb; + (G.g[N])[k] = mgbab; + (G.g[S])[ks] = mgbcb; + (G.g[T])[k] = mgbba; + (G.g[B])[kb] = mgbbc; } } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/MRT/MRTCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/MRT/MRTCompSP27_Device.cu index 785f9c75e..73706f905 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/MRT/MRTCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/MRT/MRTCompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_MRT_Comp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_MRT_Comp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// real rho = (mfccc + mfaaa + mfaca + mfcac + mfacc + mfcaa + mfaac + mfcca + mfbac + mfbca + mfbaa + mfbcc + mfabc + mfcba + mfaba + mfcbc + mfacb + mfcab + mfaab + mfccb + @@ -738,33 +738,33 @@ extern "C" __global__ void LB_Kernel_MRT_Comp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGK/BGKIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGK/BGKIncompSP27_Device.cu index 6b744f814..624895021 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGK/BGKIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGK/BGKIncompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_BGK_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_BGK_Incomp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real fE = (D.f[dirE])[k];//ke - real fW = (D.f[dirW])[kw]; - real fN = (D.f[dirN])[k];//kn - real fS = (D.f[dirS])[ks]; - real fT = (D.f[dirT])[k];//kt - real fB = (D.f[dirB])[kb]; - real fNE = (D.f[dirNE])[k];//kne - real fSW = (D.f[dirSW])[ksw]; - real fSE = (D.f[dirSE])[ks];//kse - real fNW = (D.f[dirNW])[kw];//knw - real fTE = (D.f[dirTE])[k];//kte - real fBW = (D.f[dirBW])[kbw]; - real fBE = (D.f[dirBE])[kb];//kbe - real fTW = (D.f[dirTW])[kw];//ktw - real fTN = (D.f[dirTN])[k];//ktn - real fBS = (D.f[dirBS])[kbs]; - real fBN = (D.f[dirBN])[kb];//kbn - real fTS = (D.f[dirTS])[ks];//kts + real fE = (D.f[E])[k];//ke + real fW = (D.f[W])[kw]; + real fN = (D.f[N])[k];//kn + real fS = (D.f[S])[ks]; + real fT = (D.f[T])[k];//kt + real fB = (D.f[B])[kb]; + real fNE = (D.f[NE])[k];//kne + real fSW = (D.f[SW])[ksw]; + real fSE = (D.f[SE])[ks];//kse + real fNW = (D.f[NW])[kw];//knw + real fTE = (D.f[TE])[k];//kte + real fBW = (D.f[BW])[kbw]; + real fBE = (D.f[BE])[kb];//kbe + real fTW = (D.f[TW])[kw];//ktw + real fTN = (D.f[TN])[k];//ktn + real fBS = (D.f[BS])[kbs]; + real fBN = (D.f[BN])[kb];//kbn + real fTS = (D.f[TS])[ks];//kts real fZERO = (D.f[dirREST])[k];//kzero - real fTNE = (D.f[dirTNE])[k];//ktne - real fTSW = (D.f[dirTSW])[ksw];//ktsw - real fTSE = (D.f[dirTSE])[ks];//ktse - real fTNW = (D.f[dirTNW])[kw];//ktnw - real fBNE = (D.f[dirBNE])[kb];//kbne - real fBSW = (D.f[dirBSW])[kbsw]; - real fBSE = (D.f[dirBSE])[kbs];//kbse - real fBNW = (D.f[dirBNW])[kbw];//kbnw + real fTNE = (D.f[TNE])[k];//ktne + real fTSW = (D.f[TSW])[ksw];//ktsw + real fTSE = (D.f[TSE])[ks];//ktse + real fTNW = (D.f[TNW])[kw];//ktnw + real fBNE = (D.f[BNE])[kb];//kbne + real fBSW = (D.f[BSW])[kbsw]; + real fBSE = (D.f[BSE])[kbs];//kbse + real fBNW = (D.f[BNW])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////// @@ -205,33 +205,33 @@ extern "C" __global__ void LB_Kernel_BGK_Incomp_SP_27(real omega, ////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = fW; - (D.f[dirW])[kw] = fE; - (D.f[dirN])[k] = fS; - (D.f[dirS])[ks] = fN; - (D.f[dirT])[k] = fB; - (D.f[dirB])[kb] = fT; - (D.f[dirNE])[k] = fSW; - (D.f[dirSW])[ksw] = fNE; - (D.f[dirSE])[ks] = fNW; - (D.f[dirNW])[kw] = fSE; - (D.f[dirTE])[k] = fBW; - (D.f[dirBW])[kbw] = fTE; - (D.f[dirBE])[kb] = fTW; - (D.f[dirTW])[kw] = fBE; - (D.f[dirTN])[k] = fBS; - (D.f[dirBS])[kbs] = fTN; - (D.f[dirBN])[kb] = fTS; - (D.f[dirTS])[ks] = fBN; + (D.f[E])[k] = fW; + (D.f[W])[kw] = fE; + (D.f[N])[k] = fS; + (D.f[S])[ks] = fN; + (D.f[T])[k] = fB; + (D.f[B])[kb] = fT; + (D.f[NE])[k] = fSW; + (D.f[SW])[ksw] = fNE; + (D.f[SE])[ks] = fNW; + (D.f[NW])[kw] = fSE; + (D.f[TE])[k] = fBW; + (D.f[BW])[kbw] = fTE; + (D.f[BE])[kb] = fTW; + (D.f[TW])[kw] = fBE; + (D.f[TN])[k] = fBS; + (D.f[BS])[kbs] = fTN; + (D.f[BN])[kb] = fTS; + (D.f[TS])[ks] = fBN; (D.f[dirREST])[k] = fZERO; - (D.f[dirTNE])[k] = fBSW; - (D.f[dirTSE])[ks] = fBNW; - (D.f[dirBNE])[kb] = fTSW; - (D.f[dirBSE])[kbs] = fTNW; - (D.f[dirTNW])[kw] = fBSE; - (D.f[dirTSW])[ksw] = fBNE; - (D.f[dirBNW])[kbw] = fTSE; - (D.f[dirBSW])[kbsw] = fTNE; + (D.f[TNE])[k] = fBSW; + (D.f[TSE])[ks] = fBNW; + (D.f[BNE])[kb] = fTSW; + (D.f[BSE])[kbs] = fTNW; + (D.f[TNW])[kw] = fBSE; + (D.f[TSW])[ksw] = fBNE; + (D.f[BNW])[kbw] = fTSE; + (D.f[BSW])[kbsw] = fTNE; ////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGKPlus/BGKPlusIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGKPlus/BGKPlusIncompSP27_Device.cu index 20714d4b1..5950c1d94 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGKPlus/BGKPlusIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/BGKPlus/BGKPlusIncompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Incomp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -723,33 +723,33 @@ extern "C" __global__ void LB_Kernel_BGK_Plus_Incomp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cascade/CascadeIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cascade/CascadeIncompSP27_Device.cu index 8dc7550ed..3292f3309 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cascade/CascadeIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cascade/CascadeIncompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_Cascade_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_Cascade_Incomp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -727,33 +727,33 @@ extern "C" __global__ void LB_Kernel_Cascade_Incomp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cumulant1hSP27/Cumulant1hIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cumulant1hSP27/Cumulant1hIncompSP27_Device.cu index e5abf62f2..55e3bac0a 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cumulant1hSP27/Cumulant1hIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/Cumulant1hSP27/Cumulant1hIncompSP27_Device.cu @@ -41,63 +41,63 @@ extern "C" __global__ void LB_Kernel_Cum_1h_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -158,33 +158,33 @@ extern "C" __global__ void LB_Kernel_Cum_1h_Incomp_SP_27(real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //Ship real coord0X = 281.125f;//7.5f; @@ -1160,33 +1160,33 @@ extern "C" __global__ void LB_Kernel_Cum_1h_Incomp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantIsoSP27/CumulantIsoIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantIsoSP27/CumulantIsoIncompSP27_Device.cu index 48de59c82..513406ed8 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantIsoSP27/CumulantIsoIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantIsoSP27/CumulantIsoIncompSP27_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Kernel_Cum_IsoTest_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -128,33 +128,33 @@ extern "C" __global__ void LB_Kernel_Cum_IsoTest_Incomp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -972,33 +972,33 @@ extern "C" __global__ void LB_Kernel_Cum_IsoTest_Incomp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantK15/CumulantK15Incomp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantK15/CumulantK15Incomp_Device.cu index 17df4e3a8..e4b8d27bd 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantK15/CumulantK15Incomp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/CumulantK15/CumulantK15Incomp_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_CumulantK15Incomp(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -153,33 +153,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15Incomp(real omega, //unsigned int ktne = k; //unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -1205,33 +1205,33 @@ extern "C" __global__ void LB_Kernel_CumulantK15Incomp(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/MRT/MRTIncompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/MRT/MRTIncompSP27_Device.cu index 54b6840d6..ca7cfe80a 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/MRT/MRTIncompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Incompressible/MRT/MRTIncompSP27_Device.cu @@ -36,63 +36,63 @@ extern "C" __global__ void LB_Kernel_MRT_Incomp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -125,33 +125,33 @@ extern "C" __global__ void LB_Kernel_MRT_Incomp_SP_27(real omega, //unsigned int ktne = k; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k];//[ke ];// + c2over27 ;(D.f[dirE ])[k ];//ke - real mfabb = (D.f[dirW])[kw];//[kw ];// + c2over27 ;(D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN])[k];//[kn ];// + c2over27 ;(D.f[dirN ])[k ];//kn - real mfbab = (D.f[dirS])[ks];//[ks ];// + c2over27 ;(D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT])[k];//[kt ];// + c2over27 ;(D.f[dirT ])[k ];//kt - real mfbba = (D.f[dirB])[kb];//[kb ];// + c2over27 ;(D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE])[k];//[kne ];// + c1over54 ;(D.f[dirNE ])[k ];//kne - real mfaab = (D.f[dirSW])[ksw];//[ksw ];// + c1over54 ;(D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE])[ks];//[kse ];// + c1over54 ;(D.f[dirSE ])[ks ];//kse - real mfacb = (D.f[dirNW])[kw];//[knw ];// + c1over54 ;(D.f[dirNW ])[kw ];//knw - real mfcbc = (D.f[dirTE])[k];//[kte ];// + c1over54 ;(D.f[dirTE ])[k ];//kte - real mfaba = (D.f[dirBW])[kbw];//[kbw ];// + c1over54 ;(D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE])[kb];//[kbe ];// + c1over54 ;(D.f[dirBE ])[kb ];//kbe - real mfabc = (D.f[dirTW])[kw];//[ktw ];// + c1over54 ;(D.f[dirTW ])[kw ];//ktw - real mfbcc = (D.f[dirTN])[k];//[ktn ];// + c1over54 ;(D.f[dirTN ])[k ];//ktn - real mfbaa = (D.f[dirBS])[kbs];//[kbs ];// + c1over54 ;(D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN])[kb];//[kbn ];// + c1over54 ;(D.f[dirBN ])[kb ];//kbn - real mfbac = (D.f[dirTS])[ks];//[kts ];// + c1over54 ;(D.f[dirTS ])[ks ];//kts + real mfcbb = (D.f[E])[k];//[ke ];// + c2over27 ;(D.f[E ])[k ];//ke + real mfabb = (D.f[W])[kw];//[kw ];// + c2over27 ;(D.f[W ])[kw ]; + real mfbcb = (D.f[N])[k];//[kn ];// + c2over27 ;(D.f[N ])[k ];//kn + real mfbab = (D.f[S])[ks];//[ks ];// + c2over27 ;(D.f[S ])[ks ]; + real mfbbc = (D.f[T])[k];//[kt ];// + c2over27 ;(D.f[T ])[k ];//kt + real mfbba = (D.f[B])[kb];//[kb ];// + c2over27 ;(D.f[B ])[kb ]; + real mfccb = (D.f[NE])[k];//[kne ];// + c1over54 ;(D.f[NE ])[k ];//kne + real mfaab = (D.f[SW])[ksw];//[ksw ];// + c1over54 ;(D.f[SW ])[ksw]; + real mfcab = (D.f[SE])[ks];//[kse ];// + c1over54 ;(D.f[SE ])[ks ];//kse + real mfacb = (D.f[NW])[kw];//[knw ];// + c1over54 ;(D.f[NW ])[kw ];//knw + real mfcbc = (D.f[TE])[k];//[kte ];// + c1over54 ;(D.f[TE ])[k ];//kte + real mfaba = (D.f[BW])[kbw];//[kbw ];// + c1over54 ;(D.f[BW ])[kbw]; + real mfcba = (D.f[BE])[kb];//[kbe ];// + c1over54 ;(D.f[BE ])[kb ];//kbe + real mfabc = (D.f[TW])[kw];//[ktw ];// + c1over54 ;(D.f[TW ])[kw ];//ktw + real mfbcc = (D.f[TN])[k];//[ktn ];// + c1over54 ;(D.f[TN ])[k ];//ktn + real mfbaa = (D.f[BS])[kbs];//[kbs ];// + c1over54 ;(D.f[BS ])[kbs]; + real mfbca = (D.f[BN])[kb];//[kbn ];// + c1over54 ;(D.f[BN ])[kb ];//kbn + real mfbac = (D.f[TS])[ks];//[kts ];// + c1over54 ;(D.f[TS ])[ks ];//kts real mfbbb = (D.f[dirREST])[k];//[kzero];// + c8over27 ;(D.f[dirREST])[k ];//kzero - real mfccc = (D.f[dirTNE])[k];//[ktne ];// + c1over216;(D.f[dirTNE ])[k ];//ktne - real mfaac = (D.f[dirTSW])[ksw];//[ktsw ];// + c1over216;(D.f[dirTSW ])[ksw];//ktsw - real mfcac = (D.f[dirTSE])[ks];//[ktse ];// + c1over216;(D.f[dirTSE ])[ks ];//ktse - real mfacc = (D.f[dirTNW])[kw];//[ktnw ];// + c1over216;(D.f[dirTNW ])[kw ];//ktnw - real mfcca = (D.f[dirBNE])[kb];//[kbne ];// + c1over216;(D.f[dirBNE ])[kb ];//kbne - real mfaaa = (D.f[dirBSW])[kbsw];//[kbsw ];// + c1over216;(D.f[dirBSW ])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs];//[kbse ];// + c1over216;(D.f[dirBSE ])[kbs];//kbse - real mfaca = (D.f[dirBNW])[kbw];//[kbnw ];// + c1over216;(D.f[dirBNW ])[kbw];//kbnw + real mfccc = (D.f[TNE])[k];//[ktne ];// + c1over216;(D.f[TNE ])[k ];//ktne + real mfaac = (D.f[TSW])[ksw];//[ktsw ];// + c1over216;(D.f[TSW ])[ksw];//ktsw + real mfcac = (D.f[TSE])[ks];//[ktse ];// + c1over216;(D.f[TSE ])[ks ];//ktse + real mfacc = (D.f[TNW])[kw];//[ktnw ];// + c1over216;(D.f[TNW ])[kw ];//ktnw + real mfcca = (D.f[BNE])[kb];//[kbne ];// + c1over216;(D.f[BNE ])[kb ];//kbne + real mfaaa = (D.f[BSW])[kbsw];//[kbsw ];// + c1over216;(D.f[BSW ])[kbsw]; + real mfcaa = (D.f[BSE])[kbs];//[kbse ];// + c1over216;(D.f[BSE ])[kbs];//kbse + real mfaca = (D.f[BNW])[kbw];//[kbnw ];// + c1over216;(D.f[BNW ])[kbw];//kbnw //////////////////////////////////////////////////////////////////////////////////// //slow //real oMdrho = one - ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + @@ -730,33 +730,33 @@ extern "C" __global__ void LB_Kernel_MRT_Incomp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb;//(D.f[ dirE ])[ke ] = mfabb;// - c2over27 ; (D.f[ dirE ])[k ] - (D.f[dirW])[kw] = mfcbb;//(D.f[ dirW ])[kw ] = mfcbb;// - c2over27 ; (D.f[ dirW ])[kw ] - (D.f[dirN])[k] = mfbab;//(D.f[ dirN ])[kn ] = mfbab;// - c2over27 ; (D.f[ dirN ])[k ] - (D.f[dirS])[ks] = mfbcb;//(D.f[ dirS ])[ks ] = mfbcb;// - c2over27 ; (D.f[ dirS ])[ks ] - (D.f[dirT])[k] = mfbba;//(D.f[ dirT ])[kt ] = mfbba;// - c2over27 ; (D.f[ dirT ])[k ] - (D.f[dirB])[kb] = mfbbc;//(D.f[ dirB ])[kb ] = mfbbc;// - c2over27 ; (D.f[ dirB ])[kb ] - (D.f[dirNE])[k] = mfaab;//(D.f[ dirNE ])[kne ] = mfaab;// - c1over54 ; (D.f[ dirNE ])[k ] - (D.f[dirSW])[ksw] = mfccb;//(D.f[ dirSW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ dirSW ])[ksw ] - (D.f[dirSE])[ks] = mfacb;//(D.f[ dirSE ])[kse ] = mfacb;// - c1over54 ; (D.f[ dirSE ])[ks ] - (D.f[dirNW])[kw] = mfcab;//(D.f[ dirNW ])[knw ] = mfcab;// - c1over54 ; (D.f[ dirNW ])[kw ] - (D.f[dirTE])[k] = mfaba;//(D.f[ dirTE ])[kte ] = mfaba;// - c1over54 ; (D.f[ dirTE ])[k ] - (D.f[dirBW])[kbw] = mfcbc;//(D.f[ dirBW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ dirBW ])[kbw ] - (D.f[dirBE])[kb] = mfabc;//(D.f[ dirBE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ dirBE ])[kb ] - (D.f[dirTW])[kw] = mfcba;//(D.f[ dirTW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ dirTW ])[kw ] - (D.f[dirTN])[k] = mfbaa;//(D.f[ dirTN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ dirTN ])[k ] - (D.f[dirBS])[kbs] = mfbcc;//(D.f[ dirBS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ dirBS ])[kbs ] - (D.f[dirBN])[kb] = mfbac;//(D.f[ dirBN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ dirBN ])[kb ] - (D.f[dirTS])[ks] = mfbca;//(D.f[ dirTS ])[kts ] = mfbca;// - c1over54 ; (D.f[ dirTS ])[ks ] + (D.f[E])[k] = mfabb;//(D.f[ E ])[ke ] = mfabb;// - c2over27 ; (D.f[ E ])[k ] + (D.f[W])[kw] = mfcbb;//(D.f[ W ])[kw ] = mfcbb;// - c2over27 ; (D.f[ W ])[kw ] + (D.f[N])[k] = mfbab;//(D.f[ N ])[kn ] = mfbab;// - c2over27 ; (D.f[ N ])[k ] + (D.f[S])[ks] = mfbcb;//(D.f[ S ])[ks ] = mfbcb;// - c2over27 ; (D.f[ S ])[ks ] + (D.f[T])[k] = mfbba;//(D.f[ T ])[kt ] = mfbba;// - c2over27 ; (D.f[ T ])[k ] + (D.f[B])[kb] = mfbbc;//(D.f[ B ])[kb ] = mfbbc;// - c2over27 ; (D.f[ B ])[kb ] + (D.f[NE])[k] = mfaab;//(D.f[ NE ])[kne ] = mfaab;// - c1over54 ; (D.f[ NE ])[k ] + (D.f[SW])[ksw] = mfccb;//(D.f[ SW ])[ksw ] = mfccb;// - c1over54 ; (D.f[ SW ])[ksw ] + (D.f[SE])[ks] = mfacb;//(D.f[ SE ])[kse ] = mfacb;// - c1over54 ; (D.f[ SE ])[ks ] + (D.f[NW])[kw] = mfcab;//(D.f[ NW ])[knw ] = mfcab;// - c1over54 ; (D.f[ NW ])[kw ] + (D.f[TE])[k] = mfaba;//(D.f[ TE ])[kte ] = mfaba;// - c1over54 ; (D.f[ TE ])[k ] + (D.f[BW])[kbw] = mfcbc;//(D.f[ BW ])[kbw ] = mfcbc;// - c1over54 ; (D.f[ BW ])[kbw ] + (D.f[BE])[kb] = mfabc;//(D.f[ BE ])[kbe ] = mfabc;// - c1over54 ; (D.f[ BE ])[kb ] + (D.f[TW])[kw] = mfcba;//(D.f[ TW ])[ktw ] = mfcba;// - c1over54 ; (D.f[ TW ])[kw ] + (D.f[TN])[k] = mfbaa;//(D.f[ TN ])[ktn ] = mfbaa;// - c1over54 ; (D.f[ TN ])[k ] + (D.f[BS])[kbs] = mfbcc;//(D.f[ BS ])[kbs ] = mfbcc;// - c1over54 ; (D.f[ BS ])[kbs ] + (D.f[BN])[kb] = mfbac;//(D.f[ BN ])[kbn ] = mfbac;// - c1over54 ; (D.f[ BN ])[kb ] + (D.f[TS])[ks] = mfbca;//(D.f[ TS ])[kts ] = mfbca;// - c1over54 ; (D.f[ TS ])[ks ] (D.f[dirREST])[k] = mfbbb;//(D.f[ dirREST])[kzero] = mfbbb;// - c8over27 ; (D.f[ dirREST])[k ] - (D.f[dirTNE])[k] = mfaaa;//(D.f[ dirTNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ dirTNE ])[k ] - (D.f[dirTSE])[ks] = mfaca;//(D.f[ dirTSE ])[ktse ] = mfaca;// - c1over216; (D.f[ dirTSE ])[ks ] - (D.f[dirBNE])[kb] = mfaac;//(D.f[ dirBNE ])[kbne ] = mfaac;// - c1over216; (D.f[ dirBNE ])[kb ] - (D.f[dirBSE])[kbs] = mfacc;//(D.f[ dirBSE ])[kbse ] = mfacc;// - c1over216; (D.f[ dirBSE ])[kbs ] - (D.f[dirTNW])[kw] = mfcaa;//(D.f[ dirTNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ dirTNW ])[kw ] - (D.f[dirTSW])[ksw] = mfcca;//(D.f[ dirTSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ dirTSW ])[ksw ] - (D.f[dirBNW])[kbw] = mfcac;//(D.f[ dirBNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ dirBNW ])[kbw ] - (D.f[dirBSW])[kbsw] = mfccc;//(D.f[ dirBSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ dirBSW ])[kbsw] + (D.f[TNE])[k] = mfaaa;//(D.f[ TNE ])[ktne ] = mfaaa;// - c1over216; (D.f[ TNE ])[k ] + (D.f[TSE])[ks] = mfaca;//(D.f[ TSE ])[ktse ] = mfaca;// - c1over216; (D.f[ TSE ])[ks ] + (D.f[BNE])[kb] = mfaac;//(D.f[ BNE ])[kbne ] = mfaac;// - c1over216; (D.f[ BNE ])[kb ] + (D.f[BSE])[kbs] = mfacc;//(D.f[ BSE ])[kbse ] = mfacc;// - c1over216; (D.f[ BSE ])[kbs ] + (D.f[TNW])[kw] = mfcaa;//(D.f[ TNW ])[ktnw ] = mfcaa;// - c1over216; (D.f[ TNW ])[kw ] + (D.f[TSW])[ksw] = mfcca;//(D.f[ TSW ])[ktsw ] = mfcca;// - c1over216; (D.f[ TSW ])[ksw ] + (D.f[BNW])[kbw] = mfcac;//(D.f[ BNW ])[kbnw ] = mfcac;// - c1over216; (D.f[ BNW ])[kbw ] + (D.f[BSW])[kbsw] = mfccc;//(D.f[ BSW ])[kbsw ] = mfccc;// - c1over216; (D.f[ BSW ])[kbsw] //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/FluidFlow/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/FluidFlow/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu index 22b175307..903aceba0 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/FluidFlow/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/PorousMediaKernels/FluidFlow/Compressible/CumulantOne/PMCumulantOneCompSP27_Device.cu @@ -23,63 +23,63 @@ extern "C" __global__ void LB_Kernel_PM_Cum_One_Comp_SP_27(real omega, Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -106,33 +106,33 @@ extern "C" __global__ void LB_Kernel_PM_Cum_One_Comp_SP_27(real omega, unsigned int kbs = neighborZ[ks]; unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -903,33 +903,33 @@ extern "C" __global__ void LB_Kernel_PM_Cum_One_Comp_SP_27(real omega, //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/TurbulentViscosityKernels/FluidFlow/Compressible/CumulantK17chim/TurbulentViscosityCumulantK17CompChim_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/TurbulentViscosityKernels/FluidFlow/Compressible/CumulantK17chim/TurbulentViscosityCumulantK17CompChim_Device.cu index d43be2a9d..0440f6161 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/TurbulentViscosityKernels/FluidFlow/Compressible/CumulantK17chim/TurbulentViscosityCumulantK17CompChim_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/TurbulentViscosityKernels/FluidFlow/Compressible/CumulantK17chim/TurbulentViscosityCumulantK17CompChim_Device.cu @@ -101,61 +101,61 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( //! 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[E] = &distributions[E * size_Mat]; + dist.f[W] = &distributions[W * size_Mat]; + dist.f[N] = &distributions[N * size_Mat]; + dist.f[S] = &distributions[S * size_Mat]; + dist.f[T] = &distributions[T * size_Mat]; + dist.f[B] = &distributions[B * size_Mat]; + dist.f[NE] = &distributions[NE * size_Mat]; + dist.f[SW] = &distributions[SW * size_Mat]; + dist.f[SE] = &distributions[SE * size_Mat]; + dist.f[NW] = &distributions[NW * size_Mat]; + dist.f[TE] = &distributions[TE * size_Mat]; + dist.f[BW] = &distributions[BW * size_Mat]; + dist.f[BE] = &distributions[BE * size_Mat]; + dist.f[TW] = &distributions[TW * size_Mat]; + dist.f[TN] = &distributions[TN * size_Mat]; + dist.f[BS] = &distributions[BS * size_Mat]; + dist.f[BN] = &distributions[BN * size_Mat]; + dist.f[TS] = &distributions[TS * 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[TNE] = &distributions[TNE * size_Mat]; + dist.f[TSW] = &distributions[TSW * size_Mat]; + dist.f[TSE] = &distributions[TSE * size_Mat]; + dist.f[TNW] = &distributions[TNW * size_Mat]; + dist.f[BNE] = &distributions[BNE * size_Mat]; + dist.f[BSW] = &distributions[BSW * size_Mat]; + dist.f[BSE] = &distributions[BSE * size_Mat]; + dist.f[BNW] = &distributions[BNW * size_Mat]; } 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[W] = &distributions[E * size_Mat]; + dist.f[E] = &distributions[W * size_Mat]; + dist.f[S] = &distributions[N * size_Mat]; + dist.f[N] = &distributions[S * size_Mat]; + dist.f[B] = &distributions[T * size_Mat]; + dist.f[T] = &distributions[B * size_Mat]; + dist.f[SW] = &distributions[NE * size_Mat]; + dist.f[NE] = &distributions[SW * size_Mat]; + dist.f[NW] = &distributions[SE * size_Mat]; + dist.f[SE] = &distributions[NW * size_Mat]; + dist.f[BW] = &distributions[TE * size_Mat]; + dist.f[TE] = &distributions[BW * size_Mat]; + dist.f[TW] = &distributions[BE * size_Mat]; + dist.f[BE] = &distributions[TW * size_Mat]; + dist.f[BS] = &distributions[TN * size_Mat]; + dist.f[TN] = &distributions[BS * size_Mat]; + dist.f[TS] = &distributions[BN * size_Mat]; + dist.f[BN] = &distributions[TS * size_Mat]; dist.f[dirREST] = &distributions[dirREST * size_Mat]; - dist.f[dirBSW] = &distributions[dirTNE * size_Mat]; - dist.f[dirBNE] = &distributions[dirTSW * size_Mat]; - dist.f[dirBNW] = &distributions[dirTSE * size_Mat]; - dist.f[dirBSE] = &distributions[dirTNW * size_Mat]; - dist.f[dirTSW] = &distributions[dirBNE * size_Mat]; - dist.f[dirTNE] = &distributions[dirBSW * size_Mat]; - dist.f[dirTNW] = &distributions[dirBSE * size_Mat]; - dist.f[dirTSE] = &distributions[dirBNW * size_Mat]; + dist.f[BSW] = &distributions[TNE * size_Mat]; + dist.f[BNE] = &distributions[TSW * size_Mat]; + dist.f[BNW] = &distributions[TSE * size_Mat]; + dist.f[BSE] = &distributions[TNW * size_Mat]; + dist.f[TSW] = &distributions[BNE * size_Mat]; + dist.f[TNE] = &distributions[BSW * size_Mat]; + dist.f[TNW] = &distributions[BSE * size_Mat]; + dist.f[TSE] = &distributions[BNW * size_Mat]; } //////////////////////////////////////////////////////////////////////////////// //! - Set neighbor indices (necessary for indirect addressing) @@ -169,33 +169,33 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( //////////////////////////////////////////////////////////////////////////////////// //! - Set local distributions //! - real mfcbb = (dist.f[dirE])[k]; - real mfabb = (dist.f[dirW])[kw]; - real mfbcb = (dist.f[dirN])[k]; - real mfbab = (dist.f[dirS])[ks]; - real mfbbc = (dist.f[dirT])[k]; - real mfbba = (dist.f[dirB])[kb]; - real mfccb = (dist.f[dirNE])[k]; - real mfaab = (dist.f[dirSW])[ksw]; - real mfcab = (dist.f[dirSE])[ks]; - real mfacb = (dist.f[dirNW])[kw]; - real mfcbc = (dist.f[dirTE])[k]; - real mfaba = (dist.f[dirBW])[kbw]; - real mfcba = (dist.f[dirBE])[kb]; - real mfabc = (dist.f[dirTW])[kw]; - real mfbcc = (dist.f[dirTN])[k]; - real mfbaa = (dist.f[dirBS])[kbs]; - real mfbca = (dist.f[dirBN])[kb]; - real mfbac = (dist.f[dirTS])[ks]; + real mfcbb = (dist.f[E])[k]; + real mfabb = (dist.f[W])[kw]; + real mfbcb = (dist.f[N])[k]; + real mfbab = (dist.f[S])[ks]; + real mfbbc = (dist.f[T])[k]; + real mfbba = (dist.f[B])[kb]; + real mfccb = (dist.f[NE])[k]; + real mfaab = (dist.f[SW])[ksw]; + real mfcab = (dist.f[SE])[ks]; + real mfacb = (dist.f[NW])[kw]; + real mfcbc = (dist.f[TE])[k]; + real mfaba = (dist.f[BW])[kbw]; + real mfcba = (dist.f[BE])[kb]; + real mfabc = (dist.f[TW])[kw]; + real mfbcc = (dist.f[TN])[k]; + real mfbaa = (dist.f[BS])[kbs]; + real mfbca = (dist.f[BN])[kb]; + real mfbac = (dist.f[TS])[ks]; real mfbbb = (dist.f[dirREST])[k]; - real mfccc = (dist.f[dirTNE])[k]; - real mfaac = (dist.f[dirTSW])[ksw]; - real mfcac = (dist.f[dirTSE])[ks]; - real mfacc = (dist.f[dirTNW])[kw]; - real mfcca = (dist.f[dirBNE])[kb]; - real mfaaa = (dist.f[dirBSW])[kbsw]; - real mfcaa = (dist.f[dirBSE])[kbs]; - real mfaca = (dist.f[dirBNW])[kbw]; + real mfccc = (dist.f[TNE])[k]; + real mfaac = (dist.f[TSW])[ksw]; + real mfcac = (dist.f[TSE])[ks]; + real mfacc = (dist.f[TNW])[kw]; + real mfcca = (dist.f[BNE])[kb]; + real mfaaa = (dist.f[BSW])[kbsw]; + real mfcaa = (dist.f[BSE])[kbs]; + real mfaca = (dist.f[BNW])[kbw]; //////////////////////////////////////////////////////(unsigned long)////////////////////////////// //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref //! <a href="https://doi.org/10.1016/j.camwa.2015.05.001"><b>[ M. Geier et al. (2015), @@ -693,33 +693,33 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( //! <a href="https://doi.org/10.3390/computation5020019"><b>[ M. Geier et al. (2017), //! DOI:10.3390/computation5020019 ]</b></a> //! - (dist.f[dirE])[k] = mfabb; - (dist.f[dirW])[kw] = mfcbb; - (dist.f[dirN])[k] = mfbab; - (dist.f[dirS])[ks] = mfbcb; - (dist.f[dirT])[k] = mfbba; - (dist.f[dirB])[kb] = mfbbc; - (dist.f[dirNE])[k] = mfaab; - (dist.f[dirSW])[ksw] = mfccb; - (dist.f[dirSE])[ks] = mfacb; - (dist.f[dirNW])[kw] = mfcab; - (dist.f[dirTE])[k] = mfaba; - (dist.f[dirBW])[kbw] = mfcbc; - (dist.f[dirBE])[kb] = mfabc; - (dist.f[dirTW])[kw] = mfcba; - (dist.f[dirTN])[k] = mfbaa; - (dist.f[dirBS])[kbs] = mfbcc; - (dist.f[dirBN])[kb] = mfbac; - (dist.f[dirTS])[ks] = mfbca; + (dist.f[E])[k] = mfabb; + (dist.f[W])[kw] = mfcbb; + (dist.f[N])[k] = mfbab; + (dist.f[S])[ks] = mfbcb; + (dist.f[T])[k] = mfbba; + (dist.f[B])[kb] = mfbbc; + (dist.f[NE])[k] = mfaab; + (dist.f[SW])[ksw] = mfccb; + (dist.f[SE])[ks] = mfacb; + (dist.f[NW])[kw] = mfcab; + (dist.f[TE])[k] = mfaba; + (dist.f[BW])[kbw] = mfcbc; + (dist.f[BE])[kb] = mfabc; + (dist.f[TW])[kw] = mfcba; + (dist.f[TN])[k] = mfbaa; + (dist.f[BS])[kbs] = mfbcc; + (dist.f[BN])[kb] = mfbac; + (dist.f[TS])[ks] = mfbca; (dist.f[dirREST])[k] = mfbbb; - (dist.f[dirTNE])[k] = mfaaa; - (dist.f[dirTSE])[ks] = mfaca; - (dist.f[dirBNE])[kb] = mfaac; - (dist.f[dirBSE])[kbs] = mfacc; - (dist.f[dirTNW])[kw] = mfcaa; - (dist.f[dirTSW])[ksw] = mfcca; - (dist.f[dirBNW])[kbw] = mfcac; - (dist.f[dirBSW])[kbsw] = mfccc; + (dist.f[TNE])[k] = mfaaa; + (dist.f[TSE])[ks] = mfaca; + (dist.f[BNE])[kb] = mfaac; + (dist.f[BSE])[kbs] = mfacc; + (dist.f[TNW])[kw] = mfcaa; + (dist.f[TSW])[ksw] = mfcca; + (dist.f[BNW])[kbw] = mfcac; + (dist.f[BSW])[kbsw] = mfccc; } @@ -843,61 +843,61 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( // 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[E] = &distributions[E * size_Mat]; +// dist.f[W] = &distributions[W * size_Mat]; +// dist.f[N] = &distributions[N * size_Mat]; +// dist.f[S] = &distributions[S * size_Mat]; +// dist.f[T] = &distributions[T * size_Mat]; +// dist.f[B] = &distributions[B * size_Mat]; +// dist.f[NE] = &distributions[NE * size_Mat]; +// dist.f[SW] = &distributions[SW * size_Mat]; +// dist.f[SE] = &distributions[SE * size_Mat]; +// dist.f[NW] = &distributions[NW * size_Mat]; +// dist.f[TE] = &distributions[TE * size_Mat]; +// dist.f[BW] = &distributions[BW * size_Mat]; +// dist.f[BE] = &distributions[BE * size_Mat]; +// dist.f[TW] = &distributions[TW * size_Mat]; +// dist.f[TN] = &distributions[TN * size_Mat]; +// dist.f[BS] = &distributions[BS * size_Mat]; +// dist.f[BN] = &distributions[BN * size_Mat]; +// dist.f[TS] = &distributions[TS * 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[TNE] = &distributions[TNE * size_Mat]; +// dist.f[TSW] = &distributions[TSW * size_Mat]; +// dist.f[TSE] = &distributions[TSE * size_Mat]; +// dist.f[TNW] = &distributions[TNW * size_Mat]; +// dist.f[BNE] = &distributions[BNE * size_Mat]; +// dist.f[BSW] = &distributions[BSW * size_Mat]; +// dist.f[BSE] = &distributions[BSE * size_Mat]; +// dist.f[BNW] = &distributions[BNW * size_Mat]; // } 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[W] = &distributions[E * size_Mat]; +// dist.f[E] = &distributions[W * size_Mat]; +// dist.f[S] = &distributions[N * size_Mat]; +// dist.f[N] = &distributions[S * size_Mat]; +// dist.f[B] = &distributions[T * size_Mat]; +// dist.f[T] = &distributions[B * size_Mat]; +// dist.f[SW] = &distributions[NE * size_Mat]; +// dist.f[NE] = &distributions[SW * size_Mat]; +// dist.f[NW] = &distributions[SE * size_Mat]; +// dist.f[SE] = &distributions[NW * size_Mat]; +// dist.f[BW] = &distributions[TE * size_Mat]; +// dist.f[TE] = &distributions[BW * size_Mat]; +// dist.f[TW] = &distributions[BE * size_Mat]; +// dist.f[BE] = &distributions[TW * size_Mat]; +// dist.f[BS] = &distributions[TN * size_Mat]; +// dist.f[TN] = &distributions[BS * size_Mat]; +// dist.f[TS] = &distributions[BN * size_Mat]; +// dist.f[BN] = &distributions[TS * size_Mat]; // dist.f[dirREST] = &distributions[dirREST * size_Mat]; -// dist.f[dirBSW] = &distributions[dirTNE * size_Mat]; -// dist.f[dirBNE] = &distributions[dirTSW * size_Mat]; -// dist.f[dirBNW] = &distributions[dirTSE * size_Mat]; -// dist.f[dirBSE] = &distributions[dirTNW * size_Mat]; -// dist.f[dirTSW] = &distributions[dirBNE * size_Mat]; -// dist.f[dirTNE] = &distributions[dirBSW * size_Mat]; -// dist.f[dirTNW] = &distributions[dirBSE * size_Mat]; -// dist.f[dirTSE] = &distributions[dirBNW * size_Mat]; +// dist.f[BSW] = &distributions[TNE * size_Mat]; +// dist.f[BNE] = &distributions[TSW * size_Mat]; +// dist.f[BNW] = &distributions[TSE * size_Mat]; +// dist.f[BSE] = &distributions[TNW * size_Mat]; +// dist.f[TSW] = &distributions[BNE * size_Mat]; +// dist.f[TNE] = &distributions[BSW * size_Mat]; +// dist.f[TNW] = &distributions[BSE * size_Mat]; +// dist.f[TSE] = &distributions[BNW * size_Mat]; // } // //////////////////////////////////////////////////////////////////////////////// // //! - Set neighbor indices (necessary for indirect addressing) @@ -912,62 +912,62 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( // //! - Set local distributions // //! -// // real mfcbb = distr_wrapper.distribution.f[dirE]; -// // real mfabb = distr_wrapper.distribution.f[dirW]; -// // real mfbcb = distr_wrapper.distribution.f[dirN]; -// // real mfbab = distr_wrapper.distribution.f[dirS]; -// // real mfbbc = distr_wrapper.distribution.f[dirT]; -// // real mfbba = distr_wrapper.distribution.f[dirB]; -// // real mfccb = distr_wrapper.distribution.f[dirNE]; -// // real mfaab = distr_wrapper.distribution.f[dirSW]; -// // real mfcab = distr_wrapper.distribution.f[dirSE]; -// // real mfacb = distr_wrapper.distribution.f[dirNW]; -// // real mfcbc = distr_wrapper.distribution.f[dirTE]; -// // real mfaba = distr_wrapper.distribution.f[dirBW]; -// // real mfcba = distr_wrapper.distribution.f[dirBE]; -// // real mfabc = distr_wrapper.distribution.f[dirTW]; -// // real mfbcc = distr_wrapper.distribution.f[dirTN]; -// // real mfbaa = distr_wrapper.distribution.f[dirBS]; -// // real mfbca = distr_wrapper.distribution.f[dirBN]; -// // real mfbac = distr_wrapper.distribution.f[dirTS]; +// // real mfcbb = distr_wrapper.distribution.f[E]; +// // real mfabb = distr_wrapper.distribution.f[W]; +// // real mfbcb = distr_wrapper.distribution.f[N]; +// // real mfbab = distr_wrapper.distribution.f[S]; +// // real mfbbc = distr_wrapper.distribution.f[T]; +// // real mfbba = distr_wrapper.distribution.f[B]; +// // real mfccb = distr_wrapper.distribution.f[NE]; +// // real mfaab = distr_wrapper.distribution.f[SW]; +// // real mfcab = distr_wrapper.distribution.f[SE]; +// // real mfacb = distr_wrapper.distribution.f[NW]; +// // real mfcbc = distr_wrapper.distribution.f[TE]; +// // real mfaba = distr_wrapper.distribution.f[BW]; +// // real mfcba = distr_wrapper.distribution.f[BE]; +// // real mfabc = distr_wrapper.distribution.f[TW]; +// // real mfbcc = distr_wrapper.distribution.f[TN]; +// // real mfbaa = distr_wrapper.distribution.f[BS]; +// // real mfbca = distr_wrapper.distribution.f[BN]; +// // real mfbac = distr_wrapper.distribution.f[TS]; // // real mfbbb = distr_wrapper.distribution.f[dirREST]; -// // real mfccc = distr_wrapper.distribution.f[dirTNE]; -// // real mfaac = distr_wrapper.distribution.f[dirTSW]; -// // real mfcac = distr_wrapper.distribution.f[dirTSE]; -// // real mfacc = distr_wrapper.distribution.f[dirTNW]; -// // real mfcca = distr_wrapper.distribution.f[dirBNE]; -// // real mfaaa = distr_wrapper.distribution.f[dirBSW]; -// // real mfcaa = distr_wrapper.distribution.f[dirBSE]; -// // real mfaca = distr_wrapper.distribution.f[dirBNW]; +// // real mfccc = distr_wrapper.distribution.f[TNE]; +// // real mfaac = distr_wrapper.distribution.f[TSW]; +// // real mfcac = distr_wrapper.distribution.f[TSE]; +// // real mfacc = distr_wrapper.distribution.f[TNW]; +// // real mfcca = distr_wrapper.distribution.f[BNE]; +// // real mfaaa = distr_wrapper.distribution.f[BSW]; +// // real mfcaa = distr_wrapper.distribution.f[BSE]; +// // real mfaca = distr_wrapper.distribution.f[BNW]; -// real mfcbb = (dist.f[dirE])[k]; -// real mfabb = (dist.f[dirW])[kw]; -// real mfbcb = (dist.f[dirN])[k]; -// real mfbab = (dist.f[dirS])[ks]; -// real mfbbc = (dist.f[dirT])[k]; -// real mfbba = (dist.f[dirB])[kb]; -// real mfccb = (dist.f[dirNE])[k]; -// real mfaab = (dist.f[dirSW])[ksw]; -// real mfcab = (dist.f[dirSE])[ks]; -// real mfacb = (dist.f[dirNW])[kw]; -// real mfcbc = (dist.f[dirTE])[k]; -// real mfaba = (dist.f[dirBW])[kbw]; -// real mfcba = (dist.f[dirBE])[kb]; -// real mfabc = (dist.f[dirTW])[kw]; -// real mfbcc = (dist.f[dirTN])[k]; -// real mfbaa = (dist.f[dirBS])[kbs]; -// real mfbca = (dist.f[dirBN])[kb]; -// real mfbac = (dist.f[dirTS])[ks]; +// real mfcbb = (dist.f[E])[k]; +// real mfabb = (dist.f[W])[kw]; +// real mfbcb = (dist.f[N])[k]; +// real mfbab = (dist.f[S])[ks]; +// real mfbbc = (dist.f[T])[k]; +// real mfbba = (dist.f[B])[kb]; +// real mfccb = (dist.f[NE])[k]; +// real mfaab = (dist.f[SW])[ksw]; +// real mfcab = (dist.f[SE])[ks]; +// real mfacb = (dist.f[NW])[kw]; +// real mfcbc = (dist.f[TE])[k]; +// real mfaba = (dist.f[BW])[kbw]; +// real mfcba = (dist.f[BE])[kb]; +// real mfabc = (dist.f[TW])[kw]; +// real mfbcc = (dist.f[TN])[k]; +// real mfbaa = (dist.f[BS])[kbs]; +// real mfbca = (dist.f[BN])[kb]; +// real mfbac = (dist.f[TS])[ks]; // real mfbbb = (dist.f[dirREST])[k]; -// real mfccc = (dist.f[dirTNE])[k]; -// real mfaac = (dist.f[dirTSW])[ksw]; -// real mfcac = (dist.f[dirTSE])[ks]; -// real mfacc = (dist.f[dirTNW])[kw]; -// real mfcca = (dist.f[dirBNE])[kb]; -// real mfaaa = (dist.f[dirBSW])[kbsw]; -// real mfcaa = (dist.f[dirBSE])[kbs]; -// real mfaca = (dist.f[dirBNW])[kbw]; +// real mfccc = (dist.f[TNE])[k]; +// real mfaac = (dist.f[TSW])[ksw]; +// real mfcac = (dist.f[TSE])[ks]; +// real mfacc = (dist.f[TNW])[kw]; +// real mfcca = (dist.f[BNE])[kb]; +// real mfaaa = (dist.f[BSW])[kbsw]; +// real mfcaa = (dist.f[BSE])[kbs]; +// real mfaca = (dist.f[BNW])[kbw]; // //////////////////////////////////////////////////////(unsigned long)////////////////////////////// // //! - Calculate density and velocity using pyramid summation for low round-off errors as in Eq. (J1)-(J3) \ref @@ -1473,125 +1473,125 @@ extern "C" __global__ void LB_Kernel_TurbulentViscosityCumulantK17CompChim( // //! -// distr_wrapper.distribution.f[dirE] = mfabb; -// distr_wrapper.distribution.f[dirW] = mfcbb; -// distr_wrapper.distribution.f[dirN] = mfbab; -// distr_wrapper.distribution.f[dirS] = mfbcb; -// distr_wrapper.distribution.f[dirT] = mfbba; -// distr_wrapper.distribution.f[dirB] = mfbbc; -// distr_wrapper.distribution.f[dirNE] = mfaab; -// distr_wrapper.distribution.f[dirSW] = mfccb; -// distr_wrapper.distribution.f[dirSE] = mfacb; -// distr_wrapper.distribution.f[dirNW] = mfcab; -// distr_wrapper.distribution.f[dirTE] = mfaba; -// distr_wrapper.distribution.f[dirBW] = mfcbc; -// distr_wrapper.distribution.f[dirBE] = mfabc; -// distr_wrapper.distribution.f[dirTW] = mfcba; -// distr_wrapper.distribution.f[dirTN] = mfbaa; -// distr_wrapper.distribution.f[dirBS] = mfbcc; -// distr_wrapper.distribution.f[dirBN] = mfbac; -// distr_wrapper.distribution.f[dirTS] = mfbca; +// distr_wrapper.distribution.f[E] = mfabb; +// distr_wrapper.distribution.f[W] = mfcbb; +// distr_wrapper.distribution.f[N] = mfbab; +// distr_wrapper.distribution.f[S] = mfbcb; +// distr_wrapper.distribution.f[T] = mfbba; +// distr_wrapper.distribution.f[B] = mfbbc; +// distr_wrapper.distribution.f[NE] = mfaab; +// distr_wrapper.distribution.f[SW] = mfccb; +// distr_wrapper.distribution.f[SE] = mfacb; +// distr_wrapper.distribution.f[NW] = mfcab; +// distr_wrapper.distribution.f[TE] = mfaba; +// distr_wrapper.distribution.f[BW] = mfcbc; +// distr_wrapper.distribution.f[BE] = mfabc; +// distr_wrapper.distribution.f[TW] = mfcba; +// distr_wrapper.distribution.f[TN] = mfbaa; +// distr_wrapper.distribution.f[BS] = mfbcc; +// distr_wrapper.distribution.f[BN] = mfbac; +// distr_wrapper.distribution.f[TS] = mfbca; // distr_wrapper.distribution.f[dirREST] = mfbbb; -// distr_wrapper.distribution.f[dirTNE] = mfaaa; -// distr_wrapper.distribution.f[dirTSW] = mfaca; -// distr_wrapper.distribution.f[dirTSE] = mfaac; -// distr_wrapper.distribution.f[dirTNW] = mfacc; -// distr_wrapper.distribution.f[dirBNE] = mfcaa; -// distr_wrapper.distribution.f[dirBSW] = mfcca; -// distr_wrapper.distribution.f[dirBSE] = mfcac; -// distr_wrapper.distribution.f[dirBNW] = mfccc; +// distr_wrapper.distribution.f[TNE] = mfaaa; +// distr_wrapper.distribution.f[TSW] = mfaca; +// distr_wrapper.distribution.f[TSE] = mfaac; +// distr_wrapper.distribution.f[TNW] = mfacc; +// distr_wrapper.distribution.f[BNE] = mfcaa; +// distr_wrapper.distribution.f[BSW] = mfcca; +// distr_wrapper.distribution.f[BSE] = mfcac; +// distr_wrapper.distribution.f[BNW] = mfccc; // distr_wrapper.write(); // if(k==100000) // { // printf("mfcbb \t %f \t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f \n\n", -// (dist.f[dirE])[k] , -// (dist.f[dirN])[k] , -// (dist.f[dirS])[ks] , -// (dist.f[dirT])[k] , -// (dist.f[dirB])[kb] , -// (dist.f[dirNE])[k] , -// (dist.f[dirSW])[ksw] , -// (dist.f[dirSE])[ks] , -// (dist.f[dirNW])[kw] , -// (dist.f[dirW])[kw] , -// (dist.f[dirTE])[k] , -// (dist.f[dirBW])[kbw] , -// (dist.f[dirBE])[kb] , -// (dist.f[dirTW])[kw] , -// (dist.f[dirTN])[k] , -// (dist.f[dirBS])[kbs] , -// (dist.f[dirBN])[kb] , -// (dist.f[dirTS])[ks] , +// (dist.f[E])[k] , +// (dist.f[N])[k] , +// (dist.f[S])[ks] , +// (dist.f[T])[k] , +// (dist.f[B])[kb] , +// (dist.f[NE])[k] , +// (dist.f[SW])[ksw] , +// (dist.f[SE])[ks] , +// (dist.f[NW])[kw] , +// (dist.f[W])[kw] , +// (dist.f[TE])[k] , +// (dist.f[BW])[kbw] , +// (dist.f[BE])[kb] , +// (dist.f[TW])[kw] , +// (dist.f[TN])[k] , +// (dist.f[BS])[kbs] , +// (dist.f[BN])[kb] , +// (dist.f[TS])[ks] , // (dist.f[dirREST])[k] , -// (dist.f[dirTNE])[k] , -// (dist.f[dirTSE])[ks] , -// (dist.f[dirBNE])[kb] , -// (dist.f[dirBSE])[kbs] , -// (dist.f[dirTNW])[kw] , -// (dist.f[dirTSW])[ksw] , -// (dist.f[dirBNW])[kbw] , -// (dist.f[dirBSW])[kbsw]); +// (dist.f[TNE])[k] , +// (dist.f[TSE])[ks] , +// (dist.f[BNE])[kb] , +// (dist.f[BSE])[kbs] , +// (dist.f[TNW])[kw] , +// (dist.f[TSW])[ksw] , +// (dist.f[BNW])[kbw] , +// (dist.f[BSW])[kbsw]); // } -// (dist.f[dirE])[k] = mfabb; -// (dist.f[dirW])[kw] = mfcbb; -// (dist.f[dirN])[k] = mfbab; -// (dist.f[dirS])[ks] = mfbcb; -// (dist.f[dirT])[k] = mfbba; -// (dist.f[dirB])[kb] = mfbbc; -// (dist.f[dirNE])[k] = mfaab; -// (dist.f[dirSW])[ksw] = mfccb; -// (dist.f[dirSE])[ks] = mfacb; -// (dist.f[dirNW])[kw] = mfcab; -// (dist.f[dirTE])[k] = mfaba; -// (dist.f[dirBW])[kbw] = mfcbc; -// (dist.f[dirBE])[kb] = mfabc; -// (dist.f[dirTW])[kw] = mfcba; -// (dist.f[dirTN])[k] = mfbaa; -// (dist.f[dirBS])[kbs] = mfbcc; -// (dist.f[dirBN])[kb] = mfbac; -// (dist.f[dirTS])[ks] = mfbca; +// (dist.f[E])[k] = mfabb; +// (dist.f[W])[kw] = mfcbb; +// (dist.f[N])[k] = mfbab; +// (dist.f[S])[ks] = mfbcb; +// (dist.f[T])[k] = mfbba; +// (dist.f[B])[kb] = mfbbc; +// (dist.f[NE])[k] = mfaab; +// (dist.f[SW])[ksw] = mfccb; +// (dist.f[SE])[ks] = mfacb; +// (dist.f[NW])[kw] = mfcab; +// (dist.f[TE])[k] = mfaba; +// (dist.f[BW])[kbw] = mfcbc; +// (dist.f[BE])[kb] = mfabc; +// (dist.f[TW])[kw] = mfcba; +// (dist.f[TN])[k] = mfbaa; +// (dist.f[BS])[kbs] = mfbcc; +// (dist.f[BN])[kb] = mfbac; +// (dist.f[TS])[ks] = mfbca; // (dist.f[dirREST])[k] = mfbbb; -// (dist.f[dirTNE])[k] = mfaaa; -// (dist.f[dirTSE])[ks] = mfaca; -// (dist.f[dirBNE])[kb] = mfaac; -// (dist.f[dirBSE])[kbs] = mfacc; -// (dist.f[dirTNW])[kw] = mfcaa; -// (dist.f[dirTSW])[ksw] = mfcca; -// (dist.f[dirBNW])[kbw] = mfcac; -// (dist.f[dirBSW])[kbsw] = mfccc; +// (dist.f[TNE])[k] = mfaaa; +// (dist.f[TSE])[ks] = mfaca; +// (dist.f[BNE])[kb] = mfaac; +// (dist.f[BSE])[kbs] = mfacc; +// (dist.f[TNW])[kw] = mfcaa; +// (dist.f[TSW])[ksw] = mfcca; +// (dist.f[BNW])[kbw] = mfcac; +// (dist.f[BSW])[kbsw] = mfccc; // if(k==100000) // { // printf("mfcbb \t %f \t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f\t %f \n\n\n", -// (dist.f[dirE])[k] , -// (dist.f[dirN])[k] , -// (dist.f[dirS])[ks] , -// (dist.f[dirT])[k] , -// (dist.f[dirB])[kb] , -// (dist.f[dirNE])[k] , -// (dist.f[dirSW])[ksw] , -// (dist.f[dirSE])[ks] , -// (dist.f[dirNW])[kw] , -// (dist.f[dirW])[kw] , -// (dist.f[dirTE])[k] , -// (dist.f[dirBW])[kbw] , -// (dist.f[dirBE])[kb] , -// (dist.f[dirTW])[kw] , -// (dist.f[dirTN])[k] , -// (dist.f[dirBS])[kbs] , -// (dist.f[dirBN])[kb] , -// (dist.f[dirTS])[ks] , +// (dist.f[E])[k] , +// (dist.f[N])[k] , +// (dist.f[S])[ks] , +// (dist.f[T])[k] , +// (dist.f[B])[kb] , +// (dist.f[NE])[k] , +// (dist.f[SW])[ksw] , +// (dist.f[SE])[ks] , +// (dist.f[NW])[kw] , +// (dist.f[W])[kw] , +// (dist.f[TE])[k] , +// (dist.f[BW])[kbw] , +// (dist.f[BE])[kb] , +// (dist.f[TW])[kw] , +// (dist.f[TN])[k] , +// (dist.f[BS])[kbs] , +// (dist.f[BN])[kb] , +// (dist.f[TS])[ks] , // (dist.f[dirREST])[k] , -// (dist.f[dirTNE])[k] , -// (dist.f[dirTSE])[ks] , -// (dist.f[dirBNE])[kb] , -// (dist.f[dirBSE])[kbs] , -// (dist.f[dirTNW])[kw] , -// (dist.f[dirTSW])[ksw] , -// (dist.f[dirBNW])[kbw] , -// (dist.f[dirBSW])[kbsw]); +// (dist.f[TNE])[k] , +// (dist.f[TSE])[ks] , +// (dist.f[BNE])[kb] , +// (dist.f[BSE])[kbs] , +// (dist.f[TNW])[kw] , +// (dist.f[TSW])[ksw] , +// (dist.f[BNW])[kbw] , +// (dist.f[BSW])[kbsw]); // } // } // } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu index 2ed6bcbb3..01bf84250 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15/WaleCumulantK15Comp_Device.cu @@ -45,63 +45,63 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK15Comp( Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -135,33 +135,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK15Comp( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -1179,33 +1179,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK15Comp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb; - (D.f[ dirW ])[kw ] = mfcbb; - (D.f[ dirN ])[k ] = mfbab; - (D.f[ dirS ])[ks ] = mfbcb; - (D.f[ dirT ])[k ] = mfbba; - (D.f[ dirB ])[kb ] = mfbbc; - (D.f[ dirNE ])[k ] = mfaab; - (D.f[ dirSW ])[ksw ] = mfccb; - (D.f[ dirSE ])[ks ] = mfacb; - (D.f[ dirNW ])[kw ] = mfcab; - (D.f[ dirTE ])[k ] = mfaba; - (D.f[ dirBW ])[kbw ] = mfcbc; - (D.f[ dirBE ])[kb ] = mfabc; - (D.f[ dirTW ])[kw ] = mfcba; - (D.f[ dirTN ])[k ] = mfbaa; - (D.f[ dirBS ])[kbs ] = mfbcc; - (D.f[ dirBN ])[kb ] = mfbac; - (D.f[ dirTS ])[ks ] = mfbca; + (D.f[ E ])[k ] = mfabb; + (D.f[ W ])[kw ] = mfcbb; + (D.f[ N ])[k ] = mfbab; + (D.f[ S ])[ks ] = mfbcb; + (D.f[ T ])[k ] = mfbba; + (D.f[ B ])[kb ] = mfbbc; + (D.f[ NE ])[k ] = mfaab; + (D.f[ SW ])[ksw ] = mfccb; + (D.f[ SE ])[ks ] = mfacb; + (D.f[ NW ])[kw ] = mfcab; + (D.f[ TE ])[k ] = mfaba; + (D.f[ BW ])[kbw ] = mfcbc; + (D.f[ BE ])[kb ] = mfabc; + (D.f[ TW ])[kw ] = mfcba; + (D.f[ TN ])[k ] = mfbaa; + (D.f[ BS ])[kbs ] = mfbcc; + (D.f[ BN ])[kb ] = mfbac; + (D.f[ TS ])[ks ] = mfbca; (D.f[ dirREST])[k ] = mfbbb; - (D.f[ dirTNE ])[k ] = mfaaa; - (D.f[ dirTSE ])[ks ] = mfaca; - (D.f[ dirBNE ])[kb ] = mfaac; - (D.f[ dirBSE ])[kbs ] = mfacc; - (D.f[ dirTNW ])[kw ] = mfcaa; - (D.f[ dirTSW ])[ksw ] = mfcca; - (D.f[ dirBNW ])[kbw ] = mfcac; - (D.f[ dirBSW ])[kbsw] = mfccc; + (D.f[ TNE ])[k ] = mfaaa; + (D.f[ TSE ])[ks ] = mfaca; + (D.f[ BNE ])[kb ] = mfaac; + (D.f[ BSE ])[kbs ] = mfacc; + (D.f[ TNW ])[kw ] = mfcaa; + (D.f[ TSW ])[ksw ] = mfcca; + (D.f[ BNW ])[kbw ] = mfcac; + (D.f[ BSW ])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu index 9bef300da..86b12c965 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK15BySoniMalav/WaleBySoniMalavCumulantK15Comp_Device.cu @@ -44,63 +44,63 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalavCumulantK15Comp( Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -114,33 +114,33 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalavCumulantK15Comp( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -1003,33 +1003,33 @@ extern "C" __global__ void LB_Kernel_WaleBySoniMalavCumulantK15Comp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb; - (D.f[ dirW ])[kw ] = mfcbb; - (D.f[ dirN ])[k ] = mfbab; - (D.f[ dirS ])[ks ] = mfbcb; - (D.f[ dirT ])[k ] = mfbba; - (D.f[ dirB ])[kb ] = mfbbc; - (D.f[ dirNE ])[k ] = mfaab; - (D.f[ dirSW ])[ksw ] = mfccb; - (D.f[ dirSE ])[ks ] = mfacb; - (D.f[ dirNW ])[kw ] = mfcab; - (D.f[ dirTE ])[k ] = mfaba; - (D.f[ dirBW ])[kbw ] = mfcbc; - (D.f[ dirBE ])[kb ] = mfabc; - (D.f[ dirTW ])[kw ] = mfcba; - (D.f[ dirTN ])[k ] = mfbaa; - (D.f[ dirBS ])[kbs ] = mfbcc; - (D.f[ dirBN ])[kb ] = mfbac; - (D.f[ dirTS ])[ks ] = mfbca; + (D.f[ E ])[k ] = mfabb; + (D.f[ W ])[kw ] = mfcbb; + (D.f[ N ])[k ] = mfbab; + (D.f[ S ])[ks ] = mfbcb; + (D.f[ T ])[k ] = mfbba; + (D.f[ B ])[kb ] = mfbbc; + (D.f[ NE ])[k ] = mfaab; + (D.f[ SW ])[ksw ] = mfccb; + (D.f[ SE ])[ks ] = mfacb; + (D.f[ NW ])[kw ] = mfcab; + (D.f[ TE ])[k ] = mfaba; + (D.f[ BW ])[kbw ] = mfcbc; + (D.f[ BE ])[kb ] = mfabc; + (D.f[ TW ])[kw ] = mfcba; + (D.f[ TN ])[k ] = mfbaa; + (D.f[ BS ])[kbs ] = mfbcc; + (D.f[ BN ])[kb ] = mfbac; + (D.f[ TS ])[ks ] = mfbca; (D.f[ dirREST])[k ] = mfbbb; - (D.f[ dirTNE ])[k ] = mfaaa; - (D.f[ dirTSE ])[ks ] = mfaca; - (D.f[ dirBNE ])[kb ] = mfaac; - (D.f[ dirBSE ])[kbs ] = mfacc; - (D.f[ dirTNW ])[kw ] = mfcaa; - (D.f[ dirTSW ])[ksw ] = mfcca; - (D.f[ dirBNW ])[kbw ] = mfcac; - (D.f[ dirBSW ])[kbsw] = mfccc; + (D.f[ TNE ])[k ] = mfaaa; + (D.f[ TSE ])[ks ] = mfaca; + (D.f[ BNE ])[kb ] = mfaac; + (D.f[ BSE ])[kbs ] = mfacc; + (D.f[ TNW ])[kw ] = mfcaa; + (D.f[ TSW ])[ksw ] = mfcca; + (D.f[ BNW ])[kbw ] = mfcac; + (D.f[ BSW ])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu index e8d4ba303..650f3a402 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17/WaleCumulantK17Comp_Device.cu @@ -46,63 +46,63 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17Comp( Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DDStart[dirE *size_Mat]; - D.f[dirW ] = &DDStart[dirW *size_Mat]; - D.f[dirN ] = &DDStart[dirN *size_Mat]; - D.f[dirS ] = &DDStart[dirS *size_Mat]; - D.f[dirT ] = &DDStart[dirT *size_Mat]; - D.f[dirB ] = &DDStart[dirB *size_Mat]; - D.f[dirNE ] = &DDStart[dirNE *size_Mat]; - D.f[dirSW ] = &DDStart[dirSW *size_Mat]; - D.f[dirSE ] = &DDStart[dirSE *size_Mat]; - D.f[dirNW ] = &DDStart[dirNW *size_Mat]; - D.f[dirTE ] = &DDStart[dirTE *size_Mat]; - D.f[dirBW ] = &DDStart[dirBW *size_Mat]; - D.f[dirBE ] = &DDStart[dirBE *size_Mat]; - D.f[dirTW ] = &DDStart[dirTW *size_Mat]; - D.f[dirTN ] = &DDStart[dirTN *size_Mat]; - D.f[dirBS ] = &DDStart[dirBS *size_Mat]; - D.f[dirBN ] = &DDStart[dirBN *size_Mat]; - D.f[dirTS ] = &DDStart[dirTS *size_Mat]; + D.f[E ] = &DDStart[E *size_Mat]; + D.f[W ] = &DDStart[W *size_Mat]; + D.f[N ] = &DDStart[N *size_Mat]; + D.f[S ] = &DDStart[S *size_Mat]; + D.f[T ] = &DDStart[T *size_Mat]; + D.f[B ] = &DDStart[B *size_Mat]; + D.f[NE ] = &DDStart[NE *size_Mat]; + D.f[SW ] = &DDStart[SW *size_Mat]; + D.f[SE ] = &DDStart[SE *size_Mat]; + D.f[NW ] = &DDStart[NW *size_Mat]; + D.f[TE ] = &DDStart[TE *size_Mat]; + D.f[BW ] = &DDStart[BW *size_Mat]; + D.f[BE ] = &DDStart[BE *size_Mat]; + D.f[TW ] = &DDStart[TW *size_Mat]; + D.f[TN ] = &DDStart[TN *size_Mat]; + D.f[BS ] = &DDStart[BS *size_Mat]; + D.f[BN ] = &DDStart[BN *size_Mat]; + D.f[TS ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE ] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW ] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE ] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW ] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE ] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW ] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE ] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW ] = &DDStart[dirBNW *size_Mat]; + D.f[TNE ] = &DDStart[TNE *size_Mat]; + D.f[TSW ] = &DDStart[TSW *size_Mat]; + D.f[TSE ] = &DDStart[TSE *size_Mat]; + D.f[TNW ] = &DDStart[TNW *size_Mat]; + D.f[BNE ] = &DDStart[BNE *size_Mat]; + D.f[BSW ] = &DDStart[BSW *size_Mat]; + D.f[BSE ] = &DDStart[BSE *size_Mat]; + D.f[BNW ] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW ] = &DDStart[dirE *size_Mat]; - D.f[dirE ] = &DDStart[dirW *size_Mat]; - D.f[dirS ] = &DDStart[dirN *size_Mat]; - D.f[dirN ] = &DDStart[dirS *size_Mat]; - D.f[dirB ] = &DDStart[dirT *size_Mat]; - D.f[dirT ] = &DDStart[dirB *size_Mat]; - D.f[dirSW ] = &DDStart[dirNE *size_Mat]; - D.f[dirNE ] = &DDStart[dirSW *size_Mat]; - D.f[dirNW ] = &DDStart[dirSE *size_Mat]; - D.f[dirSE ] = &DDStart[dirNW *size_Mat]; - D.f[dirBW ] = &DDStart[dirTE *size_Mat]; - D.f[dirTE ] = &DDStart[dirBW *size_Mat]; - D.f[dirTW ] = &DDStart[dirBE *size_Mat]; - D.f[dirBE ] = &DDStart[dirTW *size_Mat]; - D.f[dirBS ] = &DDStart[dirTN *size_Mat]; - D.f[dirTN ] = &DDStart[dirBS *size_Mat]; - D.f[dirTS ] = &DDStart[dirBN *size_Mat]; - D.f[dirBN ] = &DDStart[dirTS *size_Mat]; + D.f[W ] = &DDStart[E *size_Mat]; + D.f[E ] = &DDStart[W *size_Mat]; + D.f[S ] = &DDStart[N *size_Mat]; + D.f[N ] = &DDStart[S *size_Mat]; + D.f[B ] = &DDStart[T *size_Mat]; + D.f[T ] = &DDStart[B *size_Mat]; + D.f[SW ] = &DDStart[NE *size_Mat]; + D.f[NE ] = &DDStart[SW *size_Mat]; + D.f[NW ] = &DDStart[SE *size_Mat]; + D.f[SE ] = &DDStart[NW *size_Mat]; + D.f[BW ] = &DDStart[TE *size_Mat]; + D.f[TE ] = &DDStart[BW *size_Mat]; + D.f[TW ] = &DDStart[BE *size_Mat]; + D.f[BE ] = &DDStart[TW *size_Mat]; + D.f[BS ] = &DDStart[TN *size_Mat]; + D.f[TN ] = &DDStart[BS *size_Mat]; + D.f[TS ] = &DDStart[BN *size_Mat]; + D.f[BN ] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW ] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE ] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW ] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE ] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW ] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE ] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW ] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE ] = &DDStart[dirBNW *size_Mat]; + D.f[BSW ] = &DDStart[TNE *size_Mat]; + D.f[BNE ] = &DDStart[TSW *size_Mat]; + D.f[BNW ] = &DDStart[TSE *size_Mat]; + D.f[BSE ] = &DDStart[TNW *size_Mat]; + D.f[TSW ] = &DDStart[BNE *size_Mat]; + D.f[TNE ] = &DDStart[BSW *size_Mat]; + D.f[TNW ] = &DDStart[BSE *size_Mat]; + D.f[TSE ] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -136,33 +136,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17Comp( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE ])[k ]; - real mfabb = (D.f[dirW ])[kw ]; - real mfbcb = (D.f[dirN ])[k ]; - real mfbab = (D.f[dirS ])[ks ]; - real mfbbc = (D.f[dirT ])[k ]; - real mfbba = (D.f[dirB ])[kb ]; - real mfccb = (D.f[dirNE ])[k ]; - real mfaab = (D.f[dirSW ])[ksw]; - real mfcab = (D.f[dirSE ])[ks ]; - real mfacb = (D.f[dirNW ])[kw ]; - real mfcbc = (D.f[dirTE ])[k ]; - real mfaba = (D.f[dirBW ])[kbw]; - real mfcba = (D.f[dirBE ])[kb ]; - real mfabc = (D.f[dirTW ])[kw ]; - real mfbcc = (D.f[dirTN ])[k ]; - real mfbaa = (D.f[dirBS ])[kbs]; - real mfbca = (D.f[dirBN ])[kb ]; - real mfbac = (D.f[dirTS ])[ks ]; + real mfcbb = (D.f[E ])[k ]; + real mfabb = (D.f[W ])[kw ]; + real mfbcb = (D.f[N ])[k ]; + real mfbab = (D.f[S ])[ks ]; + real mfbbc = (D.f[T ])[k ]; + real mfbba = (D.f[B ])[kb ]; + real mfccb = (D.f[NE ])[k ]; + real mfaab = (D.f[SW ])[ksw]; + real mfcab = (D.f[SE ])[ks ]; + real mfacb = (D.f[NW ])[kw ]; + real mfcbc = (D.f[TE ])[k ]; + real mfaba = (D.f[BW ])[kbw]; + real mfcba = (D.f[BE ])[kb ]; + real mfabc = (D.f[TW ])[kw ]; + real mfbcc = (D.f[TN ])[k ]; + real mfbaa = (D.f[BS ])[kbs]; + real mfbca = (D.f[BN ])[kb ]; + real mfbac = (D.f[TS ])[ks ]; real mfbbb = (D.f[dirREST])[k ]; - real mfccc = (D.f[dirTNE ])[k ]; - real mfaac = (D.f[dirTSW ])[ksw]; - real mfcac = (D.f[dirTSE ])[ks ]; - real mfacc = (D.f[dirTNW ])[kw ]; - real mfcca = (D.f[dirBNE ])[kb ]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE ])[kbs]; - real mfaca = (D.f[dirBNW ])[kbw]; + real mfccc = (D.f[TNE ])[k ]; + real mfaac = (D.f[TSW ])[ksw]; + real mfcac = (D.f[TSE ])[ks ]; + real mfacc = (D.f[TNW ])[kw ]; + real mfcca = (D.f[BNE ])[kb ]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE ])[kbs]; + real mfaca = (D.f[BNW ])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc+mfaaa) + (mfaca+mfcac)) + ((mfacc+mfcaa) + (mfaac+mfcca))) + (((mfbac+mfbca) + (mfbaa+mfbcc)) + ((mfabc+mfcba) + (mfaba+mfcbc)) + ((mfacb+mfcab) + (mfaab+mfccb))) + @@ -1141,33 +1141,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17Comp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[ dirE ])[k ] = mfabb; - (D.f[ dirW ])[kw ] = mfcbb; - (D.f[ dirN ])[k ] = mfbab; - (D.f[ dirS ])[ks ] = mfbcb; - (D.f[ dirT ])[k ] = mfbba; - (D.f[ dirB ])[kb ] = mfbbc; - (D.f[ dirNE ])[k ] = mfaab; - (D.f[ dirSW ])[ksw ] = mfccb; - (D.f[ dirSE ])[ks ] = mfacb; - (D.f[ dirNW ])[kw ] = mfcab; - (D.f[ dirTE ])[k ] = mfaba; - (D.f[ dirBW ])[kbw ] = mfcbc; - (D.f[ dirBE ])[kb ] = mfabc; - (D.f[ dirTW ])[kw ] = mfcba; - (D.f[ dirTN ])[k ] = mfbaa; - (D.f[ dirBS ])[kbs ] = mfbcc; - (D.f[ dirBN ])[kb ] = mfbac; - (D.f[ dirTS ])[ks ] = mfbca; + (D.f[ E ])[k ] = mfabb; + (D.f[ W ])[kw ] = mfcbb; + (D.f[ N ])[k ] = mfbab; + (D.f[ S ])[ks ] = mfbcb; + (D.f[ T ])[k ] = mfbba; + (D.f[ B ])[kb ] = mfbbc; + (D.f[ NE ])[k ] = mfaab; + (D.f[ SW ])[ksw ] = mfccb; + (D.f[ SE ])[ks ] = mfacb; + (D.f[ NW ])[kw ] = mfcab; + (D.f[ TE ])[k ] = mfaba; + (D.f[ BW ])[kbw ] = mfcbc; + (D.f[ BE ])[kb ] = mfabc; + (D.f[ TW ])[kw ] = mfcba; + (D.f[ TN ])[k ] = mfbaa; + (D.f[ BS ])[kbs ] = mfbcc; + (D.f[ BN ])[kb ] = mfbac; + (D.f[ TS ])[ks ] = mfbca; (D.f[ dirREST])[k ] = mfbbb; - (D.f[ dirTNE ])[k ] = mfaaa; - (D.f[ dirTSE ])[ks ] = mfaca; - (D.f[ dirBNE ])[kb ] = mfaac; - (D.f[ dirBSE ])[kbs ] = mfacc; - (D.f[ dirTNW ])[kw ] = mfcaa; - (D.f[ dirTSW ])[ksw ] = mfcca; - (D.f[ dirBNW ])[kbw ] = mfcac; - (D.f[ dirBSW ])[kbsw] = mfccc; + (D.f[ TNE ])[k ] = mfaaa; + (D.f[ TSE ])[ks ] = mfaca; + (D.f[ BNE ])[kb ] = mfaac; + (D.f[ BSE ])[kbs ] = mfacc; + (D.f[ TNW ])[kw ] = mfcaa; + (D.f[ TSW ])[ksw ] = mfcca; + (D.f[ BNW ])[kbw ] = mfcac; + (D.f[ BSW ])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu index aeadbdada..9c61a593b 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/WaleKernels/FluidFlow/Compressible/CumulantK17Debug/WaleCumulantK17DebugComp_Device.cu @@ -56,63 +56,63 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17DebugComp( Distributions27 D; if (EvenOrOdd == true) { - D.f[dirE] = &DDStart[dirE *size_Mat]; - D.f[dirW] = &DDStart[dirW *size_Mat]; - D.f[dirN] = &DDStart[dirN *size_Mat]; - D.f[dirS] = &DDStart[dirS *size_Mat]; - D.f[dirT] = &DDStart[dirT *size_Mat]; - D.f[dirB] = &DDStart[dirB *size_Mat]; - D.f[dirNE] = &DDStart[dirNE *size_Mat]; - D.f[dirSW] = &DDStart[dirSW *size_Mat]; - D.f[dirSE] = &DDStart[dirSE *size_Mat]; - D.f[dirNW] = &DDStart[dirNW *size_Mat]; - D.f[dirTE] = &DDStart[dirTE *size_Mat]; - D.f[dirBW] = &DDStart[dirBW *size_Mat]; - D.f[dirBE] = &DDStart[dirBE *size_Mat]; - D.f[dirTW] = &DDStart[dirTW *size_Mat]; - D.f[dirTN] = &DDStart[dirTN *size_Mat]; - D.f[dirBS] = &DDStart[dirBS *size_Mat]; - D.f[dirBN] = &DDStart[dirBN *size_Mat]; - D.f[dirTS] = &DDStart[dirTS *size_Mat]; + D.f[E] = &DDStart[E *size_Mat]; + D.f[W] = &DDStart[W *size_Mat]; + D.f[N] = &DDStart[N *size_Mat]; + D.f[S] = &DDStart[S *size_Mat]; + D.f[T] = &DDStart[T *size_Mat]; + D.f[B] = &DDStart[B *size_Mat]; + D.f[NE] = &DDStart[NE *size_Mat]; + D.f[SW] = &DDStart[SW *size_Mat]; + D.f[SE] = &DDStart[SE *size_Mat]; + D.f[NW] = &DDStart[NW *size_Mat]; + D.f[TE] = &DDStart[TE *size_Mat]; + D.f[BW] = &DDStart[BW *size_Mat]; + D.f[BE] = &DDStart[BE *size_Mat]; + D.f[TW] = &DDStart[TW *size_Mat]; + D.f[TN] = &DDStart[TN *size_Mat]; + D.f[BS] = &DDStart[BS *size_Mat]; + D.f[BN] = &DDStart[BN *size_Mat]; + D.f[TS] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirTNE] = &DDStart[dirTNE *size_Mat]; - D.f[dirTSW] = &DDStart[dirTSW *size_Mat]; - D.f[dirTSE] = &DDStart[dirTSE *size_Mat]; - D.f[dirTNW] = &DDStart[dirTNW *size_Mat]; - D.f[dirBNE] = &DDStart[dirBNE *size_Mat]; - D.f[dirBSW] = &DDStart[dirBSW *size_Mat]; - D.f[dirBSE] = &DDStart[dirBSE *size_Mat]; - D.f[dirBNW] = &DDStart[dirBNW *size_Mat]; + D.f[TNE] = &DDStart[TNE *size_Mat]; + D.f[TSW] = &DDStart[TSW *size_Mat]; + D.f[TSE] = &DDStart[TSE *size_Mat]; + D.f[TNW] = &DDStart[TNW *size_Mat]; + D.f[BNE] = &DDStart[BNE *size_Mat]; + D.f[BSW] = &DDStart[BSW *size_Mat]; + D.f[BSE] = &DDStart[BSE *size_Mat]; + D.f[BNW] = &DDStart[BNW *size_Mat]; } else { - D.f[dirW] = &DDStart[dirE *size_Mat]; - D.f[dirE] = &DDStart[dirW *size_Mat]; - D.f[dirS] = &DDStart[dirN *size_Mat]; - D.f[dirN] = &DDStart[dirS *size_Mat]; - D.f[dirB] = &DDStart[dirT *size_Mat]; - D.f[dirT] = &DDStart[dirB *size_Mat]; - D.f[dirSW] = &DDStart[dirNE *size_Mat]; - D.f[dirNE] = &DDStart[dirSW *size_Mat]; - D.f[dirNW] = &DDStart[dirSE *size_Mat]; - D.f[dirSE] = &DDStart[dirNW *size_Mat]; - D.f[dirBW] = &DDStart[dirTE *size_Mat]; - D.f[dirTE] = &DDStart[dirBW *size_Mat]; - D.f[dirTW] = &DDStart[dirBE *size_Mat]; - D.f[dirBE] = &DDStart[dirTW *size_Mat]; - D.f[dirBS] = &DDStart[dirTN *size_Mat]; - D.f[dirTN] = &DDStart[dirBS *size_Mat]; - D.f[dirTS] = &DDStart[dirBN *size_Mat]; - D.f[dirBN] = &DDStart[dirTS *size_Mat]; + D.f[W] = &DDStart[E *size_Mat]; + D.f[E] = &DDStart[W *size_Mat]; + D.f[S] = &DDStart[N *size_Mat]; + D.f[N] = &DDStart[S *size_Mat]; + D.f[B] = &DDStart[T *size_Mat]; + D.f[T] = &DDStart[B *size_Mat]; + D.f[SW] = &DDStart[NE *size_Mat]; + D.f[NE] = &DDStart[SW *size_Mat]; + D.f[NW] = &DDStart[SE *size_Mat]; + D.f[SE] = &DDStart[NW *size_Mat]; + D.f[BW] = &DDStart[TE *size_Mat]; + D.f[TE] = &DDStart[BW *size_Mat]; + D.f[TW] = &DDStart[BE *size_Mat]; + D.f[BE] = &DDStart[TW *size_Mat]; + D.f[BS] = &DDStart[TN *size_Mat]; + D.f[TN] = &DDStart[BS *size_Mat]; + D.f[TS] = &DDStart[BN *size_Mat]; + D.f[BN] = &DDStart[TS *size_Mat]; D.f[dirREST] = &DDStart[dirREST*size_Mat]; - D.f[dirBSW] = &DDStart[dirTNE *size_Mat]; - D.f[dirBNE] = &DDStart[dirTSW *size_Mat]; - D.f[dirBNW] = &DDStart[dirTSE *size_Mat]; - D.f[dirBSE] = &DDStart[dirTNW *size_Mat]; - D.f[dirTSW] = &DDStart[dirBNE *size_Mat]; - D.f[dirTNE] = &DDStart[dirBSW *size_Mat]; - D.f[dirTNW] = &DDStart[dirBSE *size_Mat]; - D.f[dirTSE] = &DDStart[dirBNW *size_Mat]; + D.f[BSW] = &DDStart[TNE *size_Mat]; + D.f[BNE] = &DDStart[TSW *size_Mat]; + D.f[BNW] = &DDStart[TSE *size_Mat]; + D.f[BSE] = &DDStart[TNW *size_Mat]; + D.f[TSW] = &DDStart[BNE *size_Mat]; + D.f[TNE] = &DDStart[BSW *size_Mat]; + D.f[TNW] = &DDStart[BSE *size_Mat]; + D.f[TSE] = &DDStart[BNW *size_Mat]; } //////////////////////////////////////////////////////////////////////////////// @@ -146,33 +146,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17DebugComp( unsigned int kbsw = neighborZ[ksw]; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - real mfcbb = (D.f[dirE])[k]; - real mfabb = (D.f[dirW])[kw]; - real mfbcb = (D.f[dirN])[k]; - real mfbab = (D.f[dirS])[ks]; - real mfbbc = (D.f[dirT])[k]; - real mfbba = (D.f[dirB])[kb]; - real mfccb = (D.f[dirNE])[k]; - real mfaab = (D.f[dirSW])[ksw]; - real mfcab = (D.f[dirSE])[ks]; - real mfacb = (D.f[dirNW])[kw]; - real mfcbc = (D.f[dirTE])[k]; - real mfaba = (D.f[dirBW])[kbw]; - real mfcba = (D.f[dirBE])[kb]; - real mfabc = (D.f[dirTW])[kw]; - real mfbcc = (D.f[dirTN])[k]; - real mfbaa = (D.f[dirBS])[kbs]; - real mfbca = (D.f[dirBN])[kb]; - real mfbac = (D.f[dirTS])[ks]; + real mfcbb = (D.f[E])[k]; + real mfabb = (D.f[W])[kw]; + real mfbcb = (D.f[N])[k]; + real mfbab = (D.f[S])[ks]; + real mfbbc = (D.f[T])[k]; + real mfbba = (D.f[B])[kb]; + real mfccb = (D.f[NE])[k]; + real mfaab = (D.f[SW])[ksw]; + real mfcab = (D.f[SE])[ks]; + real mfacb = (D.f[NW])[kw]; + real mfcbc = (D.f[TE])[k]; + real mfaba = (D.f[BW])[kbw]; + real mfcba = (D.f[BE])[kb]; + real mfabc = (D.f[TW])[kw]; + real mfbcc = (D.f[TN])[k]; + real mfbaa = (D.f[BS])[kbs]; + real mfbca = (D.f[BN])[kb]; + real mfbac = (D.f[TS])[ks]; real mfbbb = (D.f[dirREST])[k]; - real mfccc = (D.f[dirTNE])[k]; - real mfaac = (D.f[dirTSW])[ksw]; - real mfcac = (D.f[dirTSE])[ks]; - real mfacc = (D.f[dirTNW])[kw]; - real mfcca = (D.f[dirBNE])[kb]; - real mfaaa = (D.f[dirBSW])[kbsw]; - real mfcaa = (D.f[dirBSE])[kbs]; - real mfaca = (D.f[dirBNW])[kbw]; + real mfccc = (D.f[TNE])[k]; + real mfaac = (D.f[TSW])[ksw]; + real mfcac = (D.f[TSE])[ks]; + real mfacc = (D.f[TNW])[kw]; + real mfcca = (D.f[BNE])[kb]; + real mfaaa = (D.f[BSW])[kbsw]; + real mfcaa = (D.f[BSE])[kbs]; + real mfaca = (D.f[BNW])[kbw]; //////////////////////////////////////////////////////////////////////////////////// real drho = ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + @@ -1157,33 +1157,33 @@ extern "C" __global__ void LB_Kernel_WaleCumulantK17DebugComp( //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - (D.f[dirE])[k] = mfabb; - (D.f[dirW])[kw] = mfcbb; - (D.f[dirN])[k] = mfbab; - (D.f[dirS])[ks] = mfbcb; - (D.f[dirT])[k] = mfbba; - (D.f[dirB])[kb] = mfbbc; - (D.f[dirNE])[k] = mfaab; - (D.f[dirSW])[ksw] = mfccb; - (D.f[dirSE])[ks] = mfacb; - (D.f[dirNW])[kw] = mfcab; - (D.f[dirTE])[k] = mfaba; - (D.f[dirBW])[kbw] = mfcbc; - (D.f[dirBE])[kb] = mfabc; - (D.f[dirTW])[kw] = mfcba; - (D.f[dirTN])[k] = mfbaa; - (D.f[dirBS])[kbs] = mfbcc; - (D.f[dirBN])[kb] = mfbac; - (D.f[dirTS])[ks] = mfbca; + (D.f[E])[k] = mfabb; + (D.f[W])[kw] = mfcbb; + (D.f[N])[k] = mfbab; + (D.f[S])[ks] = mfbcb; + (D.f[T])[k] = mfbba; + (D.f[B])[kb] = mfbbc; + (D.f[NE])[k] = mfaab; + (D.f[SW])[ksw] = mfccb; + (D.f[SE])[ks] = mfacb; + (D.f[NW])[kw] = mfcab; + (D.f[TE])[k] = mfaba; + (D.f[BW])[kbw] = mfcbc; + (D.f[BE])[kb] = mfabc; + (D.f[TW])[kw] = mfcba; + (D.f[TN])[k] = mfbaa; + (D.f[BS])[kbs] = mfbcc; + (D.f[BN])[kb] = mfbac; + (D.f[TS])[ks] = mfbca; (D.f[dirREST])[k] = mfbbb; - (D.f[dirTNE])[k] = mfaaa; - (D.f[dirTSE])[ks] = mfaca; - (D.f[dirBNE])[kb] = mfaac; - (D.f[dirBSE])[kbs] = mfacc; - (D.f[dirTNW])[kw] = mfcaa; - (D.f[dirTSW])[ksw] = mfcca; - (D.f[dirBNW])[kbw] = mfcac; - (D.f[dirBSW])[kbsw] = mfccc; + (D.f[TNE])[k] = mfaaa; + (D.f[TSE])[ks] = mfaca; + (D.f[BNE])[kb] = mfaac; + (D.f[BSE])[kbs] = mfacc; + (D.f[TNW])[kw] = mfcaa; + (D.f[TSW])[ksw] = mfcca; + (D.f[BNW])[kbw] = mfcac; + (D.f[BSW])[kbsw] = mfccc; //////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu index 2b9203bf9..bd93d8b70 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu @@ -17,61 +17,61 @@ __device__ __host__ DistributionReferences27 getDistributionReferences27(real *d DistributionReferences27 distribution_references; if (isEvenTimestep) { - distribution_references.f[dirE] = &distributions[dirE * size_Mat]; - distribution_references.f[dirW] = &distributions[dirW * size_Mat]; - distribution_references.f[dirN] = &distributions[dirN * size_Mat]; - distribution_references.f[dirS] = &distributions[dirS * size_Mat]; - distribution_references.f[dirT] = &distributions[dirT * size_Mat]; - distribution_references.f[dirB] = &distributions[dirB * size_Mat]; - distribution_references.f[dirNE] = &distributions[dirNE * size_Mat]; - distribution_references.f[dirSW] = &distributions[dirSW * size_Mat]; - distribution_references.f[dirSE] = &distributions[dirSE * size_Mat]; - distribution_references.f[dirNW] = &distributions[dirNW * size_Mat]; - distribution_references.f[dirTE] = &distributions[dirTE * size_Mat]; - distribution_references.f[dirBW] = &distributions[dirBW * size_Mat]; - distribution_references.f[dirBE] = &distributions[dirBE * size_Mat]; - distribution_references.f[dirTW] = &distributions[dirTW * size_Mat]; - distribution_references.f[dirTN] = &distributions[dirTN * size_Mat]; - distribution_references.f[dirBS] = &distributions[dirBS * size_Mat]; - distribution_references.f[dirBN] = &distributions[dirBN * size_Mat]; - distribution_references.f[dirTS] = &distributions[dirTS * size_Mat]; + distribution_references.f[E] = &distributions[E * size_Mat]; + distribution_references.f[W] = &distributions[W * size_Mat]; + distribution_references.f[N] = &distributions[N * size_Mat]; + distribution_references.f[S] = &distributions[S * size_Mat]; + distribution_references.f[T] = &distributions[T * size_Mat]; + distribution_references.f[B] = &distributions[B * size_Mat]; + distribution_references.f[NE] = &distributions[NE * size_Mat]; + distribution_references.f[SW] = &distributions[SW * size_Mat]; + distribution_references.f[SE] = &distributions[SE * size_Mat]; + distribution_references.f[NW] = &distributions[NW * size_Mat]; + distribution_references.f[TE] = &distributions[TE * size_Mat]; + distribution_references.f[BW] = &distributions[BW * size_Mat]; + distribution_references.f[BE] = &distributions[BE * size_Mat]; + distribution_references.f[TW] = &distributions[TW * size_Mat]; + distribution_references.f[TN] = &distributions[TN * size_Mat]; + distribution_references.f[BS] = &distributions[BS * size_Mat]; + distribution_references.f[BN] = &distributions[BN * size_Mat]; + distribution_references.f[TS] = &distributions[TS * size_Mat]; distribution_references.f[dirREST] = &distributions[dirREST * size_Mat]; - distribution_references.f[dirTNE] = &distributions[dirTNE * size_Mat]; - distribution_references.f[dirTSW] = &distributions[dirTSW * size_Mat]; - distribution_references.f[dirTSE] = &distributions[dirTSE * size_Mat]; - distribution_references.f[dirTNW] = &distributions[dirTNW * size_Mat]; - distribution_references.f[dirBNE] = &distributions[dirBNE * size_Mat]; - distribution_references.f[dirBSW] = &distributions[dirBSW * size_Mat]; - distribution_references.f[dirBSE] = &distributions[dirBSE * size_Mat]; - distribution_references.f[dirBNW] = &distributions[dirBNW * size_Mat]; + distribution_references.f[TNE] = &distributions[TNE * size_Mat]; + distribution_references.f[TSW] = &distributions[TSW * size_Mat]; + distribution_references.f[TSE] = &distributions[TSE * size_Mat]; + distribution_references.f[TNW] = &distributions[TNW * size_Mat]; + distribution_references.f[BNE] = &distributions[BNE * size_Mat]; + distribution_references.f[BSW] = &distributions[BSW * size_Mat]; + distribution_references.f[BSE] = &distributions[BSE * size_Mat]; + distribution_references.f[BNW] = &distributions[BNW * size_Mat]; } else { - distribution_references.f[dirW] = &distributions[dirE * size_Mat]; - distribution_references.f[dirE] = &distributions[dirW * size_Mat]; - distribution_references.f[dirS] = &distributions[dirN * size_Mat]; - distribution_references.f[dirN] = &distributions[dirS * size_Mat]; - distribution_references.f[dirB] = &distributions[dirT * size_Mat]; - distribution_references.f[dirT] = &distributions[dirB * size_Mat]; - distribution_references.f[dirSW] = &distributions[dirNE * size_Mat]; - distribution_references.f[dirNE] = &distributions[dirSW * size_Mat]; - distribution_references.f[dirNW] = &distributions[dirSE * size_Mat]; - distribution_references.f[dirSE] = &distributions[dirNW * size_Mat]; - distribution_references.f[dirBW] = &distributions[dirTE * size_Mat]; - distribution_references.f[dirTE] = &distributions[dirBW * size_Mat]; - distribution_references.f[dirTW] = &distributions[dirBE * size_Mat]; - distribution_references.f[dirBE] = &distributions[dirTW * size_Mat]; - distribution_references.f[dirBS] = &distributions[dirTN * size_Mat]; - distribution_references.f[dirTN] = &distributions[dirBS * size_Mat]; - distribution_references.f[dirTS] = &distributions[dirBN * size_Mat]; - distribution_references.f[dirBN] = &distributions[dirTS * size_Mat]; + distribution_references.f[W] = &distributions[E * size_Mat]; + distribution_references.f[E] = &distributions[W * size_Mat]; + distribution_references.f[S] = &distributions[N * size_Mat]; + distribution_references.f[N] = &distributions[S * size_Mat]; + distribution_references.f[B] = &distributions[T * size_Mat]; + distribution_references.f[T] = &distributions[B * size_Mat]; + distribution_references.f[SW] = &distributions[NE * size_Mat]; + distribution_references.f[NE] = &distributions[SW * size_Mat]; + distribution_references.f[NW] = &distributions[SE * size_Mat]; + distribution_references.f[SE] = &distributions[NW * size_Mat]; + distribution_references.f[BW] = &distributions[TE * size_Mat]; + distribution_references.f[TE] = &distributions[BW * size_Mat]; + distribution_references.f[TW] = &distributions[BE * size_Mat]; + distribution_references.f[BE] = &distributions[TW * size_Mat]; + distribution_references.f[BS] = &distributions[TN * size_Mat]; + distribution_references.f[TN] = &distributions[BS * size_Mat]; + distribution_references.f[TS] = &distributions[BN * size_Mat]; + distribution_references.f[BN] = &distributions[TS * size_Mat]; distribution_references.f[dirREST] = &distributions[dirREST * size_Mat]; - distribution_references.f[dirBSW] = &distributions[dirTNE * size_Mat]; - distribution_references.f[dirBNE] = &distributions[dirTSW * size_Mat]; - distribution_references.f[dirBNW] = &distributions[dirTSE * size_Mat]; - distribution_references.f[dirBSE] = &distributions[dirTNW * size_Mat]; - distribution_references.f[dirTSW] = &distributions[dirBNE * size_Mat]; - distribution_references.f[dirTNE] = &distributions[dirBSW * size_Mat]; - distribution_references.f[dirTNW] = &distributions[dirBSE * size_Mat]; - distribution_references.f[dirTSE] = &distributions[dirBNW * size_Mat]; + distribution_references.f[BSW] = &distributions[TNE * size_Mat]; + distribution_references.f[BNE] = &distributions[TSW * size_Mat]; + distribution_references.f[BNW] = &distributions[TSE * size_Mat]; + distribution_references.f[BSE] = &distributions[TNW * size_Mat]; + distribution_references.f[TSW] = &distributions[BNE * size_Mat]; + distribution_references.f[TNE] = &distributions[BSW * size_Mat]; + distribution_references.f[TNW] = &distributions[BSE * size_Mat]; + distribution_references.f[TSE] = &distributions[BNW * size_Mat]; } return distribution_references; } @@ -86,63 +86,63 @@ __device__ DistributionWrapper::DistributionWrapper(real *distributions, unsigne __device__ void DistributionWrapper::read() { - distribution.f[vf::lbm::dir::PZZ] = (distribution_references.f[dirE])[k]; - distribution.f[vf::lbm::dir::MZZ] = (distribution_references.f[dirW])[kw]; - distribution.f[vf::lbm::dir::ZPZ] = (distribution_references.f[dirN])[k]; - distribution.f[vf::lbm::dir::ZMZ] = (distribution_references.f[dirS])[ks]; - distribution.f[vf::lbm::dir::ZZP] = (distribution_references.f[dirT])[k]; - distribution.f[vf::lbm::dir::ZZM] = (distribution_references.f[dirB])[kb]; - distribution.f[vf::lbm::dir::PPZ] = (distribution_references.f[dirNE])[k]; - distribution.f[vf::lbm::dir::MMZ] = (distribution_references.f[dirSW])[ksw]; - distribution.f[vf::lbm::dir::PMZ] = (distribution_references.f[dirSE])[ks]; - distribution.f[vf::lbm::dir::MPZ] = (distribution_references.f[dirNW])[kw]; - distribution.f[vf::lbm::dir::PZP] = (distribution_references.f[dirTE])[k]; - distribution.f[vf::lbm::dir::MZM] = (distribution_references.f[dirBW])[kbw]; - distribution.f[vf::lbm::dir::PZM] = (distribution_references.f[dirBE])[kb]; - distribution.f[vf::lbm::dir::MZP] = (distribution_references.f[dirTW])[kw]; - distribution.f[vf::lbm::dir::ZPP] = (distribution_references.f[dirTN])[k]; - distribution.f[vf::lbm::dir::ZMM] = (distribution_references.f[dirBS])[kbs]; - distribution.f[vf::lbm::dir::ZPM] = (distribution_references.f[dirBN])[kb]; - distribution.f[vf::lbm::dir::ZMP] = (distribution_references.f[dirTS])[ks]; - distribution.f[vf::lbm::dir::PPP] = (distribution_references.f[dirTNE])[k]; - distribution.f[vf::lbm::dir::MPP] = (distribution_references.f[dirTNW])[kw]; - distribution.f[vf::lbm::dir::PMP] = (distribution_references.f[dirTSE])[ks]; - distribution.f[vf::lbm::dir::MMP] = (distribution_references.f[dirTSW])[ksw]; - distribution.f[vf::lbm::dir::PPM] = (distribution_references.f[dirBNE])[kb]; - distribution.f[vf::lbm::dir::MPM] = (distribution_references.f[dirBNW])[kbw]; - distribution.f[vf::lbm::dir::PMM] = (distribution_references.f[dirBSE])[kbs]; - distribution.f[vf::lbm::dir::MMM] = (distribution_references.f[dirBSW])[kbsw]; + distribution.f[vf::lbm::dir::PZZ] = (distribution_references.f[E])[k]; + distribution.f[vf::lbm::dir::MZZ] = (distribution_references.f[W])[kw]; + distribution.f[vf::lbm::dir::ZPZ] = (distribution_references.f[N])[k]; + distribution.f[vf::lbm::dir::ZMZ] = (distribution_references.f[S])[ks]; + distribution.f[vf::lbm::dir::ZZP] = (distribution_references.f[T])[k]; + distribution.f[vf::lbm::dir::ZZM] = (distribution_references.f[B])[kb]; + distribution.f[vf::lbm::dir::PPZ] = (distribution_references.f[NE])[k]; + distribution.f[vf::lbm::dir::MMZ] = (distribution_references.f[SW])[ksw]; + distribution.f[vf::lbm::dir::PMZ] = (distribution_references.f[SE])[ks]; + distribution.f[vf::lbm::dir::MPZ] = (distribution_references.f[NW])[kw]; + distribution.f[vf::lbm::dir::PZP] = (distribution_references.f[TE])[k]; + distribution.f[vf::lbm::dir::MZM] = (distribution_references.f[BW])[kbw]; + distribution.f[vf::lbm::dir::PZM] = (distribution_references.f[BE])[kb]; + distribution.f[vf::lbm::dir::MZP] = (distribution_references.f[TW])[kw]; + distribution.f[vf::lbm::dir::ZPP] = (distribution_references.f[TN])[k]; + distribution.f[vf::lbm::dir::ZMM] = (distribution_references.f[BS])[kbs]; + distribution.f[vf::lbm::dir::ZPM] = (distribution_references.f[BN])[kb]; + distribution.f[vf::lbm::dir::ZMP] = (distribution_references.f[TS])[ks]; + distribution.f[vf::lbm::dir::PPP] = (distribution_references.f[TNE])[k]; + distribution.f[vf::lbm::dir::MPP] = (distribution_references.f[TNW])[kw]; + distribution.f[vf::lbm::dir::PMP] = (distribution_references.f[TSE])[ks]; + distribution.f[vf::lbm::dir::MMP] = (distribution_references.f[TSW])[ksw]; + distribution.f[vf::lbm::dir::PPM] = (distribution_references.f[BNE])[kb]; + distribution.f[vf::lbm::dir::MPM] = (distribution_references.f[BNW])[kbw]; + distribution.f[vf::lbm::dir::PMM] = (distribution_references.f[BSE])[kbs]; + distribution.f[vf::lbm::dir::MMM] = (distribution_references.f[BSW])[kbsw]; distribution.f[vf::lbm::dir::ZZZ] = (distribution_references.f[dirREST])[k]; } __device__ void DistributionWrapper::write() { - (distribution_references.f[dirE])[k] = distribution.f[vf::lbm::dir::PZZ]; - (distribution_references.f[dirW])[kw] = distribution.f[vf::lbm::dir::MZZ]; - (distribution_references.f[dirN])[k] = distribution.f[vf::lbm::dir::ZPZ]; - (distribution_references.f[dirS])[ks] = distribution.f[vf::lbm::dir::ZMZ]; - (distribution_references.f[dirT])[k] = distribution.f[vf::lbm::dir::ZZP]; - (distribution_references.f[dirB])[kb] = distribution.f[vf::lbm::dir::ZZM]; - (distribution_references.f[dirNE])[k] = distribution.f[vf::lbm::dir::PPZ]; - (distribution_references.f[dirSW])[ksw] = distribution.f[vf::lbm::dir::MMZ]; - (distribution_references.f[dirSE])[ks] = distribution.f[vf::lbm::dir::PMZ]; - (distribution_references.f[dirNW])[kw] = distribution.f[vf::lbm::dir::MPZ]; - (distribution_references.f[dirTE])[k] = distribution.f[vf::lbm::dir::PZP]; - (distribution_references.f[dirBW])[kbw] = distribution.f[vf::lbm::dir::MZM]; - (distribution_references.f[dirBE])[kb] = distribution.f[vf::lbm::dir::PZM]; - (distribution_references.f[dirTW])[kw] = distribution.f[vf::lbm::dir::MZP]; - (distribution_references.f[dirTN])[k] = distribution.f[vf::lbm::dir::ZPP]; - (distribution_references.f[dirBS])[kbs] = distribution.f[vf::lbm::dir::ZMM]; - (distribution_references.f[dirBN])[kb] = distribution.f[vf::lbm::dir::ZPM]; - (distribution_references.f[dirTS])[ks] = distribution.f[vf::lbm::dir::ZMP]; - (distribution_references.f[dirTNE])[k] = distribution.f[vf::lbm::dir::PPP]; - (distribution_references.f[dirTNW])[kw] = distribution.f[vf::lbm::dir::MPP]; - (distribution_references.f[dirTSE])[ks] = distribution.f[vf::lbm::dir::PMP]; - (distribution_references.f[dirTSW])[ksw] = distribution.f[vf::lbm::dir::MMP]; - (distribution_references.f[dirBNE])[kb] = distribution.f[vf::lbm::dir::PPM]; - (distribution_references.f[dirBNW])[kbw] = distribution.f[vf::lbm::dir::MPM]; - (distribution_references.f[dirBSE])[kbs] = distribution.f[vf::lbm::dir::PMM]; - (distribution_references.f[dirBSW])[kbsw] = distribution.f[vf::lbm::dir::MMM]; + (distribution_references.f[E])[k] = distribution.f[vf::lbm::dir::PZZ]; + (distribution_references.f[W])[kw] = distribution.f[vf::lbm::dir::MZZ]; + (distribution_references.f[N])[k] = distribution.f[vf::lbm::dir::ZPZ]; + (distribution_references.f[S])[ks] = distribution.f[vf::lbm::dir::ZMZ]; + (distribution_references.f[T])[k] = distribution.f[vf::lbm::dir::ZZP]; + (distribution_references.f[B])[kb] = distribution.f[vf::lbm::dir::ZZM]; + (distribution_references.f[NE])[k] = distribution.f[vf::lbm::dir::PPZ]; + (distribution_references.f[SW])[ksw] = distribution.f[vf::lbm::dir::MMZ]; + (distribution_references.f[SE])[ks] = distribution.f[vf::lbm::dir::PMZ]; + (distribution_references.f[NW])[kw] = distribution.f[vf::lbm::dir::MPZ]; + (distribution_references.f[TE])[k] = distribution.f[vf::lbm::dir::PZP]; + (distribution_references.f[BW])[kbw] = distribution.f[vf::lbm::dir::MZM]; + (distribution_references.f[BE])[kb] = distribution.f[vf::lbm::dir::PZM]; + (distribution_references.f[TW])[kw] = distribution.f[vf::lbm::dir::MZP]; + (distribution_references.f[TN])[k] = distribution.f[vf::lbm::dir::ZPP]; + (distribution_references.f[BS])[kbs] = distribution.f[vf::lbm::dir::ZMM]; + (distribution_references.f[BN])[kb] = distribution.f[vf::lbm::dir::ZPM]; + (distribution_references.f[TS])[ks] = distribution.f[vf::lbm::dir::ZMP]; + (distribution_references.f[TNE])[k] = distribution.f[vf::lbm::dir::PPP]; + (distribution_references.f[TNW])[kw] = distribution.f[vf::lbm::dir::MPP]; + (distribution_references.f[TSE])[ks] = distribution.f[vf::lbm::dir::PMP]; + (distribution_references.f[TSW])[ksw] = distribution.f[vf::lbm::dir::MMP]; + (distribution_references.f[BNE])[kb] = distribution.f[vf::lbm::dir::PPM]; + (distribution_references.f[BNW])[kbw] = distribution.f[vf::lbm::dir::MPM]; + (distribution_references.f[BSE])[kbs] = distribution.f[vf::lbm::dir::PMM]; + (distribution_references.f[BSW])[kbsw] = distribution.f[vf::lbm::dir::MMM]; (distribution_references.f[dirREST])[k] = distribution.f[vf::lbm::dir::ZZZ]; } diff --git a/src/gpu/VirtualFluids_GPU/LBM/D3Q27.h b/src/gpu/VirtualFluids_GPU/LBM/D3Q27.h index b610bb9b0..bab3fc3ee 100644 --- a/src/gpu/VirtualFluids_GPU/LBM/D3Q27.h +++ b/src/gpu/VirtualFluids_GPU/LBM/D3Q27.h @@ -2,35 +2,35 @@ #define _LB_D3Q27_H_ #include <math.h> -static constexpr int dirSTART = 0; -static constexpr int dirEND = 26; +static constexpr int STARTDIR = 0; +static constexpr int ENDDIR = 26; -static constexpr int dirE = 0; -static constexpr int dirW = 1; -static constexpr int dirN = 2; -static constexpr int dirS = 3; -static constexpr int dirT = 4; -static constexpr int dirB = 5; -static constexpr int dirNE = 6; -static constexpr int dirSW = 7; -static constexpr int dirSE = 8; -static constexpr int dirNW = 9; -static constexpr int dirTE = 10; -static constexpr int dirBW = 11; -static constexpr int dirBE = 12; -static constexpr int dirTW = 13; -static constexpr int dirTN = 14; -static constexpr int dirBS = 15; -static constexpr int dirBN = 16; -static constexpr int dirTS = 17; -static constexpr int dirTNE = 18; -static constexpr int dirTNW = 19; -static constexpr int dirTSE = 20; -static constexpr int dirTSW = 21; -static constexpr int dirBNE = 22; -static constexpr int dirBNW = 23; -static constexpr int dirBSE = 24; -static constexpr int dirBSW = 25; +static constexpr int E = 0; +static constexpr int W = 1; +static constexpr int N = 2; +static constexpr int S = 3; +static constexpr int T = 4; +static constexpr int B = 5; +static constexpr int NE = 6; +static constexpr int SW = 7; +static constexpr int SE = 8; +static constexpr int NW = 9; +static constexpr int TE = 10; +static constexpr int BW = 11; +static constexpr int BE = 12; +static constexpr int TW = 13; +static constexpr int TN = 14; +static constexpr int BS = 15; +static constexpr int BN = 16; +static constexpr int TS = 17; +static constexpr int TNE = 18; +static constexpr int TNW = 19; +static constexpr int TSE = 20; +static constexpr int TSW = 21; +static constexpr int BNE = 22; +static constexpr int BNW = 23; +static constexpr int BSE = 24; +static constexpr int BSW = 25; static constexpr int dirREST = 26; diff --git a/src/gpu/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp b/src/gpu/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp index cd13d9bce..09e04822f 100644 --- a/src/gpu/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp +++ b/src/gpu/VirtualFluids_GPU/Output/UnstructuredGridWriter.hpp @@ -2319,7 +2319,7 @@ namespace UnstructuredGridWriter wallX3 = 0.0; q = 0.0; ////////////////////////////////////////////////////////////////////////// - for (unsigned int typeOfQ = dirSTART; typeOfQ <= dirEND; typeOfQ++) + for (unsigned int typeOfQ = STARTDIR; typeOfQ <= ENDDIR; typeOfQ++) { QQ = para->getParH(level)->geometryBC.q27[0]; Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes]; @@ -2327,32 +2327,32 @@ namespace UnstructuredGridWriter ////////////////////////////////////////////////////////////////////////// switch (typeOfQ) { - case dirE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirT: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirB: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case E: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case N: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case W: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case S: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case NE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case NW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case SW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case SE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case T: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case TW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case B: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; case dirREST:wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3; break; default: throw UbException(UB_EXARGS, "unknown direction"); } @@ -2423,7 +2423,7 @@ namespace UnstructuredGridWriter wallX3 = 0.0; q = 0.0; ////////////////////////////////////////////////////////////////////////// - for (unsigned int typeOfQ = dirSTART; typeOfQ <= dirEND; typeOfQ++) + for (unsigned int typeOfQ = STARTDIR; typeOfQ <= ENDDIR; typeOfQ++) { QQ = para->getParH(level)->velocityBC.q27[0]; Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes]; @@ -2432,32 +2432,32 @@ namespace UnstructuredGridWriter ////////////////////////////////////////////////////////////////////////// switch (typeOfQ) { - case dirE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirT: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirB: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case E: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case N: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case W: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case S: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case NE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case NW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case SW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case SE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case T: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case TW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case B: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; case dirREST:wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3; break; default: throw UbException(UB_EXARGS, "unknown direction"); } @@ -2528,7 +2528,7 @@ namespace UnstructuredGridWriter wallX3 = 0.0; q = 0.0; ////////////////////////////////////////////////////////////////////////// - for (unsigned int typeOfQ = dirSTART; typeOfQ <= dirEND; typeOfQ++) + for (unsigned int typeOfQ = STARTDIR; typeOfQ <= ENDDIR; typeOfQ++) { QQ = para->getParH(level)->pressureBC.q27[0]; Q.q27[typeOfQ] = &QQ[typeOfQ*sizeOfNodes]; @@ -2537,32 +2537,32 @@ namespace UnstructuredGridWriter ////////////////////////////////////////////////////////////////////////// switch (typeOfQ) { - case dirE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; - case dirS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; - case dirSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; - case dirT: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; - case dirTS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirB: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; - case dirBS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirTSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; - case dirBNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; - case dirBSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; - case dirTNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case E: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case N: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case W: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3; break; + case S: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case NE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case NW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3; break; + case SW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case SE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3; break; + case T: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case TW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 + q*dx; break; + case TS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case B: wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BN: wallX1 = nodeX1; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2; wallX3 = nodeX3 - q*dx; break; + case BS: wallX1 = nodeX1; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; + case BSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case BNE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case TSW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case TSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 + q*dx; break; + case BNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 - q*dx; break; + case BSE: wallX1 = nodeX1 + q*dx; wallX2 = nodeX2 - q*dx; wallX3 = nodeX3 - q*dx; break; + case TNW: wallX1 = nodeX1 - q*dx; wallX2 = nodeX2 + q*dx; wallX3 = nodeX3 + q*dx; break; case dirREST:wallX1 = nodeX1; wallX2 = nodeX2; wallX3 = nodeX3; break; default: throw UbException(UB_EXARGS, "unknown direction"); } diff --git a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu index 6e3069c33..4f5a0a1ca 100644 --- a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompAD27/InitCompAD27_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Init_Comp_AD_27(unsigned int* neighborX, Distributions27 D27; if (EvenOrOdd == true) { - D27.f[dirE] = &DD27[dirE *size_Mat]; - D27.f[dirW] = &DD27[dirW *size_Mat]; - D27.f[dirN] = &DD27[dirN *size_Mat]; - D27.f[dirS] = &DD27[dirS *size_Mat]; - D27.f[dirT] = &DD27[dirT *size_Mat]; - D27.f[dirB] = &DD27[dirB *size_Mat]; - D27.f[dirNE] = &DD27[dirNE *size_Mat]; - D27.f[dirSW] = &DD27[dirSW *size_Mat]; - D27.f[dirSE] = &DD27[dirSE *size_Mat]; - D27.f[dirNW] = &DD27[dirNW *size_Mat]; - D27.f[dirTE] = &DD27[dirTE *size_Mat]; - D27.f[dirBW] = &DD27[dirBW *size_Mat]; - D27.f[dirBE] = &DD27[dirBE *size_Mat]; - D27.f[dirTW] = &DD27[dirTW *size_Mat]; - D27.f[dirTN] = &DD27[dirTN *size_Mat]; - D27.f[dirBS] = &DD27[dirBS *size_Mat]; - D27.f[dirBN] = &DD27[dirBN *size_Mat]; - D27.f[dirTS] = &DD27[dirTS *size_Mat]; + D27.f[E] = &DD27[E *size_Mat]; + D27.f[W] = &DD27[W *size_Mat]; + D27.f[N] = &DD27[N *size_Mat]; + D27.f[S] = &DD27[S *size_Mat]; + D27.f[T] = &DD27[T *size_Mat]; + D27.f[B] = &DD27[B *size_Mat]; + D27.f[NE] = &DD27[NE *size_Mat]; + D27.f[SW] = &DD27[SW *size_Mat]; + D27.f[SE] = &DD27[SE *size_Mat]; + D27.f[NW] = &DD27[NW *size_Mat]; + D27.f[TE] = &DD27[TE *size_Mat]; + D27.f[BW] = &DD27[BW *size_Mat]; + D27.f[BE] = &DD27[BE *size_Mat]; + D27.f[TW] = &DD27[TW *size_Mat]; + D27.f[TN] = &DD27[TN *size_Mat]; + D27.f[BS] = &DD27[BS *size_Mat]; + D27.f[BN] = &DD27[BN *size_Mat]; + D27.f[TS] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW] = &DD27[dirBNW *size_Mat]; + D27.f[TNE] = &DD27[TNE *size_Mat]; + D27.f[TSW] = &DD27[TSW *size_Mat]; + D27.f[TSE] = &DD27[TSE *size_Mat]; + D27.f[TNW] = &DD27[TNW *size_Mat]; + D27.f[BNE] = &DD27[BNE *size_Mat]; + D27.f[BSW] = &DD27[BSW *size_Mat]; + D27.f[BSE] = &DD27[BSE *size_Mat]; + D27.f[BNW] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW] = &DD27[dirE *size_Mat]; - D27.f[dirE] = &DD27[dirW *size_Mat]; - D27.f[dirS] = &DD27[dirN *size_Mat]; - D27.f[dirN] = &DD27[dirS *size_Mat]; - D27.f[dirB] = &DD27[dirT *size_Mat]; - D27.f[dirT] = &DD27[dirB *size_Mat]; - D27.f[dirSW] = &DD27[dirNE *size_Mat]; - D27.f[dirNE] = &DD27[dirSW *size_Mat]; - D27.f[dirNW] = &DD27[dirSE *size_Mat]; - D27.f[dirSE] = &DD27[dirNW *size_Mat]; - D27.f[dirBW] = &DD27[dirTE *size_Mat]; - D27.f[dirTE] = &DD27[dirBW *size_Mat]; - D27.f[dirTW] = &DD27[dirBE *size_Mat]; - D27.f[dirBE] = &DD27[dirTW *size_Mat]; - D27.f[dirBS] = &DD27[dirTN *size_Mat]; - D27.f[dirTN] = &DD27[dirBS *size_Mat]; - D27.f[dirTS] = &DD27[dirBN *size_Mat]; - D27.f[dirBN] = &DD27[dirTS *size_Mat]; + D27.f[W] = &DD27[E *size_Mat]; + D27.f[E] = &DD27[W *size_Mat]; + D27.f[S] = &DD27[N *size_Mat]; + D27.f[N] = &DD27[S *size_Mat]; + D27.f[B] = &DD27[T *size_Mat]; + D27.f[T] = &DD27[B *size_Mat]; + D27.f[SW] = &DD27[NE *size_Mat]; + D27.f[NE] = &DD27[SW *size_Mat]; + D27.f[NW] = &DD27[SE *size_Mat]; + D27.f[SE] = &DD27[NW *size_Mat]; + D27.f[BW] = &DD27[TE *size_Mat]; + D27.f[TE] = &DD27[BW *size_Mat]; + D27.f[TW] = &DD27[BE *size_Mat]; + D27.f[BE] = &DD27[TW *size_Mat]; + D27.f[BS] = &DD27[TN *size_Mat]; + D27.f[TN] = &DD27[BS *size_Mat]; + D27.f[TS] = &DD27[BN *size_Mat]; + D27.f[BN] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirBSW] = &DD27[dirTNE *size_Mat]; - D27.f[dirBNE] = &DD27[dirTSW *size_Mat]; - D27.f[dirBNW] = &DD27[dirTSE *size_Mat]; - D27.f[dirBSE] = &DD27[dirTNW *size_Mat]; - D27.f[dirTSW] = &DD27[dirBNE *size_Mat]; - D27.f[dirTNE] = &DD27[dirBSW *size_Mat]; - D27.f[dirTNW] = &DD27[dirBSE *size_Mat]; - D27.f[dirTSE] = &DD27[dirBNW *size_Mat]; + D27.f[BSW] = &DD27[TNE *size_Mat]; + D27.f[BNE] = &DD27[TSW *size_Mat]; + D27.f[BNW] = &DD27[TSE *size_Mat]; + D27.f[BSE] = &DD27[TNW *size_Mat]; + D27.f[TSW] = &DD27[BNE *size_Mat]; + D27.f[TNE] = &DD27[BSW *size_Mat]; + D27.f[TNW] = &DD27[BSE *size_Mat]; + D27.f[TSE] = &DD27[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real ConcD = Conc[k]; @@ -167,32 +167,32 @@ extern "C" __global__ void LB_Init_Comp_AD_27(unsigned int* neighborX, real cu_sq = c3o2*(vx1*vx1 + vx2*vx2 + vx3*vx3); (D27.f[dirREST])[kzero] = c8o27* ConcD*(c1o1 - cu_sq); - (D27.f[dirE])[ke] = c2o27* ConcD*(c1o1 + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cu_sq); - (D27.f[dirW])[kw] = c2o27* ConcD*(c1o1 + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cu_sq); - (D27.f[dirN])[kn] = c2o27* ConcD*(c1o1 + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cu_sq); - (D27.f[dirS])[ks] = c2o27* ConcD*(c1o1 + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cu_sq); - (D27.f[dirT])[kt] = c2o27* ConcD*(c1o1 + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cu_sq); - (D27.f[dirB])[kb] = c2o27* ConcD*(c1o1 + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cu_sq); - (D27.f[dirNE])[kne] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cu_sq); - (D27.f[dirSW])[ksw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cu_sq); - (D27.f[dirSE])[kse] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cu_sq); - (D27.f[dirNW])[knw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cu_sq); - (D27.f[dirTE])[kte] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cu_sq); - (D27.f[dirBW])[kbw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cu_sq); - (D27.f[dirBE])[kbe] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cu_sq); - (D27.f[dirTW])[ktw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cu_sq); - (D27.f[dirTN])[ktn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cu_sq); - (D27.f[dirBS])[kbs] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cu_sq); - (D27.f[dirBN])[kbn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cu_sq); - (D27.f[dirTS])[kts] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cu_sq); - (D27.f[dirTNE])[ktne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cu_sq); - (D27.f[dirBSW])[kbsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cu_sq); - (D27.f[dirBNE])[kbne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cu_sq); - (D27.f[dirTSW])[ktsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cu_sq); - (D27.f[dirTSE])[ktse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cu_sq); - (D27.f[dirBNW])[kbnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cu_sq); - (D27.f[dirBSE])[kbse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cu_sq); - (D27.f[dirTNW])[ktnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cu_sq); + (D27.f[E])[ke] = c2o27* ConcD*(c1o1 + c3o1*(vx1)+c9o2*(vx1)*(vx1)-cu_sq); + (D27.f[W])[kw] = c2o27* ConcD*(c1o1 + c3o1*(-vx1) + c9o2*(-vx1)*(-vx1) - cu_sq); + (D27.f[N])[kn] = c2o27* ConcD*(c1o1 + c3o1*(vx2)+c9o2*(vx2)*(vx2)-cu_sq); + (D27.f[S])[ks] = c2o27* ConcD*(c1o1 + c3o1*(-vx2) + c9o2*(-vx2)*(-vx2) - cu_sq); + (D27.f[T])[kt] = c2o27* ConcD*(c1o1 + c3o1*(vx3)+c9o2*(vx3)*(vx3)-cu_sq); + (D27.f[B])[kb] = c2o27* ConcD*(c1o1 + c3o1*(-vx3) + c9o2*(-vx3)*(-vx3) - cu_sq); + (D27.f[NE])[kne] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx2) + c9o2*(vx1 + vx2)*(vx1 + vx2) - cu_sq); + (D27.f[SW])[ksw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx2) + c9o2*(-vx1 - vx2)*(-vx1 - vx2) - cu_sq); + (D27.f[SE])[kse] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx2) + c9o2*(vx1 - vx2)*(vx1 - vx2) - cu_sq); + (D27.f[NW])[knw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx2) + c9o2*(-vx1 + vx2)*(-vx1 + vx2) - cu_sq); + (D27.f[TE])[kte] = c1o54* ConcD*(c1o1 + c3o1*(vx1 + vx3) + c9o2*(vx1 + vx3)*(vx1 + vx3) - cu_sq); + (D27.f[BW])[kbw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 - vx3) + c9o2*(-vx1 - vx3)*(-vx1 - vx3) - cu_sq); + (D27.f[BE])[kbe] = c1o54* ConcD*(c1o1 + c3o1*(vx1 - vx3) + c9o2*(vx1 - vx3)*(vx1 - vx3) - cu_sq); + (D27.f[TW])[ktw] = c1o54* ConcD*(c1o1 + c3o1*(-vx1 + vx3) + c9o2*(-vx1 + vx3)*(-vx1 + vx3) - cu_sq); + (D27.f[TN])[ktn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 + vx3) + c9o2*(vx2 + vx3)*(vx2 + vx3) - cu_sq); + (D27.f[BS])[kbs] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 - vx3) + c9o2*(-vx2 - vx3)*(-vx2 - vx3) - cu_sq); + (D27.f[BN])[kbn] = c1o54* ConcD*(c1o1 + c3o1*(vx2 - vx3) + c9o2*(vx2 - vx3)*(vx2 - vx3) - cu_sq); + (D27.f[TS])[kts] = c1o54* ConcD*(c1o1 + c3o1*(-vx2 + vx3) + c9o2*(-vx2 + vx3)*(-vx2 + vx3) - cu_sq); + (D27.f[TNE])[ktne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 + vx3) + c9o2*(vx1 + vx2 + vx3)*(vx1 + vx2 + vx3) - cu_sq); + (D27.f[BSW])[kbsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 - vx3) + c9o2*(-vx1 - vx2 - vx3)*(-vx1 - vx2 - vx3) - cu_sq); + (D27.f[BNE])[kbne] = c1o216*ConcD*(c1o1 + c3o1*(vx1 + vx2 - vx3) + c9o2*(vx1 + vx2 - vx3)*(vx1 + vx2 - vx3) - cu_sq); + (D27.f[TSW])[ktsw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 - vx2 + vx3) + c9o2*(-vx1 - vx2 + vx3)*(-vx1 - vx2 + vx3) - cu_sq); + (D27.f[TSE])[ktse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 + vx3) + c9o2*(vx1 - vx2 + vx3)*(vx1 - vx2 + vx3) - cu_sq); + (D27.f[BNW])[kbnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 - vx3) + c9o2*(-vx1 + vx2 - vx3)*(-vx1 + vx2 - vx3) - cu_sq); + (D27.f[BSE])[kbse] = c1o216*ConcD*(c1o1 + c3o1*(vx1 - vx2 - vx3) + c9o2*(vx1 - vx2 - vx3)*(vx1 - vx2 - vx3) - cu_sq); + (D27.f[TNW])[ktnw] = c1o216*ConcD*(c1o1 + c3o1*(-vx1 + vx2 + vx3) + c9o2*(-vx1 + vx2 + vx3)*(-vx1 + vx2 + vx3) - cu_sq); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu index b7e0549d8..cdbab4710 100644 --- a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitCompSP27/InitCompSP27_Device.cu @@ -41,63 +41,63 @@ extern "C" __global__ void LB_Init_Comp_SP_27(unsigned int* neighborX, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real drho = rho[k];//0.0f;// @@ -138,32 +138,32 @@ extern "C" __global__ void LB_Init_Comp_SP_27(unsigned int* neighborX, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq*(c1o1+drho)); - (D.f[dirE ])[ke ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D.f[dirW ])[kw ] = c2o27* (drho+ (c1o1+drho) * (c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D.f[dirN ])[kn ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D.f[dirS ])[ks ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D.f[dirT ])[kt ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq)); - (D.f[dirB ])[kb ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D.f[dirNE ])[kne ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D.f[dirSW ])[ksw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D.f[dirSE ])[kse ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D.f[dirNW ])[knw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D.f[dirTE ])[kte ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D.f[dirBW ])[kbw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D.f[dirBE ])[kbe ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D.f[dirTW ])[ktw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D.f[dirTN ])[ktn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D.f[dirBS ])[kbs ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D.f[dirBN ])[kbn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D.f[dirTS ])[kts ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D.f[E ])[ke ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D.f[W ])[kw ] = c2o27* (drho+ (c1o1+drho) * (c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D.f[N ])[kn ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D.f[S ])[ks ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D.f[T ])[kt ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq)); + (D.f[B ])[kb ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D.f[NE ])[kne ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D.f[SW ])[ksw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D.f[SE ])[kse ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D.f[NW ])[knw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D.f[TE ])[kte ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D.f[BW ])[kbw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D.f[BE ])[kbe ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D.f[TW ])[ktw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D.f[TN ])[ktn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D.f[BS ])[kbs ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D.f[BN ])[kbn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D.f[TS ])[kts ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D.f[TNE ])[ktne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D.f[BSW ])[kbsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D.f[BNE ])[kbne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D.f[TSW ])[ktsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D.f[TSE ])[ktse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D.f[BNW ])[kbnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D.f[BSE ])[kbse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D.f[TNW ])[ktnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); } } } @@ -214,63 +214,63 @@ extern "C" __global__ void LB_Init_Comp_Neq_SP_27( unsigned int* neighborX, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real drho = rho[k];//0.0f;// @@ -393,62 +393,62 @@ extern "C" __global__ void LB_Init_Comp_Neq_SP_27( unsigned int* neighborX, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq*(c1o1+drho)); - (D.f[dirE ])[ke ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq)); - (D.f[dirW ])[kw ] = c2o27* (drho+ (c1o1+drho) * (c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq)); - (D.f[dirN ])[kn ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq)); - (D.f[dirS ])[ks ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq)); - (D.f[dirT ])[kt ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq)); - (D.f[dirB ])[kb ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq)); - (D.f[dirNE ])[kne ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); - (D.f[dirSW ])[ksw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); - (D.f[dirSE ])[kse ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); - (D.f[dirNW ])[knw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); - (D.f[dirTE ])[kte ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); - (D.f[dirBW ])[kbw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); - (D.f[dirBE ])[kbe ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); - (D.f[dirTW ])[ktw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); - (D.f[dirTN ])[ktn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); - (D.f[dirBS ])[kbs ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); - (D.f[dirBN ])[kbn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); - (D.f[dirTS ])[kts ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); + (D.f[E ])[ke ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq)); + (D.f[W ])[kw ] = c2o27* (drho+ (c1o1+drho) * (c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq)); + (D.f[N ])[kn ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq)); + (D.f[S ])[ks ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq)); + (D.f[T ])[kt ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq)); + (D.f[B ])[kb ] = c2o27* (drho+ (c1o1+drho) * (c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq)); + (D.f[NE ])[kne ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq)); + (D.f[SW ])[ksw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq)); + (D.f[SE ])[kse ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq)); + (D.f[NW ])[knw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq)); + (D.f[TE ])[kte ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq)); + (D.f[BW ])[kbw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq)); + (D.f[BE ])[kbe ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq)); + (D.f[TW ])[ktw ] = c1o54* (drho+ (c1o1+drho) * (c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq)); + (D.f[TN ])[ktn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq)); + (D.f[BS ])[kbs ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq)); + (D.f[BN ])[kbn ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq)); + (D.f[TS ])[kts ] = c1o54* (drho+ (c1o1+drho) * (c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq)); + (D.f[TNE ])[ktne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq)); + (D.f[BSW ])[kbsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq)); + (D.f[BNE ])[kbne ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq)); + (D.f[TSW ])[ktsw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq)); + (D.f[TSE ])[ktse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq)); + (D.f[BNW ])[kbnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq)); + (D.f[BSE ])[kbse ] = c1o216*(drho+ (c1o1+drho) * (c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq)); + (D.f[TNW ])[ktnw ] = c1o216*(drho+ (c1o1+drho) * (c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq)); ////////////////////////////////////////////////////////////////////////// (D.f[dirREST])[kzero] += (c1o1+drho) * f_ZERO; - (D.f[dirE ])[ke ] += (c1o1+drho) * f_E ; - (D.f[dirW ])[kw ] += (c1o1+drho) * f_E ; - (D.f[dirN ])[kn ] += (c1o1+drho) * f_N ; - (D.f[dirS ])[ks ] += (c1o1+drho) * f_N ; - (D.f[dirT ])[kt ] += (c1o1+drho) * f_T ; - (D.f[dirB ])[kb ] += (c1o1+drho) * f_T ; - (D.f[dirNE ])[kne ] += (c1o1+drho) * f_NE ; - (D.f[dirSW ])[ksw ] += (c1o1+drho) * f_NE ; - (D.f[dirSE ])[kse ] += (c1o1+drho) * f_SE ; - (D.f[dirNW ])[knw ] += (c1o1+drho) * f_SE ; - (D.f[dirTE ])[kte ] += (c1o1+drho) * f_TE ; - (D.f[dirBW ])[kbw ] += (c1o1+drho) * f_TE ; - (D.f[dirBE ])[kbe ] += (c1o1+drho) * f_BE ; - (D.f[dirTW ])[ktw ] += (c1o1+drho) * f_BE ; - (D.f[dirTN ])[ktn ] += (c1o1+drho) * f_TN ; - (D.f[dirBS ])[kbs ] += (c1o1+drho) * f_TN ; - (D.f[dirBN ])[kbn ] += (c1o1+drho) * f_BN ; - (D.f[dirTS ])[kts ] += (c1o1+drho) * f_BN ; - (D.f[dirTNE ])[ktne ] += (c1o1+drho) * f_TNE ; - (D.f[dirBSW ])[kbsw ] += (c1o1+drho) * f_TNE ; - (D.f[dirBNE ])[kbne ] += (c1o1+drho) * f_TSW ; - (D.f[dirTSW ])[ktsw ] += (c1o1+drho) * f_TSW ; - (D.f[dirTSE ])[ktse ] += (c1o1+drho) * f_TSE ; - (D.f[dirBNW ])[kbnw ] += (c1o1+drho) * f_TSE ; - (D.f[dirBSE ])[kbse ] += (c1o1+drho) * f_TNW ; - (D.f[dirTNW ])[ktnw ] += (c1o1+drho) * f_TNW ; + (D.f[E ])[ke ] += (c1o1+drho) * f_E ; + (D.f[W ])[kw ] += (c1o1+drho) * f_E ; + (D.f[N ])[kn ] += (c1o1+drho) * f_N ; + (D.f[S ])[ks ] += (c1o1+drho) * f_N ; + (D.f[T ])[kt ] += (c1o1+drho) * f_T ; + (D.f[B ])[kb ] += (c1o1+drho) * f_T ; + (D.f[NE ])[kne ] += (c1o1+drho) * f_NE ; + (D.f[SW ])[ksw ] += (c1o1+drho) * f_NE ; + (D.f[SE ])[kse ] += (c1o1+drho) * f_SE ; + (D.f[NW ])[knw ] += (c1o1+drho) * f_SE ; + (D.f[TE ])[kte ] += (c1o1+drho) * f_TE ; + (D.f[BW ])[kbw ] += (c1o1+drho) * f_TE ; + (D.f[BE ])[kbe ] += (c1o1+drho) * f_BE ; + (D.f[TW ])[ktw ] += (c1o1+drho) * f_BE ; + (D.f[TN ])[ktn ] += (c1o1+drho) * f_TN ; + (D.f[BS ])[kbs ] += (c1o1+drho) * f_TN ; + (D.f[BN ])[kbn ] += (c1o1+drho) * f_BN ; + (D.f[TS ])[kts ] += (c1o1+drho) * f_BN ; + (D.f[TNE ])[ktne ] += (c1o1+drho) * f_TNE ; + (D.f[BSW ])[kbsw ] += (c1o1+drho) * f_TNE ; + (D.f[BNE ])[kbne ] += (c1o1+drho) * f_TSW ; + (D.f[TSW ])[ktsw ] += (c1o1+drho) * f_TSW ; + (D.f[TSE ])[ktse ] += (c1o1+drho) * f_TSE ; + (D.f[BNW ])[kbnw ] += (c1o1+drho) * f_TSE ; + (D.f[BSE ])[kbse ] += (c1o1+drho) * f_TNW ; + (D.f[TNW ])[ktnw ] += (c1o1+drho) * f_TNW ; ////////////////////////////////////////////////////////////////////////// } diff --git a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu index f69224e72..eb669b175 100644 --- a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu +++ b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitF3/InitF3_Device.cu @@ -40,21 +40,21 @@ extern "C" __global__ void LB_Init_F3(unsigned int* neighborX, Distributions6 D; if (EvenOrOdd == true) { - D.g[dirE] = &G6[dirE *size_Mat]; - D.g[dirW] = &G6[dirW *size_Mat]; - D.g[dirN] = &G6[dirN *size_Mat]; - D.g[dirS] = &G6[dirS *size_Mat]; - D.g[dirT] = &G6[dirT *size_Mat]; - D.g[dirB] = &G6[dirB *size_Mat]; + D.g[E] = &G6[E *size_Mat]; + D.g[W] = &G6[W *size_Mat]; + D.g[N] = &G6[N *size_Mat]; + D.g[S] = &G6[S *size_Mat]; + D.g[T] = &G6[T *size_Mat]; + D.g[B] = &G6[B *size_Mat]; } else { - D.g[dirW] = &G6[dirE *size_Mat]; - D.g[dirE] = &G6[dirW *size_Mat]; - D.g[dirS] = &G6[dirN *size_Mat]; - D.g[dirN] = &G6[dirS *size_Mat]; - D.g[dirB] = &G6[dirT *size_Mat]; - D.g[dirT] = &G6[dirB *size_Mat]; + D.g[W] = &G6[E *size_Mat]; + D.g[E] = &G6[W *size_Mat]; + D.g[S] = &G6[N *size_Mat]; + D.g[N] = &G6[S *size_Mat]; + D.g[B] = &G6[T *size_Mat]; + D.g[T] = &G6[B *size_Mat]; } ////////////////////////////////////////////////////////////////////////// //index @@ -68,12 +68,12 @@ extern "C" __global__ void LB_Init_F3(unsigned int* neighborX, unsigned int kb = neighborZ[k]; ////////////////////////////////////////////////////////////////////////// - (D.g[dirE])[ke] = 0.0f; - (D.g[dirW])[kw] = 0.0f; - (D.g[dirN])[kn] = 0.0f; - (D.g[dirS])[ks] = 0.0f; - (D.g[dirT])[kt] = 0.0f; - (D.g[dirB])[kb] = 0.0f; + (D.g[E])[ke] = 0.0f; + (D.g[W])[kw] = 0.0f; + (D.g[N])[kn] = 0.0f; + (D.g[S])[ks] = 0.0f; + (D.g[T])[kt] = 0.0f; + (D.g[B])[kb] = 0.0f; } } } \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu index 71e4cbc1c..010ded1be 100644 --- a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitIncompAD27/InitIncompAD27_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Init_Incomp_AD_27(unsigned int* neighborX, Distributions27 D27; if (EvenOrOdd==true) { - D27.f[dirE ] = &DD27[dirE *size_Mat]; - D27.f[dirW ] = &DD27[dirW *size_Mat]; - D27.f[dirN ] = &DD27[dirN *size_Mat]; - D27.f[dirS ] = &DD27[dirS *size_Mat]; - D27.f[dirT ] = &DD27[dirT *size_Mat]; - D27.f[dirB ] = &DD27[dirB *size_Mat]; - D27.f[dirNE ] = &DD27[dirNE *size_Mat]; - D27.f[dirSW ] = &DD27[dirSW *size_Mat]; - D27.f[dirSE ] = &DD27[dirSE *size_Mat]; - D27.f[dirNW ] = &DD27[dirNW *size_Mat]; - D27.f[dirTE ] = &DD27[dirTE *size_Mat]; - D27.f[dirBW ] = &DD27[dirBW *size_Mat]; - D27.f[dirBE ] = &DD27[dirBE *size_Mat]; - D27.f[dirTW ] = &DD27[dirTW *size_Mat]; - D27.f[dirTN ] = &DD27[dirTN *size_Mat]; - D27.f[dirBS ] = &DD27[dirBS *size_Mat]; - D27.f[dirBN ] = &DD27[dirBN *size_Mat]; - D27.f[dirTS ] = &DD27[dirTS *size_Mat]; + D27.f[E ] = &DD27[E *size_Mat]; + D27.f[W ] = &DD27[W *size_Mat]; + D27.f[N ] = &DD27[N *size_Mat]; + D27.f[S ] = &DD27[S *size_Mat]; + D27.f[T ] = &DD27[T *size_Mat]; + D27.f[B ] = &DD27[B *size_Mat]; + D27.f[NE ] = &DD27[NE *size_Mat]; + D27.f[SW ] = &DD27[SW *size_Mat]; + D27.f[SE ] = &DD27[SE *size_Mat]; + D27.f[NW ] = &DD27[NW *size_Mat]; + D27.f[TE ] = &DD27[TE *size_Mat]; + D27.f[BW ] = &DD27[BW *size_Mat]; + D27.f[BE ] = &DD27[BE *size_Mat]; + D27.f[TW ] = &DD27[TW *size_Mat]; + D27.f[TN ] = &DD27[TN *size_Mat]; + D27.f[BS ] = &DD27[BS *size_Mat]; + D27.f[BN ] = &DD27[BN *size_Mat]; + D27.f[TS ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirTNE ] = &DD27[dirTNE *size_Mat]; - D27.f[dirTSW ] = &DD27[dirTSW *size_Mat]; - D27.f[dirTSE ] = &DD27[dirTSE *size_Mat]; - D27.f[dirTNW ] = &DD27[dirTNW *size_Mat]; - D27.f[dirBNE ] = &DD27[dirBNE *size_Mat]; - D27.f[dirBSW ] = &DD27[dirBSW *size_Mat]; - D27.f[dirBSE ] = &DD27[dirBSE *size_Mat]; - D27.f[dirBNW ] = &DD27[dirBNW *size_Mat]; + D27.f[TNE ] = &DD27[TNE *size_Mat]; + D27.f[TSW ] = &DD27[TSW *size_Mat]; + D27.f[TSE ] = &DD27[TSE *size_Mat]; + D27.f[TNW ] = &DD27[TNW *size_Mat]; + D27.f[BNE ] = &DD27[BNE *size_Mat]; + D27.f[BSW ] = &DD27[BSW *size_Mat]; + D27.f[BSE ] = &DD27[BSE *size_Mat]; + D27.f[BNW ] = &DD27[BNW *size_Mat]; } else { - D27.f[dirW ] = &DD27[dirE *size_Mat]; - D27.f[dirE ] = &DD27[dirW *size_Mat]; - D27.f[dirS ] = &DD27[dirN *size_Mat]; - D27.f[dirN ] = &DD27[dirS *size_Mat]; - D27.f[dirB ] = &DD27[dirT *size_Mat]; - D27.f[dirT ] = &DD27[dirB *size_Mat]; - D27.f[dirSW ] = &DD27[dirNE *size_Mat]; - D27.f[dirNE ] = &DD27[dirSW *size_Mat]; - D27.f[dirNW ] = &DD27[dirSE *size_Mat]; - D27.f[dirSE ] = &DD27[dirNW *size_Mat]; - D27.f[dirBW ] = &DD27[dirTE *size_Mat]; - D27.f[dirTE ] = &DD27[dirBW *size_Mat]; - D27.f[dirTW ] = &DD27[dirBE *size_Mat]; - D27.f[dirBE ] = &DD27[dirTW *size_Mat]; - D27.f[dirBS ] = &DD27[dirTN *size_Mat]; - D27.f[dirTN ] = &DD27[dirBS *size_Mat]; - D27.f[dirTS ] = &DD27[dirBN *size_Mat]; - D27.f[dirBN ] = &DD27[dirTS *size_Mat]; + D27.f[W ] = &DD27[E *size_Mat]; + D27.f[E ] = &DD27[W *size_Mat]; + D27.f[S ] = &DD27[N *size_Mat]; + D27.f[N ] = &DD27[S *size_Mat]; + D27.f[B ] = &DD27[T *size_Mat]; + D27.f[T ] = &DD27[B *size_Mat]; + D27.f[SW ] = &DD27[NE *size_Mat]; + D27.f[NE ] = &DD27[SW *size_Mat]; + D27.f[NW ] = &DD27[SE *size_Mat]; + D27.f[SE ] = &DD27[NW *size_Mat]; + D27.f[BW ] = &DD27[TE *size_Mat]; + D27.f[TE ] = &DD27[BW *size_Mat]; + D27.f[TW ] = &DD27[BE *size_Mat]; + D27.f[BE ] = &DD27[TW *size_Mat]; + D27.f[BS ] = &DD27[TN *size_Mat]; + D27.f[TN ] = &DD27[BS *size_Mat]; + D27.f[TS ] = &DD27[BN *size_Mat]; + D27.f[BN ] = &DD27[TS *size_Mat]; D27.f[dirREST] = &DD27[dirREST*size_Mat]; - D27.f[dirBSW ] = &DD27[dirTNE *size_Mat]; - D27.f[dirBNE ] = &DD27[dirTSW *size_Mat]; - D27.f[dirBNW ] = &DD27[dirTSE *size_Mat]; - D27.f[dirBSE ] = &DD27[dirTNW *size_Mat]; - D27.f[dirTSW ] = &DD27[dirBNE *size_Mat]; - D27.f[dirTNE ] = &DD27[dirBSW *size_Mat]; - D27.f[dirTNW ] = &DD27[dirBSE *size_Mat]; - D27.f[dirTSE ] = &DD27[dirBNW *size_Mat]; + D27.f[BSW ] = &DD27[TNE *size_Mat]; + D27.f[BNE ] = &DD27[TSW *size_Mat]; + D27.f[BNW ] = &DD27[TSE *size_Mat]; + D27.f[BSE ] = &DD27[TNW *size_Mat]; + D27.f[TSW ] = &DD27[BNE *size_Mat]; + D27.f[TNE ] = &DD27[BSW *size_Mat]; + D27.f[TNW ] = &DD27[BSE *size_Mat]; + D27.f[TSE ] = &DD27[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real ConcD = Conc[k]; @@ -140,32 +140,32 @@ extern "C" __global__ void LB_Init_Incomp_AD_27(unsigned int* neighborX, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D27.f[dirREST])[kzero] = c8o27* ConcD*(c1o1-cu_sq); - (D27.f[dirE ])[ke ] = c2o27* ConcD*(c1o1+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D27.f[dirW ])[kw ] = c2o27* ConcD*(c1o1+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D27.f[dirN ])[kn ] = c2o27* ConcD*(c1o1+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D27.f[dirS ])[ks ] = c2o27* ConcD*(c1o1+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D27.f[dirT ])[kt ] = c2o27* ConcD*(c1o1+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D27.f[dirB ])[kb ] = c2o27* ConcD*(c1o1+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D27.f[dirNE ])[kne ] = c1o54* ConcD*(c1o1+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D27.f[dirSW ])[ksw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D27.f[dirSE ])[kse ] = c1o54* ConcD*(c1o1+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D27.f[dirNW ])[knw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D27.f[dirTE ])[kte ] = c1o54* ConcD*(c1o1+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D27.f[dirBW ])[kbw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D27.f[dirBE ])[kbe ] = c1o54* ConcD*(c1o1+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D27.f[dirTW ])[ktw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D27.f[dirTN ])[ktn ] = c1o54* ConcD*(c1o1+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D27.f[dirBS ])[kbs ] = c1o54* ConcD*(c1o1+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D27.f[dirBN ])[kbn ] = c1o54* ConcD*(c1o1+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D27.f[dirTS ])[kts ] = c1o54* ConcD*(c1o1+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D27.f[dirTNE ])[ktne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D27.f[dirBSW ])[kbsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D27.f[dirBNE ])[kbne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D27.f[dirTSW ])[ktsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D27.f[dirTSE ])[ktse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D27.f[dirBNW ])[kbnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D27.f[dirBSE ])[kbse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D27.f[dirTNW ])[ktnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D27.f[E ])[ke ] = c2o27* ConcD*(c1o1+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D27.f[W ])[kw ] = c2o27* ConcD*(c1o1+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D27.f[N ])[kn ] = c2o27* ConcD*(c1o1+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D27.f[S ])[ks ] = c2o27* ConcD*(c1o1+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D27.f[T ])[kt ] = c2o27* ConcD*(c1o1+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D27.f[B ])[kb ] = c2o27* ConcD*(c1o1+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D27.f[NE ])[kne ] = c1o54* ConcD*(c1o1+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D27.f[SW ])[ksw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D27.f[SE ])[kse ] = c1o54* ConcD*(c1o1+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D27.f[NW ])[knw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D27.f[TE ])[kte ] = c1o54* ConcD*(c1o1+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D27.f[BW ])[kbw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D27.f[BE ])[kbe ] = c1o54* ConcD*(c1o1+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D27.f[TW ])[ktw ] = c1o54* ConcD*(c1o1+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D27.f[TN ])[ktn ] = c1o54* ConcD*(c1o1+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D27.f[BS ])[kbs ] = c1o54* ConcD*(c1o1+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D27.f[BN ])[kbn ] = c1o54* ConcD*(c1o1+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D27.f[TS ])[kts ] = c1o54* ConcD*(c1o1+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D27.f[TNE ])[ktne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D27.f[BSW ])[kbsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D27.f[BNE ])[kbne ] = c1o216*ConcD*(c1o1+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D27.f[TSW ])[ktsw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D27.f[TSE ])[ktse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D27.f[BNW ])[kbnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D27.f[BSE ])[kbse ] = c1o216*ConcD*(c1o1+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D27.f[TNW ])[ktnw ] = c1o216*ConcD*(c1o1+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } } diff --git a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu index 9b2e3d150..36af23a1b 100644 --- a/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu +++ b/src/gpu/VirtualFluids_GPU/PreProcessor/PreProcessorStrategy/InitSP27/InitSP27_Device.cu @@ -39,63 +39,63 @@ extern "C" __global__ void LB_Init_SP_27(unsigned int* neighborX, Distributions27 D; if (EvenOrOdd==true) { - D.f[dirE ] = &DD[dirE *size_Mat]; - D.f[dirW ] = &DD[dirW *size_Mat]; - D.f[dirN ] = &DD[dirN *size_Mat]; - D.f[dirS ] = &DD[dirS *size_Mat]; - D.f[dirT ] = &DD[dirT *size_Mat]; - D.f[dirB ] = &DD[dirB *size_Mat]; - D.f[dirNE ] = &DD[dirNE *size_Mat]; - D.f[dirSW ] = &DD[dirSW *size_Mat]; - D.f[dirSE ] = &DD[dirSE *size_Mat]; - D.f[dirNW ] = &DD[dirNW *size_Mat]; - D.f[dirTE ] = &DD[dirTE *size_Mat]; - D.f[dirBW ] = &DD[dirBW *size_Mat]; - D.f[dirBE ] = &DD[dirBE *size_Mat]; - D.f[dirTW ] = &DD[dirTW *size_Mat]; - D.f[dirTN ] = &DD[dirTN *size_Mat]; - D.f[dirBS ] = &DD[dirBS *size_Mat]; - D.f[dirBN ] = &DD[dirBN *size_Mat]; - D.f[dirTS ] = &DD[dirTS *size_Mat]; + D.f[E ] = &DD[E *size_Mat]; + D.f[W ] = &DD[W *size_Mat]; + D.f[N ] = &DD[N *size_Mat]; + D.f[S ] = &DD[S *size_Mat]; + D.f[T ] = &DD[T *size_Mat]; + D.f[B ] = &DD[B *size_Mat]; + D.f[NE ] = &DD[NE *size_Mat]; + D.f[SW ] = &DD[SW *size_Mat]; + D.f[SE ] = &DD[SE *size_Mat]; + D.f[NW ] = &DD[NW *size_Mat]; + D.f[TE ] = &DD[TE *size_Mat]; + D.f[BW ] = &DD[BW *size_Mat]; + D.f[BE ] = &DD[BE *size_Mat]; + D.f[TW ] = &DD[TW *size_Mat]; + D.f[TN ] = &DD[TN *size_Mat]; + D.f[BS ] = &DD[BS *size_Mat]; + D.f[BN ] = &DD[BN *size_Mat]; + D.f[TS ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirTNE ] = &DD[dirTNE *size_Mat]; - D.f[dirTSW ] = &DD[dirTSW *size_Mat]; - D.f[dirTSE ] = &DD[dirTSE *size_Mat]; - D.f[dirTNW ] = &DD[dirTNW *size_Mat]; - D.f[dirBNE ] = &DD[dirBNE *size_Mat]; - D.f[dirBSW ] = &DD[dirBSW *size_Mat]; - D.f[dirBSE ] = &DD[dirBSE *size_Mat]; - D.f[dirBNW ] = &DD[dirBNW *size_Mat]; + D.f[TNE ] = &DD[TNE *size_Mat]; + D.f[TSW ] = &DD[TSW *size_Mat]; + D.f[TSE ] = &DD[TSE *size_Mat]; + D.f[TNW ] = &DD[TNW *size_Mat]; + D.f[BNE ] = &DD[BNE *size_Mat]; + D.f[BSW ] = &DD[BSW *size_Mat]; + D.f[BSE ] = &DD[BSE *size_Mat]; + D.f[BNW ] = &DD[BNW *size_Mat]; } else { - D.f[dirW ] = &DD[dirE *size_Mat]; - D.f[dirE ] = &DD[dirW *size_Mat]; - D.f[dirS ] = &DD[dirN *size_Mat]; - D.f[dirN ] = &DD[dirS *size_Mat]; - D.f[dirB ] = &DD[dirT *size_Mat]; - D.f[dirT ] = &DD[dirB *size_Mat]; - D.f[dirSW ] = &DD[dirNE *size_Mat]; - D.f[dirNE ] = &DD[dirSW *size_Mat]; - D.f[dirNW ] = &DD[dirSE *size_Mat]; - D.f[dirSE ] = &DD[dirNW *size_Mat]; - D.f[dirBW ] = &DD[dirTE *size_Mat]; - D.f[dirTE ] = &DD[dirBW *size_Mat]; - D.f[dirTW ] = &DD[dirBE *size_Mat]; - D.f[dirBE ] = &DD[dirTW *size_Mat]; - D.f[dirBS ] = &DD[dirTN *size_Mat]; - D.f[dirTN ] = &DD[dirBS *size_Mat]; - D.f[dirTS ] = &DD[dirBN *size_Mat]; - D.f[dirBN ] = &DD[dirTS *size_Mat]; + D.f[W ] = &DD[E *size_Mat]; + D.f[E ] = &DD[W *size_Mat]; + D.f[S ] = &DD[N *size_Mat]; + D.f[N ] = &DD[S *size_Mat]; + D.f[B ] = &DD[T *size_Mat]; + D.f[T ] = &DD[B *size_Mat]; + D.f[SW ] = &DD[NE *size_Mat]; + D.f[NE ] = &DD[SW *size_Mat]; + D.f[NW ] = &DD[SE *size_Mat]; + D.f[SE ] = &DD[NW *size_Mat]; + D.f[BW ] = &DD[TE *size_Mat]; + D.f[TE ] = &DD[BW *size_Mat]; + D.f[TW ] = &DD[BE *size_Mat]; + D.f[BE ] = &DD[TW *size_Mat]; + D.f[BS ] = &DD[TN *size_Mat]; + D.f[TN ] = &DD[BS *size_Mat]; + D.f[TS ] = &DD[BN *size_Mat]; + D.f[BN ] = &DD[TS *size_Mat]; D.f[dirREST] = &DD[dirREST*size_Mat]; - D.f[dirBSW ] = &DD[dirTNE *size_Mat]; - D.f[dirBNE ] = &DD[dirTSW *size_Mat]; - D.f[dirBNW ] = &DD[dirTSE *size_Mat]; - D.f[dirBSE ] = &DD[dirTNW *size_Mat]; - D.f[dirTSW ] = &DD[dirBNE *size_Mat]; - D.f[dirTNE ] = &DD[dirBSW *size_Mat]; - D.f[dirTNW ] = &DD[dirBSE *size_Mat]; - D.f[dirTSE ] = &DD[dirBNW *size_Mat]; + D.f[BSW ] = &DD[TNE *size_Mat]; + D.f[BNE ] = &DD[TSW *size_Mat]; + D.f[BNW ] = &DD[TSE *size_Mat]; + D.f[BSE ] = &DD[TNW *size_Mat]; + D.f[TSW ] = &DD[BNE *size_Mat]; + D.f[TNE ] = &DD[BSW *size_Mat]; + D.f[TNW ] = &DD[BSE *size_Mat]; + D.f[TSE ] = &DD[BNW *size_Mat]; } ////////////////////////////////////////////////////////////////////////// real drho = rho[k];//0.0f;// @@ -136,32 +136,32 @@ extern "C" __global__ void LB_Init_SP_27(unsigned int* neighborX, real cu_sq=c3o2*(vx1*vx1+vx2*vx2+vx3*vx3); (D.f[dirREST])[kzero] = c8o27* (drho-cu_sq); - (D.f[dirE ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); - (D.f[dirW ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); - (D.f[dirN ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); - (D.f[dirS ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); - (D.f[dirT ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); - (D.f[dirB ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); - (D.f[dirNE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); - (D.f[dirSW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); - (D.f[dirSE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); - (D.f[dirNW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); - (D.f[dirTE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); - (D.f[dirBW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); - (D.f[dirBE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); - (D.f[dirTW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); - (D.f[dirTN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); - (D.f[dirBS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); - (D.f[dirBN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); - (D.f[dirTS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); - (D.f[dirTNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); - (D.f[dirBSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); - (D.f[dirBNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); - (D.f[dirTSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); - (D.f[dirTSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); - (D.f[dirBNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); - (D.f[dirBSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); - (D.f[dirTNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); + (D.f[E ])[ke ] = c2o27* (drho+c3o1*( vx1 )+c9o2*( vx1 )*( vx1 )-cu_sq); + (D.f[W ])[kw ] = c2o27* (drho+c3o1*(-vx1 )+c9o2*(-vx1 )*(-vx1 )-cu_sq); + (D.f[N ])[kn ] = c2o27* (drho+c3o1*( vx2 )+c9o2*( vx2 )*( vx2 )-cu_sq); + (D.f[S ])[ks ] = c2o27* (drho+c3o1*( -vx2 )+c9o2*( -vx2 )*( -vx2 )-cu_sq); + (D.f[T ])[kt ] = c2o27* (drho+c3o1*( vx3)+c9o2*( vx3)*( vx3)-cu_sq); + (D.f[B ])[kb ] = c2o27* (drho+c3o1*( -vx3)+c9o2*( -vx3)*( -vx3)-cu_sq); + (D.f[NE ])[kne ] = c1o54* (drho+c3o1*( vx1+vx2 )+c9o2*( vx1+vx2 )*( vx1+vx2 )-cu_sq); + (D.f[SW ])[ksw ] = c1o54* (drho+c3o1*(-vx1-vx2 )+c9o2*(-vx1-vx2 )*(-vx1-vx2 )-cu_sq); + (D.f[SE ])[kse ] = c1o54* (drho+c3o1*( vx1-vx2 )+c9o2*( vx1-vx2 )*( vx1-vx2 )-cu_sq); + (D.f[NW ])[knw ] = c1o54* (drho+c3o1*(-vx1+vx2 )+c9o2*(-vx1+vx2 )*(-vx1+vx2 )-cu_sq); + (D.f[TE ])[kte ] = c1o54* (drho+c3o1*( vx1 +vx3)+c9o2*( vx1 +vx3)*( vx1 +vx3)-cu_sq); + (D.f[BW ])[kbw ] = c1o54* (drho+c3o1*(-vx1 -vx3)+c9o2*(-vx1 -vx3)*(-vx1 -vx3)-cu_sq); + (D.f[BE ])[kbe ] = c1o54* (drho+c3o1*( vx1 -vx3)+c9o2*( vx1 -vx3)*( vx1 -vx3)-cu_sq); + (D.f[TW ])[ktw ] = c1o54* (drho+c3o1*(-vx1 +vx3)+c9o2*(-vx1 +vx3)*(-vx1 +vx3)-cu_sq); + (D.f[TN ])[ktn ] = c1o54* (drho+c3o1*( vx2+vx3)+c9o2*( vx2+vx3)*( vx2+vx3)-cu_sq); + (D.f[BS ])[kbs ] = c1o54* (drho+c3o1*( -vx2-vx3)+c9o2*( -vx2-vx3)*( -vx2-vx3)-cu_sq); + (D.f[BN ])[kbn ] = c1o54* (drho+c3o1*( vx2-vx3)+c9o2*( vx2-vx3)*( vx2-vx3)-cu_sq); + (D.f[TS ])[kts ] = c1o54* (drho+c3o1*( -vx2+vx3)+c9o2*( -vx2+vx3)*( -vx2+vx3)-cu_sq); + (D.f[TNE ])[ktne ] = c1o216*(drho+c3o1*( vx1+vx2+vx3)+c9o2*( vx1+vx2+vx3)*( vx1+vx2+vx3)-cu_sq); + (D.f[BSW ])[kbsw ] = c1o216*(drho+c3o1*(-vx1-vx2-vx3)+c9o2*(-vx1-vx2-vx3)*(-vx1-vx2-vx3)-cu_sq); + (D.f[BNE ])[kbne ] = c1o216*(drho+c3o1*( vx1+vx2-vx3)+c9o2*( vx1+vx2-vx3)*( vx1+vx2-vx3)-cu_sq); + (D.f[TSW ])[ktsw ] = c1o216*(drho+c3o1*(-vx1-vx2+vx3)+c9o2*(-vx1-vx2+vx3)*(-vx1-vx2+vx3)-cu_sq); + (D.f[TSE ])[ktse ] = c1o216*(drho+c3o1*( vx1-vx2+vx3)+c9o2*( vx1-vx2+vx3)*( vx1-vx2+vx3)-cu_sq); + (D.f[BNW ])[kbnw ] = c1o216*(drho+c3o1*(-vx1+vx2-vx3)+c9o2*(-vx1+vx2-vx3)*(-vx1+vx2-vx3)-cu_sq); + (D.f[BSE ])[kbse ] = c1o216*(drho+c3o1*( vx1-vx2-vx3)+c9o2*( vx1-vx2-vx3)*( vx1-vx2-vx3)-cu_sq); + (D.f[TNW ])[ktnw ] = c1o216*(drho+c3o1*(-vx1+vx2+vx3)+c9o2*(-vx1+vx2+vx3)*(-vx1+vx2+vx3)-cu_sq); } else { -- GitLab