diff --git a/apps/cpu/FallingSphere/FallingSphere.cpp b/apps/cpu/FallingSphere/FallingSphere.cpp index 54ab56cfad753655e8aa77e6f7e6d50453f2b389..1135f7c2c7b68d32d50becb10c7c644113cbb411 100644 --- a/apps/cpu/FallingSphere/FallingSphere.cpp +++ b/apps/cpu/FallingSphere/FallingSphere.cpp @@ -56,13 +56,12 @@ int main(int argc, char *argv[]) grid->setDeltaX(dx); grid->setBlockNX(blockNX[0], blockNX[1], blockNX[2]); - string outputPath = "d:/temp/FallingSpheres"; + string outputPath = "d:/temp/FallingSpheres2"; UbSystem::makeDirectory(outputPath); UbSystem::makeDirectory(outputPath + "/liggghts"); - SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, - D3Q27System::BSW, MetisPartitioner::RECURSIVE)); + SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, D3Q27System::DIR_MMM, MetisPartitioner::RECURSIVE)); SPtr<GbObject3D> gridCube = make_shared <GbCuboid3D>(g_minX1, g_minX2, g_minX3, g_maxX1, g_maxX2, g_maxX3); if (myid == 0) @@ -102,8 +101,8 @@ int main(int argc, char *argv[]) grid->accept(initVisitor); SPtr<UbScheduler> lScheduler = make_shared<UbScheduler>(1); - string inFile1 = "d:/Projects/VirtualFluids_LIGGGHTS_coupling/apps/cpu/FallingSphere/in.lbdem"; - string inFile2 = "d:/Projects/VirtualFluids_LIGGGHTS_coupling/apps/cpu/FallingSphere/in2.lbdem"; + string inFile1 = "d:/Projects/VirtualFluids_Develop/apps/cpu/FallingSphere/in.lbdem"; + string inFile2 = "d:/Projects/VirtualFluids_Develop/apps/cpu/FallingSphere/in2.lbdem"; MPI_Comm mpi_comm = *(MPI_Comm*)(comm->getNativeCommunicator()); LiggghtsCouplingWrapper wrapper(argv, mpi_comm); @@ -124,17 +123,17 @@ int main(int argc, char *argv[]) wrapper.execCommand("echo none"); //wrapper.setVariable("d_part", d_part); - wrapper.setVariable("r_part", d_part/2.); - wrapper.setVariable("v_frac", v_frac); - - //wrapper.execFile((char*)inFile1.c_str()); + //wrapper.setVariable("r_part", d_part/2.); + //wrapper.setVariable("v_frac", v_frac); + wrapper.execFile((char*)inFile1.c_str()); + //// set timestep and output directory wrapper.setVariable("t_step", dt_dem); wrapper.setVariable("dmp_stp", vtkSteps * demSubsteps); wrapper.setVariable("dmp_dir", demOutDir); - wrapper.execFile((char *)inFile1.c_str()); + wrapper.execFile((char *)inFile2.c_str()); wrapper.runUpto(demSubsteps - 1); SPtr<LiggghtsCouplingCoProcessor> lcCoProcessor = diff --git a/apps/cpu/FallingSphere/in.lbdem b/apps/cpu/FallingSphere/in.lbdem index b47a85c997fce75ba082490b305bbe9b55caeb25..180f136b818b4c418eba8d9a3758bfab94b0fc2c 100644 --- a/apps/cpu/FallingSphere/in.lbdem +++ b/apps/cpu/FallingSphere/in.lbdem @@ -47,7 +47,7 @@ fix zwalls2 all wall/gran model hertz tangential history primitive type 1 zplane create_atoms 1 single 0.5 0.5 9.75 #create_atoms 1 single 0.38 0.05 0.05 -set group all diameter ${d_part} density 2400 +#set group all diameter ${d_part} density 2400 atom_modify sort 0 0.0 diff --git a/apps/cpu/LiggghtsApp/LiggghtsApp.cpp b/apps/cpu/LiggghtsApp/LiggghtsApp.cpp index 36c0d880ac63e0fb2ea23266d581746c853cf6d1..0f3d2ca13aed9fc47d54fbbf0e3f32503afcd9e4 100644 --- a/apps/cpu/LiggghtsApp/LiggghtsApp.cpp +++ b/apps/cpu/LiggghtsApp/LiggghtsApp.cpp @@ -73,8 +73,7 @@ int main(int argc, char *argv[]) string outputPath = "d:/temp/lll8"; - SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, - D3Q27System::BSW, MetisPartitioner::RECURSIVE)); + SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, D3Q27System::DIR_MMM, MetisPartitioner::RECURSIVE)); SPtr<GbObject3D> gridCube = make_shared <GbCuboid3D>(g_minX1, g_minX2, g_minX3, g_maxX1, g_maxX2, g_maxX3); if (myid == 0) diff --git a/apps/cpu/Nozzle/nozzle.cpp b/apps/cpu/Nozzle/nozzle.cpp index c8026ec139fafadc54bf6618992b765699b63177..17b806e91ec02727a1b7e7167573ae37ab8e6b5b 100644 --- a/apps/cpu/Nozzle/nozzle.cpp +++ b/apps/cpu/Nozzle/nozzle.cpp @@ -78,8 +78,7 @@ int main(int argc, char *argv[]) UbSystem::makeDirectory(outputPath); UbSystem::makeDirectory(outputPath + "/liggghts"); - SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, - D3Q27System::BSW, MetisPartitioner::RECURSIVE)); + SPtr<Grid3DVisitor> metisVisitor(new MetisPartitioningGridVisitor(comm, MetisPartitioningGridVisitor::LevelBased, D3Q27System::DIR_MMM, MetisPartitioner::RECURSIVE)); SPtr<GbObject3D> gridCube = make_shared <GbCuboid3D>(g_minX1, g_minX2, g_minX3, g_maxX1, g_maxX2, g_maxX3); if (myid == 0) diff --git a/src/cpu/LiggghtsCoupling/IBcumulantK17LBMKernel.cpp b/src/cpu/LiggghtsCoupling/IBcumulantK17LBMKernel.cpp index ac0bc35844cb32544d901cbf5a93503d49de4070..0ab0f8a674178af698750b06940dd526842bc638 100644 --- a/src/cpu/LiggghtsCoupling/IBcumulantK17LBMKernel.cpp +++ b/src/cpu/LiggghtsCoupling/IBcumulantK17LBMKernel.cpp @@ -223,66 +223,66 @@ void IBcumulantK17LBMKernel::calculate(int step) LBMReal fEqSolid[D3Q27System::ENDF + 1]; LBMReal fPre[D3Q27System::ENDF + 1]; - f[D3Q27System::REST] = mfbbb; - - f[D3Q27System::E] = mfcbb; - f[D3Q27System::N] = mfbcb; - f[D3Q27System::T] = mfbbc; - f[D3Q27System::NE] = mfccb; - f[D3Q27System::NW] = mfacb; - f[D3Q27System::TE] = mfcbc; - f[D3Q27System::TW] = mfabc; - f[D3Q27System::TN] = mfbcc; - f[D3Q27System::TS] = mfbac; - f[D3Q27System::TNE] = mfccc; - f[D3Q27System::TNW] = mfacc; - f[D3Q27System::TSE] = mfcac; - f[D3Q27System::TSW] = mfaac; - - f[D3Q27System::W] = mfabb; - f[D3Q27System::S] = mfbab; - f[D3Q27System::B] = mfbba; - f[D3Q27System::SW] = mfaab; - f[D3Q27System::SE] = mfcab; - f[D3Q27System::BW] = mfaba; - f[D3Q27System::BE] = mfcba; - f[D3Q27System::BS] = mfbaa; - f[D3Q27System::BN] = mfbca; - f[D3Q27System::BSW] = mfaaa; - f[D3Q27System::BSE] = mfcaa; - f[D3Q27System::BNW] = mfaca; - f[D3Q27System::BNE] = mfcca; + f[D3Q27System::DIR_000] = mfbbb; + + f[D3Q27System::DIR_P00] = mfcbb; + f[D3Q27System::DIR_0P0] = mfbcb; + f[D3Q27System::DIR_00P] = mfbbc; + f[D3Q27System::DIR_PP0] = mfccb; + f[D3Q27System::DIR_MP0] = mfacb; + f[D3Q27System::DIR_P0P] = mfcbc; + f[D3Q27System::DIR_M0P] = mfabc; + f[D3Q27System::DIR_0PP] = mfbcc; + f[D3Q27System::DIR_0MP] = mfbac; + f[D3Q27System::DIR_PPP] = mfccc; + f[D3Q27System::DIR_MPP] = mfacc; + f[D3Q27System::DIR_PMP] = mfcac; + f[D3Q27System::DIR_MMP] = mfaac; + + f[D3Q27System::DIR_M00] = mfabb; + f[D3Q27System::DIR_0M0] = mfbab; + f[D3Q27System::DIR_00M] = mfbba; + f[D3Q27System::DIR_MM0] = mfaab; + f[D3Q27System::DIR_PM0] = mfcab; + f[D3Q27System::DIR_M0M] = mfaba; + f[D3Q27System::DIR_P0M] = mfcba; + f[D3Q27System::DIR_0MM] = mfbaa; + f[D3Q27System::DIR_0PM] = mfbca; + f[D3Q27System::DIR_MMM] = mfaaa; + f[D3Q27System::DIR_PMM] = mfcaa; + f[D3Q27System::DIR_MPM] = mfaca; + f[D3Q27System::DIR_PPM] = mfcca; if ((*particleData)(x1, x2, x3)->solidFraction > SOLFRAC_MIN) { - fPre[D3Q27System::REST] = mfbbb; - - fPre[D3Q27System::E] = mfcbb; - fPre[D3Q27System::N] = mfbcb; - fPre[D3Q27System::T] = mfbbc; - fPre[D3Q27System::NE] = mfccb; - fPre[D3Q27System::NW] = mfacb; - fPre[D3Q27System::TE] = mfcbc; - fPre[D3Q27System::TW] = mfabc; - fPre[D3Q27System::TN] = mfbcc; - fPre[D3Q27System::TS] = mfbac; - fPre[D3Q27System::TNE] = mfccc; - fPre[D3Q27System::TNW] = mfacc; - fPre[D3Q27System::TSE] = mfcac; - fPre[D3Q27System::TSW] = mfaac; - - fPre[D3Q27System::W] = mfabb; - fPre[D3Q27System::S] = mfbab; - fPre[D3Q27System::B] = mfbba; - fPre[D3Q27System::SW] = mfaab; - fPre[D3Q27System::SE] = mfcab; - fPre[D3Q27System::BW] = mfaba; - fPre[D3Q27System::BE] = mfcba; - fPre[D3Q27System::BS] = mfbaa; - fPre[D3Q27System::BN] = mfbca; - fPre[D3Q27System::BSW] = mfaaa; - fPre[D3Q27System::BSE] = mfcaa; - fPre[D3Q27System::BNW] = mfaca; - fPre[D3Q27System::BNE] = mfcca; + fPre[D3Q27System::DIR_000] = mfbbb; + + fPre[D3Q27System::DIR_P00] = mfcbb; + fPre[D3Q27System::DIR_0P0] = mfbcb; + fPre[D3Q27System::DIR_00P] = mfbbc; + fPre[D3Q27System::DIR_PP0] = mfccb; + fPre[D3Q27System::DIR_MP0] = mfacb; + fPre[D3Q27System::DIR_P0P] = mfcbc; + fPre[D3Q27System::DIR_M0P] = mfabc; + fPre[D3Q27System::DIR_0PP] = mfbcc; + fPre[D3Q27System::DIR_0MP] = mfbac; + fPre[D3Q27System::DIR_PPP] = mfccc; + fPre[D3Q27System::DIR_MPP] = mfacc; + fPre[D3Q27System::DIR_PMP] = mfcac; + fPre[D3Q27System::DIR_MMP] = mfaac; + + fPre[D3Q27System::DIR_M00] = mfabb; + fPre[D3Q27System::DIR_0M0] = mfbab; + fPre[D3Q27System::DIR_00M] = mfbba; + fPre[D3Q27System::DIR_MM0] = mfaab; + fPre[D3Q27System::DIR_PM0] = mfcab; + fPre[D3Q27System::DIR_M0M] = mfaba; + fPre[D3Q27System::DIR_P0M] = mfcba; + fPre[D3Q27System::DIR_0MM] = mfbaa; + fPre[D3Q27System::DIR_0PM] = mfbca; + fPre[D3Q27System::DIR_MMM] = mfaaa; + fPre[D3Q27System::DIR_PMM] = mfcaa; + fPre[D3Q27System::DIR_MPM] = mfaca; + fPre[D3Q27System::DIR_PPM] = mfcca; } (*particleData)(x1, x2, x3)->hydrodynamicForce.fill(0.0); @@ -789,35 +789,35 @@ void IBcumulantK17LBMKernel::calculate(int step) (*this->restDistributions)(x1, x2, x3) = mfbbb; ////////////////////////////////////////////////////////////////////////// - f[D3Q27System::REST] = mfbbb; + f[D3Q27System::DIR_000] = mfbbb; - f[D3Q27System::E] = mfcbb; - f[D3Q27System::N] = mfbcb; - f[D3Q27System::T] = mfbbc; - f[D3Q27System::NE] = mfccb; - f[D3Q27System::NW] = mfacb; - f[D3Q27System::TE] = mfcbc; - f[D3Q27System::TW] = mfabc; - f[D3Q27System::TN] = mfbcc; - f[D3Q27System::TS] = mfbac; - f[D3Q27System::TNE] = mfccc; - f[D3Q27System::TNW] = mfacc; - f[D3Q27System::TSE] = mfcac; - f[D3Q27System::TSW] = mfaac; + f[D3Q27System::DIR_P00] = mfcbb; + f[D3Q27System::DIR_0P0] = mfbcb; + f[D3Q27System::DIR_00P] = mfbbc; + f[D3Q27System::DIR_PP0] = mfccb; + f[D3Q27System::DIR_MP0] = mfacb; + f[D3Q27System::DIR_P0P] = mfcbc; + f[D3Q27System::DIR_M0P] = mfabc; + f[D3Q27System::DIR_0PP] = mfbcc; + f[D3Q27System::DIR_0MP] = mfbac; + f[D3Q27System::DIR_PPP] = mfccc; + f[D3Q27System::DIR_MPP] = mfacc; + f[D3Q27System::DIR_PMP] = mfcac; + f[D3Q27System::DIR_MMP] = mfaac; - f[D3Q27System::W] = mfabb; - f[D3Q27System::S] = mfbab; - f[D3Q27System::B] = mfbba; - f[D3Q27System::SW] = mfaab; - f[D3Q27System::SE] = mfcab; - f[D3Q27System::BW] = mfaba; - f[D3Q27System::BE] = mfcba; - f[D3Q27System::BS] = mfbaa; - f[D3Q27System::BN] = mfbca; - f[D3Q27System::BSW] = mfaaa; - f[D3Q27System::BSE] = mfcaa; - f[D3Q27System::BNW] = mfaca; - f[D3Q27System::BNE] = mfcca; + f[D3Q27System::DIR_M00] = mfabb; + f[D3Q27System::DIR_0M0] = mfbab; + f[D3Q27System::DIR_00M] = mfbba; + f[D3Q27System::DIR_MM0] = mfaab; + f[D3Q27System::DIR_PM0] = mfcab; + f[D3Q27System::DIR_M0M] = mfaba; + f[D3Q27System::DIR_P0M] = mfcba; + f[D3Q27System::DIR_0MM] = mfbaa; + f[D3Q27System::DIR_0PM] = mfbca; + f[D3Q27System::DIR_MMM] = mfaaa; + f[D3Q27System::DIR_PMM] = mfcaa; + f[D3Q27System::DIR_MPM] = mfaca; + f[D3Q27System::DIR_PPM] = mfcca; } if ((*particleData)(x1, x2, x3)->solidFraction < SOLFRAC_MIN) continue; @@ -834,8 +834,8 @@ void IBcumulantK17LBMKernel::calculate(int step) D3Q27System::calcCompFeq(fEqSolid, drho, uPart[0], uPart[1], uPart[2]); if ((*particleData)(x1, x2, x3)->solidFraction > SOLFRAC_MAX) { - double const bb0 = fEq[D3Q27System::REST] - fEqSolid[D3Q27System::REST]; - f[D3Q27System::REST] = fPre[D3Q27System::REST] + bb0; + double const bb0 = fEq[D3Q27System::DIR_000] - fEqSolid[D3Q27System::DIR_000]; + f[D3Q27System::DIR_000] = fPre[D3Q27System::DIR_000] + bb0; for (int iPop = D3Q27System::FSTARTDIR; iPop <= D3Q27System::FENDDIR; iPop++) { const int iOpp = D3Q27System::INVDIR[iPop]; double const bb = ((fPre[iOpp] - fEq[iOpp]) - (fPre[iPop] - fEqSolid[iPop])); @@ -858,8 +858,8 @@ void IBcumulantK17LBMKernel::calculate(int step) //#endif double const oneMinB = 1. - B; - double const bb0 = fEq[D3Q27System::REST] - fEqSolid[D3Q27System::REST]; - f[D3Q27System::REST] = fPre[D3Q27System::REST] + oneMinB * (f[D3Q27System::REST] - fPre[D3Q27System::REST]) + B * bb0; + double const bb0 = fEq[D3Q27System::DIR_000] - fEqSolid[D3Q27System::DIR_000]; + f[D3Q27System::DIR_000] = fPre[D3Q27System::DIR_000] + oneMinB * (f[D3Q27System::DIR_000] - fPre[D3Q27System::DIR_000]) + B * bb0; for (int iPop = D3Q27System::FSTARTDIR; iPop <= D3Q27System::FENDDIR; iPop++) { int const iOpp = D3Q27System::INVDIR[iPop]; @@ -875,35 +875,35 @@ void IBcumulantK17LBMKernel::calculate(int step) } } /* if solidFraction > SOLFRAC_MAX */ - (*this->restDistributions)(x1, x2, x3) = f[D3Q27System::REST]; + (*this->restDistributions)(x1, x2, x3) = f[D3Q27System::DIR_000]; - (*this->localDistributions)(D3Q27System::ET_E, x1, x2, x3) = f[D3Q27System::W] ; - (*this->localDistributions)(D3Q27System::ET_N, x1, x2, x3) = f[D3Q27System::S] ; - (*this->localDistributions)(D3Q27System::ET_T, x1, x2, x3) = f[D3Q27System::B] ; - (*this->localDistributions)(D3Q27System::ET_NE, x1, x2, x3) = f[D3Q27System::SW] ; - (*this->localDistributions)(D3Q27System::ET_NW, x1p, x2, x3) = f[D3Q27System::SE] ; - (*this->localDistributions)(D3Q27System::ET_TE, x1, x2, x3) = f[D3Q27System::BW] ; - (*this->localDistributions)(D3Q27System::ET_TW, x1p, x2, x3) = f[D3Q27System::BE] ; - (*this->localDistributions)(D3Q27System::ET_TN, x1, x2, x3) = f[D3Q27System::BS] ; - (*this->localDistributions)(D3Q27System::ET_TS, x1, x2p, x3) = f[D3Q27System::BN] ; - (*this->localDistributions)(D3Q27System::ET_TNE, x1, x2, x3) = f[D3Q27System::BSW] ; - (*this->localDistributions)(D3Q27System::ET_TNW, x1p, x2, x3) = f[D3Q27System::BSE] ; - (*this->localDistributions)(D3Q27System::ET_TSE, x1, x2p, x3) = f[D3Q27System::BNW] ; - (*this->localDistributions)(D3Q27System::ET_TSW, x1p, x2p, x3) = f[D3Q27System::BNE] ; + (*this->localDistributions)(D3Q27System::ET_E, x1, x2, x3) = f[D3Q27System::DIR_M00]; + (*this->localDistributions)(D3Q27System::ET_N, x1, x2, x3) = f[D3Q27System::DIR_0M0]; + (*this->localDistributions)(D3Q27System::ET_T, x1, x2, x3) = f[D3Q27System::DIR_00M]; + (*this->localDistributions)(D3Q27System::ET_NE, x1, x2, x3) = f[D3Q27System::DIR_MM0]; + (*this->localDistributions)(D3Q27System::ET_NW, x1p, x2, x3) = f[D3Q27System::DIR_PM0]; + (*this->localDistributions)(D3Q27System::ET_TE, x1, x2, x3) = f[D3Q27System::DIR_M0M]; + (*this->localDistributions)(D3Q27System::ET_TW, x1p, x2, x3) = f[D3Q27System::DIR_P0M]; + (*this->localDistributions)(D3Q27System::ET_TN, x1, x2, x3) = f[D3Q27System::DIR_0MM]; + (*this->localDistributions)(D3Q27System::ET_TS, x1, x2p, x3) = f[D3Q27System::DIR_0PM]; + (*this->localDistributions)(D3Q27System::ET_TNE, x1, x2, x3) = f[D3Q27System::DIR_MMM]; + (*this->localDistributions)(D3Q27System::ET_TNW, x1p, x2, x3) = f[D3Q27System::DIR_PMM]; + (*this->localDistributions)(D3Q27System::ET_TSE, x1, x2p, x3) = f[D3Q27System::DIR_MPM]; + (*this->localDistributions)(D3Q27System::ET_TSW, x1p, x2p, x3) = f[D3Q27System::DIR_PPM]; - (*this->nonLocalDistributions)(D3Q27System::ET_W, x1p, x2, x3) = f[D3Q27System::E] ; - (*this->nonLocalDistributions)(D3Q27System::ET_S, x1, x2p, x3) = f[D3Q27System::N] ; - (*this->nonLocalDistributions)(D3Q27System::ET_B, x1, x2, x3p) = f[D3Q27System::T] ; - (*this->nonLocalDistributions)(D3Q27System::ET_SW, x1p, x2p, x3) = f[D3Q27System::NE] ; - (*this->nonLocalDistributions)(D3Q27System::ET_SE, x1, x2p, x3) = f[D3Q27System::NW] ; - (*this->nonLocalDistributions)(D3Q27System::ET_BW, x1p, x2, x3p) = f[D3Q27System::TE] ; - (*this->nonLocalDistributions)(D3Q27System::ET_BE, x1, x2, x3p) = f[D3Q27System::TW] ; - (*this->nonLocalDistributions)(D3Q27System::ET_BS, x1, x2p, x3p) = f[D3Q27System::TN] ; - (*this->nonLocalDistributions)(D3Q27System::ET_BN, x1, x2, x3p) = f[D3Q27System::TS] ; - (*this->nonLocalDistributions)(D3Q27System::ET_BSW, x1p, x2p, x3p) = f[D3Q27System::TNE]; - (*this->nonLocalDistributions)(D3Q27System::ET_BSE, x1, x2p, x3p) = f[D3Q27System::TNW]; - (*this->nonLocalDistributions)(D3Q27System::ET_BNW, x1p, x2, x3p) = f[D3Q27System::TSE]; - (*this->nonLocalDistributions)(D3Q27System::ET_BNE, x1, x2, x3p) = f[D3Q27System::TSW]; + (*this->nonLocalDistributions)(D3Q27System::ET_W, x1p, x2, x3) = f[D3Q27System::DIR_P00]; + (*this->nonLocalDistributions)(D3Q27System::ET_S, x1, x2p, x3) = f[D3Q27System::DIR_0P0]; + (*this->nonLocalDistributions)(D3Q27System::ET_B, x1, x2, x3p) = f[D3Q27System::DIR_00P]; + (*this->nonLocalDistributions)(D3Q27System::ET_SW, x1p, x2p, x3) = f[D3Q27System::DIR_PP0]; + (*this->nonLocalDistributions)(D3Q27System::ET_SE, x1, x2p, x3) = f[D3Q27System::DIR_MP0]; + (*this->nonLocalDistributions)(D3Q27System::ET_BW, x1p, x2, x3p) = f[D3Q27System::DIR_P0P]; + (*this->nonLocalDistributions)(D3Q27System::ET_BE, x1, x2, x3p) = f[D3Q27System::DIR_M0P]; + (*this->nonLocalDistributions)(D3Q27System::ET_BS, x1, x2p, x3p) = f[D3Q27System::DIR_0PP]; + (*this->nonLocalDistributions)(D3Q27System::ET_BN, x1, x2, x3p) = f[D3Q27System::DIR_0MP]; + (*this->nonLocalDistributions)(D3Q27System::ET_BSW, x1p, x2p, x3p) = f[D3Q27System::DIR_PPP]; + (*this->nonLocalDistributions)(D3Q27System::ET_BSE, x1, x2p, x3p) = f[D3Q27System::DIR_MPP]; + (*this->nonLocalDistributions)(D3Q27System::ET_BNW, x1p, x2, x3p) = f[D3Q27System::DIR_PMP]; + (*this->nonLocalDistributions)(D3Q27System::ET_BNE, x1, x2, x3p) = f[D3Q27System::DIR_MMP]; } } }