diff --git a/apps/cpu/MultiphaseDropletTest.zip b/apps/cpu/MultiphaseDropletTest.zip deleted file mode 100644 index 5eb13a6c0bacfbf392deb00c6b388ba282c038e0..0000000000000000000000000000000000000000 Binary files a/apps/cpu/MultiphaseDropletTest.zip and /dev/null differ diff --git a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCAlgorithm.cpp.new b/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCAlgorithm.cpp.new deleted file mode 100644 index 7c21b30c8931e6f321abc3c9822eadb678f842f3..0000000000000000000000000000000000000000 --- a/src/cpu/MultiphaseFlow/BoundaryConditions/MultiphaseVelocityBCAlgorithm.cpp.new +++ /dev/null @@ -1,151 +0,0 @@ -//======================================================================================= -// ____ ____ __ ______ __________ __ __ __ __ -// \ \ | | | | | _ \ |___ ___| | | | | / \ | | -// \ \ | | | | | |_) | | | | | | | / \ | | -// \ \ | | | | | _ / | | | | | | / /\ \ | | -// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ -// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| -// \ \ | | ________________________________________________________________ -// \ \ | | | ______________________________________________________________| -// \ \| | | | __ __ __ __ ______ _______ -// \ | | |_____ | | | | | | | | | _ \ / _____) -// \ | | _____| | | | | | | | | | | \ \ \_______ -// \ | | | | |_____ | \_/ | | | | |_/ / _____ | -// \ _____| |__| |________| \_______/ |__| |______/ (_______/ -// -// This file is part of VirtualFluids. VirtualFluids is free software: you can -// redistribute it and/or modify it under the terms of the GNU General Public -// License as published by the Free Software Foundation, either version 3 of -// the License, or (at your option) any later version. -// -// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -// for more details. -// -// You should have received a copy of the GNU General Public License along -// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. -// -//! \file MultiphaseVelocityBCAlgorithm.cpp -//! \ingroup BoundarConditions -//! \author Hesameddin Safari -//======================================================================================= - -#include "MultiphaseVelocityBCAlgorithm.h" -#include "DistributionArray3D.h" -#include "BoundaryConditions.h" - -MultiphaseVelocityBCAlgorithm::MultiphaseVelocityBCAlgorithm() -{ - BCAlgorithm::type = BCAlgorithm::MultiphaseVelocityBCAlgorithm; - BCAlgorithm::preCollision = false; -} -////////////////////////////////////////////////////////////////////////// -MultiphaseVelocityBCAlgorithm::~MultiphaseVelocityBCAlgorithm() -{ -} -////////////////////////////////////////////////////////////////////////// -SPtr<BCAlgorithm> MultiphaseVelocityBCAlgorithm::clone() -{ - SPtr<BCAlgorithm> bc(new MultiphaseVelocityBCAlgorithm()); - return bc; -} -////////////////////////////////////////////////////////////////////////// -void MultiphaseVelocityBCAlgorithm::addDistributions(SPtr<DistributionArray3D> distributions) -{ - this->distributions = distributions; -} -////////////////////////////////////////////////////////////////////////// -void MultiphaseVelocityBCAlgorithm::addDistributionsH(SPtr<DistributionArray3D> distributionsH) -{ - this->distributionsH = distributionsH; -} -////////////////////////////////////////////////////////////////////////// -void MultiphaseVelocityBCAlgorithm::addDistributionsH2(SPtr<DistributionArray3D> distributionsH) -{ - this->distributionsH2 = distributionsH; -} -////////////////////////////////////////////////////////////////////////// -void MultiphaseVelocityBCAlgorithm::applyBC() -{ - LBMReal f[D3Q27System::ENDF+1]; - LBMReal h[D3Q27System::ENDF+1]; - LBMReal h2[D3Q27System::ENDF + 1]; - LBMReal feq[D3Q27System::ENDF+1]; - LBMReal heq[D3Q27System::ENDF+1]; - LBMReal htemp[D3Q27System::ENDF+1]; - - distributions->getDistributionInv(f, x1, x2, x3); - distributionsH->getDistributionInv(h, x1, x2, x3); - if (distributionsH2) - distributionsH2->getDistributionInv(h2, x1, x2, x3); - LBMReal phi, vx1, vx2, vx3, p1, phiBC; - - D3Q27System::calcDensity(h, phi); - - calcMacrosFct(f, p1, vx1, vx2, vx3); - vx1=bcPtr->getBoundaryVelocityX1(); - vx2 = bcPtr->getBoundaryVelocityX2(); - vx3 = bcPtr->getBoundaryVelocityX3(); - p1 = 0.0; - D3Q27System::calcMultiphaseFeqVB(feq, p1, vx1, vx2, vx3); - D3Q27System::calcMultiphaseHeq(heq, phi, vx1, vx2, vx3); - - ///// added for phase field ////// - - int nx1 = x1; - int nx2 = x2; - int nx3 = x3; - - //flag points in direction of fluid - if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::E)) { nx1 -= 1; } - else if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::W)) { nx1 += 1; } - else if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::N)) { nx2 -= 1; } - else if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::S)) { nx2 += 1; } - else if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::T)) { nx3 -= 1; } - else if (bcPtr->hasVelocityBoundaryFlag(D3Q27System::B)) { nx3 += 1; } - //else UB_THROW(UbException(UB_EXARGS, "Danger...no orthogonal BC-Flag on velocity boundary...")); - - phiBC = bcPtr->getBoundaryPhaseField(); - - D3Q27System::calcMultiphaseHeq(htemp, phiBC, vx1, vx2, vx3); - //D3Q27System::calcMultiphaseHeq(htemp, phiBC, bcPtr->getBoundaryVelocityX1(), bcPtr->getBoundaryVelocityX2(), bcPtr->getBoundaryVelocityX2());//30.03.2021 EQ phase field BC! - //for (int fdir = D3Q27System::STARTF; fdir<=D3Q27System::ENDF; fdir++) - //{ - // if (bcPtr->hasVelocityBoundaryFlag(fdir)) - // { - // LBMReal hReturn = htemp[fdir]+h[fdir]-heq[fdir]; - // //17.03.2021 Let us just set the plain eq - // //LBMReal hReturn = htemp[fdir]; - // distributionsH->setDistributionForDirection(hReturn, nx1, nx2, nx3, fdir); - // // if (distributionsH2) - // // distributionsH2->setDistributionForDirection(0, nx1, nx2, nx3, fdir); - // } - //} - - for (int fdir = D3Q27System::FSTARTDIR; fdir<=D3Q27System::FENDDIR; fdir++) - { - if (bcPtr->hasVelocityBoundaryFlag(fdir)) - { - const int invDir = D3Q27System::INVDIR[fdir]; - //LBMReal q = bcPtr->getQ(invDir);// m+m q=0 stabiler - LBMReal velocity = bcPtr->getBoundaryVelocity(invDir); - //16.03.2021 quick fix for velocity BC - LBMReal fReturn = f[invDir] - velocity; - //LBMReal fReturn = ((1.0-q)/(1.0+q))*((f[invDir]-feq[invDir])/(1.0-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity)/(1.0+q)); - // distributions->setDistributionForDirection(fReturn, x1+D3Q27System::DX1[invDir], x2+D3Q27System::DX2[invDir], x3+D3Q27System::DX3[invDir], fdir);//no delay BB - distributions->setDistributionForDirection(fReturn, x1, x2, x3, invDir);//delay BB - - LBMReal hReturn = htemp[invDir]+h[invDir] - heq[invDir]; - distributionsH->setDistributionForDirection(hReturn, x1, x2, x3, invDir);//delay BB - if (distributionsH2) { - fReturn = h2[invDir] ; - // distributionsH2->setDistributionForDirection(fReturn, x1 + D3Q27System::DX1[invDir], x2 + D3Q27System::DX2[invDir], x3 + D3Q27System::DX3[invDir], fdir); - distributionsH2->setDistributionForDirection(fReturn, x1, x2, x3, invDir);//delay BB - } - - } - } - -} - diff --git a/src/cpu/MultiphaseFlow/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp.old b/src/cpu/MultiphaseFlow/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp.old deleted file mode 100644 index 2ab0e9df73c83b4de2b8824667452414f42dfa1d..0000000000000000000000000000000000000000 --- a/src/cpu/MultiphaseFlow/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp.old +++ /dev/null @@ -1,3024 +0,0 @@ -////======================================================================================= -//// ____ ____ __ ______ __________ __ __ __ __ -//// \ \ | | | | | _ \ |___ ___| | | | | / \ | | -//// \ \ | | | | | |_) | | | | | | | / \ | | -//// \ \ | | | | | _ / | | | | | | / /\ \ | | -//// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____ -//// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______| -//// \ \ | | ________________________________________________________________ -//// \ \ | | | ______________________________________________________________| -//// \ \| | | | __ __ __ __ ______ _______ -//// \ | | |_____ | | | | | | | | | _ \ / _____) -//// \ | | _____| | | | | | | | | | | \ \ \_______ -//// \ | | | | |_____ | \_/ | | | | |_/ / _____ | -//// \ _____| |__| |________| \_______/ |__| |______/ (_______/ -//// -//// This file is part of VirtualFluids. VirtualFluids is free software: you can -//// redistribute it and/or modify it under the terms of the GNU General Public -//// License as published by the Free Software Foundation, either version 3 of -//// the License, or (at your option) any later version. -//// -//// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT -//// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -//// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -//// for more details. -//// -//// You should have received a copy of the GNU General Public License along -//// with VirtualFluids (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>. -//// -////! \file MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp -////! \ingroup LBMKernel -////! \author M. Geier, K. Kutscher, Hesameddin Safari -////======================================================================================= -// -//#include "MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.h" -//#include "BCArray3D.h" -//#include "Block3D.h" -//#include "D3Q27EsoTwist3DSplittedVector.h" -//#include "D3Q27System.h" -//#include "DataSet3D.h" -//#include "LBMKernel.h" -//#include <cmath> -//#include <iostream> -//#include <string> -// -//#define PROOF_CORRECTNESS -// -//////////////////////////////////////////////////////////////////////////// -//MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::MultiphaseSimpleVelocityBaseExternalPressureLBMKernel() { this->compressible = false; } -//////////////////////////////////////////////////////////////////////////// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::initDataSet() -//{ -// SPtr<DistributionArray3D> f(new D3Q27EsoTwist3DSplittedVector( nx[0] + 4, nx[1] + 4, nx[2] + 4, -999.9)); -// SPtr<DistributionArray3D> h(new D3Q27EsoTwist3DSplittedVector( nx[0] + 4, nx[1] + 4, nx[2] + 4, -999.9)); // For phase-field -// SPtr<DistributionArray3D> h2(new D3Q27EsoTwist3DSplittedVector(nx[0] + 4, nx[1] + 4, nx[2] + 4, -999.9)); -// SPtr<PhaseFieldArray3D> divU1(new PhaseFieldArray3D( nx[0] + 4, nx[1] + 4, nx[2] + 4, 0.0)); -// CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr pressure(new CbArray3D<LBMReal, IndexerX3X2X1>( nx[0] + 4, nx[1] + 4, nx[2] + 4, 0.0)); -// pressureOld = CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal, IndexerX3X2X1>(nx[0] + 4, nx[1] + 4, nx[2] + 4, 0.0)); -// p1Old = CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal, IndexerX3X2X1>(nx[0] + 4, nx[1] + 4, nx[2] + 4, 0.0)); -// dataSet->setFdistributions(f); -// dataSet->setHdistributions(h); // For phase-field -// dataSet->setH2distributions(h2); -// dataSet->setPhaseField(divU1); -// dataSet->setPressureField(pressure); -// -// phaseField = CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal, IndexerX3X2X1>(nx[0] + 4, nx[1] + 4, nx[2] + 4, -999.0)); -// phaseFieldOld = CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal, IndexerX3X2X1>(nx[0] + 4, nx[1] + 4, nx[2] + 4, 999.0)); -// -// divU = CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr(new CbArray3D<LBMReal, IndexerX3X2X1>(nx[0] + 4, nx[1] + 4, nx[2] + 4, 0.0)); -//} -//////////////////////////////////////////////////////////////////////////// -//SPtr<LBMKernel> MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::clone() -//{ -// SPtr<LBMKernel> kernel(new MultiphaseSimpleVelocityBaseExternalPressureLBMKernel()); -// kernel->setNX(nx); -// dynamicPointerCast<MultiphaseSimpleVelocityBaseExternalPressureLBMKernel>(kernel)->initDataSet(); -// kernel->setCollisionFactorMultiphase(this->collFactorL, this->collFactorG); -// kernel->setDensityRatio(this->densityRatio); -// kernel->setMultiphaseModelParameters(this->beta, this->kappa); -// kernel->setContactAngle(this->contactAngle); -// kernel->setPhiL(this->phiL); -// kernel->setPhiH(this->phiH); -// kernel->setPhaseFieldRelaxation(this->tauH); -// kernel->setMobility(this->mob); -// kernel->setInterfaceWidth(this->interfaceWidth); -// -// kernel->setBCProcessor(bcProcessor->clone(kernel)); -// kernel->setWithForcing(withForcing); -// kernel->setForcingX1(muForcingX1); -// kernel->setForcingX2(muForcingX2); -// kernel->setForcingX3(muForcingX3); -// kernel->setIndex(ix1, ix2, ix3); -// kernel->setDeltaT(deltaT); -// kernel->setGhostLayerWidth(2); -// dynamicPointerCast<MultiphaseSimpleVelocityBaseExternalPressureLBMKernel>(kernel)->initForcing(); -// -// return kernel; -//} -//////////////////////////////////////////////////////////////////////////// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::forwardInverseChimeraWithKincompressible(LBMReal& mfa, LBMReal& mfb, LBMReal& mfc, LBMReal vv, LBMReal v2, LBMReal Kinverse, LBMReal K, LBMReal oneMinusRho) { -// using namespace UbMath; -// LBMReal m2 = mfa + mfc; -// LBMReal m1 = mfc - mfa; -// LBMReal m0 = m2 + mfb; -// mfa = m0; -// m0 *= Kinverse; -// m0 += oneMinusRho; -// mfb = (m1 * Kinverse - m0 * vv) * K; -// mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; -//} -// -////////////////////////////////////////////////////////////////////////////////// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardInverseChimeraWithKincompressible(LBMReal& mfa, LBMReal& mfb, LBMReal& mfc, LBMReal vv, LBMReal v2, LBMReal Kinverse, LBMReal K, LBMReal oneMinusRho) { -// using namespace UbMath; -// LBMReal m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; -// LBMReal m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; -// mfc = (((mfc + mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 + vv) * c1o2) * K; -// mfa = m0; -// mfb = m1; -//} -// -// -////////////////////////////////////////////////////////////////////////////////// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::forwardChimera(LBMReal& mfa, LBMReal& mfb, LBMReal& mfc, LBMReal vv, LBMReal v2) { -// using namespace UbMath; -// LBMReal m1 = (mfa + mfc) + mfb; -// LBMReal m2 = mfc - mfa; -// mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); -// mfb = m2 - vv * m1; -// mfa = m1; -//} -// -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardChimera(LBMReal& mfa, LBMReal& mfb, LBMReal& mfc, LBMReal vv, LBMReal v2) { -// using namespace UbMath; -// LBMReal ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); -// LBMReal mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; -// mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); -// mfb = mb; -// mfa = ma; -//} -// -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) -//{ -// using namespace D3Q27System; -// using namespace UbMath; -// -// forcingX1 = 0.0; -// forcingX2 = 0.0; -// forcingX3 = 0.0; -// -// LBMReal oneOverInterfaceScale = c4 / interfaceWidth; //1.0;//1.5; -// ///////////////////////////////////// -// -// localDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getLocalDistributions(); -// nonLocalDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getNonLocalDistributions(); -// zeroDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getZeroDistributions(); -// -// localDistributionsH1 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getHdistributions())->getLocalDistributions(); -// nonLocalDistributionsH1 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getHdistributions())->getNonLocalDistributions(); -// zeroDistributionsH1 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getHdistributions())->getZeroDistributions(); -// -// localDistributionsH2 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getH2distributions())->getLocalDistributions(); -// nonLocalDistributionsH2 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getH2distributions())->getNonLocalDistributions(); -// zeroDistributionsH2 = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getH2distributions())->getZeroDistributions(); -// -// -// CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr pressure = dataSet->getPressureField(); -// -// SPtr<BCArray3D> bcArray = this->getBCProcessor()->getBCArray(); -// -// const int bcArrayMaxX1 = (int)bcArray->getNX1(); -// const int bcArrayMaxX2 = (int)bcArray->getNX2(); -// const int bcArrayMaxX3 = (int)bcArray->getNX3(); -// -// int minX1 = ghostLayerWidth; -// int minX2 = ghostLayerWidth; -// int minX3 = ghostLayerWidth; -// int maxX1 = bcArrayMaxX1 - ghostLayerWidth; -// int maxX2 = bcArrayMaxX2 - ghostLayerWidth; -// int maxX3 = bcArrayMaxX3 - ghostLayerWidth; -// LBMReal omegaDRho = 1.0;// 1.25;// 1.3; -// -// for (int x3 = minX3-ghostLayerWidth; x3 < maxX3+ghostLayerWidth; x3++) { -// for (int x2 = minX2-ghostLayerWidth; x2 < maxX2+ghostLayerWidth; x2++) { -// for (int x1 = minX1-ghostLayerWidth; x1 < maxX1+ghostLayerWidth; x1++) { -// if (!bcArray->isSolid(x1, x2, x3) && !bcArray->isUndefined(x1, x2, x3)) { -// int x1p = x1 + 1; -// int x2p = x2 + 1; -// int x3p = x3 + 1; -// -// LBMReal mfcbb = (*this->localDistributionsH1)(D3Q27System::ET_E, x1, x2, x3); -// LBMReal mfbcb = (*this->localDistributionsH1)(D3Q27System::ET_N, x1, x2, x3); -// LBMReal mfbbc = (*this->localDistributionsH1)(D3Q27System::ET_T, x1, x2, x3); -// LBMReal mfccb = (*this->localDistributionsH1)(D3Q27System::ET_NE, x1, x2, x3); -// LBMReal mfacb = (*this->localDistributionsH1)(D3Q27System::ET_NW, x1p, x2, x3); -// LBMReal mfcbc = (*this->localDistributionsH1)(D3Q27System::ET_TE, x1, x2, x3); -// LBMReal mfabc = (*this->localDistributionsH1)(D3Q27System::ET_TW, x1p, x2, x3); -// LBMReal mfbcc = (*this->localDistributionsH1)(D3Q27System::ET_TN, x1, x2, x3); -// LBMReal mfbac = (*this->localDistributionsH1)(D3Q27System::ET_TS, x1, x2p, x3); -// LBMReal mfccc = (*this->localDistributionsH1)(D3Q27System::ET_TNE, x1, x2, x3); -// LBMReal mfacc = (*this->localDistributionsH1)(D3Q27System::ET_TNW, x1p, x2, x3); -// LBMReal mfcac = (*this->localDistributionsH1)(D3Q27System::ET_TSE, x1, x2p, x3); -// LBMReal mfaac = (*this->localDistributionsH1)(D3Q27System::ET_TSW, x1p, x2p, x3); -// LBMReal mfabb = (*this->nonLocalDistributionsH1)(D3Q27System::ET_W, x1p, x2, x3); -// LBMReal mfbab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_S, x1, x2p, x3); -// LBMReal mfbba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_B, x1, x2, x3p); -// LBMReal mfaab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SW, x1p, x2p, x3); -// LBMReal mfcab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SE, x1, x2p, x3); -// LBMReal mfaba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BW, x1p, x2, x3p); -// LBMReal mfcba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BE, x1, x2, x3p); -// LBMReal mfbaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BS, x1, x2p, x3p); -// LBMReal mfbca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BN, x1, x2, x3p); -// LBMReal mfaaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// LBMReal mfcaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSE, x1, x2p, x3p); -// LBMReal mfaca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNW, x1p, x2, x3p); -// LBMReal mfcca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNE, x1, x2, x3p); -// -// LBMReal mfbbb = (*this->zeroDistributionsH1)(x1, x2, x3); -// (*phaseField)(x1, x2, x3) = (((mfaaa + mfccc) + (mfaca + mfcac)) + ((mfaac + mfcca) + (mfcaa + mfacc)) ) + -// (((mfaab + mfacb) + (mfcab + mfccb)) + ((mfaba + mfabc) + (mfcba + mfcbc)) + -// ((mfbaa + mfbac) + (mfbca + mfbcc))) + ((mfabb + mfcbb) + -// (mfbab + mfbcb) + (mfbba + mfbbc)) + mfbbb; -// if ((*phaseField)(x1, x2, x3) > 1 ) { -// (*phaseField)(x1, x2, x3) = c1; -// } -// -// if ((*phaseField)(x1, x2, x3) < 0) { -// (*phaseField)(x1, x2, x3) = 0; -// } -// ////// read F-distributions for velocity formalism -// -// mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3); -// mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3); -// mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3); -// mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3); -// mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3); -// mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3); -// mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3); -// mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3); -// mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3); -// mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3); -// mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3); -// mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3); -// mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3); -// mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3); -// mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3); -// mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p); -// mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3); -// mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3); -// mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p); -// mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p); -// mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p); -// mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p); -// mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p); -// mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p); -// mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p); -// -// mfbbb = (*this->zeroDistributionsF)(x1, x2, x3); -// -// //LBMReal rhoH = 1.0; -// //LBMReal rhoL = 1.0 / densityRatio; -// -// LBMReal rhoH = 1.0*densityRatio; -// LBMReal rhoL = 1.0; -// -// LBMReal rhoToPhi = (rhoH - rhoL) / (phiH - phiL); -// -// LBMReal drho = (((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc)) ) -// + (((mfaab + mfccb) + (mfacb + mfcab) ) + ((mfaba + mfcbc) + (mfabc + mfcba) ) + ((mfbaa + mfbcc) + (mfbac + mfbca) ))) -// + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; -// -// omegaDRho = 2.0;// 1.5; -// drho *= omegaDRho; -// LBMReal keepDrho = drho; -// drho = ((*p1Old)(x1, x2, x3) + drho) * c1o2; -// // drho = ((*p1Old)(x1, x2, x3)*c2o3 + drho*c1o3) ; -// (*p1Old)(x1, x2, x3) = keepDrho; -// -// //LBMReal rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH); //Incompressible -/////Density correction -// //LBMReal dX1_phi = gradX1_phi(); -// //LBMReal dX2_phi = gradX2_phi(); -// //LBMReal dX3_phi = gradX3_phi(); -// //LBMReal vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + -// // (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + -// // (mfcbb - mfabb)) ; -// //LBMReal vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) + -// // (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) + -// // (mfbcb - mfbab)) ; -// //LBMReal vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) + -// // (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) + -// // (mfbbc - mfbba)) ; -// //LBMReal rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH) + (one - (*phaseField)(x1, x2, x3)) * three * (*pressure)(x1, x2, x3); //explicit Compressible -// //(*pressureOld)(x1, x2, x3) = (((*pressure)(x1, x2, x3) + rho * c1o3 * drho-(rhoH-rhoL)*(vvx*dX1_phi+vvy*dX2_phi+vvz*dX3_phi)*c1o3)) / (one - (one - (*phaseField)(x1, x2, x3)) * drho); -// -// //(*pressureOld)(x1, x2, x3) = ((*pressure)(x1, x2, x3) - c1o3 * drho * ((*phaseField)(x1, x2, x3) * (rhoH - rhoL) + rhoL)) / (c1 - ((*phaseField)(x1, x2, x3) - c1) * drho); -// //LBMReal rho=rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH) + (one - (*phaseField)(x1, x2, x3)) * three * (*pressureOld)(x1, x2, x3); -// //LBMReal tempDrho = drho; -// //drho = (drho*0.9 + (*pressureOld)(x1, x2, x3)*0.1) ; -// //(*pressureOld)(x1, x2, x3) = tempDrho; -// -// //Mathematica -// -// LBMReal rho = ((*pressure)(x1, x2, x3) - (*phaseField)(x1, x2, x3) * (*pressure)(x1, x2, x3) + c1o3 * (rhoH + ((*phaseField)(x1, x2, x3) - phiH) * rhoToPhi)) / (c1o3 + c1o3 * drho * (-1 + (*phaseField)(x1, x2, x3))); -// (*pressureOld)(x1, x2, x3) = ((*pressure)(x1, x2, x3) + c1o3 * drho * (rhoH + ((*phaseField)(x1, x2, x3) - phiH) * rhoToPhi)) / (1 + drho * (-1 + (*phaseField)(x1, x2, x3))); -///////Full Filter -// //LBMReal rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH)+(one- (*phaseField)(x1, x2, x3))*three* (*pressure)(x1, x2, x3); //explicit Compressible -// //(*pressureOld)(x1, x2, x3) = (((*pressure)(x1, x2, x3) + rho * c1o3 * drho)) / (one - (one - (*phaseField)(x1, x2, x3)) * drho); -////// reduced Filter -// //LBMReal rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH) + (one - (*phaseField)(x1, x2, x3)) * three * (*pressureOld)(x1, x2, x3); //explicit Compressible -// //(*pressure)(x1, x2, x3) = (((*pressureOld)(x1, x2, x3) + rho * c1o3 * drho)) / (one - (one - (*phaseField)(x1, x2, x3)) * drho); -// -// //rho = (rho)/(one- (one - (*phaseField)(x1, x2, x3)) * drho); // now implicit Compressible -// -// //(*pressure)(x1, x2, x3) = (((*phaseField)(x1, x2, x3)) + ((*phaseField2)(x1, x2, x3)) - c1) * c1o3; -// ////!!!!!! relplace by pointer swap! -// //(*pressureOld)(x1, x2, x3) = (*pressure)(x1, x2, x3); -// } -// } -// } -// } -// -// LBMReal collFactorM; -// -// ////Periodic Filter -// //for (int x3 = minX3-1; x3 <= maxX3; x3++) { -// // for (int x2 = minX2-1; x2 <= maxX2; x2++) { -// // for (int x1 = minX1-1; x1 <= maxX1; x1++) { -// // if (!bcArray->isSolid(x1, x2, x3) && !bcArray->isUndefined(x1, x2, x3)) { -// -// // LBMReal sum = 0.; -// -// // ///Version for boundaries -// // for (int xx = -1; xx <= 1; xx++) { -// // //int xxx = (xx+x1 <= maxX1) ? ((xx + x1 > 0) ? xx + x1 : maxX1) : 0; -// // int xxx = xx + x1; -// -// // for (int yy = -1; yy <= 1; yy++) { -// // //int yyy = (yy+x2 <= maxX2) ?( (yy + x2 > 0) ? yy + x2 : maxX2) : 0; -// // int yyy = yy + x2; -// -// // for (int zz = -1; zz <= 1; zz++) { -// // //int zzz = (zz+x3 <= maxX3) ? zzz = ((zz + x3 > 0) ? zz + x3 : maxX3 ): 0; -// // int zzz = zz + x3; -// -// // if (!bcArray->isSolid(xxx, yyy, zzz) && !bcArray->isUndefined(xxx, yyy, zzz)) { -// // sum+= 64.0/(216.0*(c1+c3*abs(xx))* (c1 + c3 * abs(yy))* (c1 + c3 * abs(zz)))*(*pressureOld)(xxx, yyy, zzz); -// // } -// // else{ sum+= 64.0 / (216.0 * (c1 + c3 * abs(xx)) * (c1 + c3 * abs(yy)) * (c1 + c3 * abs(zz))) * (*pressureOld)(x1, x2, x3); -// // } -// -// -// // } -// // } -// // } -// // (*pressure)(x1, x2, x3) = sum; -// // } -// // } -// // } -// //} -// -// ////!filter -// -// for (int x3 = minX3; x3 < maxX3; x3++) { -// for (int x2 = minX2; x2 < maxX2; x2++) { -// for (int x1 = minX1; x1 < maxX1; x1++) { -// if (!bcArray->isSolid(x1, x2, x3) && !bcArray->isUndefined(x1, x2, x3)) { -// int x1p = x1 + 1; -// int x2p = x2 + 1; -// int x3p = x3 + 1; -// -// ////////////////////////////////////////////////////////////////////////// -// // Read distributions and phase field -// //////////////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////////////// -// -// // E N T -// // c c c -// ////////// -// // W S B -// // a a a -// -// // Rest ist b -// -// // mfxyz -// // a - negative -// // b - null -// // c - positive -// -// // a b c -// //-1 0 1 -// -// findNeighbors(phaseField, x1, x2, x3); -// -// LBMReal mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3); -// LBMReal mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3); -// LBMReal mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3); -// LBMReal mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3); -// LBMReal mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3); -// LBMReal mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3); -// LBMReal mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3); -// LBMReal mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3); -// LBMReal mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3); -// LBMReal mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3); -// LBMReal mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3); -// LBMReal mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3); -// LBMReal mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3); -// LBMReal mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3); -// LBMReal mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3); -// LBMReal mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p); -// LBMReal mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3); -// LBMReal mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3); -// LBMReal mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p); -// LBMReal mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p); -// LBMReal mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p); -// LBMReal mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p); -// LBMReal mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// LBMReal mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p); -// LBMReal mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p); -// LBMReal mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p); -// -// LBMReal mfbbb = (*this->zeroDistributionsF)(x1, x2, x3); -// -// -// LBMReal mfhcbb = (*this->localDistributionsH2)(D3Q27System::ET_E, x1, x2, x3); -// LBMReal mfhbcb = (*this->localDistributionsH2)(D3Q27System::ET_N, x1, x2, x3); -// LBMReal mfhbbc = (*this->localDistributionsH2)(D3Q27System::ET_T, x1, x2, x3); -// LBMReal mfhccb = (*this->localDistributionsH2)(D3Q27System::ET_NE, x1, x2, x3); -// LBMReal mfhacb = (*this->localDistributionsH2)(D3Q27System::ET_NW, x1p, x2, x3); -// LBMReal mfhcbc = (*this->localDistributionsH2)(D3Q27System::ET_TE, x1, x2, x3); -// LBMReal mfhabc = (*this->localDistributionsH2)(D3Q27System::ET_TW, x1p, x2, x3); -// LBMReal mfhbcc = (*this->localDistributionsH2)(D3Q27System::ET_TN, x1, x2, x3); -// LBMReal mfhbac = (*this->localDistributionsH2)(D3Q27System::ET_TS, x1, x2p, x3); -// LBMReal mfhccc = (*this->localDistributionsH2)(D3Q27System::ET_TNE, x1, x2, x3); -// LBMReal mfhacc = (*this->localDistributionsH2)(D3Q27System::ET_TNW, x1p, x2, x3); -// LBMReal mfhcac = (*this->localDistributionsH2)(D3Q27System::ET_TSE, x1, x2p, x3); -// LBMReal mfhaac = (*this->localDistributionsH2)(D3Q27System::ET_TSW, x1p, x2p, x3); -// LBMReal mfhabb = (*this->nonLocalDistributionsH2)(D3Q27System::ET_W, x1p, x2, x3); -// LBMReal mfhbab = (*this->nonLocalDistributionsH2)(D3Q27System::ET_S, x1, x2p, x3); -// LBMReal mfhbba = (*this->nonLocalDistributionsH2)(D3Q27System::ET_B, x1, x2, x3p); -// LBMReal mfhaab = (*this->nonLocalDistributionsH2)(D3Q27System::ET_SW, x1p, x2p, x3); -// LBMReal mfhcab = (*this->nonLocalDistributionsH2)(D3Q27System::ET_SE, x1, x2p, x3); -// LBMReal mfhaba = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BW, x1p, x2, x3p); -// LBMReal mfhcba = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BE, x1, x2, x3p); -// LBMReal mfhbaa = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BS, x1, x2p, x3p); -// LBMReal mfhbca = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BN, x1, x2, x3p); -// LBMReal mfhaaa = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// LBMReal mfhcaa = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BSE, x1, x2p, x3p); -// LBMReal mfhaca = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BNW, x1p, x2, x3p); -// LBMReal mfhcca = (*this->nonLocalDistributionsH2)(D3Q27System::ET_BNE, x1, x2, x3p); -// -// LBMReal mfhbbb = (*this->zeroDistributionsH2)(x1, x2, x3); -// -// //LBMReal rhoH = 1.0; -// //LBMReal rhoL = 1.0 / densityRatio; -// -// LBMReal rhoH = 1.0; -// LBMReal rhoL = 1.0/ densityRatio; -// -// LBMReal rhoToPhi = (rhoH - rhoL) / (phiH - phiL); -// -// LBMReal dX1_phi = gradX1_phi(); -// LBMReal dX2_phi = gradX2_phi(); -// LBMReal dX3_phi = gradX3_phi(); -// -// LBMReal denom = sqrt(dX1_phi * dX1_phi + dX2_phi * dX2_phi + dX3_phi * dX3_phi) + 1e-9+1e-3; -// // 01.09.2022: unclear what value we have to add to the normal: lager values better cut of in gas phase? -// LBMReal normX1 = dX1_phi / denom; -// LBMReal normX2 = dX2_phi / denom; -// LBMReal normX3 = dX3_phi / denom; -// -// -// -// collFactorM = collFactorL + (collFactorL - collFactorG) * (phi[REST] - phiH) / (phiH - phiL); -// -// -// LBMReal mu = 2 * beta * phi[REST] * (phi[REST] - 1) * (2 * phi[REST] - 1) - kappa * nabla2_phi(); -// -// //----------- Calculating Macroscopic Values ------------- -// LBMReal rho = rhoH + rhoToPhi * (phi[REST] - phiH); //Incompressible -// -// ///scaled phase field -// //LBMReal rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) * (*phaseField)(x1, x2, x3) / ((*phaseField)(x1, x2, x3) * (*phaseField)(x1, x2, x3) + (c1 - (*phaseField)(x1, x2, x3)) * (c1 - (*phaseField)(x1, x2, x3))) - phiH); -// ///!scaled phase field -// -// //LBMReal rho = rhoH + rhoToPhi * (phi[REST] - phiH)+(one-phi[REST])* (*pressure)(x1, x2, x3)*three; //compressible -// //LBMReal rho = rhoL + (rhoH - rhoL) * phi[REST] + (one - phi[REST]) * (*pressure)(x1, x2, x3) * three; //compressible -// -// LBMReal m0, m1, m2; -// LBMReal rhoRef=c1; -// -// LBMReal vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + -// (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + -// (mfcbb - mfabb))/rhoRef; -// LBMReal vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) + -// (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) + -// (mfbcb - mfbab))/rhoRef; -// LBMReal vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) + -// (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) + -// (mfbbc - mfbba))/rhoRef; -// ////Filter&Gradient merged -// LBMReal pressureHere = (*pressureOld)(x1, x2, x3); -// //LBMReal pressureHere = (*pressure)(x1, x2, x3); -// -// LBMReal arrayP[3][3][3] = { {{pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere}}, -// {{pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere}}, -// { {pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere},{pressureHere,pressureHere,pressureHere}} }; -// //LBMReal LaplaceP = 0.0; -// //LaplaceP += WEIGTH[TNE] * (((((*pressureOld)(x1+1,x2+1,x3+1) - pressureHere) + ((*pressureOld)(x1 - 1, x2 - 1, x3 - 1) - pressureHere)) + (((*pressureOld)(x1 + 1, x2 + 1, x3 - 1) - pressureHere) + ((*pressureOld)(x1 - 1, x2 - 1, x3 + 1) - pressureHere))) -// // + ((((*pressureOld)(x1 + 1, x2 - 1, x3 + 1) - pressureHere) + ((*pressureOld)(x1 - 1, x2 + 1, x3 - 1) - pressureHere)) + (((*pressureOld)(x1 + 1, x2 - 1, x3 - 1) - pressureHere) + ((*pressureOld)(x1 - 1, x2 + 1, x3 + 1) - pressureHere)))); -// //LaplaceP += WEIGTH[TN] * ( -// // ((((*pressureOld)(x1 + 1, x2 + 1, x3) - pressureHere) + ((*pressureOld)(x1 - 1, x2 - 1, x3) - pressureHere)) + (((*pressureOld)(x1 + 1, x2 - 1, x3) - pressureHere) + ((*pressureOld)(x1 - 1, x2 + 1, x3) - pressureHere))) -// // + ((((*pressureOld)(x1 + 1, x2, x3 + 1) - pressureHere) + ((*pressureOld)(x1 - 1, x2, x3 -1) - pressureHere)) + (((*pressureOld)(x1 + 1, x2, x3 - 1) - pressureHere) + ((*pressureOld)(x1 - 1, x2, x3 + 1) - pressureHere))) -// // + ((((*pressureOld)(x1, x2 + 1, x3 + 1) - pressureHere) + ((*pressureOld)(x1, x2 - 1, x3 - 1) - pressureHere)) + (((*pressureOld)(x1, x2 + 1, x3 - 1) - pressureHere) + ((*pressureOld)(x1, x2 - 1, x3 + 1) - pressureHere))) -// // ); -// //LaplaceP += WEIGTH[T] * ( -// // (((*pressureOld)(x1 + 1, x2, x3) - pressureHere) + ((*pressureOld)(x1, x2-1, x3) - pressureHere)) -// // + (((*pressureOld)(x1, x2 + 1, x3) - pressureHere) + ((*pressureOld)(x1, x2 - 1, x3) - pressureHere)) -// // + (((*pressureOld)(x1, x2, x3 + 1) - pressureHere) + ((*pressureOld)(x1, x2, x3 - 1) - pressureHere)) -// // ); -// -// //LaplaceP= 6.0 * LaplaceP; -// -// //LBMReal sum = 0.0; -// -// for (int dir1 = -1; dir1 <= 1; dir1++) { -// for (int dir2 = -1; dir2 <= 1; dir2++) { -// for (int dir3 = -1; dir3 <= 1; dir3++){ -// int xxx = x1 + dir1; -// int yyy = x2 + dir2; -// int zzz = x3 + dir3; -// if (!bcArray->isSolid(xxx, yyy, zzz) && !bcArray->isUndefined(xxx, yyy, zzz)) arrayP[dir1 + 1][dir2 + 1][dir3 + 1] = (*pressureOld)(xxx, yyy, zzz); -// //if (!bcArray->isSolid(xxx, yyy, zzz) && !bcArray->isUndefined(xxx, yyy, zzz)) arrayP[dir1 + 1][dir2 + 1][dir3 + 1] = (*pressure)(xxx, yyy, zzz); -// // sum += 64.0 / (216.0 * (c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2)) * (c1 + c3 * abs(dir3))) * arrayP[dir1 + 1][dir2 + 1][dir3 + 1]; -// } -// } -// } -//// (*pressure)(x1, x2, x3) = sum;// *0.1 + (1.0 - 0.1) * (*pressureOld)(x1, x2, x3); -// -// -// (*pressure)(x1, x2, x3) = (((((arrayP[0][0][0] + arrayP[2][2][2]) + (arrayP[0][2][0] + arrayP[2][0][2])) + ((arrayP[2][0][0] + arrayP[0][2][2]) + (arrayP[2][2][0] + arrayP[0][0][2]))) * c1o216 -// + (((arrayP[0][0][1] + arrayP[2][2][1]) + (arrayP[0][1][0] + arrayP[2][1][2])) + ((arrayP[1][0][0] + arrayP[1][2][2]) + (arrayP[0][1][2] + arrayP[2][1][0])) + ((arrayP[1][0][2] + arrayP[1][2][0]) + (arrayP[0][2][1] + arrayP[2][0][1]))) * c1o54) -// + ((arrayP[0][1][1] + arrayP[2][1][1]) + (arrayP[1][0][1] + arrayP[1][2][1]) + (arrayP[1][1][0] + arrayP[1][1][2])) * c2o27) -// + arrayP[1][1][1] * c8o27; -// //LBMReal gradPx = 0.0; -// //LBMReal gradPy = 0.0; -// //LBMReal gradPz = 0.0; -// //for (int dir1 = -1; dir1 <= 1; dir1++) { -// // for (int dir2 = -1; dir2 <= 1; dir2++) { -// // gradPx -= arrayP[0][dir1+1][dir2+1] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // gradPx += arrayP[2][dir1+1][dir2+1] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// -// -// -// // gradPy -= arrayP[dir1+1][0][dir2+1] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // gradPy += arrayP[dir1+1][2][dir2+1] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // -// -// // gradPz -= arrayP[dir1+1][dir2+1][0] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // gradPz += arrayP[dir1+1][dir2+1][2] * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// //} -// -// LBMReal gradPx = ((((arrayP[2][0][0] - arrayP[0][2][2]) + (arrayP[2][2][0] - arrayP[0][0][2])) + ((arrayP[2][2][2] - arrayP[0][0][0]) + (arrayP[2][0][2] - arrayP[0][2][0]))) * c1o72 -// + (((arrayP[2][1][0] - arrayP[0][1][2]) + (arrayP[2][2][1] - arrayP[0][0][1])) + ((arrayP[2][0][1] - arrayP[0][2][1]) + (arrayP[2][1][2] - arrayP[0][1][0]))) * c1o18) -// + (arrayP[2][1][1] - arrayP[0][1][1]) * c2o9; -// LBMReal gradPy = ((((arrayP[0][2][0] - arrayP[2][0][2]) + (arrayP[2][2][0] - arrayP[0][0][2])) + ((arrayP[2][2][2] - arrayP[0][0][0]) + (arrayP[0][2][2] - arrayP[2][0][0]))) * c1o72 -// + (((arrayP[1][2][0] - arrayP[1][0][2]) + (arrayP[2][2][1] - arrayP[0][0][1])) + ((arrayP[0][2][1] - arrayP[2][0][1]) + (arrayP[1][2][2] - arrayP[1][0][0]))) * c1o18) -// + (arrayP[1][2][1] - arrayP[1][0][1]) * c2o9; -// LBMReal gradPz = ((((arrayP[0][0][2] - arrayP[2][2][0]) + (arrayP[0][2][2] - arrayP[2][0][0])) + ((arrayP[2][2][2] - arrayP[0][0][0]) + (arrayP[2][0][2] - arrayP[0][2][0]))) * c1o72 -// + (((arrayP[0][1][2] - arrayP[2][1][0]) + (arrayP[1][2][2] - arrayP[1][0][0])) + ((arrayP[1][0][2] - arrayP[1][2][0]) + (arrayP[2][1][2] - arrayP[0][1][0]))) * c1o18) -// + (arrayP[1][1][2] - arrayP[1][1][0]) * c2o9; -// -// //gradPx *=c1 - (*pressure)(x1, x2, x3)+pressureHere; -// //gradPy *=c1 - (*pressure)(x1, x2, x3) + pressureHere; -// //gradPz *=c1 - (*pressure)(x1, x2, x3) + pressureHere; -// -// ////!Filter&Gradient merged -// //LBMReal gradPx = 0.0; -// //LBMReal gradPy = 0.0; -// //LBMReal gradPz = 0.0; -// //for (int dir1 = -1; dir1 <= 1; dir1++) { -// // for (int dir2 = -1; dir2 <= 1; dir2++) { -// // int yyy = x2 + dir1; -// // int zzz = x3 + dir2; -// // if (!bcArray->isSolid(x1-1, yyy, zzz) && !bcArray->isUndefined(x1-1, yyy, zzz)) { -// // gradPx -= (*pressure)(x1 - 1, yyy, zzz) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // if (!bcArray->isSolid(x1 + 1, yyy, zzz) && !bcArray->isUndefined(x1 + 1, yyy, zzz)) { -// // gradPx += (*pressure)(x1 + 1, yyy, zzz) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// -// // int xxx = x1 + dir1; -// // if (!bcArray->isSolid(xxx, x2-1, zzz) && !bcArray->isUndefined(xxx, x2-1, zzz)) { -// // gradPy -= (*pressure)(xxx, x2-1, zzz) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // if (!bcArray->isSolid(xxx, x2+1, zzz) && !bcArray->isUndefined(xxx, x2+1, zzz)) { -// // gradPy += (*pressure)(xxx, x2+1, zzz) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// -// // yyy = x2 + dir2; -// // if (!bcArray->isSolid(xxx, yyy, x3-1) && !bcArray->isUndefined(xxx, yyy, x3-1)) { -// // gradPz -= (*pressure)(xxx, yyy, x3-1) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // if (!bcArray->isSolid(xxx, yyy, x3+1) && !bcArray->isUndefined(xxx, yyy, x3+1)) { -// // gradPz += (*pressure)(xxx, yyy, x3+1) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// // else { -// // gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); -// // } -// -// // } -// //} -// -// //Viscosity increase by phase field residuum -// //LBMReal errPhi = (((1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale)- denom); -// //LBMReal limVis = 0.01;// 0.0000001 * 10;//0.01; -// // collFactorM =collFactorM/(c1+limVis*(errPhi*errPhi)*collFactorM); -// // collFactorM = (collFactorM < 1.8) ? 1.8 : collFactorM; -// //errPhi = errPhi * errPhi* errPhi * errPhi * errPhi * errPhi; -// //collFactorM = collFactorM + (1.8 - collFactorM) * errPhi / (errPhi + limVis); -// -// //3.0 * ((WEIGTH[TNE] * (((phi2[TNE] - phi2[BSW]) - (phi2[BSE] - phi2[TNW])) + ((phi2[TSE] - phi2[BNW]) - (phi2[BNE] - phi2[TSW]))) -// //+WEIGTH[NE] * (((phi2[TE] - phi2[BW]) - (phi2[BE] - phi2[TW])) + ((phi2[TS] - phi2[BN]) + (phi2[TN] - phi2[BS])))) + -// //+WEIGTH[N] * (phi2[T] - phi2[B])); -// -// muRho = rho; -// -// ////external pressure -// //forcingX1 =/* muForcingX1.Eval()/rho */- gradPx/rho; -// //forcingX2 =/* muForcingX2.Eval()/rho */- gradPy/rho; -// //forcingX3 =/* muForcingX3.Eval()/rho */- gradPz/rho; -// -// /////////////////////////////////////////////// -// -// //LBMReal pBefore = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// // + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// // + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb) * c1o3; -// //pBefore = -c1o3 * (-1.0e-10)/((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) ); -// ////if (vvx * vvx + vvy * vvy + vvz * vvz > 1.0e-100) { -// // mfabb -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[E] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbab -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[N] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbba -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[T] * (rhoH - rhoL) / (phiH - phiL))); -// // mfaab -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[NE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcab -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[NW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfaba -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcba -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbaa -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TN] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbca -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TS] * (rhoH - rhoL) / (phiH - phiL))); -// // mfaaa -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TNE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcaa -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TNW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfaca -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TSE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcca -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[TSW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcbb -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[W] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbcb -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[S] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbbc -= pBefore * c2o9 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[B] * (rhoH - rhoL) / (phiH - phiL))); -// // mfccb -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[SW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfacb -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[SE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcbc -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfabc -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbcc -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BS] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbac -= pBefore * c1o18 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BN] * (rhoH - rhoL) / (phiH - phiL))); -// // mfccc -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BSW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfacc -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BSE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfcac -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BNW] * (rhoH - rhoL) / (phiH - phiL))); -// // mfaac -= pBefore * c1o72 * ((rhoL + phi[REST] * (rhoH - rhoL) / (phiH - phiL)) / (rhoL + phi[BNE] * (rhoH - rhoL) / (phiH - phiL))); -// // mfbbb -= pBefore * 8.0 / 9.0; -// //} -// -// /////////////////////////////////////////////// -// -// LBMReal pStarStart = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb) * c1o3; -// -// ///////////////////// -// //LBMReal vvxh = ((((mfhccc - mfhaaa) + (mfhcac - mfhaca)) + ((mfhcaa - mfhacc) + (mfhcca - mfhaac))) + -// // (((mfhcba - mfhabc) + (mfhcbc - mfhaba)) + ((mfhcab - mfhacb) + (mfhccb - mfhaab))) + -// // (mfhcbb - mfhabb)) / rhoRef; -// //LBMReal vvyh = ((((mfhccc - mfhaaa) + (mfhaca - mfhcac)) + ((mfhacc - mfhcaa) + (mfhcca - mfhaac))) + -// // (((mfhbca - mfhbac) + (mfhbcc - mfhbaa)) + ((mfhacb - mfhcab) + (mfhccb - mfhaab))) + -// // (mfhbcb - mfhbab)) / rhoRef; -// //LBMReal vvzh = ((((mfhccc - mfhaaa) + (mfhcac - mfhaca)) + ((mfhacc - mfhcaa) + (mfhaac - mfhcca))) + -// // (((mfhbac - mfhbca) + (mfhbcc - mfhbaa)) + ((mfhabc - mfhcba) + (mfhcbc - mfhaba))) + -// // (mfhbbc - mfhbba)) / rhoRef; -// -// //LBMReal deltaPP = 0*(vvxh * dX1_phi + vvyh * dX2_phi + vvzh * dX3_phi) * rhoToPhi / (rho); -// //mfhbcb += c1o6* c2o9 * deltaPP; -// //mfhbbc += c1o6* c2o9 * deltaPP; -// //mfhcbb += c1o6* c2o9 * deltaPP; -// //mfhccb += c1o6* c1o18 * deltaPP; -// //mfhacb += c1o6* c1o18 * deltaPP; -// //mfhcbc += c1o6* c1o18 * deltaPP; -// //mfhabc += c1o6* c1o18 * deltaPP; -// //mfhbcc += c1o6* c1o18 * deltaPP; -// //mfhbac += c1o6* c1o18 * deltaPP; -// //mfhccc += c1o6* c1o72 * deltaPP; -// //mfhacc += c1o6* c1o72 * deltaPP; -// //mfhcac += c1o6* c1o72 * deltaPP; -// //mfhaac += c1o6* c1o72 * deltaPP; -// //mfhabb += c1o6* c2o9 * deltaPP; -// //mfhbab += c1o6* c2o9 * deltaPP; -// //mfhbba += c1o6* c2o9 * deltaPP; -// //mfhaab += c1o6* c1o18 * deltaPP; -// //mfhcab += c1o6* c1o18 * deltaPP; -// //mfhaba += c1o6* c1o18 * deltaPP; -// //mfhcba += c1o6* c1o18 * deltaPP; -// //mfhbaa += c1o6* c1o18 * deltaPP; -// //mfhbca += c1o6* c1o18 * deltaPP; -// //mfhaaa += c1o6* c1o72 * deltaPP; -// //mfhcaa += c1o6* c1o72 * deltaPP; -// //mfhaca += c1o6* c1o72 * deltaPP; -// //mfhcca += c1o6* c1o72 * deltaPP; -// //mfhbbb += c1o6* c4 * c2o9 * deltaPP; -// -// ////////////////////// -// -// /////Recovering the origin distributions -// //LBMReal mfStartcbb = mfcbb ; -// //LBMReal mfStartbcb = mfbcb ; -// //LBMReal mfStartbbc = mfbbc ; -// //LBMReal mfStartccb = mfccb ; -// //LBMReal mfStartacb = mfacb ; -// //LBMReal mfStartcbc = mfcbc ; -// //LBMReal mfStartabc = mfabc ; -// //LBMReal mfStartbcc = mfbcc ; -// //LBMReal mfStartbac = mfbac ; -// //LBMReal mfStartccc = mfccc ; -// //LBMReal mfStartacc = mfacc ; -// //LBMReal mfStartcac = mfcac ; -// //LBMReal mfStartaac = mfaac ; -// //LBMReal mfStartabb = mfabb ; -// //LBMReal mfStartbab = mfbab ; -// //LBMReal mfStartbba = mfbba ; -// //LBMReal mfStartaab = mfaab ; -// //LBMReal mfStartcab = mfcab ; -// //LBMReal mfStartaba = mfaba ; -// //LBMReal mfStartcba = mfcba ; -// //LBMReal mfStartbaa = mfbaa ; -// //LBMReal mfStartbca = mfbca ; -// //LBMReal mfStartaaa = mfaaa ; -// //LBMReal mfStartcaa = mfcaa ; -// //LBMReal mfStartaca = mfaca ; -// //LBMReal mfStartcca = mfcca ; -// //LBMReal mfStartbbb = mfbbb ; -// -// -// mfcbb += mfhcbb /rho; -// mfbcb += mfhbcb /rho; -// mfbbc += mfhbbc /rho; -// mfccb += mfhccb /rho; -// mfacb += mfhacb /rho; -// mfcbc += mfhcbc /rho; -// mfabc += mfhabc /rho; -// mfbcc += mfhbcc /rho; -// mfbac += mfhbac /rho; -// mfccc += mfhccc /rho; -// mfacc += mfhacc /rho; -// mfcac += mfhcac /rho; -// mfaac += mfhaac /rho; -// mfabb += mfhabb /rho; -// mfbab += mfhbab /rho; -// mfbba += mfhbba /rho; -// mfaab += mfhaab /rho; -// mfcab += mfhcab /rho; -// mfaba += mfhaba /rho; -// mfcba += mfhcba /rho; -// mfbaa += mfhbaa /rho; -// mfbca += mfhbca /rho; -// mfaaa += mfhaaa /rho; -// mfcaa += mfhcaa /rho; -// mfaca += mfhaca /rho; -// mfcca += mfhcca /rho; -// mfbbb += mfhbbb /rho; -// -// -// -// //Abbas -// LBMReal pStar = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb) * c1o3; -// //22.09.22 not yet in balance, repaire here -// LBMReal ppStar = ((((((mfhaaa + mfhccc) + (mfhaac + mfhcca)) + ((mfhcac + mfhaca) + (mfhcaa + mfhacc)))*c3 -// + (((mfhaab + mfhccb) + (mfhacb + mfhcab)) + ((mfhaba + mfhcbc) + (mfhabc + mfhcba)) + ((mfhbaa + mfhbcc) + (mfhbac + mfhbca))))*c2 -// + ((mfhabb + mfhcbb) + (mfhbab + mfhbcb) + (mfhbba + mfhbbc))) ) * c1o3/rho; -// -// ppStar = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) * c3 -// + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) * c2 -// + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc)))) * c1o3 ; -// -// //(*phaseFieldOld)(x1, x2, x3) = ((*phaseFieldOld)(x1, x2, x3) > 99.0) ? phi[REST] : (*phaseFieldOld)(x1, x2, x3); -// //LBMReal dtPhi = phi[REST] - (*phaseFieldOld)(x1, x2, x3); -// //LBMReal deltaP = -pStar * (c1 - rho / (rho + c1o2 * rhoToPhi * dtPhi));// -pStar * pStar * pStar * 1.0e-4 * rho * rho * rho; -// //LBMReal deltaP = pStar * (c1 - mfhbbb*rho) * c1o2;//Explicit -// //LBMReal deltaP = pStar * (c1 - mfhbbb * rho) / (c1 + mfhbbb * rho);//Semi-Implicit -// //(*phaseFieldOld)(x1, x2, x3) = phi[REST]; -// -// //mfabb += c2o9 *deltaP; -// //mfbab += c2o9 *deltaP; -// //mfbba += c2o9 *deltaP; -// //mfaab += c1o18*deltaP; -// //mfcab += c1o18*deltaP; -// //mfaba += c1o18*deltaP; -// //mfcba += c1o18*deltaP; -// //mfbaa += c1o18*deltaP; -// //mfbca += c1o18*deltaP; -// //mfaaa += c1o72*deltaP; -// //mfcaa += c1o72*deltaP; -// //mfaca += c1o72*deltaP; -// //mfcca += c1o72*deltaP; -// //mfcbb += c2o9 *deltaP; -// //mfbcb += c2o9 *deltaP; -// //mfbbc += c2o9 *deltaP; -// //mfccb += c1o18*deltaP; -// //mfacb += c1o18*deltaP; -// //mfcbc += c1o18*deltaP; -// //mfabc += c1o18*deltaP; -// //mfbcc += c1o18*deltaP; -// //mfbac += c1o18*deltaP; -// //mfccc += c1o72*deltaP; -// //mfacc += c1o72*deltaP; -// //mfcac += c1o72*deltaP; -// //mfaac += c1o72*deltaP; -// -// //pStar = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// // + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// // + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb) * c1o3; -// -// -// -// -// //mfabb -= c1o2 * c2o9 *pStar*(phi[REST]-phi[E ])*rhoToPhi/rho; -// //mfbab -= c1o2 * c2o9 *pStar*(phi[REST]-phi[N ])*rhoToPhi/rho; -// //mfbba -= c1o2 * c2o9 *pStar*(phi[REST]-phi[T ])*rhoToPhi/rho; -// //mfaab -= c1o2 * c1o18*pStar*(phi[REST]-phi[NE ])*rhoToPhi/rho; -// //mfcab -= c1o2 * c1o18*pStar*(phi[REST]-phi[NW ])*rhoToPhi/rho; -// //mfaba -= c1o2 * c1o18*pStar*(phi[REST]-phi[TE ])*rhoToPhi/rho; -// //mfcba -= c1o2 * c1o18*pStar*(phi[REST]-phi[TW ])*rhoToPhi/rho; -// //mfbaa -= c1o2 * c1o18*pStar*(phi[REST]-phi[TN ])*rhoToPhi/rho; -// //mfbca -= c1o2 * c1o18*pStar*(phi[REST]-phi[TS ])*rhoToPhi/rho; -// //mfaaa -= c1o2 * c1o72*pStar*(phi[REST]-phi[TNE])*rhoToPhi/rho; -// //mfcaa -= c1o2 * c1o72*pStar*(phi[REST]-phi[TNW])*rhoToPhi/rho; -// //mfaca -= c1o2 * c1o72*pStar*(phi[REST]-phi[TSE])*rhoToPhi/rho; -// //mfcca -= c1o2 * c1o72*pStar*(phi[REST]-phi[TSW])*rhoToPhi/rho; -// //mfcbb -= c1o2 * c2o9 *pStar*(phi[REST]-phi[W ])*rhoToPhi/rho; -// //mfbcb -= c1o2 * c2o9 *pStar*(phi[REST]-phi[S ])*rhoToPhi/rho; -// //mfbbc -= c1o2 * c2o9 *pStar*(phi[REST]-phi[B ])*rhoToPhi/rho; -// //mfccb -= c1o2 * c1o18*pStar*(phi[REST]-phi[SW ])*rhoToPhi/rho; -// //mfacb -= c1o2 * c1o18*pStar*(phi[REST]-phi[SE ])*rhoToPhi/rho; -// //mfcbc -= c1o2 * c1o18*pStar*(phi[REST]-phi[BW ])*rhoToPhi/rho; -// //mfabc -= c1o2 * c1o18*pStar*(phi[REST]-phi[BE ])*rhoToPhi/rho; -// //mfbcc -= c1o2 * c1o18*pStar*(phi[REST]-phi[BS ])*rhoToPhi/rho; -// //mfbac -= c1o2 * c1o18*pStar*(phi[REST]-phi[BN ])*rhoToPhi/rho; -// //mfccc -= c1o2 * c1o72*pStar*(phi[REST]-phi[BSW])*rhoToPhi/rho; -// //mfacc -= c1o2 * c1o72*pStar*(phi[REST]-phi[BSE])*rhoToPhi/rho; -// //mfcac -= c1o2 * c1o72*pStar*(phi[REST]-phi[BNW])*rhoToPhi/rho; -// //mfaac -= c1o2 * c1o72*pStar*(phi[REST]-phi[BNE])*rhoToPhi/rho; -// -// -// //forcingX1 =/* muForcingX1.Eval() / rho*/ - pStar * dX1_phi * rhoToPhi / rho; -// //forcingX2 =/* muForcingX2.Eval() / rho*/ - pStar * dX2_phi * rhoToPhi / rho; -// //forcingX3 =/* muForcingX3.Eval() / rho*/ - pStar * dX3_phi * rhoToPhi / rho; -// -// -// //mfabb += (-forcingX1) * c2o9; -// //mfbab += (-forcingX2) * c2o9; -// //mfbba += (-forcingX3) * c2o9; -// //mfaab += (-forcingX1 - forcingX2) * c1o16; -// //mfcab += (forcingX1 - forcingX2) * c1o16; -// //mfaba += (-forcingX1 - forcingX3) * c1o16; -// //mfcba += (forcingX1 - forcingX3) * c1o16; -// //mfbaa += (-forcingX2 - forcingX3) * c1o16; -// //mfbca += (forcingX2 - forcingX3) * c1o16; -// //mfaaa += (-forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfcaa += (forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfaca += (-forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcca += (forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcbb += (forcingX1)*c2o9; -// //mfbcb += (forcingX2)*c2o9; -// //mfbbc += (forcingX3)*c2o9; -// //mfccb += (forcingX1 + forcingX2) * c1o16; -// //mfacb += (-forcingX1 + forcingX2) * c1o16; -// //mfcbc += (forcingX1 + forcingX3) * c1o16; -// //mfabc += (-forcingX1 + forcingX3) * c1o16; -// //mfbcc += (forcingX2 + forcingX3) * c1o16; -// //mfbac += (-forcingX2 + forcingX3) * c1o16; -// //mfccc += (forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfacc += (-forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfcac += (forcingX1 - forcingX2 + forcingX3) * c1o72; -// //mfaac += (-forcingX1 - forcingX2 + forcingX3) * c1o72; -// -// LBMReal saveForceX1 = forcingX1; -// LBMReal saveForceX2 = forcingX2; -// LBMReal saveForceX3 = forcingX3; -// -// vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + -// (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + -// (mfcbb - mfabb)) / rhoRef; -// vvy = ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) + -// (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) + -// (mfbcb - mfbab)) / rhoRef; -// vvz = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) + -// (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) + -// (mfbbc - mfbba)) / rhoRef; -// -// -// LBMReal dRhoInvX = -(((((mfhccc - mfhaaa) + (mfhcac - mfhaca)) + ((mfhcaa - mfhacc) + (mfhcca - mfhaac))) + -// (((mfhcba - mfhabc) + (mfhcbc - mfhaba)) + ((mfhcab - mfhacb) + (mfhccb - mfhaab))) + -// (mfhcbb - mfhabb))); -// LBMReal dRhoInvY = -(((((mfhccc - mfhaaa) + (mfhaca - mfhcac)) + ((mfhacc - mfhcaa) + (mfhcca - mfhaac))) + -// (((mfhbca - mfhbac) + (mfhbcc - mfhbaa)) + ((mfhacb - mfhcab) + (mfhccb - mfhaab))) + -// (mfhbcb - mfhbab))); -// LBMReal dRhoInvZ = -(((((mfhccc - mfhaaa) + (mfhcac - mfhaca)) + ((mfhacc - mfhcaa) + (mfhaac - mfhcca))) + -// (((mfhbac - mfhbca) + (mfhbcc - mfhbaa)) + ((mfhabc - mfhcba) + (mfhcbc - mfhaba))) + -// (mfhbbc - mfhbba))); -// -// -// forcingX1 = 0.0; -// forcingX2 = 0.0; -// forcingX3 = 0.0; -// //!Abbas -// //LBMReal dX1_rhoInv = gradX1_rhoInv(rhoL, rhoH - rhoL); -// //LBMReal dX2_rhoInv = gradX2_rhoInv(rhoL, rhoH - rhoL); -// //LBMReal dX3_rhoInv = gradX3_rhoInv(rhoL, rhoH - rhoL); -// //forcingX1 =/* muForcingX1.Eval() / rho*/ +pStar * dX1_rhoInv * rho; -// //forcingX2 =/* muForcingX2.Eval() / rho*/ +pStar * dX2_rhoInv * rho; -// //forcingX3 =/* muForcingX3.Eval() / rho*/ +pStar * dX3_rhoInv * rho; -// -// //forcingX1 = (-pStar * dX1_phi * rhoToPhi / rho + pStar * dX1_rhoInv * rho) *c1o2; -// //forcingX2 = (-pStar * dX2_phi * rhoToPhi / rho + pStar * dX2_rhoInv * rho) *c1o2; -// //forcingX3 = (-pStar * dX3_phi * rhoToPhi / rho + pStar * dX3_rhoInv * rho) *c1o2; -// LBMReal FdX1_phi = normX1 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// LBMReal FdX2_phi = normX2 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// LBMReal FdX3_phi = normX3 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// -// -// //forcingX1 = (-pStar * dX1_phi * rhoToPhi / rho ) ; -// //forcingX2 = (-pStar * dX2_phi * rhoToPhi / rho ) ; -// //forcingX3 = (-pStar * dX3_phi * rhoToPhi / rho ) ; -// -// //forcingX1 = (pStar * dRhoInvX* rho *c3) ; -// //forcingX2 = (pStar * dRhoInvY* rho *c3) ; -// //forcingX3 = (pStar * dRhoInvZ* rho *c3) ; -// //if (phi[REST] > 0.1 && phi[REST] < 0.9) std::cout << phi[REST] << " " << dX1_phi * rhoToPhi / rho << " " << dRhoInvX * rho *3<< std::endl; -// //LBMReal forcingX1ALTERNAT = ( pStar * dX1_rhoInv * rho) ; -// //LBMReal forcingX2ALTERNAT = ( pStar * dX2_rhoInv * rho) ; -// //LBMReal forcingX3ALTERNAT = ( pStar * dX3_rhoInv * rho) ; -// -// //forcingX1 = (fabs(vvx + c1o2 * forcingX1) < fabs(vvx + c1o2 * forcingX1ALTERNAT)) ? forcingX1 : forcingX1ALTERNAT; -// //forcingX2 = (fabs(vvy + c1o2 * forcingX2) < fabs(vvy + c1o2 * forcingX2ALTERNAT)) ? forcingX2 : forcingX2ALTERNAT; -// //forcingX3 = (fabs(vvz + c1o2 * forcingX3) < fabs(vvz + c1o2 * forcingX3ALTERNAT)) ? forcingX3 : forcingX3ALTERNAT; -// -// // forcingX1 = -pStar * rhoToPhi / rho * normX1 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// // forcingX2 = -pStar * rhoToPhi / rho * normX2 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// // forcingX3 = -pStar * rhoToPhi / rho * normX3 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale; -// -// //forcingX1 = (-pStar * dX1_phi * rhoToPhi / rho *(c1- phi[REST]) + pStar * dX1_rhoInv * rho*(phi[REST])); -// //forcingX2 = (-pStar * dX2_phi * rhoToPhi / rho *(c1- phi[REST]) + pStar * dX2_rhoInv * rho*(phi[REST])); -// //forcingX3 = (-pStar * dX3_phi * rhoToPhi / rho *(c1- phi[REST]) + pStar * dX3_rhoInv * rho*(phi[REST])); -// //if (phi[REST] > 0.3 && phi[REST] < 0.7) -// //{ -// // int test = 1; -// // std::cout << phi[REST] <<" "<< dX1_phi <<" "<< normX1 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale<<" "<< normX1 * (1.0 - phi[REST]) * (phi[REST]) * oneOverInterfaceScale/ dX1_phi<< std::endl; -// //} -// -// -// -// //LBMReal scaleGrad = c2 * phi[REST] * (1.0 - phi[REST]) / ((phi[REST] * phi[REST] + (1.0 - phi[REST]) * (1.0 - phi[REST])) * (phi[REST] * phi[REST] + (1.0 - phi[REST]) * (1.0 - phi[REST]))); -// //dX1_phi *= scaleGrad; -// //dX2_phi *= scaleGrad; -// //dX3_phi *= scaleGrad; -// -// ///Experimental interface sharpening force 20.06.2022 -// -// LBMReal scaleSharpener = 1.0; -// //forcingX1 += scaleSharpener * (FdX1_phi - dX1_phi) * fabsf(FdX1_phi - dX1_phi) / rho; -// //forcingX2 += scaleSharpener * (FdX2_phi - dX2_phi) * fabsf(FdX2_phi - dX2_phi) / rho; -// //forcingX3 += scaleSharpener * (FdX3_phi - dX3_phi) * fabsf(FdX3_phi - dX3_phi) / rho; -// ///surface tension force -// forcingX1 += mu * dX1_phi/rho; -// forcingX2 += mu * dX2_phi/rho; -// forcingX3 += mu * dX3_phi/rho; -// -// LBMReal forcingBIAS = 0.5; -// forcingX1 += muForcingX1.Eval() / rho;//*phi[REST]; -// forcingX2 += muForcingX2.Eval() / rho;// * phi[REST]; -// forcingX3 += muForcingX3.Eval() / rho;// * phi[REST]; -// -// // //19.08.2022 -// //vvx += vvxh / rho * c1o2; -// //vvy += vvyh / rho * c1o2; -// //vvz += vvzh / rho * c1o2; -// // // -// -// -// vvx += (forcingX1) * deltaT * c1o2; -// vvy += (forcingX2) * deltaT * c1o2; -// vvz += (forcingX3) * deltaT * c1o2; -// -// //vvx += (forcingX1 + muForcingX1.Eval() / rho) * deltaT * c1o2; // X -// //vvy += (forcingX2 + muForcingX2.Eval() / rho) * deltaT * c1o2; // Y -// //vvz += (forcingX3 + muForcingX3.Eval() / rho) * deltaT * c1o2; // Z -// -// -// -// // vvx += (forcingX1 + muForcingX1.Eval() / rho) * deltaT * forcingBIAS; // X -// // vvy += (forcingX2 + muForcingX2.Eval() / rho) * deltaT * forcingBIAS; // Y -// // vvz += (forcingX3 + muForcingX3.Eval() / rho) * deltaT * forcingBIAS; // Z -// -// -// -// //Abbas -// LBMReal M200 = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfaba + mfcbc) + (mfabc + mfcba)) )) -// + ((mfabb + mfcbb))) ); -// LBMReal M020 = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// + (((mfaab + mfccb) + (mfacb + mfcab)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// + ( (mfbab + mfbcb) )) ); -// LBMReal M002 = ((((((mfaaa + mfccc) + (mfaac + mfcca)) + ((mfcac + mfaca) + (mfcaa + mfacc))) -// + ( + ((mfaba + mfcbc) + (mfabc + mfcba)) + ((mfbaa + mfbcc) + (mfbac + mfbca)))) -// + ( (mfbba + mfbbc)))); -// -// LBMReal M110 = ((((((mfaaa + mfccc) + (-mfcac - mfaca)) + ((mfaac + mfcca) + (-mfcaa -mfacc))) -// + (((mfaab + mfccb) + (-mfacb - mfcab)) )) -// ) ); -// LBMReal M101 = ((((((mfaaa + mfccc) - (mfaac + mfcca)) + ((mfcac + mfaca) - (mfcaa + mfacc))) -// + (((mfaba + mfcbc) + (-mfabc - mfcba)))) -// )); -// LBMReal M011 = ((((((mfaaa + mfccc) - (mfaac + mfcca)) + ( (mfcaa + mfacc)- (mfcac + mfaca))) -// + (((mfbaa + mfbcc) + (-mfbac - mfbca)))) -// )); -// LBMReal vvxI = vvx; -// LBMReal vvyI = vvy; -// LBMReal vvzI = vvz; -// -// LBMReal collFactorStore=collFactorM; -// LBMReal stress; -// //for(int iter=0;iter<5;iter++) -// //{ -// // LBMReal OxxPyyPzz = 1.0; -// // LBMReal mxxPyyPzz = (M200-vvxI*vvxI) + (M020-vvyI*vvyI) + (M002-vvzI*vvzI); -// // //pStar = mxxPyyPzz * c1o3; -// //mxxPyyPzz -= c3 *pStar; -// -// //LBMReal mxxMyy = (M200-vvxI*vvxI) - (M020-vvyI*vvyI); -// //LBMReal mxxMzz = (M200-vvxI*vvxI) - (M002-vvzI*vvzI); -// //LBMReal mxy = M110 - vvxI * vvyI; -// //LBMReal mxz = M101 - vvxI * vvzI; -// //LBMReal myz = M011 - vvyI * vvzI; -// -// -// //mxxMyy *= c1 - collFactorM * c1o2; -// //mxxMzz *= c1 - collFactorM * c1o2; -// //mxy *= c1 - collFactorM * c1o2; -// //mxz *= c1 - collFactorM * c1o2; -// //myz *= c1 - collFactorM * c1o2; -// //mxxPyyPzz *= c1 - OxxPyyPzz * c1o2; -// ////mxxPyyPzz = mxxPyyPzz*fabs(mxxPyyPzz)/(1.0e-6+fabs(mxxPyyPzz)); -// ////mxxPyyPzz += c3 * pStar; -// //LBMReal mxx = (mxxMyy + mxxMzz + mxxPyyPzz)*c1o3; -// //LBMReal myy = (-c2*mxxMyy + mxxMzz + mxxPyyPzz)*c1o3; -// //LBMReal mzz = (mxxMyy -c2* mxxMzz + mxxPyyPzz) * c1o3; -// //vvxI = vvx - (mxx * dX1_phi + mxy * dX2_phi + mxz * dX3_phi) * rhoToPhi / (rho); -// //vvyI = vvy - (mxy * dX1_phi + myy * dX2_phi + myz * dX3_phi) * rhoToPhi / (rho); -// //vvzI = vvz - (mxz * dX1_phi + myz * dX2_phi + mzz * dX3_phi) * rhoToPhi / (rho); -// -// -// //// vvzI = vvz + (mxz * dRhoInvX + myz * dRhoInvY + mzz * dRhoInvZ) * (rho)*c3; -// //// vvxI = vvx + (mxx * dRhoInvX + mxy * dRhoInvY + mxz * dRhoInvZ) * (rho)*c3; -// //// vvyI = vvy + (mxy * dRhoInvX + myy * dRhoInvY + myz * dRhoInvZ) * (rho)*c3; -// -// -// // //LBMReal dxux = -c1o2 * collFactorM * (mxxMyy + mxxMzz) + c1o2 * OxxPyyPzz * (/*mfaaa*/ -mxxPyyPzz); -// // // -// // //LBMReal dyuy = dxux + collFactorM * c3o2 * mxxMyy; -// // //LBMReal dzuz = dxux + collFactorM * c3o2 * mxxMzz; -// // //LBMReal Dxy = -three * collFactorM * mxy; -// // //LBMReal Dxz = -three * collFactorM * mxz; -// // //LBMReal Dyz = -three * collFactorM * myz; -// // ////LBMReal stress = sqrt(sqrt((dyuy+dxux+dzuz)* (dyuy + dxux + dzuz))) * sqrt(forcingX1 * forcingX1 + forcingX2 * forcingX2 + forcingX3 * forcingX3); -// // // stress = sqrt(dyuy * dyuy + dxux * dxux + dzuz*dzuz + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz)*sqrt(forcingX1*forcingX1+forcingX2*forcingX2+forcingX3*forcingX3); -// // ////collFactorM = collFactorStore + (1.75 - collFactorStore) * stress / (stress + 1.0e-8); -// // // -// // //LBMReal dX2_rho = (rhoToPhi)*dX2_phi; -// // //LBMReal dX1_rho = (rhoToPhi)*dX1_phi; -// // //LBMReal dX3_rho = (rhoToPhi)*dX3_phi; -// // ////vvxI= vvx+ c1o6 * (c1 / collFactorM - c1o2) * (2 * dxux * dX1_rho + Dxy * dX2_rho + Dxz * dX3_rho) / (rho); -// // ////vvyI= vvy+ c1o6 * (c1 / collFactorM - c1o2) * (Dxy * dX1_rho + 2 * dyuy * dX2_rho + Dyz * dX3_rho) / (rho); -// // ////vvzI= vvz+ c1o6 * (c1 / collFactorM - c1o2) * (Dxz * dX1_rho + Dyz * dX2_rho + 2 * dyuy * dX3_rho) / (rho); -// -// // //vvxI = vvx + c1o3*forcingBIAS * (c1 / collFactorM - c1o2) * (2 * dxux * dX1_rho + Dxy * dX2_rho + Dxz * dX3_rho) / (rho); -// // //vvyI = vvy + c1o3*forcingBIAS * (c1 / collFactorM - c1o2) * (Dxy * dX1_rho + 2 * dyuy * dX2_rho + Dyz * dX3_rho) / (rho); -// // //vvzI = vvz + c1o3*forcingBIAS * (c1 / collFactorM - c1o2) * (Dxz * dX1_rho + Dyz * dX2_rho + 2 * dyuy * dX3_rho) / (rho); -// -// // ////vvxI = vvx - c1o3 * forcingBIAS * (c1 / collFactorM - c1o2) * (2 * dxux * dX1_rhoInv + Dxy * dX2_rhoInv + Dxz * dX3_rhoInv); -// // ////vvyI = vvy - c1o3 * forcingBIAS * (c1 / collFactorM - c1o2) * (Dxy * dX1_rhoInv + 2 * dyuy * dX2_rhoInv + Dyz * dX3_rhoInv); -// // ////vvzI = vvz - c1o3 * forcingBIAS * (c1 / collFactorM - c1o2) * (Dxz * dX1_rhoInv + Dyz * dX2_rhoInv + 2 * dyuy * dX3_rhoInv); -// -// -// //} -// // //forcingX1+=(vvxI-vvx)/(deltaT* forcingBIAS) + muForcingX1.Eval() / rho; -// // //forcingX2 += (vvyI - vvy) / (deltaT * forcingBIAS) + muForcingX2.Eval() / rho; -// // //forcingX3 += (vvzI - vvz) / (deltaT * forcingBIAS) + muForcingX3.Eval() / rho; -// -// -// //// forcingX1 += c2 * (vvxI - vvx); -// //// forcingX2 += c2 * (vvyI - vvy); -// //// forcingX3 += c2 * (vvzI - vvz); -// -// -// //mfabb += c1o2*(-forcingX1) * c2o9; -// //mfbab += c1o2*(-forcingX2) * c2o9; -// //mfbba += c1o2*(-forcingX3) * c2o9; -// //mfaab += c1o2*(-forcingX1 - forcingX2) * c1o18; -// //mfcab += c1o2*( forcingX1 - forcingX2) * c1o18; -// //mfaba += c1o2*(-forcingX1 - forcingX3) * c1o18; -// //mfcba += c1o2*( forcingX1 - forcingX3) * c1o18; -// //mfbaa += c1o2*(-forcingX2 - forcingX3) * c1o18; -// //mfbca += c1o2*( forcingX2 - forcingX3) * c1o18; -// //mfaaa += c1o2*(-forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfcaa += c1o2*(forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfaca += c1o2*(-forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcca += c1o2*(forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcbb += c1o2*(forcingX1)*c2o9; -// //mfbcb += c1o2*(forcingX2)*c2o9; -// //mfbbc += c1o2*(forcingX3)*c2o9; -// //mfccb += c1o2*( forcingX1 + forcingX2) * c1o18; -// //mfacb += c1o2*(-forcingX1 + forcingX2) * c1o18; -// //mfcbc += c1o2*( forcingX1 + forcingX3) * c1o18; -// //mfabc += c1o2*(-forcingX1 + forcingX3) * c1o18; -// //mfbcc += c1o2*( forcingX2 + forcingX3) * c1o18; -// //mfbac += c1o2*(-forcingX2 + forcingX3) * c1o18; -// //mfccc += c1o2*(forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfacc += c1o2*(-forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfcac += c1o2*(forcingX1 - forcingX2 + forcingX3) * c1o72; -// //mfaac += c1o2*(-forcingX1 - forcingX2 + forcingX3) * c1o72; -// -// -// //forcingX1 = saveForceX1; -// //forcingX2 = saveForceX2; -// //forcingX3 = saveForceX3; -// vvx = vvxI; -// vvy = vvyI; -// vvz = vvzI; -// -// -// -// //!Abbas -// -// LBMReal vx2; -// LBMReal vy2; -// LBMReal vz2; -// vx2 = vvx * vvx; -// vy2 = vvy * vvy; -// vz2 = vvz * vvz; -// //pStar =ppStar- (vx2 + vy2 + vz2)*pStar; -// // pStar = (pStar + ppStar)*c1o2; -// /////////////////////////////////////////////////////////////////////////////////////////// -// LBMReal oMdrho; -// /////////////// -// //mfabb -= pStar * c2o9; -// //mfbab -= pStar * c2o9; -// //mfbba -= pStar * c2o9; -// //mfaab -= pStar * c1o16; -// //mfcab -= pStar * c1o16; -// //mfaba -= pStar * c1o16; -// //mfcba -= pStar * c1o16; -// //mfbaa -= pStar * c1o16; -// //mfbca -= pStar * c1o16; -// //mfaaa -= pStar * c1o72; -// //mfcaa -= pStar * c1o72; -// //mfaca -= pStar * c1o72; -// //mfcca -= pStar * c1o72; -// //mfcbb -= pStar * c2o9; -// //mfbcb -= pStar * c2o9; -// //mfbbc -= pStar * c2o9; -// //mfccb -= pStar * c1o16; -// //mfacb -= pStar * c1o16; -// //mfcbc -= pStar * c1o16; -// //mfabc -= pStar * c1o16; -// //mfbcc -= pStar * c1o16; -// //mfbac -= pStar * c1o16; -// //mfccc -= pStar * c1o72; -// //mfacc -= pStar * c1o72; -// //mfcac -= pStar * c1o72; -// //mfaac -= pStar * c1o72; -// //mfbbb -= pStar * 8.0/9.0; -// /////////////////// -// -// oMdrho = mfccc + mfaaa; -// m0 = mfaca + mfcac; -// m1 = mfacc + mfcaa; -// m2 = mfaac + mfcca; -// oMdrho += m0; -// m1 += m2; -// oMdrho += m1; -// m0 = mfbac + mfbca; -// m1 = mfbaa + mfbcc; -// m0 += m1; -// m1 = mfabc + mfcba; -// m2 = mfaba + mfcbc; -// m1 += m2; -// m0 += m1; -// m1 = mfacb + mfcab; -// m2 = mfaab + mfccb; -// m1 += m2; -// m0 += m1; -// oMdrho += m0; -// m0 = mfabb + mfcbb; -// m1 = mfbab + mfbcb; -// m2 = mfbba + mfbbc; -// m0 += m1 + m2; -// m0 += mfbbb; //hat gefehlt -// oMdrho = (rhoRef - (oMdrho + m0))/rhoRef;// 12.03.21 check derivation!!!! -// -// //////////////////////////////////////////////////////////////////////////////////// -// LBMReal wadjust; -// LBMReal qudricLimit = 0.01 / (c1 + 1.0e4 * phi[REST] * (c1 - phi[REST])); //LBMReal qudricLimit = 0.01; -// //////////////////////////////////////////////////////////////////////////////////// -// //Hin -// //////////////////////////////////////////////////////////////////////////////////// -// // mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // Z - Dir -// m2 = mfaaa + mfaac; -// m1 = mfaac - mfaaa; -// m0 = m2 + mfaab; -// mfaaa = m0; -// m0 += c1o36 * oMdrho; -// mfaab = m1 - m0 * vvz; -// mfaac = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaba + mfabc; -// m1 = mfabc - mfaba; -// m0 = m2 + mfabb; -// mfaba = m0; -// m0 += c1o9 * oMdrho; -// mfabb = m1 - m0 * vvz; -// mfabc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaca + mfacc; -// m1 = mfacc - mfaca; -// m0 = m2 + mfacb; -// mfaca = m0; -// m0 += c1o36 * oMdrho; -// mfacb = m1 - m0 * vvz; -// mfacc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbaa + mfbac; -// m1 = mfbac - mfbaa; -// m0 = m2 + mfbab; -// mfbaa = m0; -// m0 += c1o9 * oMdrho; -// mfbab = m1 - m0 * vvz; -// mfbac = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbba + mfbbc; -// m1 = mfbbc - mfbba; -// m0 = m2 + mfbbb; -// mfbba = m0; -// m0 += c4o9 * oMdrho; -// mfbbb = m1 - m0 * vvz; -// mfbbc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbca + mfbcc; -// m1 = mfbcc - mfbca; -// m0 = m2 + mfbcb; -// mfbca = m0; -// m0 += c1o9 * oMdrho; -// mfbcb = m1 - m0 * vvz; -// mfbcc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcaa + mfcac; -// m1 = mfcac - mfcaa; -// m0 = m2 + mfcab; -// mfcaa = m0; -// m0 += c1o36 * oMdrho; -// mfcab = m1 - m0 * vvz; -// mfcac = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcba + mfcbc; -// m1 = mfcbc - mfcba; -// m0 = m2 + mfcbb; -// mfcba = m0; -// m0 += c1o9 * oMdrho; -// mfcbb = m1 - m0 * vvz; -// mfcbc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcca + mfccc; -// m1 = mfccc - mfcca; -// m0 = m2 + mfccb; -// mfcca = m0; -// m0 += c1o36 * oMdrho; -// mfccb = m1 - m0 * vvz; -// mfccc = m2 - 2. * m1 * vvz + vz2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // Y - Dir -// m2 = mfaaa + mfaca; -// m1 = mfaca - mfaaa; -// m0 = m2 + mfaba; -// mfaaa = m0; -// m0 += c1o6 * oMdrho; -// mfaba = m1 - m0 * vvy; -// mfaca = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaab + mfacb; -// m1 = mfacb - mfaab; -// m0 = m2 + mfabb; -// mfaab = m0; -// mfabb = m1 - m0 * vvy; -// mfacb = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaac + mfacc; -// m1 = mfacc - mfaac; -// m0 = m2 + mfabc; -// mfaac = m0; -// m0 += c1o18 * oMdrho; -// mfabc = m1 - m0 * vvy; -// mfacc = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbaa + mfbca; -// m1 = mfbca - mfbaa; -// m0 = m2 + mfbba; -// mfbaa = m0; -// m0 += c2o3 * oMdrho; -// mfbba = m1 - m0 * vvy; -// mfbca = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbab + mfbcb; -// m1 = mfbcb - mfbab; -// m0 = m2 + mfbbb; -// mfbab = m0; -// mfbbb = m1 - m0 * vvy; -// mfbcb = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfbac + mfbcc; -// m1 = mfbcc - mfbac; -// m0 = m2 + mfbbc; -// mfbac = m0; -// m0 += c2o9 * oMdrho; -// mfbbc = m1 - m0 * vvy; -// mfbcc = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcaa + mfcca; -// m1 = mfcca - mfcaa; -// m0 = m2 + mfcba; -// mfcaa = m0; -// m0 += c1o6 * oMdrho; -// mfcba = m1 - m0 * vvy; -// mfcca = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcab + mfccb; -// m1 = mfccb - mfcab; -// m0 = m2 + mfcbb; -// mfcab = m0; -// mfcbb = m1 - m0 * vvy; -// mfccb = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfcac + mfccc; -// m1 = mfccc - mfcac; -// m0 = m2 + mfcbc; -// mfcac = m0; -// m0 += c1o18 * oMdrho; -// mfcbc = m1 - m0 * vvy; -// mfccc = m2 - 2. * m1 * vvy + vy2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // X - Dir -// m2 = mfaaa + mfcaa; -// m1 = mfcaa - mfaaa; -// m0 = m2 + mfbaa; -// mfaaa = m0; -// m0 += 1. * oMdrho; -// mfbaa = m1 - m0 * vvx; -// mfcaa = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaba + mfcba; -// m1 = mfcba - mfaba; -// m0 = m2 + mfbba; -// mfaba = m0; -// mfbba = m1 - m0 * vvx; -// mfcba = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaca + mfcca; -// m1 = mfcca - mfaca; -// m0 = m2 + mfbca; -// mfaca = m0; -// m0 += c1o3 * oMdrho; -// mfbca = m1 - m0 * vvx; -// mfcca = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaab + mfcab; -// m1 = mfcab - mfaab; -// m0 = m2 + mfbab; -// mfaab = m0; -// mfbab = m1 - m0 * vvx; -// mfcab = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfabb + mfcbb; -// m1 = mfcbb - mfabb; -// m0 = m2 + mfbbb; -// mfabb = m0; -// mfbbb = m1 - m0 * vvx; -// mfcbb = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfacb + mfccb; -// m1 = mfccb - mfacb; -// m0 = m2 + mfbcb; -// mfacb = m0; -// mfbcb = m1 - m0 * vvx; -// mfccb = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfaac + mfcac; -// m1 = mfcac - mfaac; -// m0 = m2 + mfbac; -// mfaac = m0; -// m0 += c1o3 * oMdrho; -// mfbac = m1 - m0 * vvx; -// mfcac = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfabc + mfcbc; -// m1 = mfcbc - mfabc; -// m0 = m2 + mfbbc; -// mfabc = m0; -// mfbbc = m1 - m0 * vvx; -// mfcbc = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// m2 = mfacc + mfccc; -// m1 = mfccc - mfacc; -// m0 = m2 + mfbcc; -// mfacc = m0; -// m0 += c1o9 * oMdrho; -// mfbcc = m1 - m0 * vvx; -// mfccc = m2 - 2. * m1 * vvx + vx2 * m0; -// //////////////////////////////////////////////////////////////////////////////////// -// // Cumulants -// //////////////////////////////////////////////////////////////////////////////////// -// -// // mfaaa = 0.0; -// LBMReal OxxPyyPzz = 1.0; //omega2 or bulk viscosity -// // LBMReal OxyyPxzz = 1.;//-s9;//2+s9;// -// // LBMReal OxyyMxzz = 1.;//2+s9;// -// LBMReal O4 = 1.; -// LBMReal O5 = 1.; -// LBMReal O6 = 1.; -// -// //collFactorM+= (1.7 - collFactorM) * fabs(mfaaa) / (fabs(mfaaa) + 0.001f); -// -// -// /////fourth order parameters; here only for test. Move out of loop! -// -// LBMReal OxyyPxzz = 8.0 * (collFactorM - 2.0) * (OxxPyyPzz * (3.0 * collFactorM - 1.0) - 5.0 * collFactorM) / (8.0 * (5.0 - 2.0 * collFactorM) * collFactorM + OxxPyyPzz * (8.0 + collFactorM * (9.0 * collFactorM - 26.0))); -// LBMReal OxyyMxzz = 8.0 * (collFactorM - 2.0) * (collFactorM + OxxPyyPzz * (3.0 * collFactorM - 7.0)) / (OxxPyyPzz * (56.0 - 42.0 * collFactorM + 9.0 * collFactorM * collFactorM) - 8.0 * collFactorM); -// LBMReal Oxyz = 24.0 * (collFactorM - 2.0) * (4.0 * collFactorM * collFactorM + collFactorM * OxxPyyPzz * (18.0 - 13.0 * collFactorM) + OxxPyyPzz * OxxPyyPzz * (2.0 + collFactorM * (6.0 * collFactorM - 11.0))) / (16.0 * collFactorM * collFactorM * (collFactorM - 6.0) - 2.0 * collFactorM * OxxPyyPzz * (216.0 + 5.0 * collFactorM * (9.0 * collFactorM - 46.0)) + OxxPyyPzz * OxxPyyPzz * (collFactorM * (3.0 * collFactorM - 10.0) * (15.0 * collFactorM - 28.0) - 48.0)); -// LBMReal A = (4.0 * collFactorM * collFactorM + 2.0 * collFactorM * OxxPyyPzz * (collFactorM - 6.0) + OxxPyyPzz * OxxPyyPzz * (collFactorM * (10.0 - 3.0 * collFactorM) - 4.0)) / ((collFactorM - OxxPyyPzz) * (OxxPyyPzz * (2.0 + 3.0 * collFactorM) - 8.0 * collFactorM)); -// //FIXME: warning C4459: declaration of 'B' hides global declaration (message : see declaration of 'D3Q27System::B' ) -// LBMReal BB = (4.0 * collFactorM * OxxPyyPzz * (9.0 * collFactorM - 16.0) - 4.0 * collFactorM * collFactorM - 2.0 * OxxPyyPzz * OxxPyyPzz * (2.0 + 9.0 * collFactorM * (collFactorM - 2.0))) / (3.0 * (collFactorM - OxxPyyPzz) * (OxxPyyPzz * (2.0 + 3.0 * collFactorM) - 8.0 * collFactorM)); -// //LBMReal stress = 1.0;// stress / (stress + 1.0e-10); -// stress = 1.0; -// //OxyyPxzz += stress*(1.0-OxyyPxzz); -// //OxyyPxzz = c3 * (collFactorM - c2) / (collFactorM - c3); -// //OxyyMxzz += stress*(1.0-OxyyMxzz); -// //Oxyz += stress*(1.0-Oxyz); -// //A *= 1.0-stress; -// //BB *= 1.0-stress; -// -// //Cum 4. -// //LBMReal CUMcbb = mfcbb - ((mfcaa + c1o3 * oMdrho) * mfabb + 2. * mfbba * mfbab); // till 18.05.2015 -// //LBMReal CUMbcb = mfbcb - ((mfaca + c1o3 * oMdrho) * mfbab + 2. * mfbba * mfabb); // till 18.05.2015 -// //LBMReal CUMbbc = mfbbc - ((mfaac + c1o3 * oMdrho) * mfbba + 2. * mfbab * mfabb); // till 18.05.2015 -// -// LBMReal CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + 2. * mfbba * mfbab); -// LBMReal CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); -// LBMReal CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); -// -// LBMReal CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); -// LBMReal CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); -// LBMReal CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); -// -// //Cum 5. -// LBMReal CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; -// LBMReal CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + 4. * mfbab * mfbbb + 2. * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho; -// LBMReal CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + 4. * mfbba * mfbbb + 2. * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho; -// -// //Cum 6. -// LBMReal CUMccc = mfccc + ((-4. * mfbbb * mfbbb -// - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) -// - 4. * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) -// - 2. * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) -// + (4. * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) -// + 2. * (mfcaa * mfaca * mfaac) -// + 16. * mfbba * mfbab * mfabb) -// - c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9 * oMdrho * oMdrho -// - c1o9 * (mfcaa + mfaca + mfaac) * oMdrho * (1. - 2. * oMdrho) - c1o27 * oMdrho * oMdrho * (-2. * oMdrho) -// + (2. * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) -// + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 * oMdrho) + c1o27 * oMdrho; -// -// //2. -// // linear combinations -// LBMReal mxxPyyPzz = mfcaa + mfaca + mfaac; -// //pStar = (mxxPyyPzz+vx2+vy2+vz2) * c1o3;//does not work -// //pStar = (mxxPyyPzz) * c1o3; -// //pStar = pStar + 1.5 * (mxxPyyPzz * c1o3 - pStar); -// //mfaaa = mxxPyyPzz; -// // LBMReal mfaaaS = (mfaaa * (-4 - 3 * OxxPyyPzz * (-1 + rho)) + 6 * mxxPyyPzz * OxxPyyPzz * (-1 + rho)) / (-4 + 3 * OxxPyyPzz * (-1 + rho)); -// mxxPyyPzz -= mfaaa ;//12.03.21 shifted by mfaaa -// //mxxPyyPzz-=(mfaaa+mfaaaS)*c1o2;//12.03.21 shifted by mfaaa -// LBMReal mxxMyy = mfcaa - mfaca; -// LBMReal mxxMzz = mfcaa - mfaac; -// -// /// -// LBMReal mmfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); -// LBMReal mmfaca = c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz); -// LBMReal mmfaac = c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz); -// LBMReal mmfabb = mfabb; -// LBMReal mmfbab = mfbab; -// LBMReal mmfbba = mfbba; -// /// -// -// LBMReal dxux = -c1o2 * collFactorM * (mxxMyy + mxxMzz) + c1o2 * OxxPyyPzz * (/*mfaaa*/ -mxxPyyPzz)*0; -// //LBMReal dxux = -c1o2 * (mxxMyy + mxxMzz) * collFactorM - mfaaa * c1o3* omegaDRho; -// LBMReal dyuy = dxux + collFactorM * c3o2 * mxxMyy; -// LBMReal dzuz = dxux + collFactorM * c3o2 * mxxMzz; -// LBMReal Dxy = -three * collFactorM * mfbba; -// LBMReal Dxz = -three * collFactorM * mfbab; -// LBMReal Dyz = -three * collFactorM * mfabb; -//// // attempt to improve implicit stress computation by fixed iteration -//// LBMReal dX2_rho = (rhoToPhi)*dX2_phi; -//// LBMReal dX1_rho = (rhoToPhi)*dX1_phi; -//// LBMReal dX3_rho = (rhoToPhi)*dX3_phi; -//// -//// LBMReal dfx= c1o3 * (c1 / collFactorM - c1o2) *(2 * dxux * dX1_rho + Dxy * dX2_rho + Dxz * dX3_rho) / (rho); -//// LBMReal dfy = c1o3 * (c1 / collFactorM - c1o2) *(Dxy * dX1_rho + 2 * dyuy * dX2_rho + Dyz * dX3_rho) / (rho); -//// LBMReal dfz = c1o3 * (c1 / collFactorM - c1o2) *(Dxz * dX1_rho + Dyz * dX2_rho + 2 * dyuy * dX3_rho) / (rho); -//// -//// for (int iteration = 0; iteration < 5; iteration++) { -//// mxxMyy = (mfcaa - dfx * dfx * c1o2) - (mfaca - dfy * dfy * c1o2); -//// mxxMzz = (mfcaa - dfx * dfx * c1o2) - (mfaac - dfz * dfz * c1o2); -//// } -///////end fixed iteration -//// -// -// -// //relax -// mxxPyyPzz += OxxPyyPzz * (/*mfaaa*/ - mxxPyyPzz) - 3. * (1. - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); -// mxxMyy += collFactorM * (-mxxMyy) - 3. * (1. - c1o2 * collFactorM) * (vx2 * dxux - vy2 * dyuy); -// mxxMzz += collFactorM * (-mxxMzz) - 3. * (1. - c1o2 * collFactorM) * (vx2 * dxux - vz2 * dzuz); -// -// mfabb += collFactorM * (-mfabb); -// mfbab += collFactorM * (-mfbab); -// mfbba += collFactorM * (-mfbba); -// -// //if (fabsf(mfaaa + (dxux + dyuy + dzuz) > 1e-9)){ -// // std::cout << mfaaa <<" "<< (dxux + dyuy + dzuz)<< std::endl; -// //} -// -// -// ////updated pressure -// //mfaaa += (dX1_phi * vvx + dX2_phi * vvy + dX3_phi * vvz) * correctionScaling; -// //mfaaa *= (one-omegaDRho);// (mfaaa + (dxux + dyuy + dzuz)) * .5; // Pressure elimination as in standard velocity model -// // mfaaa += (rho - c1) * (dxux + dyuy + dzuz); -// -// mxxPyyPzz += mfaaa; // 12.03.21 shifted by mfaaa -// -// // mxxPyyPzz += (mfaaa + mfaaaS) * c1o2; -// //mfaaa = mfaaaS; -// // linear combinations back -// mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); -// mfaca = c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz); -// mfaac = c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz); -// -// //3. -// // linear combinations -// LBMReal mxxyPyzz = mfcba + mfabc; -// LBMReal mxxyMyzz = mfcba - mfabc; -// -// LBMReal mxxzPyyz = mfcab + mfacb; -// LBMReal mxxzMyyz = mfcab - mfacb; -// -// LBMReal mxyyPxzz = mfbca + mfbac; -// LBMReal mxyyMxzz = mfbca - mfbac; -// -// mmfcaa += c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz- mfaaa); -// mmfaca += c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz- mfaaa); -// mmfaac += c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz- mfaaa); -// mmfabb += mfabb; -// mmfbab += mfbab; -// mmfbba += mfbba; -// -// //relax -// wadjust = Oxyz + (1. - Oxyz) * fabs(mfbbb) / (fabs(mfbbb) + qudricLimit); -// mfbbb += wadjust * (-mfbbb); -// wadjust = OxyyPxzz + (1. - OxyyPxzz) * fabs(mxxyPyzz) / (fabs(mxxyPyzz) + qudricLimit); -// mxxyPyzz += wadjust * (-mxxyPyzz); -// wadjust = OxyyMxzz + (1. - OxyyMxzz) * fabs(mxxyMyzz) / (fabs(mxxyMyzz) + qudricLimit); -// mxxyMyzz += wadjust * (-mxxyMyzz); -// wadjust = OxyyPxzz + (1. - OxyyPxzz) * fabs(mxxzPyyz) / (fabs(mxxzPyyz) + qudricLimit); -// mxxzPyyz += wadjust * (-mxxzPyyz); -// wadjust = OxyyMxzz + (1. - OxyyMxzz) * fabs(mxxzMyyz) / (fabs(mxxzMyyz) + qudricLimit); -// mxxzMyyz += wadjust * (-mxxzMyyz); -// wadjust = OxyyPxzz + (1. - OxyyPxzz) * fabs(mxyyPxzz) / (fabs(mxyyPxzz) + qudricLimit); -// mxyyPxzz += wadjust * (-mxyyPxzz); -// wadjust = OxyyMxzz + (1. - OxyyMxzz) * fabs(mxyyMxzz) / (fabs(mxyyMxzz) + qudricLimit); -// mxyyMxzz += wadjust * (-mxyyMxzz); -// -// // linear combinations back -// mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; -// mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; -// mfcab = (mxxzMyyz + mxxzPyyz) * c1o2; -// mfacb = (-mxxzMyyz + mxxzPyyz) * c1o2; -// mfbca = (mxyyMxzz + mxyyPxzz) * c1o2; -// mfbac = (-mxyyMxzz + mxyyPxzz) * c1o2; -// -// //4. -// CUMacc = -O4 * (one / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (one - O4) * (CUMacc); -// CUMcac = -O4 * (one / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (one - O4) * (CUMcac); -// CUMcca = -O4 * (one / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (one - O4) * (CUMcca); -// CUMbbc = -O4 * (one / collFactorM - c1o2) * Dxy * c1o3 * BB + (one - O4) * (CUMbbc); -// CUMbcb = -O4 * (one / collFactorM - c1o2) * Dxz * c1o3 * BB + (one - O4) * (CUMbcb); -// CUMcbb = -O4 * (one / collFactorM - c1o2) * Dyz * c1o3 * BB + (one - O4) * (CUMcbb); -// -// //5. -// CUMbcc += O5 * (-CUMbcc); -// CUMcbc += O5 * (-CUMcbc); -// CUMccb += O5 * (-CUMccb); -// -// //6. -// CUMccc += O6 * (-CUMccc); -// -// //back cumulants to central moments -// //4. -// //mfcbb = CUMcbb + ((mfcaa + c1o3 * oMdrho) * mfabb + 2. * mfbba * mfbab); // till 18.05.2015 -// //mfbcb = CUMbcb + ((mfaca + c1o3 * oMdrho) * mfbab + 2. * mfbba * mfabb); // till 18.05.2015 -// //mfbbc = CUMbbc + ((mfaac + c1o3 * oMdrho) * mfbba + 2. * mfbab * mfabb); // till 18.05.2015 -// -// mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + 2. * mfbba * mfbab); -// mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); -// mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); -// -// mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho; -// mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho; -// mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho; -// -// //5. -// mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; -// mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + 4. * mfbab * mfbbb + 2. * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc) * oMdrho; -// mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + 4. * mfbba * mfbbb + 2. * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab) * oMdrho; -// -// //6. -// mfccc = CUMccc - ((-4. * mfbbb * mfbbb -// - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) -// - 4. * (mfabb * mfcbb + mfbac * mfbca + mfbba * mfbbc) -// - 2. * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) -// + (4. * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) -// + 2. * (mfcaa * mfaca * mfaac) -// + 16. * mfbba * mfbab * mfabb) -// - c1o3 * (mfacc + mfcac + mfcca) * oMdrho - c1o9 * oMdrho * oMdrho -// - c1o9 * (mfcaa + mfaca + mfaac) * oMdrho * (1. - 2. * oMdrho) - c1o27 * oMdrho * oMdrho * (-2. * oMdrho) -// + (2. * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) -// + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa)) * c2o3 * oMdrho) - c1o27 * oMdrho; -// -// -// //////// -// -// -// //////////////////////////////////////////////////////////////////////////////////// -// //forcing -// mfbaa = -mfbaa;// *(c1 - forcingBIAS) / forcingBIAS; -// mfaba = -mfaba;// *(c1 - forcingBIAS) / forcingBIAS; -// mfaab = -mfaab;// *(c1 - forcingBIAS) / forcingBIAS; -// -// //mfbaa += c1o3 * (c1 / collFactorM - c1o2) * rhoToPhi * (2 * dxux * dX1_phi + Dxy * dX2_phi + Dxz * dX3_phi) / (rho); -// //mfaba += c1o3 * (c1 / collFactorM - c1o2) * rhoToPhi * (Dxy * dX1_phi + 2 * dyuy * dX2_phi + Dyz * dX3_phi) / (rho); -// //mfaab += c1o3 * (c1 / collFactorM - c1o2) * rhoToPhi * (Dxz * dX1_phi + Dyz * dX2_phi + 2 * dyuy * dX3_phi) / (rho); -// -// mfbaa -= c1o2 * rhoToPhi * (mmfcaa* dX1_phi + mmfbba * dX2_phi + mmfbab * dX3_phi) / (rho); -// mfaba -= c1o2 * rhoToPhi * (mmfbba* dX1_phi + mmfaca * dX2_phi + mmfabb * dX3_phi) / (rho); -// mfaab -= c1o2 * rhoToPhi * (mmfbab* dX1_phi + mmfabb * dX2_phi + mmfaac * dX3_phi) / (rho); -// -// vvx -= c1o4 * rhoToPhi * (mmfcaa * dX1_phi + mmfbba * dX2_phi + mmfbab * dX3_phi) / (rho); -// vvy -= c1o4 * rhoToPhi * (mmfbba * dX1_phi + mmfaca * dX2_phi + mmfabb * dX3_phi) / (rho); -// vvz -= c1o4 * rhoToPhi * (mmfbab * dX1_phi + mmfabb * dX2_phi + mmfaac * dX3_phi) / (rho); -// -// vx2 = vvx * vvx; -// vy2 = vvy * vvy; -// vz2 = vvz * vvz; -// -// //mmfcaa =0;// c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz - mfaaa); -// //mmfaca =0;// c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz - mfaaa); -// //mmfaac =0;// c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz - mfaaa); -// //mmfabb =0;// mfabb; -// //mmfbab =0;// mfbab; -// //mmfbba =0;// mfbba; -// -// -// ////////////////////////////////////////////////////////////////////////////////////// -// //grad Rho -// //LBMReal dX1_rho = (rhoToPhi - three * (*pressure)(x1, x2, x3)) * dX1_phi - phi[REST] * three * gradPx; -// //LBMReal dX2_rho = (rhoToPhi - three * (*pressure)(x1, x2, x3)) * dX2_phi - phi[REST] * three * gradPy; -// //LBMReal dX3_rho = (rhoToPhi - three * (*pressure)(x1, x2, x3)) * dX3_phi - phi[REST] * three * gradPz; -// -// //LBMReal dX2_rho = (rhoToPhi ) * dX2_phi ; -// //LBMReal dX1_rho = (rhoToPhi ) * dX1_phi ; -// //LBMReal dX3_rho = (rhoToPhi ) * dX3_phi ; -// /////////////////////////////////////////////////////////////////////////////////////// -// //mfbaa += c1o3 * (c1 / collFactorM - c1o2) *(2 * dxux * dX1_rho + Dxy * dX2_rho + Dxz * dX3_rho) / (rho); -// //mfaba += c1o3 * (c1 / collFactorM - c1o2) *(Dxy * dX1_rho + 2 * dyuy * dX2_rho + Dyz * dX3_rho) / (rho); -// //mfaab += c1o3 * (c1 / collFactorM - c1o2) *(Dxz * dX1_rho + Dyz * dX2_rho + 2 * dyuy * dX3_rho) / (rho); -// -// ///////Fakhari pressure correction -// //mfbaa -= mfaaa / rho * dX1_rho*c1o3; -// //mfaba -= mfaaa / rho * dX2_rho*c1o3; -// //mfaab -= mfaaa / rho * dX3_rho*c1o3; -// //////////////////////////////////////////////////////////////////////////////////// -// //back -// //////////////////////////////////////////////////////////////////////////////////// -// //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // Z - Dir -// m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + 1. * oMdrho) * (vz2 - vvz) * c1o2; -// m1 = -mfaac - 2. * mfaab * vvz + mfaaa * (1. - vz2) - 1. * oMdrho * vz2; -// m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + 1. * oMdrho) * (vz2 + vvz) * c1o2; -// mfaaa = m0; -// mfaab = m1; -// mfaac = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2; -// m1 = -mfabc - 2. * mfabb * vvz + mfaba * (1. - vz2); -// m2 = mfabc * c1o2 + mfabb * (vvz + c1o2) + mfaba * (vz2 + vvz) * c1o2; -// mfaba = m0; -// mfabb = m1; -// mfabc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 - vvz) * c1o2; -// m1 = -mfacc - 2. * mfacb * vvz + mfaca * (1. - vz2) - c1o3 * oMdrho * vz2; -// m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2; -// mfaca = m0; -// mfacb = m1; -// mfacc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2; -// m1 = -mfbac - 2. * mfbab * vvz + mfbaa * (1. - vz2); -// m2 = mfbac * c1o2 + mfbab * (vvz + c1o2) + mfbaa * (vz2 + vvz) * c1o2; -// mfbaa = m0; -// mfbab = m1; -// mfbac = m2; -// /////////b////////////////////////////////////////////////////////////////////////// -// m0 = mfbbc * c1o2 + mfbbb * (vvz - c1o2) + mfbba * (vz2 - vvz) * c1o2; -// m1 = -mfbbc - 2. * mfbbb * vvz + mfbba * (1. - vz2); -// m2 = mfbbc * c1o2 + mfbbb * (vvz + c1o2) + mfbba * (vz2 + vvz) * c1o2; -// mfbba = m0; -// mfbbb = m1; -// mfbbc = m2; -// /////////b////////////////////////////////////////////////////////////////////////// -// m0 = mfbcc * c1o2 + mfbcb * (vvz - c1o2) + mfbca * (vz2 - vvz) * c1o2; -// m1 = -mfbcc - 2. * mfbcb * vvz + mfbca * (1. - vz2); -// m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2; -// mfbca = m0; -// mfbcb = m1; -// mfbcc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2; -// m1 = -mfcac - 2. * mfcab * vvz + mfcaa * (1. - vz2) - c1o3 * oMdrho * vz2; -// m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 + vvz) * c1o2; -// mfcaa = m0; -// mfcab = m1; -// mfcac = m2; -// /////////c////////////////////////////////////////////////////////////////////////// -// m0 = mfcbc * c1o2 + mfcbb * (vvz - c1o2) + mfcba * (vz2 - vvz) * c1o2; -// m1 = -mfcbc - 2. * mfcbb * vvz + mfcba * (1. - vz2); -// m2 = mfcbc * c1o2 + mfcbb * (vvz + c1o2) + mfcba * (vz2 + vvz) * c1o2; -// mfcba = m0; -// mfcbb = m1; -// mfcbc = m2; -// /////////c////////////////////////////////////////////////////////////////////////// -// m0 = mfccc * c1o2 + mfccb * (vvz - c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 - vvz) * c1o2; -// m1 = -mfccc - 2. * mfccb * vvz + mfcca * (1. - vz2) - c1o9 * oMdrho * vz2; -// m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2; -// mfcca = m0; -// mfccb = m1; -// mfccc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// //mit 1/6, 2/3, 1/6, 0, 0, 0, 1/18, 2/9, 1/18 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // Y - Dir -// m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfaca - 2. * mfaba * vvy + mfaaa * (1. - vy2) - c1o6 * oMdrho * vy2; -// m2 = mfaca * c1o2 + mfaba * (vvy + c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 + vvy) * c1o2; -// mfaaa = m0; -// mfaba = m1; -// mfaca = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfacb * c1o2 + mfabb * (vvy - c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfacb - 2. * mfabb * vvy + mfaab * (1. - vy2) - c2o3 * oMdrho * vy2; -// m2 = mfacb * c1o2 + mfabb * (vvy + c1o2) + (mfaab + c2o3 * oMdrho) * (vy2 + vvy) * c1o2; -// mfaab = m0; -// mfabb = m1; -// mfacb = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfacc * c1o2 + mfabc * (vvy - c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfacc - 2. * mfabc * vvy + mfaac * (1. - vy2) - c1o6 * oMdrho * vy2; -// m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2; -// mfaac = m0; -// mfabc = m1; -// mfacc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2; -// m1 = -mfbca - 2. * mfbba * vvy + mfbaa * (1. - vy2); -// m2 = mfbca * c1o2 + mfbba * (vvy + c1o2) + mfbaa * (vy2 + vvy) * c1o2; -// mfbaa = m0; -// mfbba = m1; -// mfbca = m2; -// /////////b////////////////////////////////////////////////////////////////////////// -// m0 = mfbcb * c1o2 + mfbbb * (vvy - c1o2) + mfbab * (vy2 - vvy) * c1o2; -// m1 = -mfbcb - 2. * mfbbb * vvy + mfbab * (1. - vy2); -// m2 = mfbcb * c1o2 + mfbbb * (vvy + c1o2) + mfbab * (vy2 + vvy) * c1o2; -// mfbab = m0; -// mfbbb = m1; -// mfbcb = m2; -// /////////b////////////////////////////////////////////////////////////////////////// -// m0 = mfbcc * c1o2 + mfbbc * (vvy - c1o2) + mfbac * (vy2 - vvy) * c1o2; -// m1 = -mfbcc - 2. * mfbbc * vvy + mfbac * (1. - vy2); -// m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2; -// mfbac = m0; -// mfbbc = m1; -// mfbcc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfcca - 2. * mfcba * vvy + mfcaa * (1. - vy2) - c1o18 * oMdrho * vy2; -// m2 = mfcca * c1o2 + mfcba * (vvy + c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 + vvy) * c1o2; -// mfcaa = m0; -// mfcba = m1; -// mfcca = m2; -// /////////c////////////////////////////////////////////////////////////////////////// -// m0 = mfccb * c1o2 + mfcbb * (vvy - c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfccb - 2. * mfcbb * vvy + mfcab * (1. - vy2) - c2o9 * oMdrho * vy2; -// m2 = mfccb * c1o2 + mfcbb * (vvy + c1o2) + (mfcab + c2o9 * oMdrho) * (vy2 + vvy) * c1o2; -// mfcab = m0; -// mfcbb = m1; -// mfccb = m2; -// /////////c////////////////////////////////////////////////////////////////////////// -// m0 = mfccc * c1o2 + mfcbc * (vvy - c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 - vvy) * c1o2; -// m1 = -mfccc - 2. * mfcbc * vvy + mfcac * (1. - vy2) - c1o18 * oMdrho * vy2; -// m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2; -// mfcac = m0; -// mfcbc = m1; -// mfccc = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// //mit 1/36, 1/9, 1/36, 1/9, 4/9, 1/9, 1/36, 1/9, 1/36 Konditionieren -// //////////////////////////////////////////////////////////////////////////////////// -// // X - Dir -// m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcaa - 2. * mfbaa * vvx + mfaaa * (1. - vx2) - c1o36 * oMdrho * vx2; -// m2 = mfcaa * c1o2 + mfbaa * (vvx + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; -// mfaaa = m0; -// mfbaa = m1; -// mfcaa = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcba * c1o2 + mfbba * (vvx - c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcba - 2. * mfbba * vvx + mfaba * (1. - vx2) - c1o9 * oMdrho * vx2; -// m2 = mfcba * c1o2 + mfbba * (vvx + c1o2) + (mfaba + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; -// mfaba = m0; -// mfbba = m1; -// mfcba = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcca * c1o2 + mfbca * (vvx - c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcca - 2. * mfbca * vvx + mfaca * (1. - vx2) - c1o36 * oMdrho * vx2; -// m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; -// mfaca = m0; -// mfbca = m1; -// mfcca = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcab - 2. * mfbab * vvx + mfaab * (1. - vx2) - c1o9 * oMdrho * vx2; -// m2 = mfcab * c1o2 + mfbab * (vvx + c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; -// mfaab = m0; -// mfbab = m1; -// mfcab = m2; -// ///////////b//////////////////////////////////////////////////////////////////////// -// m0 = mfcbb * c1o2 + mfbbb * (vvx - c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcbb - 2. * mfbbb * vvx + mfabb * (1. - vx2) - c4o9 * oMdrho * vx2; -// m2 = mfcbb * c1o2 + mfbbb * (vvx + c1o2) + (mfabb + c4o9 * oMdrho) * (vx2 + vvx) * c1o2; -// mfabb = m0; -// mfbbb = m1; -// mfcbb = m2; -// ///////////b//////////////////////////////////////////////////////////////////////// -// m0 = mfccb * c1o2 + mfbcb * (vvx - c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfccb - 2. * mfbcb * vvx + mfacb * (1. - vx2) - c1o9 * oMdrho * vx2; -// m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; -// mfacb = m0; -// mfbcb = m1; -// mfccb = m2; -// //////////////////////////////////////////////////////////////////////////////////// -// //////////////////////////////////////////////////////////////////////////////////// -// m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcac - 2. * mfbac * vvx + mfaac * (1. - vx2) - c1o36 * oMdrho * vx2; -// m2 = mfcac * c1o2 + mfbac * (vvx + c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; -// mfaac = m0; -// mfbac = m1; -// mfcac = m2; -// ///////////c//////////////////////////////////////////////////////////////////////// -// m0 = mfcbc * c1o2 + mfbbc * (vvx - c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfcbc - 2. * mfbbc * vvx + mfabc * (1. - vx2) - c1o9 * oMdrho * vx2; -// m2 = mfcbc * c1o2 + mfbbc * (vvx + c1o2) + (mfabc + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; -// mfabc = m0; -// mfbbc = m1; -// mfcbc = m2; -// ///////////c//////////////////////////////////////////////////////////////////////// -// m0 = mfccc * c1o2 + mfbcc * (vvx - c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; -// m1 = -mfccc - 2. * mfbcc * vvx + mfacc * (1. - vx2) - c1o36 * oMdrho * vx2; -// m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; -// mfacc = m0; -// mfbcc = m1; -// mfccc = m2; -// /////SimpleForce -// -// //mfabb += c2o9 * deltaP; -// //mfbab += c2o9 * deltaP; -// //mfbba += c2o9 * deltaP; -// //mfaab += c1o18 * deltaP; -// //mfcab += c1o18 * deltaP; -// //mfaba += c1o18 * deltaP; -// //mfcba += c1o18 * deltaP; -// //mfbaa += c1o18 * deltaP; -// //mfbca += c1o18 * deltaP; -// //mfaaa += c1o72 * deltaP; -// //mfcaa += c1o72 * deltaP; -// //mfaca += c1o72 * deltaP; -// //mfcca += c1o72 * deltaP; -// //mfcbb += c2o9 * deltaP; -// //mfbcb += c2o9 * deltaP; -// //mfbbc += c2o9 * deltaP; -// //mfccb += c1o18 * deltaP; -// //mfacb += c1o18 * deltaP; -// //mfcbc += c1o18 * deltaP; -// //mfabc += c1o18 * deltaP; -// //mfbcc += c1o18 * deltaP; -// //mfbac += c1o18 * deltaP; -// //mfccc += c1o72 * deltaP; -// //mfacc += c1o72 * deltaP; -// //mfcac += c1o72 * deltaP; -// //mfaac += c1o72 * deltaP; -// -// //mfabb += c1o2*(-forcingX1 ) * c2o9; -// //mfbab += c1o2*( - forcingX2 ) * c2o9; -// //mfbba += c1o2*( - forcingX3) * c2o9; -// //mfaab += c1o2*(-forcingX1 - forcingX2 ) * c1o18; -// //mfcab += c1o2*( forcingX1 - forcingX2 ) * c1o18; -// //mfaba += c1o2*(-forcingX1 - forcingX3) * c1o18; -// //mfcba += c1o2*( forcingX1 - forcingX3) * c1o18; -// //mfbaa += c1o2*( - forcingX2 - forcingX3) * c1o18; -// //mfbca += c1o2*( forcingX2 - forcingX3) * c1o18; -// //mfaaa += c1o2*(-forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfcaa += c1o2*( forcingX1 - forcingX2 - forcingX3) * c1o72; -// //mfaca += c1o2*(-forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcca += c1o2*( forcingX1 + forcingX2 - forcingX3) * c1o72; -// //mfcbb += c1o2*( forcingX1 ) * c2o9; -// //mfbcb += c1o2*( forcingX2 ) * c2o9; -// //mfbbc += c1o2*( forcingX3) * c2o9; -// //mfccb += c1o2*( forcingX1 + forcingX2 ) * c1o18; -// //mfacb += c1o2*(-forcingX1 + forcingX2 ) * c1o18; -// //mfcbc += c1o2*( forcingX1 + forcingX3) * c1o18; -// //mfabc += c1o2*(-forcingX1 + forcingX3) * c1o18; -// //mfbcc += c1o2*( forcingX2 + forcingX3) * c1o18; -// //mfbac += c1o2*( - forcingX2 + forcingX3) * c1o18; -// //mfccc += c1o2*( forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfacc += c1o2*(-forcingX1 + forcingX2 + forcingX3) * c1o72; -// //mfcac += c1o2*( forcingX1 - forcingX2 + forcingX3) * c1o72; -// //mfaac += c1o2*(-forcingX1 - forcingX2 + forcingX3) * c1o72; -// //pStarStart -= (vx2 + vy2 + vz2) * c1o3; -// -// ///Take the diffusion part with out -// -// //mfStartcbb -= D3Q27System::getIncompFeqForDirection(D3Q27System::E , zeroReal, vvx, vvy, vvz); -// //mfStartbcb -= D3Q27System::getIncompFeqForDirection(D3Q27System::N , zeroReal, vvx, vvy, vvz); -// //mfStartbbc -= D3Q27System::getIncompFeqForDirection(D3Q27System::T , zeroReal, vvx, vvy, vvz); -// //mfStartccb -= D3Q27System::getIncompFeqForDirection(D3Q27System::NE , zeroReal, vvx, vvy, vvz); -// //mfStartacb -= D3Q27System::getIncompFeqForDirection(D3Q27System::NW , zeroReal, vvx, vvy, vvz); -// //mfStartcbc -= D3Q27System::getIncompFeqForDirection(D3Q27System::TE , zeroReal, vvx, vvy, vvz); -// //mfStartabc -= D3Q27System::getIncompFeqForDirection(D3Q27System::TW , zeroReal, vvx, vvy, vvz); -// //mfStartbcc -= D3Q27System::getIncompFeqForDirection(D3Q27System::TN , zeroReal, vvx, vvy, vvz); -// //mfStartbac -= D3Q27System::getIncompFeqForDirection(D3Q27System::TS , zeroReal, vvx, vvy, vvz); -// //mfStartccc -= D3Q27System::getIncompFeqForDirection(D3Q27System::TNE, zeroReal, vvx, vvy, vvz); -// //mfStartacc -= D3Q27System::getIncompFeqForDirection(D3Q27System::TNW, zeroReal, vvx, vvy, vvz); -// //mfStartcac -= D3Q27System::getIncompFeqForDirection(D3Q27System::TSE, zeroReal, vvx, vvy, vvz); -// //mfStartaac -= D3Q27System::getIncompFeqForDirection(D3Q27System::TSW, zeroReal, vvx, vvy, vvz); -// //mfStartabb -= D3Q27System::getIncompFeqForDirection(D3Q27System::W , zeroReal, vvx, vvy, vvz); -// //mfStartbab -= D3Q27System::getIncompFeqForDirection(D3Q27System::S , zeroReal, vvx, vvy, vvz); -// //mfStartbba -= D3Q27System::getIncompFeqForDirection(D3Q27System::B , zeroReal, vvx, vvy, vvz); -// //mfStartaab -= D3Q27System::getIncompFeqForDirection(D3Q27System::SW , zeroReal, vvx, vvy, vvz); -// //mfStartcab -= D3Q27System::getIncompFeqForDirection(D3Q27System::SE , zeroReal, vvx, vvy, vvz); -// //mfStartaba -= D3Q27System::getIncompFeqForDirection(D3Q27System::BW , zeroReal, vvx, vvy, vvz); -// //mfStartcba -= D3Q27System::getIncompFeqForDirection(D3Q27System::BE , zeroReal, vvx, vvy, vvz); -// //mfStartbaa -= D3Q27System::getIncompFeqForDirection(D3Q27System::BS , zeroReal, vvx, vvy, vvz); -// //mfStartbca -= D3Q27System::getIncompFeqForDirection(D3Q27System::BN , zeroReal, vvx, vvy, vvz); -// //mfStartaaa -= D3Q27System::getIncompFeqForDirection(D3Q27System::BSW, zeroReal, vvx, vvy, vvz); -// //mfStartcaa -= D3Q27System::getIncompFeqForDirection(D3Q27System::BSE, zeroReal, vvx, vvy, vvz); -// //mfStartaca -= D3Q27System::getIncompFeqForDirection(D3Q27System::BNW, zeroReal, vvx, vvy, vvz); -// //mfStartcca -= D3Q27System::getIncompFeqForDirection(D3Q27System::BNE, zeroReal, vvx, vvy, vvz); -// //mfStartbbb -= D3Q27System::getIncompFeqForDirection(D3Q27System::REST, zeroReal, vvx, vvy, vvz); -// // -// //pStar += pStarStart*(omegaDRho-c1); -// -// //mfStartcbb = c2o9 * pStar; -// // mfStartbcb= c2o9 * pStar; -// // mfStartbbc= c2o9 * pStar; -// // mfStartccb= c1o18 * pStar; -// // mfStartacb= c1o18 * pStar; -// // mfStartcbc= c1o18 * pStar; -// // mfStartabc= c1o18 * pStar; -// // mfStartbcc= c1o18 * pStar; -// // mfStartbac= c1o18 * pStar; -// // mfStartccc= c1o72 * pStar; -// // mfStartacc= c1o72 * pStar; -// // mfStartcac= c1o72 * pStar; -// // mfStartaac= c1o72 * pStar; -// // mfStartabb= c2o9 * pStar; -// // mfStartbab= c2o9 * pStar; -// // mfStartbba= c2o9 * pStar; -// // mfStartaab= c1o18 * pStar; -// // mfStartcab= c1o18 * pStar; -// // mfStartaba= c1o18 * pStar; -// // mfStartcba= c1o18 * pStar; -// // mfStartbaa= c1o18 * pStar; -// // mfStartbca= c1o18 * pStar; -// // mfStartaaa= c1o72 * pStar; -// // mfStartcaa= c1o72 * pStar; -// // mfStartaca= c1o72 * pStar; -// // mfStartcca= c1o72 * pStar; -// // mfStartbbb= c4 * c2o9 * pStar; -// -// //mfaaa -= c1o2 * (mfStartaaa + mfStartccc)+ c1o72 * (mmfaac + c3 * mmfabb + mmfaca + c3 * mmfbab + c3 * mmfbba + mmfcaa); -// //mfaab -= c1o2 * (mfStartaab + mfStartccb)+c1o36 * (-mmfaac + c2 * (mmfaca + c3 * mmfbba + mmfcaa)); -// //mfaac -= c1o2 * (mfStartaac + mfStartcca)+c1o72 * (mmfaac - c3 * mmfabb + mmfaca - c3 * mmfbab + c3 * mmfbba + mmfcaa); -// //mfaba -= c1o2 * (mfStartaba + mfStartcbc)+c1o36 * (c2 * mmfaac - mmfaca + c6 * mmfbab + c2 * mmfcaa); -// //mfabb -= c1o2 * (mfStartabb + mfStartcbb)+c1o9 * (-mmfaac - mmfaca + c2 * mmfcaa); -// //mfabc -= c1o2 * (mfStartabc + mfStartcba)+c1o36 * (c2 * mmfaac - mmfaca - 6 * mmfbab + c2 * mmfcaa); -// //mfaca -= c1o2 * (mfStartaca + mfStartcac)+c1o72 * (mmfaac - c3 * mmfabb + mmfaca + c3 * mmfbab - c3 * mmfbba + mmfcaa); -// //mfacb -= c1o2 * (mfStartacb + mfStartcab)+c1o36 * (-mmfaac + c2 * (mmfaca - c3 * mmfbba + mmfcaa)); -// //mfacc -= c1o2 * (mfStartacc + mfStartcaa)+c1o72 * (mmfaac + c3 * mmfabb + mmfaca - c3 * mmfbab - c3 * mmfbba + mmfcaa); -// //mfbaa -= c1o2 * (mfStartbaa + mfStartbcc)+c1o36 * (c2 * mmfaac + c6 * mmfabb + c2 * mmfaca - mmfcaa); -// //mfbab -= c1o2 * (mfStartbab + mfStartbcb)+c1o9 * (-mmfaac + c2 * mmfaca - mmfcaa); -// //mfbac -= c1o2 * (mfStartbac + mfStartbca)+c1o36 * (c2 * mmfaac - 6 * mmfabb + c2 * mmfaca - mmfcaa); -// //mfbba -= c1o2 * (mfStartbba + mfStartbbc)+c1o9 * (c2 * mmfaac - mmfaca - mmfcaa); -// //mfbbb -= (mfStartbbb)-(c4o9 * (mmfaac + mmfaca + mmfcaa)); -// //mfbbc -= c1o2 * (mfStartbbc + mfStartbba)+c1o9 * (c2 * mmfaac - mmfaca - mmfcaa); -// //mfbca -= c1o2 * (mfStartbca + mfStartbac)+c1o36 * (c2 * mmfaac - 6 * mmfabb + c2 * mmfaca - mmfcaa); -// //mfbcb -= c1o2 * (mfStartbcb + mfStartbab)+c1o9 * (-mmfaac + c2 * mmfaca - mmfcaa); -// //mfbcc -= c1o2 * (mfStartbcc + mfStartbaa)+c1o36 * (c2 * mmfaac + c6 * mmfabb + c2 * mmfaca - mmfcaa); -// //mfcaa -= c1o2 * (mfStartcaa + mfStartacc)+c1o72 * (mmfaac + c3 * mmfabb + mmfaca - c3 * mmfbab - c3 * mmfbba + mmfcaa); -// //mfcab -= c1o2 * (mfStartcab + mfStartacb)+c1o36 * (-mmfaac + c2 * (mmfaca - c3 * mmfbba + mmfcaa)); -// //mfcac -= c1o2 * (mfStartcac + mfStartaca)+c1o72 * (mmfaac - c3 * mmfabb + mmfaca + c3 * mmfbab - c3 * mmfbba + mmfcaa); -// //mfcba -= c1o2 * (mfStartcba + mfStartabc)+c1o36 * (c2 * mmfaac - mmfaca - 6 * mmfbab + c2 * mmfcaa); -// //mfcbb -= c1o2 * (mfStartcbb + mfStartabb)+c1o9 * (-mmfaac - mmfaca + c2 * mmfcaa); -// //mfcbc -= c1o2 * (mfStartcbc + mfStartaba)+c1o36 * (c2 * mmfaac - mmfaca + c6 * mmfbab + c2 * mmfcaa); -// //mfcca -= c1o2 * (mfStartcca + mfStartaac)+c1o72 * (mmfaac - c3 * mmfabb + mmfaca - c3 * mmfbab + c3 * mmfbba + mmfcaa); -// //mfccb -= c1o2 * (mfStartccb + mfStartaab)+c1o36 * (-mmfaac + c2 * (mmfaca + c3 * mmfbba + mmfcaa)); -// //mfccc -= c1o2 * (mfStartccc + mfStartaaa)+c1o72 * (mmfaac + c3 * mmfabb + mmfaca + c3 * mmfbab + c3 * mmfbba + mmfcaa); -// -// //mfhaaa =rho*( c1o2 * (mfStartaaa + mfStartccc) + c1o72 * (mmfaac + c3 * mmfabb + mmfaca + c3 * mmfbab + c3 * mmfbba + mmfcaa)); -// //mfhaab =rho*( c1o2 * (mfStartaab + mfStartccb) + c1o36 * (-mmfaac + c2 * (mmfaca + c3 * mmfbba + mmfcaa))); -// //mfhaac =rho*( c1o2 * (mfStartaac + mfStartcca) + c1o72 * (mmfaac - c3 * mmfabb + mmfaca - c3 * mmfbab + c3 * mmfbba + mmfcaa)); -// //mfhaba =rho*( c1o2 * (mfStartaba + mfStartcbc) + c1o36 * (c2 * mmfaac - mmfaca + c6 * mmfbab + c2 * mmfcaa)); -// //mfhabb =rho*( c1o2 * (mfStartabb + mfStartcbb) + c1o9 * (-mmfaac - mmfaca + c2 * mmfcaa)); -// //mfhabc =rho*( c1o2 * (mfStartabc + mfStartcba) + c1o36 * (c2 * mmfaac - mmfaca - 6 * mmfbab + c2 * mmfcaa)); -// //mfhaca =rho*( c1o2 * (mfStartaca + mfStartcac) + c1o72 * (mmfaac - c3 * mmfabb + mmfaca + c3 * mmfbab - c3 * mmfbba + mmfcaa)); -// //mfhacb =rho*( c1o2 * (mfStartacb + mfStartcab) + c1o36 * (-mmfaac + c2 * (mmfaca - c3 * mmfbba + mmfcaa))); -// //mfhacc =rho*( c1o2 * (mfStartacc + mfStartcaa) + c1o72 * (mmfaac + c3 * mmfabb + mmfaca - c3 * mmfbab - c3 * mmfbba + mmfcaa)); -// //mfhbaa =rho*( c1o2 * (mfStartbaa + mfStartbcc) + c1o36 * (c2 * mmfaac + c6 * mmfabb + c2 * mmfaca - mmfcaa)); -// //mfhbab =rho*( c1o2 * (mfStartbab + mfStartbcb) + c1o9 * (-mmfaac + c2 * mmfaca - mmfcaa)); -// //mfhbac =rho*( c1o2 * (mfStartbac + mfStartbca) + c1o36 * (c2 * mmfaac - 6 * mmfabb + c2 * mmfaca - mmfcaa)); -// //mfhbba =rho*( c1o2 * (mfStartbba + mfStartbbc) + c1o9 * (c2 * mmfaac - mmfaca - mmfcaa)); -// //mfhbbb =rho*( (mfStartbbb)-(c4o9 * (mmfaac + mmfaca + mmfcaa))); -// //mfhbbc =rho*( c1o2 * (mfStartbbc + mfStartbba) + c1o9 * (c2 * mmfaac - mmfaca - mmfcaa)); -// //mfhbca =rho*( c1o2 * (mfStartbca + mfStartbac) + c1o36 * (c2 * mmfaac - 6 * mmfabb + c2 * mmfaca - mmfcaa)); -// //mfhbcb =rho*( c1o2 * (mfStartbcb + mfStartbab) + c1o9 * (-mmfaac + c2 * mmfaca - mmfcaa)); -// //mfhbcc =rho*( c1o2 * (mfStartbcc + mfStartbaa) + c1o36 * (c2 * mmfaac + c6 * mmfabb + c2 * mmfaca - mmfcaa)); -// //mfhcaa =rho*( c1o2 * (mfStartcaa + mfStartacc) + c1o72 * (mmfaac + c3 * mmfabb + mmfaca - c3 * mmfbab - c3 * mmfbba + mmfcaa)); -// //mfhcab =rho*( c1o2 * (mfStartcab + mfStartacb) + c1o36 * (-mmfaac + c2 * (mmfaca - c3 * mmfbba + mmfcaa))); -// //mfhcac =rho*( c1o2 * (mfStartcac + mfStartaca) + c1o72 * (mmfaac - c3 * mmfabb + mmfaca + c3 * mmfbab - c3 * mmfbba + mmfcaa)); -// //mfhcba =rho*( c1o2 * (mfStartcba + mfStartabc) + c1o36 * (c2 * mmfaac - mmfaca - 6 * mmfbab + c2 * mmfcaa)); -// //mfhcbb =rho*( c1o2 * (mfStartcbb + mfStartabb) + c1o9 * (-mmfaac - mmfaca + c2 * mmfcaa)); -// //mfhcbc =rho*( c1o2 * (mfStartcbc + mfStartaba) + c1o36 * (c2 * mmfaac - mmfaca + c6 * mmfbab + c2 * mmfcaa)); -// //mfhcca =rho*( c1o2 * (mfStartcca + mfStartaac) + c1o72 * (mmfaac - c3 * mmfabb + mmfaca - c3 * mmfbab + c3 * mmfbba + mmfcaa)); -// //mfhccb =rho*( c1o2 * (mfStartccb + mfStartaab) + c1o36 * (-mmfaac + c2 * (mmfaca + c3 * mmfbba + mmfcaa))); -// //mfhccc =rho*( c1o2 * (mfStartccc + mfStartaaa) + c1o72 * (mmfaac + c3 * mmfabb + mmfaca + c3 * mmfbab + c3 * mmfbba + mmfcaa)); -// -// -// -// -// pStar += pStarStart*(omegaDRho-c1); -// -// mfcbb -= c2o9*pStar; -// mfbcb -= c2o9*pStar; -// mfbbc -= c2o9*pStar; -// mfccb -= c1o18*pStar; -// mfacb -= c1o18*pStar; -// mfcbc -= c1o18*pStar; -// mfabc -= c1o18*pStar; -// mfbcc -= c1o18*pStar; -// mfbac -= c1o18*pStar; -// mfccc -= c1o72*pStar; -// mfacc -= c1o72*pStar; -// mfcac -= c1o72*pStar; -// mfaac -= c1o72*pStar; -// mfabb -= c2o9*pStar; -// mfbab -= c2o9*pStar; -// mfbba -= c2o9*pStar; -// mfaab -= c1o18*pStar; -// mfcab -= c1o18*pStar; -// mfaba -= c1o18*pStar; -// mfcba -= c1o18*pStar; -// mfbaa -= c1o18*pStar; -// mfbca -= c1o18*pStar; -// mfaaa -= c1o72*pStar; -// mfcaa -= c1o72*pStar; -// mfaca -= c1o72*pStar; -// mfcca -= c1o72*pStar; -// mfbbb -= c4*c2o9*pStar; -// -// mfhbcb = rho*c2o9 * pStar; -// mfhbbc = rho*c2o9 * pStar; -// mfhcbb = rho*c2o9 * pStar; -// mfhccb = rho*c1o18 * pStar; -// mfhacb = rho*c1o18 * pStar; -// mfhcbc = rho*c1o18 * pStar; -// mfhabc = rho*c1o18 * pStar; -// mfhbcc = rho*c1o18 * pStar; -// mfhbac = rho*c1o18 * pStar; -// mfhccc = rho*c1o72 * pStar; -// mfhacc = rho*c1o72 * pStar; -// mfhcac = rho*c1o72 * pStar; -// mfhaac = rho*c1o72 * pStar; -// mfhabb = rho*c2o9 * pStar; -// mfhbab = rho*c2o9 * pStar; -// mfhbba = rho*c2o9 * pStar; -// mfhaab = rho*c1o18 * pStar; -// mfhcab = rho*c1o18 * pStar; -// mfhaba = rho*c1o18 * pStar; -// mfhcba = rho*c1o18 * pStar; -// mfhbaa = rho*c1o18 * pStar; -// mfhbca = rho*c1o18 * pStar; -// mfhaaa = rho*c1o72 * pStar; -// mfhcaa = rho*c1o72 * pStar; -// mfhaca = rho*c1o72 * pStar; -// mfhcca = rho*c1o72 * pStar; -// mfhbbb = rho*c4 * c2o9 * pStar; -// -// //mfStartbcb = c2o9 * pStarStart; -// //mfStartbbc = c2o9 * pStarStart; -// //mfStartcbb = c2o9 * pStarStart; -// //mfStartccb = c1o18 * pStarStart; -// //mfStartacb = c1o18 * pStarStart; -// //mfStartcbc = c1o18 * pStarStart; -// //mfStartabc = c1o18 * pStarStart; -// //mfStartbcc = c1o18 * pStarStart; -// //mfStartbac = c1o18 * pStarStart; -// //mfStartccc = c1o72 * pStarStart; -// //mfStartacc = c1o72 * pStarStart; -// //mfStartcac = c1o72 * pStarStart; -// //mfStartaac = c1o72 * pStarStart; -// //mfStartabb = c2o9 * pStarStart; -// //mfStartbab = c2o9 * pStarStart; -// //mfStartbba = c2o9 * pStarStart; -// //mfStartaab = c1o18 * pStarStart; -// //mfStartcab = c1o18 * pStarStart; -// //mfStartaba = c1o18 * pStarStart; -// //mfStartcba = c1o18 * pStarStart; -// //mfStartbaa = c1o18 * pStarStart; -// //mfStartbca = c1o18 * pStarStart; -// //mfStartaaa = c1o72 * pStarStart; -// //mfStartcaa = c1o72 * pStarStart; -// //mfStartaca = c1o72 * pStarStart; -// //mfStartcca = c1o72 * pStarStart; -// //mfStartbbb = c4 * c2o9 * pStarStart; -// -// //LBMReal scaleSplit = 0.5; -// //mfStartbcb = mfStartbcb*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartbbc = mfStartbbc*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartcbb = mfStartcbb*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartccb = mfStartccb*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartacb = mfStartacb*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartcbc = mfStartcbc*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartabc = mfStartabc*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartbcc = mfStartbcc*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartbac = mfStartbac*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartccc = mfStartccc*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartacc = mfStartacc*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartcac = mfStartcac*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartaac = mfStartaac*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartabb = mfStartabb*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartbab = mfStartbab*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartbba = mfStartbba*scaleSplit+(c1-scaleSplit)* c2o9 * pStarStart; -// //mfStartaab = mfStartaab*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartcab = mfStartcab*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartaba = mfStartaba*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartcba = mfStartcba*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartbaa = mfStartbaa*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartbca = mfStartbca*scaleSplit+(c1-scaleSplit)* c1o18 * pStarStart; -// //mfStartaaa = mfStartaaa*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartcaa = mfStartcaa*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartaca = mfStartaca*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartcca = mfStartcca*scaleSplit+(c1-scaleSplit)* c1o72 * pStarStart; -// //mfStartbbb = mfStartbbb*scaleSplit+(c1-scaleSplit)* c4 * c2o9 * pStarStart; -// -// -// //mfaaa -= c1o2 * (mfStartaaa + mfStartccc); -// // mfaab -= c1o2 * (mfStartaab + mfStartccb); -// // mfaac -= c1o2 * (mfStartaac + mfStartcca); -// // mfaba -= c1o2 * (mfStartaba + mfStartcbc); -// // mfabb -= c1o2 * (mfStartabb + mfStartcbb); -// // mfabc -= c1o2 * (mfStartabc + mfStartcba); -// // mfaca -= c1o2 * (mfStartaca + mfStartcac); -// // mfacb -= c1o2 * (mfStartacb + mfStartcab); -// // mfacc -= c1o2 * (mfStartacc + mfStartcaa); -// // mfbaa -= c1o2 * (mfStartbaa + mfStartbcc); -// // mfbab -= c1o2 * (mfStartbab + mfStartbcb); -// // mfbac -= c1o2 * (mfStartbac + mfStartbca); -// // mfbba -= c1o2 * (mfStartbba + mfStartbbc); -// //mfbbb -= (mfStartbbb); -// // mfbbc -= c1o2 * (mfStartbbc + mfStartbba); -// // mfbca -= c1o2 * (mfStartbca + mfStartbac); -// // mfbcb -= c1o2 * (mfStartbcb + mfStartbab); -// // mfbcc -= c1o2 * (mfStartbcc + mfStartbaa); -// // mfcaa -= c1o2 * (mfStartcaa + mfStartacc); -// // mfcab -= c1o2 * (mfStartcab + mfStartacb); -// // mfcac -= c1o2 * (mfStartcac + mfStartaca); -// // mfcba -= c1o2 * (mfStartcba + mfStartabc); -// // mfcbb -= c1o2 * (mfStartcbb + mfStartabb); -// // mfcbc -= c1o2 * (mfStartcbc + mfStartaba); -// // mfcca -= c1o2 * (mfStartcca + mfStartaac); -// // mfccb -= c1o2 * (mfStartccb + mfStartaab); -// // mfccc -= c1o2 * (mfStartccc + mfStartaaa); -// // -// //mfhaaa += rho*c1o2 * (mfStartaaa + mfStartccc); -// //mfhaab += rho*c1o2 * (mfStartaab + mfStartccb); -// //mfhaac += rho*c1o2 * (mfStartaac + mfStartcca); -// //mfhaba += rho*c1o2 * (mfStartaba + mfStartcbc); -// //mfhabb += rho*c1o2 * (mfStartabb + mfStartcbb); -// //mfhabc += rho*c1o2 * (mfStartabc + mfStartcba); -// //mfhaca += rho*c1o2 * (mfStartaca + mfStartcac); -// //mfhacb += rho*c1o2 * (mfStartacb + mfStartcab); -// //mfhacc += rho*c1o2 * (mfStartacc + mfStartcaa); -// //mfhbaa += rho*c1o2 * (mfStartbaa + mfStartbcc); -// //mfhbab += rho*c1o2 * (mfStartbab + mfStartbcb); -// //mfhbac += rho*c1o2 * (mfStartbac + mfStartbca); -// //mfhbba += rho*c1o2 * (mfStartbba + mfStartbbc); -// //mfhbbb += rho*(mfStartbbb); -// //mfhbbc += rho*c1o2 * (mfStartbbc + mfStartbba); -// //mfhbca += rho*c1o2 * (mfStartbca + mfStartbac); -// //mfhbcb += rho*c1o2 * (mfStartbcb + mfStartbab); -// //mfhbcc += rho*c1o2 * (mfStartbcc + mfStartbaa); -// //mfhcaa += rho*c1o2 * (mfStartcaa + mfStartacc); -// //mfhcab += rho*c1o2 * (mfStartcab + mfStartacb); -// //mfhcac += rho*c1o2 * (mfStartcac + mfStartaca); -// //mfhcba += rho*c1o2 * (mfStartcba + mfStartabc); -// //mfhcbb += rho*c1o2 * (mfStartcbb + mfStartabb); -// //mfhcbc += rho*c1o2 * (mfStartcbc + mfStartaba); -// //mfhcca += rho*c1o2 * (mfStartcca + mfStartaac); -// //mfhccb += rho*c1o2 * (mfStartccb + mfStartaab); -// //mfhccc += rho*c1o2 * (mfStartccc + mfStartaaa); -// //mfhbcb += c1o6 * c2o9 * deltaPP; -// //mfhbbc += c1o6 * c2o9 * deltaPP; -// //mfhcbb += c1o6 * c2o9 * deltaPP; -// //mfhccb += c1o6 * c1o18 * deltaPP; -// //mfhacb += c1o6 * c1o18 * deltaPP; -// //mfhcbc += c1o6 * c1o18 * deltaPP; -// //mfhabc += c1o6 * c1o18 * deltaPP; -// //mfhbcc += c1o6 * c1o18 * deltaPP; -// //mfhbac += c1o6 * c1o18 * deltaPP; -// //mfhccc += c1o6 * c1o72 * deltaPP; -// //mfhacc += c1o6 * c1o72 * deltaPP; -// //mfhcac += c1o6 * c1o72 * deltaPP; -// //mfhaac += c1o6 * c1o72 * deltaPP; -// //mfhabb += c1o6 * c2o9 * deltaPP; -// //mfhbab += c1o6 * c2o9 * deltaPP; -// //mfhbba += c1o6 * c2o9 * deltaPP; -// //mfhaab += c1o6 * c1o18 * deltaPP; -// //mfhcab += c1o6 * c1o18 * deltaPP; -// //mfhaba += c1o6 * c1o18 * deltaPP; -// //mfhcba += c1o6 * c1o18 * deltaPP; -// //mfhbaa += c1o6 * c1o18 * deltaPP; -// //mfhbca += c1o6 * c1o18 * deltaPP; -// //mfhaaa += c1o6 * c1o72 * deltaPP; -// //mfhcaa += c1o6 * c1o72 * deltaPP; -// //mfhaca += c1o6 * c1o72 * deltaPP; -// //mfhcca += c1o6 * c1o72 * deltaPP; -// //mfhbbb += c1o6 * c4 * c2o9 * deltaPP; -// -// -// //mfhbcb = c1o3/rho * c2o9 ; -// //mfhbbc = c1o3/rho * c2o9 ; -// //mfhcbb = c1o3/rho * c2o9 ; -// //mfhccb = c1o3/rho * c1o18 ; -// //mfhacb = c1o3/rho * c1o18 ; -// //mfhcbc = c1o3/rho * c1o18 ; -// //mfhabc = c1o3/rho * c1o18 ; -// //mfhbcc = c1o3/rho * c1o18 ; -// //mfhbac = c1o3/rho * c1o18 ; -// //mfhccc = c1o3/rho * c1o72 ; -// //mfhacc = c1o3/rho * c1o72 ; -// //mfhcac = c1o3/rho * c1o72 ; -// //mfhaac = c1o3/rho * c1o72 ; -// //mfhabb = c1o3/rho * c2o9 ; -// //mfhbab = c1o3/rho * c2o9 ; -// //mfhbba = c1o3/rho * c2o9 ; -// //mfhaab = c1o3/rho * c1o18 ; -// //mfhcab = c1o3/rho * c1o18 ; -// //mfhaba = c1o3/rho * c1o18 ; -// //mfhcba = c1o3/rho * c1o18 ; -// //mfhbaa = c1o3/rho * c1o18 ; -// //mfhbca = c1o3/rho * c1o18 ; -// //mfhaaa = c1o3/rho * c1o72 ; -// //mfhcaa = c1o3/rho * c1o72 ; -// //mfhaca = c1o3/rho * c1o72 ; -// //mfhcca = c1o3/rho * c1o72 ; -// //mfhbbb = c1/rho;//c1o3/rho * c4 * c2o9 ; -// -// -// -// //mfabb += c1o2 * c2o9 * pStar * (phi[REST] - phi[W]) * rhoToPhi / rho; -// //mfbab += c1o2 * c2o9 * pStar * (phi[REST] - phi[S]) * rhoToPhi / rho; -// //mfbba += c1o2 * c2o9 * pStar * (phi[REST] - phi[B]) * rhoToPhi / rho; -// //mfaab += c1o2 * c1o18 * pStar * (phi[REST] - phi[SW]) * rhoToPhi / rho; -// //mfcab += c1o2 * c1o18 * pStar * (phi[REST] - phi[SE]) * rhoToPhi / rho; -// //mfaba += c1o2 * c1o18 * pStar * (phi[REST] - phi[BW]) * rhoToPhi / rho; -// //mfcba += c1o2 * c1o18 * pStar * (phi[REST] - phi[BE]) * rhoToPhi / rho; -// //mfbaa += c1o2 * c1o18 * pStar * (phi[REST] - phi[BS]) * rhoToPhi / rho; -// //mfbca += c1o2 * c1o18 * pStar * (phi[REST] - phi[BN]) * rhoToPhi / rho; -// //mfaaa += c1o2 * c1o72 * pStar * (phi[REST] - phi[BSW]) * rhoToPhi / rho; -// //mfcaa += c1o2 * c1o72 * pStar * (phi[REST] - phi[BSE]) * rhoToPhi / rho; -// //mfaca += c1o2 * c1o72 * pStar * (phi[REST] - phi[BNW]) * rhoToPhi / rho; -// //mfcca += c1o2 * c1o72 * pStar * (phi[REST] - phi[BNE]) * rhoToPhi / rho; -// //mfcbb += c1o2 * c2o9 * pStar * (phi[REST] - phi[E]) * rhoToPhi / rho; -// //mfbcb += c1o2 * c2o9 * pStar * (phi[REST] - phi[N]) * rhoToPhi / rho; -// //mfbbc += c1o2 * c2o9 * pStar * (phi[REST] - phi[T]) * rhoToPhi / rho; -// //mfccb += c1o2 * c1o18 * pStar * (phi[REST] - phi[NE]) * rhoToPhi / rho; -// //mfacb += c1o2 * c1o18 * pStar * (phi[REST] - phi[NW]) * rhoToPhi / rho; -// //mfcbc += c1o2 * c1o18 * pStar * (phi[REST] - phi[TE]) * rhoToPhi / rho; -// //mfabc += c1o2 * c1o18 * pStar * (phi[REST] - phi[TW]) * rhoToPhi / rho; -// //mfbcc += c1o2 * c1o18 * pStar * (phi[REST] - phi[TN]) * rhoToPhi / rho; -// //mfbac += c1o2 * c1o18 * pStar * (phi[REST] - phi[TS]) * rhoToPhi / rho; -// //mfccc += c1o2 * c1o72 * pStar * (phi[REST] - phi[TNE]) * rhoToPhi / rho; -// //mfacc += c1o2 * c1o72 * pStar * (phi[REST] - phi[TNW]) * rhoToPhi / rho; -// //mfcac += c1o2 * c1o72 * pStar * (phi[REST] - phi[TSE]) * rhoToPhi / rho; -// //mfaac += c1o2 * c1o72 * pStar * (phi[REST] - phi[TSW]) * rhoToPhi / rho; -// -// /////////////// -// //mfabb += (pBefore-pStar) * c2o9 ; -// //mfbab += (pBefore-pStar) * c2o9 ; -// //mfbba += (pBefore-pStar) * c2o9 ; -// //mfaab += (pBefore-pStar) * c1o18 ; -// //mfcab += (pBefore-pStar) * c1o18 ; -// //mfaba += (pBefore-pStar) * c1o18 ; -// //mfcba += (pBefore-pStar) * c1o18 ; -// //mfbaa += (pBefore-pStar) * c1o18 ; -// //mfbca += (pBefore-pStar) * c1o18 ; -// //mfaaa += (pBefore-pStar) * c1o72 ; -// //mfcaa += (pBefore-pStar) * c1o72 ; -// //mfaca += (pBefore-pStar) * c1o72 ; -// //mfcca += (pBefore-pStar) * c1o72 ; -// //mfcbb += (pBefore-pStar) * c2o9 ; -// //mfbcb += (pBefore-pStar) * c2o9 ; -// //mfbbc += (pBefore-pStar) * c2o9 ; -// //mfccb += (pBefore-pStar) * c1o18 ; -// //mfacb += (pBefore-pStar) * c1o18 ; -// //mfcbc += (pBefore-pStar) * c1o18 ; -// //mfabc += (pBefore-pStar) * c1o18 ; -// //mfbcc += (pBefore-pStar) * c1o18 ; -// //mfbac += (pBefore-pStar) * c1o18 ; -// //mfccc += (pBefore-pStar) * c1o72 ; -// //mfacc += (pBefore-pStar) * c1o72 ; -// //mfcac += (pBefore-pStar) * c1o72 ; -// //mfaac += (pBefore-pStar) * c1o72 ; -// //mfbbb += (pBefore-pStar) * 8.0 / 9.0; -// -// //mfabb = (pBefore ) * c2o9; -// //mfbab = (pBefore ) * c2o9; -// //mfbba = (pBefore ) * c2o9; -// //mfaab = (pBefore ) * c1o16; -// //mfcab = (pBefore ) * c1o16; -// //mfaba = (pBefore ) * c1o16; -// //mfcba = (pBefore ) * c1o16; -// //mfbaa = (pBefore ) * c1o16; -// //mfbca = (pBefore ) * c1o16; -// //mfaaa = (pBefore ) * c1o72; -// //mfcaa = (pBefore ) * c1o72; -// //mfaca = (pBefore ) * c1o72; -// //mfcca = (pBefore ) * c1o72; -// //mfcbb = (pBefore ) * c2o9; -// //mfbcb = (pBefore ) * c2o9; -// //mfbbc = (pBefore ) * c2o9; -// //mfccb = (pBefore ) * c1o16; -// //mfacb = (pBefore ) * c1o16; -// //mfcbc = (pBefore ) * c1o16; -// //mfabc = (pBefore ) * c1o16; -// //mfbcc = (pBefore ) * c1o16; -// //mfbac = (pBefore ) * c1o16; -// //mfccc = (pBefore ) * c1o72; -// //mfacc = (pBefore ) * c1o72; -// //mfcac = (pBefore ) * c1o72; -// //mfaac = (pBefore ) * c1o72; -// //mfbbb = (pBefore ) * 8.0 / 9.0; -// /////////////////// -// -// ////////////////////////////////////////////////////////////////////////// -// //proof correctness -// ////////////////////////////////////////////////////////////////////////// -// //#ifdef PROOF_CORRECTNESS -// LBMReal rho_post = (mfaaa + mfaac + mfaca + mfcaa + mfacc + mfcac + mfccc + mfcca) -// + (mfaab + mfacb + mfcab + mfccb) + (mfaba + mfabc + mfcba + mfcbc) + (mfbaa + mfbac + mfbca + mfbcc) -// + (mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc) + mfbbb; -// // //LBMReal dif = fabs(drho - rho_post); -// // LBMReal dif = drho + (dX1_phi * vvx + dX2_phi * vvy + dX3_phi * vvz) * correctionScaling - rho_post; -// //#ifdef SINGLEPRECISION -// // if (dif > 10.0E-7 || dif < -10.0E-7) -// //#else -// // if (dif > 10.0E-15 || dif < -10.0E-15) -// //#endif -// // { -// // UB_THROW(UbException(UB_EXARGS, "drho=" + UbSystem::toString(drho) + ", rho_post=" + UbSystem::toString(rho_post) -// // + " dif=" + UbSystem::toString(dif) -// // + " drho is not correct for node " + UbSystem::toString(x1) + "," + UbSystem::toString(x2) + "," + UbSystem::toString(x3))); -// // //UBLOG(logERROR,"LBMKernelETD3Q27CCLB::collideAll(): drho is not correct for node "+UbSystem::toString(x1)+","+UbSystem::toString(x2)+","+UbSystem::toString(x3)); -// // //exit(EXIT_FAILURE); -// // } -// //#endif -// -// if (UbMath::isNaN(rho_post) || UbMath::isInfinity(rho_post)) -// UB_THROW(UbException( -// UB_EXARGS, "rho_post is not a number (nan or -1.#IND) or infinity number -1.#INF, node=" + UbSystem::toString(x1) + "," + -// UbSystem::toString(x2) + "," + UbSystem::toString(x3))); -// -// ////////////////////////////////////////////////////////////////////////// -// //write distribution -// ////////////////////////////////////////////////////////////////////////// -// (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) = mfabb ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) = mfbab ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3) = mfbba ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) = mfaab ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) = mfcab ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) = mfaba ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) = mfcba ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) = mfbaa ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) = mfbca ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) = mfaaa ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) = mfcaa ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) = mfaca ;//* rho * c1o3; -// (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) = mfcca ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) = mfcbb ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) = mfbcb ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) = mfbbc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) = mfccb ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) = mfacb ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) = mfcbc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) = mfabc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) = mfbcc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) = mfbac ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) = mfccc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) = mfacc ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) = mfcac ;//* rho * c1o3; -// (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) = mfaac ;//* rho * c1o3; -// -// (*this->zeroDistributionsF)(x1, x2, x3) = mfbbb;// *rho* c1o3; -// -// -// (*this->localDistributionsH2)(D3Q27System::ET_E, x1, x2, x3) = mfhabb;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_N, x1, x2, x3) = mfhbab;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_T, x1, x2, x3) = mfhbba;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_NE, x1, x2, x3) = mfhaab;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_NW, x1p, x2, x3) = mfhcab;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TE, x1, x2, x3) = mfhaba;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TW, x1p, x2, x3) = mfhcba;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TN, x1, x2, x3) = mfhbaa;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TS, x1, x2p, x3) = mfhbca;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TNE, x1, x2, x3) = mfhaaa;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TNW, x1p, x2, x3) = mfhcaa;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TSE, x1, x2p, x3) = mfhaca;//* rho * c1o3; -// (*this->localDistributionsH2)(D3Q27System::ET_TSW, x1p, x2p, x3) = mfhcca;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_W, x1p, x2, x3) = mfhcbb;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_S, x1, x2p, x3) = mfhbcb;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_B, x1, x2, x3p) = mfhbbc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_SW, x1p, x2p, x3) = mfhccb;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_SE, x1, x2p, x3) = mfhacb;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BW, x1p, x2, x3p) = mfhcbc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BE, x1, x2, x3p) = mfhabc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BS, x1, x2p, x3p) = mfhbcc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BN, x1, x2, x3p) = mfhbac;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BSW, x1p, x2p, x3p) = mfhccc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BSE, x1, x2p, x3p) = mfhacc;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BNW, x1p, x2, x3p) = mfhcac;//* rho * c1o3; -// (*this->nonLocalDistributionsH2)(D3Q27System::ET_BNE, x1, x2, x3p) = mfhaac;//* rho * c1o3; -// -// (*this->zeroDistributionsH2)(x1, x2, x3) = mfhbbb;// *rho* c1o3; -// -// // !Old Kernel -/////////////////////// P H A S E - F I E L D S O L V E R -////////////////////////////////////////////// -///////CUMULANT PHASE-FIELD -// LBMReal omegaD =1.0/( 3.0 * mob + 0.5); -// { -// mfcbb = (*this->localDistributionsH1)(D3Q27System::ET_E, x1, x2, x3); -// mfbcb = (*this->localDistributionsH1)(D3Q27System::ET_N, x1, x2, x3); -// mfbbc = (*this->localDistributionsH1)(D3Q27System::ET_T, x1, x2, x3); -// mfccb = (*this->localDistributionsH1)(D3Q27System::ET_NE, x1, x2, x3); -// mfacb = (*this->localDistributionsH1)(D3Q27System::ET_NW, x1p, x2, x3); -// mfcbc = (*this->localDistributionsH1)(D3Q27System::ET_TE, x1, x2, x3); -// mfabc = (*this->localDistributionsH1)(D3Q27System::ET_TW, x1p, x2, x3); -// mfbcc = (*this->localDistributionsH1)(D3Q27System::ET_TN, x1, x2, x3); -// mfbac = (*this->localDistributionsH1)(D3Q27System::ET_TS, x1, x2p, x3); -// mfccc = (*this->localDistributionsH1)(D3Q27System::ET_TNE, x1, x2, x3); -// mfacc = (*this->localDistributionsH1)(D3Q27System::ET_TNW, x1p, x2, x3); -// mfcac = (*this->localDistributionsH1)(D3Q27System::ET_TSE, x1, x2p, x3); -// mfaac = (*this->localDistributionsH1)(D3Q27System::ET_TSW, x1p, x2p, x3); -// mfabb = (*this->nonLocalDistributionsH1)(D3Q27System::ET_W, x1p, x2, x3); -// mfbab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_S, x1, x2p, x3); -// mfbba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_B, x1, x2, x3p); -// mfaab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SW, x1p, x2p, x3); -// mfcab = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SE, x1, x2p, x3); -// mfaba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BW, x1p, x2, x3p); -// mfcba = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BE, x1, x2, x3p); -// mfbaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BS, x1, x2p, x3p); -// mfbca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BN, x1, x2, x3p); -// mfaaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// mfcaa = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSE, x1, x2p, x3p); -// mfaca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNW, x1p, x2, x3p); -// mfcca = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNE, x1, x2, x3p); -// mfbbb = (*this->zeroDistributionsH1)(x1, x2, x3); -// -// -// //////////////////////////////////////////////////////////////////////////////////// -// //! - 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> -// //! -// //////////////////////////////////////////////////////////////////////////////////// -// // second component -// LBMReal concentration = -// ((((mfccc + mfaaa) + (mfaca + mfcac)) + ((mfacc + mfcaa) + (mfaac + mfcca))) + -// (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + -// ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; -// //////////////////////////////////////////////////////////////////////////////////// -// LBMReal oneMinusRho = c1- concentration; -// -// LBMReal cx = -// ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + -// (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + -// (mfcbb - mfabb)); -// LBMReal cy = -// ((((mfccc - mfaaa) + (mfaca - mfcac)) + ((mfacc - mfcaa) + (mfcca - mfaac))) + -// (((mfbca - mfbac) + (mfbcc - mfbaa)) + ((mfacb - mfcab) + (mfccb - mfaab))) + -// (mfbcb - mfbab)); -// LBMReal cz = -// ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfacc - mfcaa) + (mfaac - mfcca))) + -// (((mfbac - mfbca) + (mfbcc - mfbaa)) + ((mfabc - mfcba) + (mfcbc - mfaba))) + -// (mfbbc - mfbba)); -// -// //////////////////////////////////////////////////////////////////////////////////// -// // calculate the square of velocities for this lattice node -// LBMReal cx2 = cx * cx; -// LBMReal cy2 = cy * cy; -// LBMReal cz2 = cz * cz; -// //////////////////////////////////////////////////////////////////////////////////// -// //! - Chimera transform from well conditioned distributions to central moments as defined in Appendix J in \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> -// //! see also Eq. (6)-(14) in \ref -// //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a> -// //! -// //////////////////////////////////////////////////////////////////////////////////// -// // Z - Dir -// forwardInverseChimeraWithKincompressible(mfaaa, mfaab, mfaac, cz, cz2, c36, c1o36, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9, c1o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36, c1o36, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9, c1o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfbba, mfbbb, mfbbc, cz, cz2, c9o4, c4o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9, c1o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36, c1o36, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9, c1o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36, c1o36, oneMinusRho); -// -// //////////////////////////////////////////////////////////////////////////////////// -// // Y - Dir -// forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); -// forwardChimera(mfaab, mfabb, mfacb, cy, cy2); -// forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfbaa, mfbba, mfbca, cy, cy2, c3o2, c2o3, oneMinusRho); -// forwardChimera(mfbab, mfbbb, mfbcb, cy, cy2); -// forwardInverseChimeraWithKincompressible(mfbac, mfbbc, mfbcc, cy, cy2, c9o2, c2o9, oneMinusRho); -// forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6, c1o6, oneMinusRho); -// forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); -// forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); -// -// //////////////////////////////////////////////////////////////////////////////////// -// // X - Dir -// forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); -// forwardChimera(mfaba, mfbba, mfcba, cx, cx2); -// forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); -// forwardChimera(mfaab, mfbab, mfcab, cx, cx2); -// forwardChimera(mfabb, mfbbb, mfcbb, cx, cx2); -// forwardChimera(mfacb, mfbcb, mfccb, cx, cx2); -// forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3, c1o3, oneMinusRho); -// forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); -// forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); -// -// //////////////////////////////////////////////////////////////////////////////////// -// //! - experimental Cumulant ... to be published ... hopefully -// //! -// -// // linearized orthogonalization of 3rd order central moments -// LBMReal Mabc = mfabc - mfaba * c1o3; -// LBMReal Mbca = mfbca - mfbaa * c1o3; -// LBMReal Macb = mfacb - mfaab * c1o3; -// LBMReal Mcba = mfcba - mfaba * c1o3; -// LBMReal Mcab = mfcab - mfaab * c1o3; -// LBMReal Mbac = mfbac - mfbaa * c1o3; -// // linearized orthogonalization of 5th order central moments -// LBMReal Mcbc = mfcbc - mfaba * c1o9; -// LBMReal Mbcc = mfbcc - mfbaa * c1o9; -// LBMReal Mccb = mfccb - mfaab * c1o9; -// -// //31.05.2022 addaptive mobility -// //omegaD = c1 + (sqrt((cx - vvx * concentration) * (cx - vvx * concentration) + (cy - vvy * concentration) * (cy - vvy * concentration) + (cz - vvz * concentration) * (cz - vvz * concentration))) / (sqrt((cx - vvx * concentration) * (cx - vvx * concentration) + (cy - vvy * concentration) * (cy - vvy * concentration) + (cz - vvz * concentration) * (cz - vvz * concentration)) + fabs((1.0 - concentration) * (concentration)) * c1o6 * oneOverInterfaceScale+1.0e-200); -// //omegaD = c2 * (concentration * (concentration - c1)) / (-c6 * (sqrt((cx - vvx * concentration) * (cx - vvx * concentration) + (cy - vvy * concentration) * (cy - vvy * concentration) + (cz - vvz * concentration) * (cz - vvz * concentration))) + (concentration * (concentration - c1))+1.0e-200); -// // collision of 1st order moments -// cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + -// normX1 * (c1 - 0.5 * omegaD) * (1.0 - concentration) * (concentration) * c1o3 * oneOverInterfaceScale; -// cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + -// normX2 * (c1 - 0.5 * omegaD) * (1.0 - concentration) * (concentration) * c1o3 * oneOverInterfaceScale; -// cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + -// normX3 * (c1 - 0.5 * omegaD) * (1.0 - concentration) * (concentration) * c1o3 * oneOverInterfaceScale; -// -// cx2 = cx * cx; -// cy2 = cy * cy; -// cz2 = cz * cz; -// -// // equilibration of 2nd order moments -// mfbba = zeroReal; -// mfbab = zeroReal; -// mfabb = zeroReal; -// -// mfcaa = c1o3 * concentration; -// mfaca = c1o3 * concentration; -// mfaac = c1o3 * concentration; -// -// // equilibration of 3rd order moments -// Mabc = zeroReal; -// Mbca = zeroReal; -// Macb = zeroReal; -// Mcba = zeroReal; -// Mcab = zeroReal; -// Mbac = zeroReal; -// mfbbb = zeroReal; -// -// // from linearized orthogonalization 3rd order central moments to central moments -// mfabc = Mabc + mfaba * c1o3; -// mfbca = Mbca + mfbaa * c1o3; -// mfacb = Macb + mfaab * c1o3; -// mfcba = Mcba + mfaba * c1o3; -// mfcab = Mcab + mfaab * c1o3; -// mfbac = Mbac + mfbaa * c1o3; -// -// // equilibration of 4th order moments -// mfacc = c1o9 * concentration; -// mfcac = c1o9 * concentration; -// mfcca = c1o9 * concentration; -// -// mfcbb = zeroReal; -// mfbcb = zeroReal; -// mfbbc = zeroReal; -// -// // equilibration of 5th order moments -// Mcbc = zeroReal; -// Mbcc = zeroReal; -// Mccb = zeroReal; -// -// // from linearized orthogonalization 5th order central moments to central moments -// mfcbc = Mcbc + mfaba * c1o9; -// mfbcc = Mbcc + mfbaa * c1o9; -// mfccb = Mccb + mfaab * c1o9; -// -// // equilibration of 6th order moment -// mfccc = c1o27 * concentration; -// -// //////////////////////////////////////////////////////////////////////////////////// -// //! - Chimera transform from central moments to well conditioned distributions as defined in Appendix J in -// //! <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> -// //! see also Eq. (88)-(96) in -// //! <a href="https://doi.org/10.1016/j.jcp.2017.05.040"><b>[ M. Geier et al. (2017), DOI:10.1016/j.jcp.2017.05.040 ]</b></a> -// //! -// //////////////////////////////////////////////////////////////////////////////////// -// // X - Dir -// backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); -// backwardChimera(mfaba, mfbba, mfcba, cx, cx2); -// backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); -// backwardChimera(mfaab, mfbab, mfcab, cx, cx2); -// backwardChimera(mfabb, mfbbb, mfcbb, cx, cx2); -// backwardChimera(mfacb, mfbcb, mfccb, cx, cx2); -// backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3, c1o3, oneMinusRho); -// backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); -// backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); -// -// //////////////////////////////////////////////////////////////////////////////////// -// // Y - Dir -// backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); -// backwardChimera(mfaab, mfabb, mfacb, cy, cy2); -// backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfbaa, mfbba, mfbca, cy, cy2, c3o2, c2o3, oneMinusRho); -// backwardChimera(mfbab, mfbbb, mfbcb, cy, cy2); -// backwardInverseChimeraWithKincompressible(mfbac, mfbbc, mfbcc, cy, cy2, c9o2, c2o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6, c1o6, oneMinusRho); -// backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); -// backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); -// -// //////////////////////////////////////////////////////////////////////////////////// -// // Z - Dir -// backwardInverseChimeraWithKincompressible(mfaaa, mfaab, mfaac, cz, cz2, c36, c1o36, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9, c1o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36, c1o36, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9, c1o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfbba, mfbbb, mfbbc, cz, cz2, c9o4, c4o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9, c1o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36, c1o36, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9, c1o9, oneMinusRho); -// backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36, c1o36, oneMinusRho); -// -// -// -// (*this->localDistributionsH1)(D3Q27System::ET_E, x1, x2, x3) = mfabb; -// (*this->localDistributionsH1)(D3Q27System::ET_N, x1, x2, x3) = mfbab; -// (*this->localDistributionsH1)(D3Q27System::ET_T, x1, x2, x3) = mfbba; -// (*this->localDistributionsH1)(D3Q27System::ET_NE, x1, x2, x3) = mfaab; -// (*this->localDistributionsH1)(D3Q27System::ET_NW, x1p, x2, x3) = mfcab; -// (*this->localDistributionsH1)(D3Q27System::ET_TE, x1, x2, x3) = mfaba; -// (*this->localDistributionsH1)(D3Q27System::ET_TW, x1p, x2, x3) = mfcba; -// (*this->localDistributionsH1)(D3Q27System::ET_TN, x1, x2, x3) = mfbaa; -// (*this->localDistributionsH1)(D3Q27System::ET_TS, x1, x2p, x3) = mfbca; -// (*this->localDistributionsH1)(D3Q27System::ET_TNE, x1, x2, x3) = mfaaa; -// (*this->localDistributionsH1)(D3Q27System::ET_TNW, x1p, x2, x3) = mfcaa; -// (*this->localDistributionsH1)(D3Q27System::ET_TSE, x1, x2p, x3) = mfaca; -// (*this->localDistributionsH1)(D3Q27System::ET_TSW, x1p, x2p, x3) = mfcca; -// -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_W, x1p, x2, x3 ) = mfcbb; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_S, x1, x2p, x3 ) = mfbcb; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_B, x1, x2, x3p) = mfbbc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_SW, x1p, x2p, x3 ) = mfccb; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_SE, x1, x2p, x3 ) = mfacb; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BW, x1p, x2, x3p) = mfcbc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BE, x1, x2, x3p) = mfabc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BS, x1, x2p, x3p) = mfbcc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BN, x1, x2, x3p) = mfbac; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSW, x1p, x2p, x3p) = mfccc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSE, x1, x2p, x3p) = mfacc; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNW, x1p, x2, x3p) = mfcac; -// (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNE, x1, x2, x3p) = mfaac; -// -// (*this->zeroDistributionsH1)(x1,x2,x3) = mfbbb; -// -// -// -// -// } -// } -// } -// } -// } -//} -//////////////////////////////////////////////////////////////////////////// -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX1_phi() -//{ -// using namespace D3Q27System; -// return 3.0* ((WEIGTH[TNE] * (((phi[TNE] - phi[BSW]) + (phi[BSE] - phi[TNW])) + ((phi[TSE] - phi[BNW]) + (phi[BNE] - phi[TSW]))) -// + WEIGTH[NE] * (((phi[TE] - phi[BW]) + (phi[BE] - phi[TW])) + ((phi[SE] - phi[NW]) + (phi[NE] - phi[SW])))) + -// +WEIGTH[N] * (phi[E] - phi[W])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX2_phi() -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((phi[TNE] - phi[BSW]) - (phi[BSE] - phi[TNW])) + ((phi[BNE] - phi[TSW])- (phi[TSE] - phi[BNW]))) -// + WEIGTH[NE] * (((phi[TN] - phi[BS]) + (phi[BN] - phi[TS])) + ((phi[NE] - phi[SW])- (phi[SE] - phi[NW])))) + -// +WEIGTH[N] * (phi[N] - phi[S])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX3_phi() -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((phi[TNE] - phi[BSW]) - (phi[BSE] - phi[TNW])) + ((phi[TSE] - phi[BNW]) - (phi[BNE] - phi[TSW]))) -// + WEIGTH[NE] * (((phi[TE] - phi[BW]) - (phi[BE] - phi[TW])) + ((phi[TS] - phi[BN]) + (phi[TN] - phi[BS])))) + -// +WEIGTH[N] * (phi[T] - phi[B])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX1_rhoInv(LBMReal rhoL,LBMReal rhoDIV) -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((1.0/(rhoL+rhoDIV*phi[TNE]) - 1.0 / (rhoL + rhoDIV * phi[BSW])) + (1.0 / (rhoL + rhoDIV * phi[BSE]) - 1.0 / (rhoL + rhoDIV * phi[TNW]))) + ((1.0 / (rhoL + rhoDIV * phi[TSE]) - 1.0 / (rhoL + rhoDIV * phi[BNW])) + (1.0 / (rhoL + rhoDIV * phi[BNE]) - 1.0 / (rhoL + rhoDIV * phi[TSW])))) -// + WEIGTH[NE] * (((1.0 / (rhoL + rhoDIV * phi[TE]) - 1.0 / (rhoL + rhoDIV * phi[BW])) + (1.0 / (rhoL + rhoDIV * phi[BE]) - 1.0 / (rhoL + rhoDIV * phi[TW]))) + ((1.0 / (rhoL + rhoDIV * phi[SE]) - 1.0 / (rhoL + rhoDIV * phi[NW])) + (1.0 / (rhoL + rhoDIV * phi[NE]) - 1.0 / (rhoL + rhoDIV * phi[SW]))))) + -// +WEIGTH[N] * (1.0 / (rhoL + rhoDIV * phi[E]) - 1.0 / (rhoL + rhoDIV * phi[W]))); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX2_rhoInv(LBMReal rhoL,LBMReal rhoDIV) -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((1.0 / (rhoL + rhoDIV * phi[TNE]) - 1.0 / (rhoL + rhoDIV * phi[BSW])) - (1.0 / (rhoL + rhoDIV * phi[BSE]) - 1.0 / (rhoL + rhoDIV * phi[TNW]))) + ((1.0 / (rhoL + rhoDIV * phi[BNE]) - 1.0 / (rhoL + rhoDIV * phi[TSW])) - (1.0 / (rhoL + rhoDIV * phi[TSE]) - 1.0 / (rhoL + rhoDIV * phi[BNW])))) -// + WEIGTH[NE] * (((1.0 / (rhoL + rhoDIV * phi[TN]) - 1.0 / (rhoL + rhoDIV * phi[BS])) + (1.0 / (rhoL + rhoDIV * phi[BN]) - 1.0 / (rhoL + rhoDIV * phi[TS]))) + ((1.0 / (rhoL + rhoDIV * phi[NE]) - 1.0 / (rhoL + rhoDIV * phi[SW])) - (1.0 / (rhoL + rhoDIV * phi[SE]) - 1.0 / (rhoL + rhoDIV * phi[NW]))))) + -// +WEIGTH[N] * (1.0 / (rhoL + rhoDIV * phi[N]) - 1.0 / (rhoL + rhoDIV * phi[S]))); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX3_rhoInv(LBMReal rhoL, LBMReal rhoDIV) -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((1.0 / (rhoL + rhoDIV * phi[TNE]) - 1.0 / (rhoL + rhoDIV * phi[BSW])) - (1.0 / (rhoL + rhoDIV * phi[BSE]) - 1.0 / (rhoL + rhoDIV * phi[TNW]))) + ((1.0 / (rhoL + rhoDIV * phi[TSE]) - 1.0 / (rhoL + rhoDIV * phi[BNW])) - (1.0 / (rhoL + rhoDIV * phi[BNE]) - 1.0 / (rhoL + rhoDIV * phi[TSW])))) -// + WEIGTH[NE] * (((1.0 / (rhoL + rhoDIV * phi[TE]) - 1.0 / (rhoL + rhoDIV * phi[BW])) - (1.0 / (rhoL + rhoDIV * phi[BE]) - 1.0 / (rhoL + rhoDIV * phi[TW]))) + ((1.0 / (rhoL + rhoDIV * phi[TS]) - 1.0 / (rhoL + rhoDIV * phi[BN])) + (1.0 / (rhoL + rhoDIV * phi[TN]) - 1.0 / (rhoL + rhoDIV * phi[BS]))))) + -// +WEIGTH[N] * (1.0 / (rhoL + rhoDIV * phi[T]) - 1.0 / (rhoL + rhoDIV * phi[B]))); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX1_phi2() -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((phi2[TNE] - phi2[BSW]) + (phi2[BSE] - phi2[TNW])) + ((phi2[TSE] - phi2[BNW]) + (phi2[BNE] - phi2[TSW]))) -// + WEIGTH[NE] * (((phi2[TE] - phi2[BW]) + (phi2[BE] - phi2[TW])) + ((phi2[SE] - phi2[NW]) + (phi2[NE] - phi2[SW])))) + -// +WEIGTH[N] * (phi2[E] - phi2[W])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX2_phi2() -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((phi2[TNE] - phi2[BSW]) - (phi2[BSE] - phi2[TNW])) + ((phi2[BNE] - phi2[TSW]) - (phi2[TSE] - phi2[BNW]))) -// + WEIGTH[NE] * (((phi2[TN] - phi2[BS]) + (phi2[BN] - phi2[TS])) + ((phi2[NE] - phi2[SW]) - (phi2[SE] - phi2[NW])))) + -// +WEIGTH[N] * (phi2[N] - phi2[S])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::gradX3_phi2() -//{ -// using namespace D3Q27System; -// return 3.0 * ((WEIGTH[TNE] * (((phi2[TNE] - phi2[BSW]) - (phi2[BSE] - phi2[TNW])) + ((phi2[TSE] - phi2[BNW]) - (phi2[BNE] - phi2[TSW]))) -// + WEIGTH[NE] * (((phi2[TE] - phi2[BW]) - (phi2[BE] - phi2[TW])) + ((phi2[TS] - phi2[BN]) + (phi2[TN] - phi2[BS])))) + -// +WEIGTH[N] * (phi2[T] - phi2[B])); -//} -// -//LBMReal MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::nabla2_phi() -//{ -// using namespace D3Q27System; -// LBMReal sum = 0.0; -// sum += WEIGTH[DIR_PPP] * ((((phi[DIR_PPP] - phi[DIR_000]) + (phi[DIR_MMM] - phi[DIR_000])) + ((phi[DIR_MMP] - phi[DIR_000]) + (phi[DIR_PPM] - phi[DIR_000]))) -// + (((phi[DIR_MPP] - phi[DIR_000]) + (phi[DIR_PMM] - phi[DIR_000])) + ((phi[DIR_PMP] - phi[DIR_000]) + (phi[DIR_MPM] - phi[DIR_000])))); -// sum += WEIGTH[DIR_0PP] * ( -// (((phi[DIR_0PP] - phi[DIR_000]) + (phi[DIR_0MM] - phi[DIR_000])) + ((phi[DIR_0MP] - phi[DIR_000]) + (phi[DIR_0PM] - phi[DIR_000]))) -// + (((phi[DIR_P0P] - phi[DIR_000]) + (phi[DIR_M0M] - phi[DIR_000])) + ((phi[DIR_M0P] - phi[DIR_000]) + (phi[DIR_P0M] - phi[DIR_000]))) -// + (((phi[DIR_PP0] - phi[DIR_000]) + (phi[DIR_MM0] - phi[DIR_000])) + ((phi[DIR_MP0] - phi[DIR_000]) + (phi[DIR_PM0] - phi[DIR_000]))) -// ); -// sum += WEIGTH[DIR_00P] * ( -// ((phi[DIR_00P] - phi[DIR_000]) + (phi[DIR_00M] - phi[DIR_000])) -// + ((phi[DIR_0P0] - phi[DIR_000]) + (phi[DIR_0M0] - phi[DIR_000])) -// + ((phi[DIR_P00] - phi[DIR_000]) + (phi[DIR_M00] - phi[DIR_000])) -// ); -// -// -// return 6.0 * sum; -//} -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::computePhasefield() -//{ -// using namespace D3Q27System; -// SPtr<DistributionArray3D> distributionsH = dataSet->getHdistributions(); -// -// int minX1 = ghostLayerWidth; -// int minX2 = ghostLayerWidth; -// int minX3 = ghostLayerWidth; -// int maxX1 = (int)distributionsH->getNX1() - ghostLayerWidth; -// int maxX2 = (int)distributionsH->getNX2() - ghostLayerWidth; -// int maxX3 = (int)distributionsH->getNX3() - ghostLayerWidth; -// -// //------------- Computing the phase-field ------------------ -// for (int x3 = minX3; x3 < maxX3; x3++) { -// for (int x2 = minX2; x2 < maxX2; x2++) { -// for (int x1 = minX1; x1 < maxX1; x1++) { -// // if(!bcArray->isSolid(x1,x2,x3) && !bcArray->isUndefined(x1,x2,x3)) -// { -// int x1p = x1 + 1; -// int x2p = x2 + 1; -// int x3p = x3 + 1; -// -// h[E] = (*this->localDistributionsH1)(D3Q27System::ET_E, x1, x2, x3); -// h[N] = (*this->localDistributionsH1)(D3Q27System::ET_N, x1, x2, x3); -// h[T] = (*this->localDistributionsH1)(D3Q27System::ET_T, x1, x2, x3); -// h[NE] = (*this->localDistributionsH1)(D3Q27System::ET_NE, x1, x2, x3); -// h[NW] = (*this->localDistributionsH1)(D3Q27System::ET_NW, x1p, x2, x3); -// h[TE] = (*this->localDistributionsH1)(D3Q27System::ET_TE, x1, x2, x3); -// h[TW] = (*this->localDistributionsH1)(D3Q27System::ET_TW, x1p, x2, x3); -// h[TN] = (*this->localDistributionsH1)(D3Q27System::ET_TN, x1, x2, x3); -// h[TS] = (*this->localDistributionsH1)(D3Q27System::ET_TS, x1, x2p, x3); -// h[TNE] = (*this->localDistributionsH1)(D3Q27System::ET_TNE, x1, x2, x3); -// h[TNW] = (*this->localDistributionsH1)(D3Q27System::ET_TNW, x1p, x2, x3); -// h[TSE] = (*this->localDistributionsH1)(D3Q27System::ET_TSE, x1, x2p, x3); -// h[TSW] = (*this->localDistributionsH1)(D3Q27System::ET_TSW, x1p, x2p, x3); -// -// h[W] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_W, x1p, x2, x3); -// h[S] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_S, x1, x2p, x3); -// h[B] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_B, x1, x2, x3p); -// h[SW] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SW, x1p, x2p, x3); -// h[SE] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_SE, x1, x2p, x3); -// h[BW] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BW, x1p, x2, x3p); -// h[BE] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BE, x1, x2, x3p); -// h[BS] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BS, x1, x2p, x3p); -// h[BN] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BN, x1, x2, x3p); -// h[BSW] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSW, x1p, x2p, x3p); -// h[BSE] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BSE, x1, x2p, x3p); -// h[BNW] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNW, x1p, x2, x3p); -// h[BNE] = (*this->nonLocalDistributionsH1)(D3Q27System::ET_BNE, x1, x2, x3p); -// -// h[REST] = (*this->zeroDistributionsH1)(x1, x2, x3); -// } -// } -// } -// } -//} -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::findNeighbors(CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr ph, int x1, int x2, -// int x3) -//{ -// using namespace D3Q27System; -// -// SPtr<BCArray3D> bcArray = this->getBCProcessor()->getBCArray(); -// -// phi[REST] = (*ph)(x1, x2, x3); -// -// -// for (int k = FSTARTDIR; k <= FENDDIR; k++) { -// -// if (!bcArray->isSolid(x1 + DX1[k], x2 + DX2[k], x3 + DX3[k])) { -// phi[k] = (*ph)(x1 + DX1[k], x2 + DX2[k], x3 + DX3[k]); -// } else { -// //phi[k] = (*ph)(x1 , x2, x3 );// neutral wetting -// phi[k] = 0.0;//unwetting -// } -// } -//} -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::findNeighbors2(CbArray3D<LBMReal, IndexerX3X2X1>::CbArray3DPtr ph, int x1, int x2, -// int x3) -//{ -// using namespace D3Q27System; -// -// SPtr<BCArray3D> bcArray = this->getBCProcessor()->getBCArray(); -// -// phi2[REST] = (*ph)(x1, x2, x3); -// -// -// for (int k = FSTARTDIR; k <= FENDDIR; k++) { -// -// if (!bcArray->isSolid(x1 + DX1[k], x2 + DX2[k], x3 + DX3[k])) { -// phi2[k] = (*ph)(x1 + DX1[k], x2 + DX2[k], x3 + DX3[k]); -// } -// else { -// phi2[k] = 0.05; -// } -// } -//} -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::swapDistributions() -//{ -// LBMKernel::swapDistributions(); -// dataSet->getHdistributions()->swap(); -// dataSet->getH2distributions()->swap(); -//} -// -//void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::initForcing() -//{ -// muForcingX1.DefineVar("x1", &muX1); muForcingX1.DefineVar("x2", &muX2); muForcingX1.DefineVar("x3", &muX3); -// muForcingX2.DefineVar("x1", &muX1); muForcingX2.DefineVar("x2", &muX2); muForcingX2.DefineVar("x3", &muX3); -// muForcingX3.DefineVar("x1", &muX1); muForcingX3.DefineVar("x2", &muX2); muForcingX3.DefineVar("x3", &muX3); -// -// muDeltaT = deltaT; -// -// muForcingX1.DefineVar("dt", &muDeltaT); -// muForcingX2.DefineVar("dt", &muDeltaT); -// muForcingX3.DefineVar("dt", &muDeltaT); -// -// muNu = (1.0 / 3.0) * (1.0 / collFactor - 1.0 / 2.0); -// -// muForcingX1.DefineVar("nu", &muNu); -// muForcingX2.DefineVar("nu", &muNu); -// muForcingX3.DefineVar("nu", &muNu); -// -// muForcingX1.DefineVar("rho",&muRho); -// muForcingX2.DefineVar("rho",&muRho); -// muForcingX3.DefineVar("rho",&muRho); -// -//}