diff --git a/src/basics/basics/utilities/UbMath.h b/src/basics/basics/utilities/UbMath.h index fe6b01140a4f1675335e3e4f8c9a542055881727..5ba42eb6b0c00941c72ea8370ab3fe0cef71ba98 100644 --- a/src/basics/basics/utilities/UbMath.h +++ b/src/basics/basics/utilities/UbMath.h @@ -413,93 +413,93 @@ inline const T &min(const T &a1, const T &a2, const T &a3, const T &a4) // constants // ////////////////////////////////////////////////////////////////////////// -static const double c8o27 = 8. / 27.; -static const double c2o27 = 2. / 27.; -static const double c1o54 = 1. / 54.; -static const double c1o216 = 1. / 216.; -static const double c9o2 = 9. / 2.; // 4.5 -static const double c9o4 = 9. / 4.; // 2.25 -static const double c3o9 = 3. / 9.; -static const double c3o54 = 3. / 54.; -static const double c3o216 = 3. / 216.; - -static const double c1o27 = 1. / 27.; - -static const double c1o72 = 1. / 72.; // 0.01388888 -static const double c1o36 = 1. / 36.; // 0.02777777 -static const double c1o48 = 1. / 48.; // 0.02083333 -static const double c1o32 = 1. / 32.; // 0.03125 -static const double c1o24 = 1. / 24.; // 0.04166666 -static const double c1o20 = 1. / 20.; // 0.05 -static const double c1o18 = 1. / 18.; // 0.05555555 -static const double c1o16 = 1. / 16.; // 0.0625 -static const double c1o12 = 1. / 12.; // 0.08333333 -static const double c1o9 = 1. / 9.; // 0.11111111 -static const double c1o8 = 1. / 8.; // 0.125 -static const double c1o6 = 1. / 6.; // 0.16666666 -static const double c1o5 = 1. / 5.; // 0.2 -static const double c1o4 = 1. / 4.; // 0.25 -static const double c1o100 = 1. / 100.; -static const double c5o16 = 5. / 16.; // 0.3125 +//static const double c8o27 = 8. / 27.; +//static const double c2o27 = 2. / 27.; +//static const double c1o54 = 1. / 54.; +//static const double c1o216 = 1. / 216.; +//static const double c9o2 = 9. / 2.; // 4.5 +//static const double c9o4 = 9. / 4.; // 2.25 +//static const double c3o9 = 3. / 9.; +//static const double c3o54 = 3. / 54.; +//static const double c3o216 = 3. / 216.; +// +//static const double c1o27 = 1. / 27.; +// +//static const double c1o72 = 1. / 72.; // 0.01388888 +//static const double c1o36 = 1. / 36.; // 0.02777777 +//static const double c1o48 = 1. / 48.; // 0.02083333 +//static const double c1o32 = 1. / 32.; // 0.03125 +//static const double c1o24 = 1. / 24.; // 0.04166666 +//static const double c1o20 = 1. / 20.; // 0.05 +//static const double c1o18 = 1. / 18.; // 0.05555555 +//static const double c1o16 = 1. / 16.; // 0.0625 +//static const double c1o12 = 1. / 12.; // 0.08333333 +//static const double c1o9 = 1. / 9.; // 0.11111111 +//static const double c1o8 = 1. / 8.; // 0.125 +//static const double c1o6 = 1. / 6.; // 0.16666666 +//static const double c1o5 = 1. / 5.; // 0.2 +//static const double c1o4 = 1. / 4.; // 0.25 +//static const double c1o100 = 1. / 100.; +//static const double c5o16 = 5. / 16.; // 0.3125 static const double c1o3 = 1. / 3.; // 0.33333333 -static const double c3o8 = 3. / 8.; // 0.375 -static const double c4o9 = 4. / 9.; // 0.44444444 -static const double c1o2 = 1. / 2.; // 0.5 -static const double c9o16 = 9. / 16.; // 0.5625 -static const double c2o3 = 2. / 3.; // 0.66666666 -static const double c3o4 = 3. / 4.; // 0.75 -static const double c3o2 = 3. / 2.; // 1.5 -static const double c4o3 = 4. / 3.; // 1.33333333 -static const double c5o3 = 5. / 3.; // 1.66666666 -static const double c9o5 = 9. / 5.; // 1.8 -static const double c2o9 = 2. / 9.; // 0.22222222 -static const double one_over_sqrt2 = 1.0 / sqrt(2.0); // 0.707106781 -static const double one_over_sqrt3 = 1.0 / sqrt(3.0); // 0.577350269 -static const double sqrt2 = sqrt(2.0); // 1.4142135 -static const double sqrt3 = sqrt(3.0); // 1.7320508 -static const double zeroReal = 0.0; -static const double c1 = 1.0; -static const double c2 = 2.0; -static const double c3 = 3.0; -static const double c4 = 4.0; -static const double c5 = 5.0; -static const double c6 = 6.0; -static const double c7 = 7.0; -static const double c8 = 8.0; -static const double c9 = 9.0; -static const double c14 = 14.0; -static const double c15 = 15.0; -static const double c16 = 16.0; -static const double c18 = 18.0; -static const double c21 = 21.0; -static const double c24 = 24.0; -static const double c28 = 28.0; -static const double c29 = 29.0; -static const double c36 = 36.0; -static const double c48 = 48.0; -static const double c50 = 50.0; -static const double c56 = 56.0; -static const double c152 = 152.0; -static const double c130 = 130.0; -static const double one = 1.0; -static const double two = 2.0; -static const double three = 3.0; -static const double four = 4.0; -static const double five = 5.0; -static const double six = 6.0; -static const double seven = 7.0; -static const double eight = 8.0; -static const double nine = 9.0; -static const double fourteen = 14.0; -static const double fiveteen = 15.0; -static const double sixteen = 16.0; -static const double twentyone = 21.0; -static const double twentyfour = 24.0; -static const double twentyeight = 28.0; -static const double twentynine = 29.0; -static const double fourtyeight = 48.0; -static const double fifty = 50.0; -static const double fiftysix = 56.0; +//static const double c3o8 = 3. / 8.; // 0.375 +//static const double c4o9 = 4. / 9.; // 0.44444444 +//static const double c1o2 = 1. / 2.; // 0.5 +//static const double c9o16 = 9. / 16.; // 0.5625 +//static const double c2o3 = 2. / 3.; // 0.66666666 +//static const double c3o4 = 3. / 4.; // 0.75 +//static const double c3o2 = 3. / 2.; // 1.5 +//static const double c4o3 = 4. / 3.; // 1.33333333 +//static const double c5o3 = 5. / 3.; // 1.66666666 +//static const double c9o5 = 9. / 5.; // 1.8 +//static const double c2o9 = 2. / 9.; // 0.22222222 +//static const double one_over_sqrt2 = 1.0 / sqrt(2.0); // 0.707106781 +//static const double one_over_sqrt3 = 1.0 / sqrt(3.0); // 0.577350269 +//static const double sqrt2 = sqrt(2.0); // 1.4142135 +//static const double sqrt3 = sqrt(3.0); // 1.7320508 +//static const double zeroReal = 0.0; +//static const double c1 = 1.0; +//static const double c2 = 2.0; +//static const double c3 = 3.0; +//static const double c4 = 4.0; +//static const double c5 = 5.0; +//static const double c6 = 6.0; +//static const double c7 = 7.0; +//static const double c8 = 8.0; +//static const double c9 = 9.0; +//static const double c14 = 14.0; +//static const double c15 = 15.0; +//static const double c16 = 16.0; +//static const double c18 = 18.0; +//static const double c21 = 21.0; +//static const double c24 = 24.0; +//static const double c28 = 28.0; +//static const double c29 = 29.0; +//static const double c36 = 36.0; +//static const double c48 = 48.0; +//static const double c50 = 50.0; +//static const double c56 = 56.0; +//static const double c152 = 152.0; +//static const double c130 = 130.0; +//static const double one = 1.0; +//static const double two = 2.0; +//static const double three = 3.0; +//static const double four = 4.0; +//static const double five = 5.0; +//static const double six = 6.0; +//static const double seven = 7.0; +//static const double eight = 8.0; +//static const double nine = 9.0; +//static const double fourteen = 14.0; +//static const double fiveteen = 15.0; +//static const double sixteen = 16.0; +//static const double twentyone = 21.0; +//static const double twentyfour = 24.0; +//static const double twentyeight = 28.0; +//static const double twentynine = 29.0; +//static const double fourtyeight = 48.0; +//static const double fifty = 50.0; +//static const double fiftysix = 56.0; } // namespace UbMath diff --git a/src/basics/geometry3d/GbVoxelMatrix3D.cpp b/src/basics/geometry3d/GbVoxelMatrix3D.cpp index c88f1d13104a5312efd161143d40e835f5654571..dd0fbfc164f951090eedccc4d9bd7d32a7a038f8 100644 --- a/src/basics/geometry3d/GbVoxelMatrix3D.cpp +++ b/src/basics/geometry3d/GbVoxelMatrix3D.cpp @@ -39,6 +39,7 @@ #include <geometry3d/GbTriangle3D.h> #include <basics/utilities/UbSystem.h> +#include "lbm/constants/NumericConstants.h" #ifdef MC_CUBES #include <MarchingCubes/MarchingCubes.h> @@ -173,11 +174,11 @@ double GbVoxelMatrix3D::getIntersectionRaytraceFactor(const double &x1, const do const double &rx1, const double &rx2, const double &rx3) { if (!((UbMath::equal(rx1, 0.0) || UbMath::equal(fabs(rx1), 1.0) || - UbMath::equal(fabs(rx1), UbMath::one_over_sqrt2) || UbMath::equal(fabs(rx1), UbMath::one_over_sqrt3)) && + UbMath::equal(fabs(rx1), vf::lbm::constant::one_over_sqrt2) || UbMath::equal(fabs(rx1), vf::lbm::constant::one_over_sqrt3)) && (UbMath::equal(rx2, 0.0) || UbMath::equal(fabs(rx2), 1.0) || - UbMath::equal(fabs(rx2), UbMath::one_over_sqrt2) || UbMath::equal(fabs(rx2), UbMath::one_over_sqrt3)) && + UbMath::equal(fabs(rx2), vf::lbm::constant::one_over_sqrt2) || UbMath::equal(fabs(rx2), vf::lbm::constant::one_over_sqrt3)) && (UbMath::equal(rx3, 0.0) || UbMath::equal(fabs(rx3), 1.0) || - UbMath::equal(fabs(rx3), UbMath::one_over_sqrt2) || UbMath::equal(fabs(rx3), UbMath::one_over_sqrt3)))) { + UbMath::equal(fabs(rx3), vf::lbm::constant::one_over_sqrt2) || UbMath::equal(fabs(rx3), vf::lbm::constant::one_over_sqrt3)))) { throw UbException(UB_EXARGS, "nur fuer diskrete Boltzmannrichungen implementiert!!!"); } diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h index 662c9dc041eb176356edf69c33fa3c806864b75e..b5318092d225fe4ffc0e52aceb57b446acc9d014 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h @@ -196,59 +196,59 @@ public: switch (direction) { case DIR_P00: - return (float)(UbMath::c4o9 * + return (float)(vf::lbm::constant::c4o9 * (+bcVelocityX1)); //(2/cs^2)(=6)*rho_0(=1 bei inkompr)*wi*u*ei mit cs=1/sqrt(3) case DIR_M00: - return (float)(UbMath::c4o9 * + return (float)(vf::lbm::constant::c4o9 * (-bcVelocityX1)); // z.B. aus paper manfred MRT LB models in three dimensions (2002) case DIR_0P0: - return (float)(UbMath::c4o9 * (+bcVelocityX2)); + return (float)(vf::lbm::constant::c4o9 * (+bcVelocityX2)); case DIR_0M0: - return (float)(UbMath::c4o9 * (-bcVelocityX2)); + return (float)(vf::lbm::constant::c4o9 * (-bcVelocityX2)); case DIR_00P: - return (float)(UbMath::c4o9 * (+bcVelocityX3)); + return (float)(vf::lbm::constant::c4o9 * (+bcVelocityX3)); case DIR_00M: - return (float)(UbMath::c4o9 * (-bcVelocityX3)); + return (float)(vf::lbm::constant::c4o9 * (-bcVelocityX3)); case DIR_PP0: - return (float)(UbMath::c1o9 * (+bcVelocityX1 + bcVelocityX2)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX1 + bcVelocityX2)); case DIR_MM0: - return (float)(UbMath::c1o9 * (-bcVelocityX1 - bcVelocityX2)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX1 - bcVelocityX2)); case DIR_PM0: - return (float)(UbMath::c1o9 * (+bcVelocityX1 - bcVelocityX2)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX1 - bcVelocityX2)); case DIR_MP0: - return (float)(UbMath::c1o9 * (-bcVelocityX1 + bcVelocityX2)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX1 + bcVelocityX2)); case DIR_P0P: - return (float)(UbMath::c1o9 * (+bcVelocityX1 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX1 + bcVelocityX3)); case DIR_M0M: - return (float)(UbMath::c1o9 * (-bcVelocityX1 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX1 - bcVelocityX3)); case DIR_P0M: - return (float)(UbMath::c1o9 * (+bcVelocityX1 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX1 - bcVelocityX3)); case DIR_M0P: - return (float)(UbMath::c1o9 * (-bcVelocityX1 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX1 + bcVelocityX3)); case DIR_0PP: - return (float)(UbMath::c1o9 * (+bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX2 + bcVelocityX3)); case DIR_0MM: - return (float)(UbMath::c1o9 * (-bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX2 - bcVelocityX3)); case DIR_0PM: - return (float)(UbMath::c1o9 * (+bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (+bcVelocityX2 - bcVelocityX3)); case DIR_0MP: - return (float)(UbMath::c1o9 * (-bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o9 * (-bcVelocityX2 + bcVelocityX3)); case DIR_PPP: - return (float)(UbMath::c1o36 * (+bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (+bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); case DIR_MMM: - return (float)(UbMath::c1o36 * (-bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (-bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); case DIR_PPM: - return (float)(UbMath::c1o36 * (+bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (+bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); case DIR_MMP: - return (float)(UbMath::c1o36 * (-bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (-bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); case DIR_PMP: - return (float)(UbMath::c1o36 * (+bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (+bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); case DIR_MPM: - return (float)(UbMath::c1o36 * (-bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (-bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); case DIR_PMM: - return (float)(UbMath::c1o36 * (+bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (+bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); case DIR_MPP: - return (float)(UbMath::c1o36 * (-bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); + return (float)(vf::lbm::constant::c1o36 * (-bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); default: throw UbException(UB_EXARGS, "unknown error"); } diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBCAdapter.h b/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBCAdapter.h index 23e15f9b2de74f7429082219a891e29056954f72..74bfea4dd533ca8bbe81a5941ab302e3ffb06a95 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBCAdapter.h +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/DensityBCAdapter.h @@ -39,7 +39,7 @@ #include <string> #include <vector> -#include "basics/utilities/UbMath.h" +//#include "basics/utilities/UbMath.h" #include "basics/utilities/UbTuple.h" #include "BCAdapter.h" diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseNonReflectingOutflowBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseNonReflectingOutflowBCAlgorithm.cpp index a1d94079847bdadc7b59663b5fbefc6b2a96371a..0a334b37c6096a285ea7dd25b56790de0222098e 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseNonReflectingOutflowBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseNonReflectingOutflowBCAlgorithm.cpp @@ -70,8 +70,9 @@ void MultiphaseNonReflectingOutflowBCAlgorithm::addDistributionsH2(SPtr<Distribu void MultiphaseNonReflectingOutflowBCAlgorithm::applyBC() { using namespace D3Q27System; - using namespace UbMath; +// using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; real f[ENDF + 1]; real ftemp[ENDF + 1]; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseSlipBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseSlipBCAlgorithm.cpp index d84b8cbd54854cc5a1f954e948da5de36372861d..19fbcc77d39f644addbc6ce79c24f369144dca8a 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseSlipBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/MultiphaseSlipBCAlgorithm.cpp @@ -104,32 +104,32 @@ void MultiphaseSlipBCAlgorithm::applyBC() real velocity = 0.0; switch (invDir) { - case DIR_P00: velocity = (UbMath::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) - case DIR_M00: velocity = (UbMath::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) - case DIR_0P0: velocity = (UbMath::c4o9*(+vx2)); break; - case DIR_0M0: velocity = (UbMath::c4o9*(-vx2)); break; - case DIR_00P: velocity = (UbMath::c4o9*(+vx3)); break; - case DIR_00M: velocity = (UbMath::c4o9*(-vx3)); break; - case DIR_PP0: velocity = (UbMath::c1o9*(+vx1+vx2)); break; - case DIR_MM0: velocity = (UbMath::c1o9*(-vx1-vx2)); break; - case DIR_PM0: velocity = (UbMath::c1o9*(+vx1-vx2)); break; - case DIR_MP0: velocity = (UbMath::c1o9*(-vx1+vx2)); break; - case DIR_P0P: velocity = (UbMath::c1o9*(+vx1+vx3)); break; - case DIR_M0M: velocity = (UbMath::c1o9*(-vx1-vx3)); break; - case DIR_P0M: velocity = (UbMath::c1o9*(+vx1-vx3)); break; - case DIR_M0P: velocity = (UbMath::c1o9*(-vx1+vx3)); break; - case DIR_0PP: velocity = (UbMath::c1o9*(+vx2+vx3)); break; - case DIR_0MM: velocity = (UbMath::c1o9*(-vx2-vx3)); break; - case DIR_0PM: velocity = (UbMath::c1o9*(+vx2-vx3)); break; - case DIR_0MP: velocity = (UbMath::c1o9*(-vx2+vx3)); break; - case DIR_PPP: velocity = (UbMath::c1o36*(+vx1+vx2+vx3)); break; - case DIR_MMM: velocity = (UbMath::c1o36*(-vx1-vx2-vx3)); break; - case DIR_PPM: velocity = (UbMath::c1o36*(+vx1+vx2-vx3)); break; - case DIR_MMP: velocity = (UbMath::c1o36*(-vx1-vx2+vx3)); break; - case DIR_PMP: velocity = (UbMath::c1o36*(+vx1-vx2+vx3)); break; - case DIR_MPM: velocity = (UbMath::c1o36*(-vx1+vx2-vx3)); break; - case DIR_PMM: velocity = (UbMath::c1o36*(+vx1-vx2-vx3)); break; - case DIR_MPP: velocity = (UbMath::c1o36*(-vx1+vx2+vx3)); break; + case DIR_P00: velocity = (vf::lbm::constant::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) + case DIR_M00: velocity = (vf::lbm::constant::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) + case DIR_0P0: velocity = (vf::lbm::constant::c4o9*(+vx2)); break; + case DIR_0M0: velocity = (vf::lbm::constant::c4o9*(-vx2)); break; + case DIR_00P: velocity = (vf::lbm::constant::c4o9*(+vx3)); break; + case DIR_00M: velocity = (vf::lbm::constant::c4o9*(-vx3)); break; + case DIR_PP0: velocity = (vf::lbm::constant::c1o9*(+vx1+vx2)); break; + case DIR_MM0: velocity = (vf::lbm::constant::c1o9*(-vx1-vx2)); break; + case DIR_PM0: velocity = (vf::lbm::constant::c1o9*(+vx1-vx2)); break; + case DIR_MP0: velocity = (vf::lbm::constant::c1o9*(-vx1+vx2)); break; + case DIR_P0P: velocity = (vf::lbm::constant::c1o9*(+vx1+vx3)); break; + case DIR_M0M: velocity = (vf::lbm::constant::c1o9*(-vx1-vx3)); break; + case DIR_P0M: velocity = (vf::lbm::constant::c1o9*(+vx1-vx3)); break; + case DIR_M0P: velocity = (vf::lbm::constant::c1o9*(-vx1+vx3)); break; + case DIR_0PP: velocity = (vf::lbm::constant::c1o9*(+vx2+vx3)); break; + case DIR_0MM: velocity = (vf::lbm::constant::c1o9*(-vx2-vx3)); break; + case DIR_0PM: velocity = (vf::lbm::constant::c1o9*(+vx2-vx3)); break; + case DIR_0MP: velocity = (vf::lbm::constant::c1o9*(-vx2+vx3)); break; + case DIR_PPP: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2+vx3)); break; + case DIR_MMM: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2-vx3)); break; + case DIR_PPM: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2-vx3)); break; + case DIR_MMP: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2+vx3)); break; + case DIR_PMP: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2+vx3)); break; + case DIR_MPM: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2-vx3)); break; + case DIR_PMM: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2-vx3)); break; + case DIR_MPP: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2+vx3)); break; default: throw UbException(UB_EXARGS, "unknown error"); } real fReturn = ((1.0-q)/(1.0+q))*((f[invDir]-feq[invDir])/(1.0-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(1.0+q)); diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCAlgorithm.cpp index cb83cfa029e281c8aa657b10beb949745f4e50ee..efa587d128dbea3ed4403098b4c50328186fddf0 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/NonReflectingOutflowBCAlgorithm.cpp @@ -60,7 +60,8 @@ void NonReflectingOutflowBCAlgorithm::applyBC() using namespace vf::lbm::dir; using namespace D3Q27System; - using namespace UbMath; + // using namespace UbMath; + using namespace vf::lbm::constant; real f[ENDF + 1]; real ftemp[ENDF + 1]; @@ -100,15 +101,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() switch (direction) { case DIR_P00: - f[DIR_P00] = ftemp[DIR_P00] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P00]; - f[DIR_PP0] = ftemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PP0]; - f[DIR_PM0] = ftemp[DIR_PM0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PM0]; - f[DIR_P0P] = ftemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P0P]; - f[DIR_P0M] = ftemp[DIR_P0M] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P0M]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PPP]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PMP]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PPM]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PMM]; + f[DIR_P00] = ftemp[DIR_P00] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P00]; + f[DIR_PP0] = ftemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PP0]; + f[DIR_PM0] = ftemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PM0]; + f[DIR_P0P] = ftemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P0P]; + f[DIR_P0M] = ftemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P0M]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PPP]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PMP]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PPM]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PMM]; distributions->setDistributionInvForDirection(f[DIR_P00], x1 + DX1[DIR_M00], x2 + DX2[DIR_M00], x3 + DX3[DIR_M00], DIR_M00); distributions->setDistributionInvForDirection(f[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -121,15 +122,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_PMM], x1 + DX1[DIR_MPP], x2 + DX2[DIR_MPP], x3 + DX3[DIR_MPP], DIR_MPP); break; case DIR_M00: - f[DIR_M00] = ftemp[DIR_M00] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M00]; - f[DIR_MP0] = ftemp[DIR_MP0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MP0]; - f[DIR_MM0] = ftemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MM0]; - f[DIR_M0P] = ftemp[DIR_M0P] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M0P]; - f[DIR_M0M] = ftemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M0M]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MPP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MMP]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MPM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MMM]; + f[DIR_M00] = ftemp[DIR_M00] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M00]; + f[DIR_MP0] = ftemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MP0]; + f[DIR_MM0] = ftemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MM0]; + f[DIR_M0P] = ftemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M0P]; + f[DIR_M0M] = ftemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M0M]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MPP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MMP]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MPM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_M00], x1 + DX1[DIR_P00], x2 + DX2[DIR_P00], x3 + DX3[DIR_P00], DIR_P00); distributions->setDistributionInvForDirection(f[DIR_MP0], x1 + DX1[DIR_PM0], x2 + DX2[DIR_PM0], x3 + DX3[DIR_PM0], DIR_PM0); @@ -142,15 +143,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_0P0: - f[DIR_0P0] = ftemp[DIR_0P0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0P0]; - f[DIR_PP0] = ftemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PP0]; - f[DIR_MP0] = ftemp[DIR_MP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MP0]; - f[DIR_0PP] = ftemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0PP]; - f[DIR_0PM] = ftemp[DIR_0PM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0PM]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PPP]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MPP]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PPM]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MPM]; + f[DIR_0P0] = ftemp[DIR_0P0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0P0]; + f[DIR_PP0] = ftemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PP0]; + f[DIR_MP0] = ftemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MP0]; + f[DIR_0PP] = ftemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0PP]; + f[DIR_0PM] = ftemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0PM]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PPP]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MPP]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PPM]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MPM]; distributions->setDistributionInvForDirection(f[DIR_0P0], x1 + DX1[DIR_0M0], x2 + DX2[DIR_0M0], x3 + DX3[DIR_0M0], DIR_0M0); distributions->setDistributionInvForDirection(f[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -163,15 +164,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MPM], x1 + DX1[DIR_PMP], x2 + DX2[DIR_PMP], x3 + DX3[DIR_PMP], DIR_PMP); break; case DIR_0M0: - f[DIR_0M0] = ftemp[DIR_0M0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0M0]; - f[DIR_PM0] = ftemp[DIR_PM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PM0]; - f[DIR_MM0] = ftemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MM0]; - f[DIR_0MP] = ftemp[DIR_0MP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0MP]; - f[DIR_0MM] = ftemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0MM]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PMP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MMP]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PMM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MMM]; + f[DIR_0M0] = ftemp[DIR_0M0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0M0]; + f[DIR_PM0] = ftemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PM0]; + f[DIR_MM0] = ftemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MM0]; + f[DIR_0MP] = ftemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0MP]; + f[DIR_0MM] = ftemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0MM]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PMP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MMP]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PMM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_0M0], x1 + DX1[DIR_0P0], x2 + DX2[DIR_0P0], x3 + DX3[DIR_0P0], DIR_0P0); distributions->setDistributionInvForDirection(f[DIR_PM0], x1 + DX1[DIR_MP0], x2 + DX2[DIR_MP0], x3 + DX3[DIR_MP0], DIR_MP0); @@ -184,15 +185,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_00P: - f[DIR_00P] = ftemp[DIR_00P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_00P]; - f[DIR_P0P] = ftemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_P0P]; - f[DIR_M0P] = ftemp[DIR_M0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_M0P]; - f[DIR_0PP] = ftemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_0PP]; - f[DIR_0MP] = ftemp[DIR_0MP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_0MP]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_PPP]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_MPP]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_PMP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_MMP]; + f[DIR_00P] = ftemp[DIR_00P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_00P]; + f[DIR_P0P] = ftemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_P0P]; + f[DIR_M0P] = ftemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_M0P]; + f[DIR_0PP] = ftemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_0PP]; + f[DIR_0MP] = ftemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_0MP]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_PPP]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_MPP]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_PMP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_MMP]; distributions->setDistributionInvForDirection(f[DIR_00P], x1 + DX1[DIR_00M], x2 + DX2[DIR_00M], x3 + DX3[DIR_00M], DIR_00M); distributions->setDistributionInvForDirection(f[DIR_P0P], x1 + DX1[DIR_M0M], x2 + DX2[DIR_M0M], x3 + DX3[DIR_M0M], DIR_M0M); @@ -205,15 +206,15 @@ void NonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMP], x1 + DX1[DIR_PPM], x2 + DX2[DIR_PPM], x3 + DX3[DIR_PPM], DIR_PPM); break; case DIR_00M: - f[DIR_00M] = ftemp[DIR_00M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_00M]; - f[DIR_P0M] = ftemp[DIR_P0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_P0M]; - f[DIR_M0M] = ftemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_M0M]; - f[DIR_0PM] = ftemp[DIR_0PM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_0PM]; - f[DIR_0MM] = ftemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_0MM]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_PPM]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_MPM]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_PMM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_MMM]; + f[DIR_00M] = ftemp[DIR_00M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_00M]; + f[DIR_P0M] = ftemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_P0M]; + f[DIR_M0M] = ftemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_M0M]; + f[DIR_0PM] = ftemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_0PM]; + f[DIR_0MM] = ftemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_0MM]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_PPM]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_MPM]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_PMM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_00M], x1 + DX1[DIR_00P], x2 + DX2[DIR_00P], x3 + DX3[DIR_00P], DIR_00P); distributions->setDistributionInvForDirection(f[DIR_P0M], x1 + DX1[DIR_M0P], x2 + DX2[DIR_M0P], x3 + DX3[DIR_M0P], DIR_M0P); diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCAlgorithm.cpp index e637288d674d8aa881e48bf79e1b38d1bf59e197..5dbe30e7b172e149dcfe812f5ba9297d6caaa3df 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/SimpleSlipBCAlgorithm.cpp @@ -85,32 +85,32 @@ void SimpleSlipBCAlgorithm::applyBC() real velocity = 0.0; switch (invDir) { - case DIR_P00: velocity = (UbMath::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) - case DIR_M00: velocity = (UbMath::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) - case DIR_0P0: velocity = (UbMath::c4o9*(+vx2)); break; - case DIR_0M0: velocity = (UbMath::c4o9*(-vx2)); break; - case DIR_00P: velocity = (UbMath::c4o9*(+vx3)); break; - case DIR_00M: velocity = (UbMath::c4o9*(-vx3)); break; - case DIR_PP0: velocity = (UbMath::c1o9*(+vx1+vx2)); break; - case DIR_MM0: velocity = (UbMath::c1o9*(-vx1-vx2)); break; - case DIR_PM0: velocity = (UbMath::c1o9*(+vx1-vx2)); break; - case DIR_MP0: velocity = (UbMath::c1o9*(-vx1+vx2)); break; - case DIR_P0P: velocity = (UbMath::c1o9*(+vx1+vx3)); break; - case DIR_M0M: velocity = (UbMath::c1o9*(-vx1-vx3)); break; - case DIR_P0M: velocity = (UbMath::c1o9*(+vx1-vx3)); break; - case DIR_M0P: velocity = (UbMath::c1o9*(-vx1+vx3)); break; - case DIR_0PP: velocity = (UbMath::c1o9*(+vx2+vx3)); break; - case DIR_0MM: velocity = (UbMath::c1o9*(-vx2-vx3)); break; - case DIR_0PM: velocity = (UbMath::c1o9*(+vx2-vx3)); break; - case DIR_0MP: velocity = (UbMath::c1o9*(-vx2+vx3)); break; - case DIR_PPP: velocity = (UbMath::c1o36*(+vx1+vx2+vx3)); break; - case DIR_MMM: velocity = (UbMath::c1o36*(-vx1-vx2-vx3)); break; - case DIR_PPM: velocity = (UbMath::c1o36*(+vx1+vx2-vx3)); break; - case DIR_MMP: velocity = (UbMath::c1o36*(-vx1-vx2+vx3)); break; - case DIR_PMP: velocity = (UbMath::c1o36*(+vx1-vx2+vx3)); break; - case DIR_MPM: velocity = (UbMath::c1o36*(-vx1+vx2-vx3)); break; - case DIR_PMM: velocity = (UbMath::c1o36*(+vx1-vx2-vx3)); break; - case DIR_MPP: velocity = (UbMath::c1o36*(-vx1+vx2+vx3)); break; + case DIR_P00: velocity = (vf::lbm::constant::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) + case DIR_M00: velocity = (vf::lbm::constant::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) + case DIR_0P0: velocity = (vf::lbm::constant::c4o9*(+vx2)); break; + case DIR_0M0: velocity = (vf::lbm::constant::c4o9*(-vx2)); break; + case DIR_00P: velocity = (vf::lbm::constant::c4o9*(+vx3)); break; + case DIR_00M: velocity = (vf::lbm::constant::c4o9*(-vx3)); break; + case DIR_PP0: velocity = (vf::lbm::constant::c1o9*(+vx1+vx2)); break; + case DIR_MM0: velocity = (vf::lbm::constant::c1o9*(-vx1-vx2)); break; + case DIR_PM0: velocity = (vf::lbm::constant::c1o9*(+vx1-vx2)); break; + case DIR_MP0: velocity = (vf::lbm::constant::c1o9*(-vx1+vx2)); break; + case DIR_P0P: velocity = (vf::lbm::constant::c1o9*(+vx1+vx3)); break; + case DIR_M0M: velocity = (vf::lbm::constant::c1o9*(-vx1-vx3)); break; + case DIR_P0M: velocity = (vf::lbm::constant::c1o9*(+vx1-vx3)); break; + case DIR_M0P: velocity = (vf::lbm::constant::c1o9*(-vx1+vx3)); break; + case DIR_0PP: velocity = (vf::lbm::constant::c1o9*(+vx2+vx3)); break; + case DIR_0MM: velocity = (vf::lbm::constant::c1o9*(-vx2-vx3)); break; + case DIR_0PM: velocity = (vf::lbm::constant::c1o9*(+vx2-vx3)); break; + case DIR_0MP: velocity = (vf::lbm::constant::c1o9*(-vx2+vx3)); break; + case DIR_PPP: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2+vx3)); break; + case DIR_MMM: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2-vx3)); break; + case DIR_PPM: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2-vx3)); break; + case DIR_MMP: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2+vx3)); break; + case DIR_PMP: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2+vx3)); break; + case DIR_MPM: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2-vx3)); break; + case DIR_PMM: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2-vx3)); break; + case DIR_MPP: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2+vx3)); break; default: throw UbException(UB_EXARGS, "unknown error"); } real fReturn = f[invDir] - velocity * rho; diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCAlgorithm.cpp index 2ef5eaae43c8f1a0a5c779bd98b00479f1cf3f1f..ec90ef01246a7ac2001e21ce3646981e61f68f96 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/SlipBCAlgorithm.cpp @@ -49,32 +49,32 @@ void SlipBCAlgorithm::applyBC() real velocity = 0.0; switch (invDir) { - case DIR_P00: velocity = (UbMath::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) - case DIR_M00: velocity = (UbMath::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) - case DIR_0P0: velocity = (UbMath::c4o9*(+vx2)); break; - case DIR_0M0: velocity = (UbMath::c4o9*(-vx2)); break; - case DIR_00P: velocity = (UbMath::c4o9*(+vx3)); break; - case DIR_00M: velocity = (UbMath::c4o9*(-vx3)); break; - case DIR_PP0: velocity = (UbMath::c1o9*(+vx1+vx2)); break; - case DIR_MM0: velocity = (UbMath::c1o9*(-vx1-vx2)); break; - case DIR_PM0: velocity = (UbMath::c1o9*(+vx1-vx2)); break; - case DIR_MP0: velocity = (UbMath::c1o9*(-vx1+vx2)); break; - case DIR_P0P: velocity = (UbMath::c1o9*(+vx1+vx3)); break; - case DIR_M0M: velocity = (UbMath::c1o9*(-vx1-vx3)); break; - case DIR_P0M: velocity = (UbMath::c1o9*(+vx1-vx3)); break; - case DIR_M0P: velocity = (UbMath::c1o9*(-vx1+vx3)); break; - case DIR_0PP: velocity = (UbMath::c1o9*(+vx2+vx3)); break; - case DIR_0MM: velocity = (UbMath::c1o9*(-vx2-vx3)); break; - case DIR_0PM: velocity = (UbMath::c1o9*(+vx2-vx3)); break; - case DIR_0MP: velocity = (UbMath::c1o9*(-vx2+vx3)); break; - case DIR_PPP: velocity = (UbMath::c1o36*(+vx1+vx2+vx3)); break; - case DIR_MMM: velocity = (UbMath::c1o36*(-vx1-vx2-vx3)); break; - case DIR_PPM: velocity = (UbMath::c1o36*(+vx1+vx2-vx3)); break; - case DIR_MMP: velocity = (UbMath::c1o36*(-vx1-vx2+vx3)); break; - case DIR_PMP: velocity = (UbMath::c1o36*(+vx1-vx2+vx3)); break; - case DIR_MPM: velocity = (UbMath::c1o36*(-vx1+vx2-vx3)); break; - case DIR_PMM: velocity = (UbMath::c1o36*(+vx1-vx2-vx3)); break; - case DIR_MPP: velocity = (UbMath::c1o36*(-vx1+vx2+vx3)); break; + case DIR_P00: velocity = (vf::lbm::constant::c4o9*(+vx1)); break; //(2/cs^2)(=6)*rho_0(=1 bei imkompr)*wi*u*ei mit cs=1/sqrt(3) + case DIR_M00: velocity = (vf::lbm::constant::c4o9*(-vx1)); break; //z.B. aus paper manfred MRT LB models in three dimensions (2002) + case DIR_0P0: velocity = (vf::lbm::constant::c4o9*(+vx2)); break; + case DIR_0M0: velocity = (vf::lbm::constant::c4o9*(-vx2)); break; + case DIR_00P: velocity = (vf::lbm::constant::c4o9*(+vx3)); break; + case DIR_00M: velocity = (vf::lbm::constant::c4o9*(-vx3)); break; + case DIR_PP0: velocity = (vf::lbm::constant::c1o9*(+vx1+vx2)); break; + case DIR_MM0: velocity = (vf::lbm::constant::c1o9*(-vx1-vx2)); break; + case DIR_PM0: velocity = (vf::lbm::constant::c1o9*(+vx1-vx2)); break; + case DIR_MP0: velocity = (vf::lbm::constant::c1o9*(-vx1+vx2)); break; + case DIR_P0P: velocity = (vf::lbm::constant::c1o9*(+vx1+vx3)); break; + case DIR_M0M: velocity = (vf::lbm::constant::c1o9*(-vx1-vx3)); break; + case DIR_P0M: velocity = (vf::lbm::constant::c1o9*(+vx1-vx3)); break; + case DIR_M0P: velocity = (vf::lbm::constant::c1o9*(-vx1+vx3)); break; + case DIR_0PP: velocity = (vf::lbm::constant::c1o9*(+vx2+vx3)); break; + case DIR_0MM: velocity = (vf::lbm::constant::c1o9*(-vx2-vx3)); break; + case DIR_0PM: velocity = (vf::lbm::constant::c1o9*(+vx2-vx3)); break; + case DIR_0MP: velocity = (vf::lbm::constant::c1o9*(-vx2+vx3)); break; + case DIR_PPP: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2+vx3)); break; + case DIR_MMM: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2-vx3)); break; + case DIR_PPM: velocity = (vf::lbm::constant::c1o36*(+vx1+vx2-vx3)); break; + case DIR_MMP: velocity = (vf::lbm::constant::c1o36*(-vx1-vx2+vx3)); break; + case DIR_PMP: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2+vx3)); break; + case DIR_MPM: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2-vx3)); break; + case DIR_PMM: velocity = (vf::lbm::constant::c1o36*(+vx1-vx2-vx3)); break; + case DIR_MPP: velocity = (vf::lbm::constant::c1o36*(-vx1+vx2+vx3)); break; default: throw UbException(UB_EXARGS, "unknown error"); } real fReturn = ((1.0-q)/(1.0+q))*((f[invDir]-feq[invDir])/(1.0-collFactor)+feq[invDir])+((q*(f[invDir]+f[fdir])-velocity*rho)/(1.0+q)); diff --git a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThixotropyNonReflectingOutflowBCAlgorithm.cpp b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThixotropyNonReflectingOutflowBCAlgorithm.cpp index 065efee74bfccba8251d23d164abf433c7175f74..8124520338db470a080df868df39df0b8b9d66ed 100644 --- a/src/cpu/VirtualFluidsCore/BoundaryConditions/ThixotropyNonReflectingOutflowBCAlgorithm.cpp +++ b/src/cpu/VirtualFluidsCore/BoundaryConditions/ThixotropyNonReflectingOutflowBCAlgorithm.cpp @@ -98,15 +98,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() switch (direction) { case DIR_P00: - f[DIR_P00] = ftemp[DIR_P00] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P00]; - f[DIR_PP0] = ftemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PP0]; - f[DIR_PM0] = ftemp[DIR_PM0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PM0]; - f[DIR_P0P] = ftemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P0P]; - f[DIR_P0M] = ftemp[DIR_P0M] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_P0M]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PPP]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PMP]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PPM]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * f[DIR_PMM]; + f[DIR_P00] = ftemp[DIR_P00] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P00]; + f[DIR_PP0] = ftemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PP0]; + f[DIR_PM0] = ftemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PM0]; + f[DIR_P0P] = ftemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P0P]; + f[DIR_P0M] = ftemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_P0M]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PPP]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PMP]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PPM]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * f[DIR_PMM]; distributions->setDistributionInvForDirection(f[DIR_P00], x1 + DX1[DIR_M00], x2 + DX2[DIR_M00], x3 + DX3[DIR_M00], DIR_M00); distributions->setDistributionInvForDirection(f[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -119,15 +119,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_PMM], x1 + DX1[DIR_MPP], x2 + DX2[DIR_MPP], x3 + DX3[DIR_MPP], DIR_MPP); break; case DIR_M00: - f[DIR_M00] = ftemp[DIR_M00] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M00]; - f[DIR_MP0] = ftemp[DIR_MP0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MP0]; - f[DIR_MM0] = ftemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MM0]; - f[DIR_M0P] = ftemp[DIR_M0P] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M0P]; - f[DIR_M0M] = ftemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_M0M]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MPP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MMP]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MPM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * f[DIR_MMM]; + f[DIR_M00] = ftemp[DIR_M00] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M00]; + f[DIR_MP0] = ftemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MP0]; + f[DIR_MM0] = ftemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MM0]; + f[DIR_M0P] = ftemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M0P]; + f[DIR_M0M] = ftemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_M0M]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MPP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MMP]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MPM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_M00], x1 + DX1[DIR_P00], x2 + DX2[DIR_P00], x3 + DX3[DIR_P00], DIR_P00); distributions->setDistributionInvForDirection(f[DIR_MP0], x1 + DX1[DIR_PM0], x2 + DX2[DIR_PM0], x3 + DX3[DIR_PM0], DIR_PM0); @@ -140,15 +140,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_0P0: - f[DIR_0P0] = ftemp[DIR_0P0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0P0]; - f[DIR_PP0] = ftemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PP0]; - f[DIR_MP0] = ftemp[DIR_MP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MP0]; - f[DIR_0PP] = ftemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0PP]; - f[DIR_0PM] = ftemp[DIR_0PM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_0PM]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PPP]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MPP]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_PPM]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * f[DIR_MPM]; + f[DIR_0P0] = ftemp[DIR_0P0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0P0]; + f[DIR_PP0] = ftemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PP0]; + f[DIR_MP0] = ftemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MP0]; + f[DIR_0PP] = ftemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0PP]; + f[DIR_0PM] = ftemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_0PM]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PPP]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MPP]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_PPM]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * f[DIR_MPM]; distributions->setDistributionInvForDirection(f[DIR_0P0], x1 + DX1[DIR_0M0], x2 + DX2[DIR_0M0], x3 + DX3[DIR_0M0], DIR_0M0); distributions->setDistributionInvForDirection(f[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -161,15 +161,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MPM], x1 + DX1[DIR_PMP], x2 + DX2[DIR_PMP], x3 + DX3[DIR_PMP], DIR_PMP); break; case DIR_0M0: - f[DIR_0M0] = ftemp[DIR_0M0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0M0]; - f[DIR_PM0] = ftemp[DIR_PM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PM0]; - f[DIR_MM0] = ftemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MM0]; - f[DIR_0MP] = ftemp[DIR_0MP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0MP]; - f[DIR_0MM] = ftemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_0MM]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PMP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MMP]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_PMM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * f[DIR_MMM]; + f[DIR_0M0] = ftemp[DIR_0M0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0M0]; + f[DIR_PM0] = ftemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PM0]; + f[DIR_MM0] = ftemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MM0]; + f[DIR_0MP] = ftemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0MP]; + f[DIR_0MM] = ftemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_0MM]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PMP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MMP]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_PMM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_0M0], x1 + DX1[DIR_0P0], x2 + DX2[DIR_0P0], x3 + DX3[DIR_0P0], DIR_0P0); distributions->setDistributionInvForDirection(f[DIR_PM0], x1 + DX1[DIR_MP0], x2 + DX2[DIR_MP0], x3 + DX3[DIR_MP0], DIR_MP0); @@ -182,15 +182,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_00P: - f[DIR_00P] = ftemp[DIR_00P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_00P]; - f[DIR_P0P] = ftemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_P0P]; - f[DIR_M0P] = ftemp[DIR_M0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_M0P]; - f[DIR_0PP] = ftemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_0PP]; - f[DIR_0MP] = ftemp[DIR_0MP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_0MP]; - f[DIR_PPP] = ftemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_PPP]; - f[DIR_MPP] = ftemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_MPP]; - f[DIR_PMP] = ftemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_PMP]; - f[DIR_MMP] = ftemp[DIR_MMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * f[DIR_MMP]; + f[DIR_00P] = ftemp[DIR_00P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_00P]; + f[DIR_P0P] = ftemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_P0P]; + f[DIR_M0P] = ftemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_M0P]; + f[DIR_0PP] = ftemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_0PP]; + f[DIR_0MP] = ftemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_0MP]; + f[DIR_PPP] = ftemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_PPP]; + f[DIR_MPP] = ftemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_MPP]; + f[DIR_PMP] = ftemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_PMP]; + f[DIR_MMP] = ftemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * f[DIR_MMP]; distributions->setDistributionInvForDirection(f[DIR_00P], x1 + DX1[DIR_00M], x2 + DX2[DIR_00M], x3 + DX3[DIR_00M], DIR_00M); distributions->setDistributionInvForDirection(f[DIR_P0P], x1 + DX1[DIR_M0M], x2 + DX2[DIR_M0M], x3 + DX3[DIR_M0M], DIR_M0M); @@ -203,15 +203,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributions->setDistributionInvForDirection(f[DIR_MMP], x1 + DX1[DIR_PPM], x2 + DX2[DIR_PPM], x3 + DX3[DIR_PPM], DIR_PPM); break; case DIR_00M: - f[DIR_00M] = ftemp[DIR_00M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_00M]; - f[DIR_P0M] = ftemp[DIR_P0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_P0M]; - f[DIR_M0M] = ftemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_M0M]; - f[DIR_0PM] = ftemp[DIR_0PM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_0PM]; - f[DIR_0MM] = ftemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_0MM]; - f[DIR_PPM] = ftemp[DIR_PPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_PPM]; - f[DIR_MPM] = ftemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_MPM]; - f[DIR_PMM] = ftemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_PMM]; - f[DIR_MMM] = ftemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * f[DIR_MMM]; + f[DIR_00M] = ftemp[DIR_00M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_00M]; + f[DIR_P0M] = ftemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_P0M]; + f[DIR_M0M] = ftemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_M0M]; + f[DIR_0PM] = ftemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_0PM]; + f[DIR_0MM] = ftemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_0MM]; + f[DIR_PPM] = ftemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_PPM]; + f[DIR_MPM] = ftemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_MPM]; + f[DIR_PMM] = ftemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_PMM]; + f[DIR_MMM] = ftemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * f[DIR_MMM]; distributions->setDistributionInvForDirection(f[DIR_00M], x1 + DX1[DIR_00P], x2 + DX2[DIR_00P], x3 + DX3[DIR_00P], DIR_00P); distributions->setDistributionInvForDirection(f[DIR_P0M], x1 + DX1[DIR_M0P], x2 + DX2[DIR_M0P], x3 + DX3[DIR_M0P], DIR_M0P); @@ -242,15 +242,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() switch (direction) { case DIR_P00: - h[DIR_P00] = htemp[DIR_P00] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_P00]; - h[DIR_PP0] = htemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PP0]; - h[DIR_PM0] = htemp[DIR_PM0] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PM0]; - h[DIR_P0P] = htemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_P0P]; - h[DIR_P0M] = htemp[DIR_P0M] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_P0M]; - h[DIR_PPP] = htemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PPP]; - h[DIR_PMP] = htemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PMP]; - h[DIR_PPM] = htemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PPM]; - h[DIR_PMM] = htemp[DIR_PMM] * (UbMath::one_over_sqrt3 + vx1) + (1.0 - UbMath::one_over_sqrt3 - vx1) * h[DIR_PMM]; + h[DIR_P00] = htemp[DIR_P00] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_P00]; + h[DIR_PP0] = htemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PP0]; + h[DIR_PM0] = htemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PM0]; + h[DIR_P0P] = htemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_P0P]; + h[DIR_P0M] = htemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_P0M]; + h[DIR_PPP] = htemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PPP]; + h[DIR_PMP] = htemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PMP]; + h[DIR_PPM] = htemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PPM]; + h[DIR_PMM] = htemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 + vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx1) * h[DIR_PMM]; distributionsH->setDistributionInvForDirection(h[DIR_P00], x1 + DX1[DIR_M00], x2 + DX2[DIR_M00], x3 + DX3[DIR_M00], DIR_M00); distributionsH->setDistributionInvForDirection(h[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -263,15 +263,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributionsH->setDistributionInvForDirection(h[DIR_PMM], x1 + DX1[DIR_MPP], x2 + DX2[DIR_MPP], x3 + DX3[DIR_MPP], DIR_MPP); break; case DIR_M00: - h[DIR_M00] = htemp[DIR_M00] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_M00]; - h[DIR_MP0] = htemp[DIR_MP0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MP0]; - h[DIR_MM0] = htemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MM0]; - h[DIR_M0P] = htemp[DIR_M0P] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_M0P]; - h[DIR_M0M] = htemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_M0M]; - h[DIR_MPP] = htemp[DIR_MPP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MPP]; - h[DIR_MMP] = htemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MMP]; - h[DIR_MPM] = htemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MPM]; - h[DIR_MMM] = htemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx1) + (1.0 - UbMath::one_over_sqrt3 + vx1) * h[DIR_MMM]; + h[DIR_M00] = htemp[DIR_M00] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_M00]; + h[DIR_MP0] = htemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MP0]; + h[DIR_MM0] = htemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MM0]; + h[DIR_M0P] = htemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_M0P]; + h[DIR_M0M] = htemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_M0M]; + h[DIR_MPP] = htemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MPP]; + h[DIR_MMP] = htemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MMP]; + h[DIR_MPM] = htemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MPM]; + h[DIR_MMM] = htemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx1) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx1) * h[DIR_MMM]; distributionsH->setDistributionInvForDirection(h[DIR_M00], x1 + DX1[DIR_P00], x2 + DX2[DIR_P00], x3 + DX3[DIR_P00], DIR_P00); distributionsH->setDistributionInvForDirection(h[DIR_MP0], x1 + DX1[DIR_PM0], x2 + DX2[DIR_PM0], x3 + DX3[DIR_PM0], DIR_PM0); @@ -284,15 +284,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributionsH->setDistributionInvForDirection(h[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_0P0: - h[DIR_0P0] = htemp[DIR_0P0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_0P0]; - h[DIR_PP0] = htemp[DIR_PP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_PP0]; - h[DIR_MP0] = htemp[DIR_MP0] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_MP0]; - h[DIR_0PP] = htemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_0PP]; - h[DIR_0PM] = htemp[DIR_0PM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_0PM]; - h[DIR_PPP] = htemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_PPP]; - h[DIR_MPP] = htemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_MPP]; - h[DIR_PPM] = htemp[DIR_PPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_PPM]; - h[DIR_MPM] = htemp[DIR_MPM] * (UbMath::one_over_sqrt3 + vx2) + (1.0 - UbMath::one_over_sqrt3 - vx2) * h[DIR_MPM]; + h[DIR_0P0] = htemp[DIR_0P0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_0P0]; + h[DIR_PP0] = htemp[DIR_PP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_PP0]; + h[DIR_MP0] = htemp[DIR_MP0] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_MP0]; + h[DIR_0PP] = htemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_0PP]; + h[DIR_0PM] = htemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_0PM]; + h[DIR_PPP] = htemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_PPP]; + h[DIR_MPP] = htemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_MPP]; + h[DIR_PPM] = htemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_PPM]; + h[DIR_MPM] = htemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 + vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx2) * h[DIR_MPM]; distributionsH->setDistributionInvForDirection(h[DIR_0P0], x1 + DX1[DIR_0M0], x2 + DX2[DIR_0M0], x3 + DX3[DIR_0M0], DIR_0M0); distributionsH->setDistributionInvForDirection(h[DIR_PP0], x1 + DX1[DIR_MM0], x2 + DX2[DIR_MM0], x3 + DX3[DIR_MM0], DIR_MM0); @@ -305,15 +305,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributionsH->setDistributionInvForDirection(h[DIR_MPM], x1 + DX1[DIR_PMP], x2 + DX2[DIR_PMP], x3 + DX3[DIR_PMP], DIR_PMP); break; case DIR_0M0: - h[DIR_0M0] = htemp[DIR_0M0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_0M0]; - h[DIR_PM0] = htemp[DIR_PM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_PM0]; - h[DIR_MM0] = htemp[DIR_MM0] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_MM0]; - h[DIR_0MP] = htemp[DIR_0MP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_0MP]; - h[DIR_0MM] = htemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_0MM]; - h[DIR_PMP] = htemp[DIR_PMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_PMP]; - h[DIR_MMP] = htemp[DIR_MMP] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_MMP]; - h[DIR_PMM] = htemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_PMM]; - h[DIR_MMM] = htemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx2) + (1.0 - UbMath::one_over_sqrt3 + vx2) * h[DIR_MMM]; + h[DIR_0M0] = htemp[DIR_0M0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_0M0]; + h[DIR_PM0] = htemp[DIR_PM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_PM0]; + h[DIR_MM0] = htemp[DIR_MM0] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_MM0]; + h[DIR_0MP] = htemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_0MP]; + h[DIR_0MM] = htemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_0MM]; + h[DIR_PMP] = htemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_PMP]; + h[DIR_MMP] = htemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_MMP]; + h[DIR_PMM] = htemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_PMM]; + h[DIR_MMM] = htemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx2) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx2) * h[DIR_MMM]; distributionsH->setDistributionInvForDirection(h[DIR_0M0], x1 + DX1[DIR_0P0], x2 + DX2[DIR_0P0], x3 + DX3[DIR_0P0], DIR_0P0); distributionsH->setDistributionInvForDirection(h[DIR_PM0], x1 + DX1[DIR_MP0], x2 + DX2[DIR_MP0], x3 + DX3[DIR_MP0], DIR_MP0); @@ -326,15 +326,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributionsH->setDistributionInvForDirection(h[DIR_MMM], x1 + DX1[DIR_PPP], x2 + DX2[DIR_PPP], x3 + DX3[DIR_PPP], DIR_PPP); break; case DIR_00P: - h[DIR_00P] = htemp[DIR_00P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_00P]; - h[DIR_P0P] = htemp[DIR_P0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_P0P]; - h[DIR_M0P] = htemp[DIR_M0P] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_M0P]; - h[DIR_0PP] = htemp[DIR_0PP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_0PP]; - h[DIR_0MP] = htemp[DIR_0MP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_0MP]; - h[DIR_PPP] = htemp[DIR_PPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_PPP]; - h[DIR_MPP] = htemp[DIR_MPP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_MPP]; - h[DIR_PMP] = htemp[DIR_PMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_PMP]; - h[DIR_MMP] = htemp[DIR_MMP] * (UbMath::one_over_sqrt3 + vx3) + (1.0 - UbMath::one_over_sqrt3 - vx3) * h[DIR_MMP]; + h[DIR_00P] = htemp[DIR_00P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_00P]; + h[DIR_P0P] = htemp[DIR_P0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_P0P]; + h[DIR_M0P] = htemp[DIR_M0P] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_M0P]; + h[DIR_0PP] = htemp[DIR_0PP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_0PP]; + h[DIR_0MP] = htemp[DIR_0MP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_0MP]; + h[DIR_PPP] = htemp[DIR_PPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_PPP]; + h[DIR_MPP] = htemp[DIR_MPP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_MPP]; + h[DIR_PMP] = htemp[DIR_PMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_PMP]; + h[DIR_MMP] = htemp[DIR_MMP] * (vf::lbm::constant::one_over_sqrt3 + vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 - vx3) * h[DIR_MMP]; distributionsH->setDistributionInvForDirection(h[DIR_00P], x1 + DX1[DIR_00M], x2 + DX2[DIR_00M], x3 + DX3[DIR_00M], DIR_00M); distributionsH->setDistributionInvForDirection(h[DIR_P0P], x1 + DX1[DIR_M0M], x2 + DX2[DIR_M0M], x3 + DX3[DIR_M0M], DIR_M0M); @@ -347,15 +347,15 @@ void ThixotropyNonReflectingOutflowBCAlgorithm::applyBC() distributionsH->setDistributionInvForDirection(h[DIR_MMP], x1 + DX1[DIR_PPM], x2 + DX2[DIR_PPM], x3 + DX3[DIR_PPM], DIR_PPM); break; case DIR_00M: - h[DIR_00M] = htemp[DIR_00M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_00M]; - h[DIR_P0M] = htemp[DIR_P0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_P0M]; - h[DIR_M0M] = htemp[DIR_M0M] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_M0M]; - h[DIR_0PM] = htemp[DIR_0PM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_0PM]; - h[DIR_0MM] = htemp[DIR_0MM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_0MM]; - h[DIR_PPM] = htemp[DIR_PPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_PPM]; - h[DIR_MPM] = htemp[DIR_MPM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_MPM]; - h[DIR_PMM] = htemp[DIR_PMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_PMM]; - h[DIR_MMM] = htemp[DIR_MMM] * (UbMath::one_over_sqrt3 - vx3) + (1.0 - UbMath::one_over_sqrt3 + vx3) * h[DIR_MMM]; + h[DIR_00M] = htemp[DIR_00M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_00M]; + h[DIR_P0M] = htemp[DIR_P0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_P0M]; + h[DIR_M0M] = htemp[DIR_M0M] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_M0M]; + h[DIR_0PM] = htemp[DIR_0PM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_0PM]; + h[DIR_0MM] = htemp[DIR_0MM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_0MM]; + h[DIR_PPM] = htemp[DIR_PPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_PPM]; + h[DIR_MPM] = htemp[DIR_MPM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_MPM]; + h[DIR_PMM] = htemp[DIR_PMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_PMM]; + h[DIR_MMM] = htemp[DIR_MMM] * (vf::lbm::constant::one_over_sqrt3 - vx3) + (1.0 - vf::lbm::constant::one_over_sqrt3 + vx3) * h[DIR_MMM]; distributionsH->setDistributionInvForDirection(h[DIR_00M], x1 + DX1[DIR_00P], x2 + DX2[DIR_00P], x3 + DX3[DIR_00P], DIR_00P); distributionsH->setDistributionInvForDirection(h[DIR_P0M], x1 + DX1[DIR_M0P], x2 + DX2[DIR_M0P], x3 + DX3[DIR_M0P], DIR_M0P); diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMultiphaseQuantitiesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMultiphaseQuantitiesCoProcessor.cpp index b42fe290fb91a3a16bfbce85eb8e34231640a962..ffc32b9535e477bf2f8de080f8bf45545cb336dd 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteMultiphaseQuantitiesCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteMultiphaseQuantitiesCoProcessor.cpp @@ -147,8 +147,9 @@ void WriteMultiphaseQuantitiesCoProcessor::clearData() void WriteMultiphaseQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block) { using namespace D3Q27System; - using namespace UbMath; + // using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; SPtr<LBMKernel> kernel = dynamicPointerCast<LBMKernel>(block->getKernel()); //double level = (double)block->getLevel(); diff --git a/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp b/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp index 2a44a192980b3eb7229b996439e0e52a28a0dd83..4e764c36350bbe234f4f50851a85fc35e5336049 100644 --- a/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/CoProcessors/WriteThixotropyQuantitiesCoProcessor.cpp @@ -248,7 +248,7 @@ void WriteThixotropyQuantitiesCoProcessor::addDataMQ(SPtr<Block3D> block) //LBMReal omega = Rheology::getHerschelBulkleyCollFactor(collFactor, shearRate, rho); //LBMReal omega = Rheology::getPowellEyringCollFactor(collFactor, shearRate, rho); real omega = Rheology::getBinghamCollFactor(collFactor, shearRate, rho); - real viscosity = (omega == 0) ? 0 : UbMath::c1o3 * (UbMath::c1/omega-UbMath::c1o2); + real viscosity = (omega == 0) ? 0 : vf::lbm::constant::c1o3 * (vf::lbm::constant::c1o1/omega- vf::lbm::constant::c1o2); data[index++].push_back(viscosity); diff --git a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp index 54c7d6e34a3591b84c74a05a4a5f2488903061b0..a214b4bd0137b2bf319925b519f1dcb77fabded4 100644 --- a/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp +++ b/src/cpu/VirtualFluidsCore/Grid/Grid3D.cpp @@ -45,6 +45,7 @@ #include "D3Q27System.h" #include <Block3D.h> #include <Communicator.h> +#include "UbMath.h" using namespace std; diff --git a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp index d949184922a5ca94c650a958ae3a675c3e345d40..06d0daffd5814f7956125c58c40e7122bf4878f0 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp @@ -90,8 +90,8 @@ void D3Q27Interactor::initRayVectors() using namespace vf::lbm::dir; int fdir; - real c1oS2 = UbMath::one_over_sqrt2; - real c1oS3 = UbMath::one_over_sqrt3; + real c1oS2 = vf::lbm::constant::one_over_sqrt2; + real c1oS3 = vf::lbm::constant::one_over_sqrt3; fdir = DIR_P00; rayX1[fdir] = 1.0; rayX2[fdir] = 0.0; @@ -330,19 +330,19 @@ bool D3Q27Interactor::setDifferencesToGbObject3D(const SPtr<Block3D> block) throw UbException( UB_EXARGS, "fuer den bei LB nicht vorkommenden Fall deltaX1!=deltaX2!=deltaX3 nicht implementiert "); - vector<real> distNeigh(D3Q27System::FENDDIR + 1, UbMath::sqrt2 * deltaX1); + vector<real> distNeigh(D3Q27System::FENDDIR + 1, vf::lbm::constant::sqrt2 * deltaX1); distNeigh[DIR_P00] = distNeigh[DIR_M00] = distNeigh[DIR_0P0] = deltaX1; distNeigh[DIR_0M0] = distNeigh[DIR_00P] = distNeigh[DIR_00M] = deltaX1; distNeigh[DIR_PP0] = distNeigh[DIR_MP0] = distNeigh[DIR_MM0] = - distNeigh[DIR_PM0] = UbMath::sqrt2 * deltaX1; + distNeigh[DIR_PM0] = vf::lbm::constant::sqrt2 * deltaX1; distNeigh[DIR_P0P] = distNeigh[DIR_0PP] = distNeigh[DIR_M0P] = - distNeigh[DIR_0MP] = UbMath::sqrt2 * deltaX1; + distNeigh[DIR_0MP] = vf::lbm::constant::sqrt2 * deltaX1; distNeigh[DIR_P0M] = distNeigh[DIR_0PM] = distNeigh[DIR_M0M] = - distNeigh[DIR_0MM] = UbMath::sqrt2 * deltaX1; + distNeigh[DIR_0MM] = vf::lbm::constant::sqrt2 * deltaX1; distNeigh[DIR_PPP] = distNeigh[DIR_MPP] = distNeigh[DIR_PMP] = - distNeigh[DIR_MMP] = UbMath::sqrt3 * deltaX1; + distNeigh[DIR_MMP] = vf::lbm::constant::sqrt3 * deltaX1; distNeigh[DIR_PPM] = distNeigh[DIR_MPM] = distNeigh[DIR_PMM] = - distNeigh[DIR_MMM] = UbMath::sqrt3 * deltaX1; + distNeigh[DIR_MMM] = vf::lbm::constant::sqrt3 * deltaX1; real q; bool pointOnBoundary = false; diff --git a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp index e230860a349ebefdc41b5ef792196a6e257cb16a..e08a0283339b6e5976c7439ea2b64142c00ef7c4 100644 --- a/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp +++ b/src/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp @@ -34,7 +34,7 @@ #include "Interactor3D.h" #include "UbException.h" -#include <basics/utilities/UbMath.h> +//#include <basics/utilities/UbMath.h> #include <fstream> #include <geometry3d/GbCuboid3D.h> diff --git a/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp index 1ce1ef093684bfaddf8f547d053779a26d8f07f9..ffe11c011334da5fe8b3f7050ff817245f85e0a1 100644 --- a/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/BGKLBMKernel.cpp @@ -6,6 +6,7 @@ #include "D3Q27System.h" #include "DataSet3D.h" #include "Block3D.h" +#include "lbm/constants/NumericConstants.h" #define PROOF_CORRECTNESS @@ -40,8 +41,9 @@ SPtr<LBMKernel> BGKLBMKernel::clone() void BGKLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; - using namespace vf::lbm::dir; + // using namespace UbMath; + using namespace vf::lbm::constant; + using namespace vf::lbm::dir; // initializing of forcing stuff if (withForcing) { diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp index efeca740f3e3c2f01d00d28d02f3db1c0bc66c8b..45cc9651ca25dcd0b0904b753f6f1899a7a09d00 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulant4thOrderViscosityLBMKernel.cpp @@ -9,7 +9,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// CompressibleCumulant4thOrderViscosityLBMKernel::CompressibleCumulant4thOrderViscosityLBMKernel() @@ -49,7 +50,7 @@ SPtr<LBMKernel> CompressibleCumulant4thOrderViscosityLBMKernel::clone() } else { - OxxPyyPzz = one; + OxxPyyPzz = c1o1; } dynamicPointerCast<CompressibleCumulant4thOrderViscosityLBMKernel>(kernel)->OxxPyyPzz = this->OxxPyyPzz; @@ -187,7 +188,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) (((mfbac+mfbca)+(mfbaa+mfbcc))+((mfabc+mfcba)+(mfaba+mfcbc))+((mfacb+mfcab)+(mfaab+mfccb)))+ ((mfabb+mfcbb)+(mfbab+mfbcb))+(mfbba+mfbbc))+mfbbb; - real rho = one+drho; + real rho = c1o1 +drho; //////////////////////////////////////////////////////////////////////////////////// real vvx = ((((mfccc-mfaaa)+(mfcac-mfaca))+((mfcaa-mfacc)+(mfcca-mfaac)))+ (((mfcba-mfabc)+(mfcbc-mfaba))+((mfcab-mfacb)+(mfccb-mfaab)))+ @@ -218,7 +219,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) } /////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - real oMdrho = one; // comp special + real oMdrho = c1o1; // comp special //////////////////////////////////////////////////////////////////////////////////// real m0, m1, m2; real vx2; @@ -247,7 +248,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaaa = m0; m0 += c1o36 * oMdrho; mfaab = m1-m0 * vvz; - mfaac = m2-two* m1 * vvz+vz2 * m0; + mfaac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfabc; m1 = mfabc-mfaba; @@ -255,7 +256,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaba = m0; m0 += c1o9 * oMdrho; mfabb = m1-m0 * vvz; - mfabc = m2-two* m1 * vvz+vz2 * m0; + mfabc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfacc; m1 = mfacc-mfaca; @@ -263,7 +264,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaca = m0; m0 += c1o36 * oMdrho; mfacb = m1-m0 * vvz; - mfacc = m2-two* m1 * vvz+vz2 * m0; + mfacc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbac; @@ -272,7 +273,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfbaa = m0; m0 += c1o9 * oMdrho; mfbab = m1-m0 * vvz; - mfbac = m2-two* m1 * vvz+vz2 * m0; + mfbac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbba+mfbbc; m1 = mfbbc-mfbba; @@ -280,7 +281,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfbba = m0; m0 += c4o9 * oMdrho; mfbbb = m1-m0 * vvz; - mfbbc = m2-two* m1 * vvz+vz2 * m0; + mfbbc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbca+mfbcc; m1 = mfbcc-mfbca; @@ -288,7 +289,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfbca = m0; m0 += c1o9 * oMdrho; mfbcb = m1-m0 * vvz; - mfbcc = m2-two* m1 * vvz+vz2 * m0; + mfbcc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcac; @@ -297,7 +298,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfcaa = m0; m0 += c1o36 * oMdrho; mfcab = m1-m0 * vvz; - mfcac = m2-two* m1 * vvz+vz2 * m0; + mfcac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcba+mfcbc; m1 = mfcbc-mfcba; @@ -305,7 +306,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfcba = m0; m0 += c1o9 * oMdrho; mfcbb = m1-m0 * vvz; - mfcbc = m2-two* m1 * vvz+vz2 * m0; + mfcbc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcca+mfccc; m1 = mfccc-mfcca; @@ -313,7 +314,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfcca = m0; m0 += c1o36 * oMdrho; mfccb = m1-m0 * vvz; - mfccc = m2-two* m1 * vvz+vz2 * m0; + mfccc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren @@ -325,14 +326,14 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaaa = m0; m0 += c1o6 * oMdrho; mfaba = m1-m0 * vvy; - mfaca = m2-two* m1 * vvy+vy2 * m0; + mfaca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfacb; m1 = mfacb-mfaab; m0 = m2+mfabb; mfaab = m0; mfabb = m1-m0 * vvy; - mfacb = m2-two* m1 * vvy+vy2 * m0; + mfacb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfacc; m1 = mfacc-mfaac; @@ -340,7 +341,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaac = m0; m0 += c1o18 * oMdrho; mfabc = m1-m0 * vvy; - mfacc = m2-two* m1 * vvy+vy2 * m0; + mfacc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbca; @@ -349,14 +350,14 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfbaa = m0; m0 += c2o3 * oMdrho; mfbba = m1-m0 * vvy; - mfbca = m2-two* m1 * vvy+vy2 * m0; + mfbca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbab+mfbcb; m1 = mfbcb-mfbab; m0 = m2+mfbbb; mfbab = m0; mfbbb = m1-m0 * vvy; - mfbcb = m2-two* m1 * vvy+vy2 * m0; + mfbcb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbac+mfbcc; m1 = mfbcc-mfbac; @@ -364,7 +365,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfbac = m0; m0 += c2o9 * oMdrho; mfbbc = m1-m0 * vvy; - mfbcc = m2-two* m1 * vvy+vy2 * m0; + mfbcc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcca; @@ -373,14 +374,14 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfcaa = m0; m0 += c1o6 * oMdrho; mfcba = m1-m0 * vvy; - mfcca = m2-two* m1 * vvy+vy2 * m0; + mfcca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcab+mfccb; m1 = mfccb-mfcab; m0 = m2+mfcbb; mfcab = m0; mfcbb = m1-m0 * vvy; - mfccb = m2-two* m1 * vvy+vy2 * m0; + mfccb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcac+mfccc; m1 = mfccc-mfcac; @@ -388,7 +389,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfcac = m0; m0 += c1o18 * oMdrho; mfcbc = m1-m0 * vvy; - mfccc = m2-two* m1 * vvy+vy2 * m0; + mfccc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren @@ -398,16 +399,16 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) m1 = mfcaa-mfaaa; m0 = m2+mfbaa; mfaaa = m0; - m0 += one* oMdrho; + m0 += c1o1* oMdrho; mfbaa = m1-m0 * vvx; - mfcaa = m2-two* m1 * vvx+vx2 * m0; + mfcaa = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfcba; m1 = mfcba-mfaba; m0 = m2+mfbba; mfaba = m0; mfbba = m1-m0 * vvx; - mfcba = m2-two* m1 * vvx+vx2 * m0; + mfcba = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfcca; m1 = mfcca-mfaca; @@ -415,7 +416,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaca = m0; m0 += c1o3 * oMdrho; mfbca = m1-m0 * vvx; - mfcca = m2-two* m1 * vvx+vx2 * m0; + mfcca = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfcab; @@ -423,21 +424,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) m0 = m2+mfbab; mfaab = m0; mfbab = m1-m0 * vvx; - mfcab = m2-two* m1 * vvx+vx2 * m0; + mfcab = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabb+mfcbb; m1 = mfcbb-mfabb; m0 = m2+mfbbb; mfabb = m0; mfbbb = m1-m0 * vvx; - mfcbb = m2-two* m1 * vvx+vx2 * m0; + mfcbb = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacb+mfccb; m1 = mfccb-mfacb; m0 = m2+mfbcb; mfacb = m0; mfbcb = m1-m0 * vvx; - mfccb = m2-two* m1 * vvx+vx2 * m0; + mfccb = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfcac; @@ -446,14 +447,14 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfaac = m0; m0 += c1o3 * oMdrho; mfbac = m1-m0 * vvx; - mfcac = m2-two* m1 * vvx+vx2 * m0; + mfcac = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabc+mfcbc; m1 = mfcbc-mfabc; m0 = m2+mfbbc; mfabc = m0; mfbbc = m1-m0 * vvx; - mfcbc = m2-two* m1 * vvx+vx2 * m0; + mfcbc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacc+mfccc; m1 = mfccc-mfacc; @@ -461,7 +462,7 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) mfacc = m0; m0 += c1o9 * oMdrho; mfbcc = m1-m0 * vvx; - mfccc = m2-two* m1 * vvx+vx2 * m0; + mfccc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// @@ -505,47 +506,47 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////// //4. ////////////////////////////// - real O4 = one; + real O4 = c1o1; ////////////////////////////// //real O4 = omega;//TRT //////////////////////////////////////////////////////////// //5. ////////////////////////////// - real O5 = one; + real O5 = c1o1; //////////////////////////////////////////////////////////// //6. ////////////////////////////// - real O6 = one; + real O6 = c1o1; //////////////////////////////////////////////////////////// //central moments to cumulants //4. - real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet - real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+c2o1 * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet + real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+c2o1 * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+c2o1 * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMcca = mfcca-(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); - real CUMcac = mfcac-(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); - real CUMacc = mfacc-(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); + real CUMcca = mfcca-(((mfcaa * mfaca+c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); + real CUMcac = mfcac-(((mfcaa * mfaac+c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); + real CUMacc = mfacc-(((mfaac * mfaca+c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); //5. - real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+c4o1 * mfabb * mfbbb+c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+c4o1 * mfbab * mfbbb+c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+c4o1 * mfbba * mfbbb+c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - real CUMccc = mfccc+((-four * mfbbb * mfbbb + real CUMccc = mfccc+((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + - c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + - c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //+ c1o27*(one -three/rho +two/(rho*rho))); @@ -601,20 +602,20 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) real dyuy = dxux+omega * c3o2 * mxxMyy; real dzuz = dxux+omega * c3o2 * mxxMzz; - real Dxy =-three*omega*mfbba; - real Dxz =-three*omega*mfbab; - real Dyz =-three*omega*mfabb; + real Dxy =-c3o1 *omega*mfbba; + real Dxz =-c3o1 *omega*mfbab; + real Dyz =-c3o1 *omega*mfabb; //relax - wadjust = OxxPyyPzz+(one-OxxPyyPzz)*fabs((mfaaa-mxxPyyPzz))/(fabs((mfaaa-mxxPyyPzz))+qudricLimitD); - mxxPyyPzz += wadjust*(mfaaa-mxxPyyPzz)-three * (one-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz); + wadjust = OxxPyyPzz+(c1o1 -OxxPyyPzz)*fabs((mfaaa-mxxPyyPzz))/(fabs((mfaaa-mxxPyyPzz))+qudricLimitD); + mxxPyyPzz += wadjust*(mfaaa-mxxPyyPzz)- c3o1 * (c1o1 -c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz); // mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz)-three * (one-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz);//-magicBulk*OxxPyyPzz; - mxxMyy += omega * (-mxxMyy)-three * (one+c1o2 * (-omega)) * (vx2 * dxux-vy2 * dyuy); - mxxMzz += omega * (-mxxMzz)-three * (one+c1o2 * (-omega)) * (vx2 * dxux-vz2 * dzuz); + mxxMyy += omega * (-mxxMyy)-c3o1 * (c1o1 +c1o2 * (-omega)) * (vx2 * dxux-vy2 * dyuy); + mxxMzz += omega * (-mxxMzz)-c3o1 * (c1o1 +c1o2 * (-omega)) * (vx2 * dxux-vz2 * dzuz); ////////////////////////////////////////////////////////////////////////// //limiter-Scheise Teil 2 @@ -644,8 +645,8 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) // linear combinations back mfcaa = c1o3 * (mxxMyy+mxxMzz+mxxPyyPzz); - mfaca = c1o3 * (-two* mxxMyy+mxxMzz+mxxPyyPzz); - mfaac = c1o3 * (mxxMyy-two* mxxMzz+mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy+mxxMzz+mxxPyyPzz); + mfaac = c1o3 * (mxxMyy-c2o1 * mxxMzz+mxxPyyPzz); //3. // linear combinations @@ -662,19 +663,19 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //relax ////////////////////////////////////////////////////////////////////////// //das ist der limiter - wadjust = Oxyz+(one-Oxyz)*fabs(mfbbb)/(fabs(mfbbb)+qudricLimitD); + wadjust = Oxyz+(c1o1-Oxyz)*fabs(mfbbb)/(fabs(mfbbb)+qudricLimitD); mfbbb += wadjust * (-mfbbb); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxxyPyzz)/(fabs(mxxyPyzz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxxyPyzz)/(fabs(mxxyPyzz)+qudricLimitP); mxxyPyzz += wadjust * (-mxxyPyzz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxxyMyzz)/(fabs(mxxyMyzz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxxyMyzz)/(fabs(mxxyMyzz)+qudricLimitM); mxxyMyzz += wadjust * (-mxxyMyzz); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxxzPyyz)/(fabs(mxxzPyyz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxxzPyyz)/(fabs(mxxzPyyz)+qudricLimitP); mxxzPyyz += wadjust * (-mxxzPyyz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxxzMyyz)/(fabs(mxxzMyyz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxxzMyyz)/(fabs(mxxzMyyz)+qudricLimitM); mxxzMyyz += wadjust * (-mxxzMyyz); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxyyPxzz)/(fabs(mxyyPxzz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxyyPxzz)/(fabs(mxyyPxzz)+qudricLimitP); mxyyPxzz += wadjust * (-mxyyPxzz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxyyMxzz)/(fabs(mxyyMxzz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxyyMxzz)/(fabs(mxyyMxzz)+qudricLimitM); mxyyMxzz += wadjust * (-mxyyMxzz); ////////////////////////////////////////////////////////////////////////// //ohne limiter @@ -725,12 +726,12 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //CUMbbc += O4 * (-CUMbbc); //CUMbcb += O4 * (-CUMbcb); //CUMcbb += O4 * (-CUMcbb); - CUMacc = -O4*(one / omega - c1o2) * (dyuy + dzuz) * c2o3 * A + (one - O4) * (CUMacc); - CUMcac = -O4*(one / omega - c1o2) * (dxux + dzuz) * c2o3 * A + (one - O4) * (CUMcac); - CUMcca = -O4*(one / omega - c1o2) * (dyuy + dxux) * c2o3 * A + (one - O4) * (CUMcca); - CUMbbc = -O4*(one / omega - c1o2) * Dxy * c1o3 * B + (one - O4) * (CUMbbc); - CUMbcb = -O4*(one / omega - c1o2) * Dxz * c1o3 * B + (one - O4) * (CUMbcb); - CUMcbb = -O4*(one / omega - c1o2) * Dyz * c1o3 * B + (one - O4) * (CUMcbb); + CUMacc = -O4*(c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4*(c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4*(c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4*(c1o1 / omega - c1o2) * Dxy * c1o3 * B + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4*(c1o1 / omega - c1o2) * Dxz * c1o3 * B + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4*(c1o1 / omega - c1o2) * Dyz * c1o3 * B + (c1o1 - O4) * (CUMcbb); ////////////////////////////////////////////////////////////////////////// @@ -746,31 +747,31 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //back cumulants to central moments //4. - mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; - mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; - mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; + mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+c2o1 * mfbba * mfbab)/rho; + mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+c2o1 * mfbba * mfabb)/rho; + mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+c2o1 * mfbab * mfabb)/rho; - mfcca = CUMcca+(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfcac = CUMcac+(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfacc = CUMacc+(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcca = CUMcca+(((mfcaa * mfaca+c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcac = CUMcac+(((mfcaa * mfaac+c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfacc = CUMacc+(((mfaac * mfaca+c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); //5. - mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+c4o1 * mfabb * mfbbb+c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+c4o1 * mfbab * mfbbb+c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+c4o1 * mfbba * mfbbb+c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - mfccc = CUMccc-((-four * mfbbb * mfbbb + mfccc = CUMccc-((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + - c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + - c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //////////////////////////////////////////////////////////////////////////////////// @@ -786,22 +787,22 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+one* oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfaac-two* mfaab * vvz+mfaaa * (one-vz2)-one* oMdrho * vz2; - m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+one* oMdrho) * (vz2+vvz) * c1o2; + m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+ c1o1 * oMdrho) * (vz2-vvz) * c1o2; + m1 = -mfaac-c2o1* mfaab * vvz+mfaaa * (c1o1-vz2)- c1o1 * oMdrho * vz2; + m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+ c1o1 * oMdrho) * (vz2+vvz) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2+mfabb * (vvz-c1o2)+mfaba * (vz2-vvz) * c1o2; - m1 = -mfabc-two* mfabb * vvz+mfaba * (one-vz2); + m1 = -mfabc-c2o1* mfabb * vvz+mfaba * (c1o1-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-two* mfacb * vvz+mfaca * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfacc-c2o1* mfacb * vvz+mfaca * (c1o1-vz2)-c1o3 * oMdrho * vz2; m2 = mfacc * c1o2+mfacb * (vvz+c1o2)+(mfaca+c1o3 * oMdrho) * (vz2+vvz) * c1o2; mfaca = m0; mfacb = m1; @@ -809,21 +810,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2+mfbab * (vvz-c1o2)+mfbaa * (vz2-vvz) * c1o2; - m1 = -mfbac-two* mfbab * vvz+mfbaa * (one-vz2); + m1 = -mfbac-c2o1* mfbab * vvz+mfbaa * (c1o1-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-two* mfbbb * vvz+mfbba * (one-vz2); + m1 = -mfbbc-c2o1* mfbbb * vvz+mfbba * (c1o1-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-two* mfbcb * vvz+mfbca * (one-vz2); + m1 = -mfbcc-c2o1* mfbcb * vvz+mfbca * (c1o1-vz2); m2 = mfbcc * c1o2+mfbcb * (vvz+c1o2)+mfbca * (vz2+vvz) * c1o2; mfbca = m0; mfbcb = m1; @@ -831,21 +832,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfcab * (vvz-c1o2)+(mfcaa+c1o3 * oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfcac-two* mfcab * vvz+mfcaa * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfcac- c2o1* mfcab * vvz+mfcaa * (c1o1-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-two* mfcbb * vvz+mfcba * (one-vz2); + m1 = -mfcbc-c2o1* mfcbb * vvz+mfcba * (c1o1-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-two* mfccb * vvz+mfcca * (one-vz2)-c1o9 * oMdrho * vz2; + m1 = -mfccc-c2o1* mfccb * vvz+mfcca * (c1o1-vz2)-c1o9 * oMdrho * vz2; m2 = mfccc * c1o2+mfccb * (vvz+c1o2)+(mfcca+c1o9 * oMdrho) * (vz2+vvz) * c1o2; mfcca = m0; mfccb = m1; @@ -856,21 +857,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2+mfaba * (vvy-c1o2)+(mfaaa+c1o6 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfaca-two* mfaba * vvy+mfaaa * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfaca-c2o1* mfaba * vvy+mfaaa * (c1o1-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-two* mfabb * vvy+mfaab * (one-vy2)-c2o3 * oMdrho * vy2; + m1 = -mfacb-c2o1* mfabb * vvy+mfaab * (c1o1-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-two* mfabc * vvy+mfaac * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfacc-c2o1* mfabc * vvy+mfaac * (c1o1-vy2)-c1o6 * oMdrho * vy2; m2 = mfacc * c1o2+mfabc * (vvy+c1o2)+(mfaac+c1o6 * oMdrho) * (vy2+vvy) * c1o2; mfaac = m0; mfabc = m1; @@ -878,21 +879,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2+mfbba * (vvy-c1o2)+mfbaa * (vy2-vvy) * c1o2; - m1 = -mfbca-two* mfbba * vvy+mfbaa * (one-vy2); + m1 = -mfbca-c2o1* mfbba * vvy+mfbaa * (c1o1-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-two* mfbbb * vvy+mfbab * (one-vy2); + m1 = -mfbcb-c2o1* mfbbb * vvy+mfbab * (c1o1-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-two* mfbbc * vvy+mfbac * (one-vy2); + m1 = -mfbcc-c2o1* mfbbc * vvy+mfbac * (c1o1-vy2); m2 = mfbcc * c1o2+mfbbc * (vvy+c1o2)+mfbac * (vy2+vvy) * c1o2; mfbac = m0; mfbbc = m1; @@ -900,21 +901,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2+mfcba * (vvy-c1o2)+(mfcaa+c1o18 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfcca-two* mfcba * vvy+mfcaa * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfcca-c2o1* mfcba * vvy+mfcaa * (c1o1-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-two* mfcbb * vvy+mfcab * (one-vy2)-c2o9 * oMdrho * vy2; + m1 = -mfccb-c2o1* mfcbb * vvy+mfcab * (c1o1-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-two* mfcbc * vvy+mfcac * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfccc-c2o1* mfcbc * vvy+mfcac * (c1o1-vy2)-c1o18 * oMdrho * vy2; m2 = mfccc * c1o2+mfcbc * (vvy+c1o2)+(mfcac+c1o18 * oMdrho) * (vy2+vvy) * c1o2; mfcac = m0; mfcbc = m1; @@ -925,21 +926,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2+mfbaa * (vvx-c1o2)+(mfaaa+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcaa-two* mfbaa * vvx+mfaaa * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcaa-c2o1* mfbaa * vvx+mfaaa * (c1o1-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-two* mfbba * vvx+mfaba * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcba-c2o1* mfbba * vvx+mfaba * (c1o1-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-two* mfbca * vvx+mfaca * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcca-c2o1* mfbca * vvx+mfaca * (c1o1-vx2)-c1o36 * oMdrho * vx2; m2 = mfcca * c1o2+mfbca * (vvx+c1o2)+(mfaca+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfaca = m0; mfbca = m1; @@ -947,21 +948,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2+mfbab * (vvx-c1o2)+(mfaab+c1o9 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcab-two* mfbab * vvx+mfaab * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcab-c2o1* mfbab * vvx+mfaab * (c1o1-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-two* mfbbb * vvx+mfabb * (one-vx2)-c4o9 * oMdrho * vx2; + m1 = -mfcbb-c2o1* mfbbb * vvx+mfabb * (c1o1-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-two* mfbcb * vvx+mfacb * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfccb-c2o1* mfbcb * vvx+mfacb * (c1o1-vx2)-c1o9 * oMdrho * vx2; m2 = mfccb * c1o2+mfbcb * (vvx+c1o2)+(mfacb+c1o9 * oMdrho) * (vx2+vvx) * c1o2; mfacb = m0; mfbcb = m1; @@ -969,21 +970,21 @@ void CompressibleCumulant4thOrderViscosityLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfbac * (vvx-c1o2)+(mfaac+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcac-two* mfbac * vvx+mfaac * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcac-c2o1* mfbac * vvx+mfaac * (c1o1-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-two* mfbbc * vvx+mfabc * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcbc-c2o1* mfbbc * vvx+mfabc * (c1o1-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-two* mfbcc * vvx+mfacc * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfccc-c2o1* mfbcc * vvx+mfacc * (c1o1-vx2)-c1o36 * oMdrho * vx2; m2 = mfccc * c1o2+mfbcc * (vvx+c1o2)+(mfacc+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulantLBMKernel.cpp index 821cc44c0772b2ec53f0843fe1eb4415f42e5254..2552de70437992a5cbf79a13f40615e46b084fb6 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleCumulantLBMKernel.cpp @@ -7,7 +7,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// CompressibleCumulantLBMKernel::CompressibleCumulantLBMKernel() @@ -59,7 +60,7 @@ SPtr<LBMKernel> CompressibleCumulantLBMKernel::clone() } else { - dynamicPointerCast<CompressibleCumulantLBMKernel>(kernel)->OxxPyyPzz = one; + dynamicPointerCast<CompressibleCumulantLBMKernel>(kernel)->OxxPyyPzz = c1o1; } return kernel; } @@ -189,7 +190,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) (((mfbac+mfbca)+(mfbaa+mfbcc))+((mfabc+mfcba)+(mfaba+mfcbc))+((mfacb+mfcab)+(mfaab+mfccb)))+ ((mfabb+mfcbb)+(mfbab+mfbcb))+(mfbba+mfbbc))+mfbbb; - real rho = one+drho; + real rho = c1o1+drho; //////////////////////////////////////////////////////////////////////////////////// real vvx = ((((mfccc-mfaaa)+(mfcac-mfaca))+((mfcaa-mfacc)+(mfcca-mfaac)))+ (((mfcba-mfabc)+(mfcbc-mfaba))+((mfcab-mfacb)+(mfccb-mfaab)))+ @@ -220,7 +221,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) } /////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - real oMdrho = one; // comp special + real oMdrho = c1o1; // comp special //////////////////////////////////////////////////////////////////////////////////// real m0, m1, m2; real vx2; @@ -249,7 +250,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaaa = m0; m0 += c1o36 * oMdrho; mfaab = m1-m0 * vvz; - mfaac = m2-two* m1 * vvz+vz2 * m0; + mfaac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfabc; m1 = mfabc-mfaba; @@ -257,7 +258,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaba = m0; m0 += c1o9 * oMdrho; mfabb = m1-m0 * vvz; - mfabc = m2-two* m1 * vvz+vz2 * m0; + mfabc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfacc; m1 = mfacc-mfaca; @@ -265,7 +266,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaca = m0; m0 += c1o36 * oMdrho; mfacb = m1-m0 * vvz; - mfacc = m2-two* m1 * vvz+vz2 * m0; + mfacc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbac; @@ -274,7 +275,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfbaa = m0; m0 += c1o9 * oMdrho; mfbab = m1-m0 * vvz; - mfbac = m2-two* m1 * vvz+vz2 * m0; + mfbac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbba+mfbbc; m1 = mfbbc-mfbba; @@ -282,7 +283,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfbba = m0; m0 += c4o9 * oMdrho; mfbbb = m1-m0 * vvz; - mfbbc = m2-two* m1 * vvz+vz2 * m0; + mfbbc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbca+mfbcc; m1 = mfbcc-mfbca; @@ -290,7 +291,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfbca = m0; m0 += c1o9 * oMdrho; mfbcb = m1-m0 * vvz; - mfbcc = m2-two* m1 * vvz+vz2 * m0; + mfbcc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcac; @@ -299,7 +300,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfcaa = m0; m0 += c1o36 * oMdrho; mfcab = m1-m0 * vvz; - mfcac = m2-two* m1 * vvz+vz2 * m0; + mfcac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcba+mfcbc; m1 = mfcbc-mfcba; @@ -307,7 +308,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfcba = m0; m0 += c1o9 * oMdrho; mfcbb = m1-m0 * vvz; - mfcbc = m2-two* m1 * vvz+vz2 * m0; + mfcbc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcca+mfccc; m1 = mfccc-mfcca; @@ -315,7 +316,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfcca = m0; m0 += c1o36 * oMdrho; mfccb = m1-m0 * vvz; - mfccc = m2-two* m1 * vvz+vz2 * m0; + mfccc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren @@ -327,14 +328,14 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaaa = m0; m0 += c1o6 * oMdrho; mfaba = m1-m0 * vvy; - mfaca = m2-two* m1 * vvy+vy2 * m0; + mfaca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfacb; m1 = mfacb-mfaab; m0 = m2+mfabb; mfaab = m0; mfabb = m1-m0 * vvy; - mfacb = m2-two* m1 * vvy+vy2 * m0; + mfacb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfacc; m1 = mfacc-mfaac; @@ -342,7 +343,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaac = m0; m0 += c1o18 * oMdrho; mfabc = m1-m0 * vvy; - mfacc = m2-two* m1 * vvy+vy2 * m0; + mfacc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbca; @@ -351,14 +352,14 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfbaa = m0; m0 += c2o3 * oMdrho; mfbba = m1-m0 * vvy; - mfbca = m2-two* m1 * vvy+vy2 * m0; + mfbca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbab+mfbcb; m1 = mfbcb-mfbab; m0 = m2+mfbbb; mfbab = m0; mfbbb = m1-m0 * vvy; - mfbcb = m2-two* m1 * vvy+vy2 * m0; + mfbcb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbac+mfbcc; m1 = mfbcc-mfbac; @@ -366,7 +367,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfbac = m0; m0 += c2o9 * oMdrho; mfbbc = m1-m0 * vvy; - mfbcc = m2-two* m1 * vvy+vy2 * m0; + mfbcc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcca; @@ -375,14 +376,14 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfcaa = m0; m0 += c1o6 * oMdrho; mfcba = m1-m0 * vvy; - mfcca = m2-two* m1 * vvy+vy2 * m0; + mfcca = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcab+mfccb; m1 = mfccb-mfcab; m0 = m2+mfcbb; mfcab = m0; mfcbb = m1-m0 * vvy; - mfccb = m2-two* m1 * vvy+vy2 * m0; + mfccb = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcac+mfccc; m1 = mfccc-mfcac; @@ -390,7 +391,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfcac = m0; m0 += c1o18 * oMdrho; mfcbc = m1-m0 * vvy; - mfccc = m2-two* m1 * vvy+vy2 * m0; + mfccc = m2-c2o1* m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren @@ -400,16 +401,16 @@ void CompressibleCumulantLBMKernel::calculate(int step) m1 = mfcaa-mfaaa; m0 = m2+mfbaa; mfaaa = m0; - m0 += one* oMdrho; + m0 += c1o1* oMdrho; mfbaa = m1-m0 * vvx; - mfcaa = m2-two* m1 * vvx+vx2 * m0; + mfcaa = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfcba; m1 = mfcba-mfaba; m0 = m2+mfbba; mfaba = m0; mfbba = m1-m0 * vvx; - mfcba = m2-two* m1 * vvx+vx2 * m0; + mfcba = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfcca; m1 = mfcca-mfaca; @@ -417,7 +418,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaca = m0; m0 += c1o3 * oMdrho; mfbca = m1-m0 * vvx; - mfcca = m2-two* m1 * vvx+vx2 * m0; + mfcca = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfcab; @@ -425,21 +426,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) m0 = m2+mfbab; mfaab = m0; mfbab = m1-m0 * vvx; - mfcab = m2-two* m1 * vvx+vx2 * m0; + mfcab = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabb+mfcbb; m1 = mfcbb-mfabb; m0 = m2+mfbbb; mfabb = m0; mfbbb = m1-m0 * vvx; - mfcbb = m2-two* m1 * vvx+vx2 * m0; + mfcbb = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacb+mfccb; m1 = mfccb-mfacb; m0 = m2+mfbcb; mfacb = m0; mfbcb = m1-m0 * vvx; - mfccb = m2-two* m1 * vvx+vx2 * m0; + mfccb = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfcac; @@ -448,14 +449,14 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfaac = m0; m0 += c1o3 * oMdrho; mfbac = m1-m0 * vvx; - mfcac = m2-two* m1 * vvx+vx2 * m0; + mfcac = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabc+mfcbc; m1 = mfcbc-mfabc; m0 = m2+mfbbc; mfabc = m0; mfbbc = m1-m0 * vvx; - mfcbc = m2-two* m1 * vvx+vx2 * m0; + mfcbc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacc+mfccc; m1 = mfccc-mfacc; @@ -463,7 +464,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) mfacc = m0; m0 += c1o9 * oMdrho; mfbcc = m1-m0 * vvx; - mfccc = m2-two* m1 * vvx+vx2 * m0; + mfccc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// @@ -477,7 +478,7 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////// //3. ////////////////////////////// - real OxyyPxzz = one;//three * (two - omega) / (three - omega);// + real OxyyPxzz = c1o1;//three * (two - omega) / (three - omega);// //LBMReal OxyyMxzz = one;//six * (two - omega) / (six - omega);// // LBMReal Oxyz = one;//twelve * (two - omega) / (twelve + omega);// ////////////////////////////// @@ -501,47 +502,47 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////// //4. ////////////////////////////// - real O4 = one; + real O4 = c1o1; ////////////////////////////// //real O4 = omega;//TRT //////////////////////////////////////////////////////////// //5. ////////////////////////////// - real O5 = one; + real O5 = c1o1; //////////////////////////////////////////////////////////// //6. ////////////////////////////// - real O6 = one; + real O6 = c1o1; //////////////////////////////////////////////////////////// //central moments to cumulants //4. - real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet - real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+c2o1 * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet + real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+c2o1 * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+c2o1 * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMcca = mfcca-(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); - real CUMcac = mfcac-(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); - real CUMacc = mfacc-(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); + real CUMcca = mfcca-(((mfcaa * mfaca+c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); + real CUMcac = mfcac-(((mfcaa * mfaac+c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); + real CUMacc = mfacc-(((mfaac * mfaca+c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); //5. - real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+c4o1 * mfabb * mfbbb+c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+c4o1 * mfbab * mfbbb+c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+c4o1 * mfbba * mfbbb+c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - real CUMccc = mfccc+((-four * mfbbb * mfbbb + real CUMccc = mfccc+((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + -c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + -c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + +c2o1 * (mfcaa * mfaca * mfaac) + +c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //+ c1o27*(one -three/rho +two/(rho*rho))); @@ -598,9 +599,9 @@ void CompressibleCumulantLBMKernel::calculate(int step) real dzuz = dxux+omega * c3o2 * mxxMzz; //relax - mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz)-three * (one-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz);//-magicBulk*OxxPyyPzz; - mxxMyy += omega * (-mxxMyy)-three * (one+c1o2 * (-omega)) * (vx2 * dxux-vy2 * dyuy); - mxxMzz += omega * (-mxxMzz)-three * (one+c1o2 * (-omega)) * (vx2 * dxux-vz2 * dzuz); + mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz)-c3o1 * (c1o1-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz);//-magicBulk*OxxPyyPzz; + mxxMyy += omega * (-mxxMyy)- c3o1 * (c1o1+c1o2 * (-omega)) * (vx2 * dxux-vy2 * dyuy); + mxxMzz += omega * (-mxxMzz)- c3o1 * (c1o1+c1o2 * (-omega)) * (vx2 * dxux-vz2 * dzuz); ////////////////////////////////////////////////////////////////////////// //limiter-Scheise Teil 2 @@ -630,8 +631,8 @@ void CompressibleCumulantLBMKernel::calculate(int step) // linear combinations back mfcaa = c1o3 * (mxxMyy+mxxMzz+mxxPyyPzz); - mfaca = c1o3 * (-two* mxxMyy+mxxMzz+mxxPyyPzz); - mfaac = c1o3 * (mxxMyy-two* mxxMzz+mxxPyyPzz); + mfaca = c1o3 * (-c2o1* mxxMyy+mxxMzz+mxxPyyPzz); + mfaac = c1o3 * (mxxMyy-c2o1* mxxMzz+mxxPyyPzz); //3. // linear combinations @@ -721,31 +722,31 @@ void CompressibleCumulantLBMKernel::calculate(int step) //back cumulants to central moments //4. - mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; - mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; - mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; + mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+c2o1 * mfbba * mfbab)/rho; + mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+c2o1 * mfbba * mfabb)/rho; + mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+c2o1 * mfbab * mfabb)/rho; - mfcca = CUMcca+(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfcac = CUMcac+(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfacc = CUMacc+(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcca = CUMcca+(((mfcaa * mfaca+c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcac = CUMcac+(((mfcaa * mfaac+c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfacc = CUMacc+(((mfaac * mfaca+c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); //5. - mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+c4o1 * mfabb * mfbbb+c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+c4o1 * mfbab * mfbbb+c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+c4o1 * mfbba * mfbbb+c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - mfccc = CUMccc-((-four * mfbbb * mfbbb + mfccc = CUMccc-((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + -c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + -c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + +c2o1 * (mfcaa * mfaca * mfaac) + +c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //////////////////////////////////////////////////////////////////////////////////// @@ -761,22 +762,22 @@ void CompressibleCumulantLBMKernel::calculate(int step) //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+one* oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfaac-two* mfaab * vvz+mfaaa * (one-vz2)-one* oMdrho * vz2; - m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+one* oMdrho) * (vz2+vvz) * c1o2; + m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+c1o1* oMdrho) * (vz2-vvz) * c1o2; + m1 = -mfaac-c2o1* mfaab * vvz+mfaaa * (c1o1-vz2)-c1o1* oMdrho * vz2; + m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+c1o1* oMdrho) * (vz2+vvz) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2+mfabb * (vvz-c1o2)+mfaba * (vz2-vvz) * c1o2; - m1 = -mfabc-two* mfabb * vvz+mfaba * (one-vz2); + m1 = -mfabc-c2o1* mfabb * vvz+mfaba * (c1o1-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-two* mfacb * vvz+mfaca * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfacc-c2o1* mfacb * vvz+mfaca * (c1o1-vz2)-c1o3 * oMdrho * vz2; m2 = mfacc * c1o2+mfacb * (vvz+c1o2)+(mfaca+c1o3 * oMdrho) * (vz2+vvz) * c1o2; mfaca = m0; mfacb = m1; @@ -784,21 +785,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2+mfbab * (vvz-c1o2)+mfbaa * (vz2-vvz) * c1o2; - m1 = -mfbac-two* mfbab * vvz+mfbaa * (one-vz2); + m1 = -mfbac-c2o1* mfbab * vvz+mfbaa * (c1o1-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-two* mfbbb * vvz+mfbba * (one-vz2); + m1 = -mfbbc-c2o1* mfbbb * vvz+mfbba * (c1o1-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-two* mfbcb * vvz+mfbca * (one-vz2); + m1 = -mfbcc-c2o1* mfbcb * vvz+mfbca * (c1o1-vz2); m2 = mfbcc * c1o2+mfbcb * (vvz+c1o2)+mfbca * (vz2+vvz) * c1o2; mfbca = m0; mfbcb = m1; @@ -806,21 +807,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfcab * (vvz-c1o2)+(mfcaa+c1o3 * oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfcac-two* mfcab * vvz+mfcaa * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfcac-c2o1* mfcab * vvz+mfcaa * (c1o1-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-two* mfcbb * vvz+mfcba * (one-vz2); + m1 = -mfcbc-c2o1* mfcbb * vvz+mfcba * (c1o1-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-two* mfccb * vvz+mfcca * (one-vz2)-c1o9 * oMdrho * vz2; + m1 = -mfccc-c2o1* mfccb * vvz+mfcca * (c1o1-vz2)-c1o9 * oMdrho * vz2; m2 = mfccc * c1o2+mfccb * (vvz+c1o2)+(mfcca+c1o9 * oMdrho) * (vz2+vvz) * c1o2; mfcca = m0; mfccb = m1; @@ -831,21 +832,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2+mfaba * (vvy-c1o2)+(mfaaa+c1o6 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfaca-two* mfaba * vvy+mfaaa * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfaca-c2o1* mfaba * vvy+mfaaa * (c1o1-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-two* mfabb * vvy+mfaab * (one-vy2)-c2o3 * oMdrho * vy2; + m1 = -mfacb-c2o1* mfabb * vvy+mfaab * (c1o1-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-two* mfabc * vvy+mfaac * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfacc-c2o1* mfabc * vvy+mfaac * (c1o1-vy2)-c1o6 * oMdrho * vy2; m2 = mfacc * c1o2+mfabc * (vvy+c1o2)+(mfaac+c1o6 * oMdrho) * (vy2+vvy) * c1o2; mfaac = m0; mfabc = m1; @@ -853,21 +854,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2+mfbba * (vvy-c1o2)+mfbaa * (vy2-vvy) * c1o2; - m1 = -mfbca-two* mfbba * vvy+mfbaa * (one-vy2); + m1 = -mfbca-c2o1* mfbba * vvy+mfbaa * ( c1o1-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-two* mfbbb * vvy+mfbab * (one-vy2); + m1 = -mfbcb-c2o1* mfbbb * vvy+mfbab * (c1o1-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-two* mfbbc * vvy+mfbac * (one-vy2); + m1 = -mfbcc-c2o1* mfbbc * vvy+mfbac * (c1o1-vy2); m2 = mfbcc * c1o2+mfbbc * (vvy+c1o2)+mfbac * (vy2+vvy) * c1o2; mfbac = m0; mfbbc = m1; @@ -875,21 +876,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2+mfcba * (vvy-c1o2)+(mfcaa+c1o18 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfcca-two* mfcba * vvy+mfcaa * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfcca-c2o1* mfcba * vvy+mfcaa * (c1o1-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-two* mfcbb * vvy+mfcab * (one-vy2)-c2o9 * oMdrho * vy2; + m1 = -mfccb-c2o1* mfcbb * vvy+mfcab * (c1o1-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-two* mfcbc * vvy+mfcac * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfccc-c2o1* mfcbc * vvy+mfcac * (c1o1-vy2)-c1o18 * oMdrho * vy2; m2 = mfccc * c1o2+mfcbc * (vvy+c1o2)+(mfcac+c1o18 * oMdrho) * (vy2+vvy) * c1o2; mfcac = m0; mfcbc = m1; @@ -900,21 +901,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2+mfbaa * (vvx-c1o2)+(mfaaa+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcaa-two* mfbaa * vvx+mfaaa * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcaa-c2o1* mfbaa * vvx+mfaaa * (c1o1-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-two* mfbba * vvx+mfaba * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcba-c2o1* mfbba * vvx+mfaba * (c1o1-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-two* mfbca * vvx+mfaca * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcca-c2o1* mfbca * vvx+mfaca * (c1o1-vx2)-c1o36 * oMdrho * vx2; m2 = mfcca * c1o2+mfbca * (vvx+c1o2)+(mfaca+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfaca = m0; mfbca = m1; @@ -922,21 +923,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2+mfbab * (vvx-c1o2)+(mfaab+c1o9 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcab-two* mfbab * vvx+mfaab * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcab-c2o1* mfbab * vvx+mfaab * (c1o1-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-two* mfbbb * vvx+mfabb * (one-vx2)-c4o9 * oMdrho * vx2; + m1 = -mfcbb-c2o1* mfbbb * vvx+mfabb * (c1o1-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-two* mfbcb * vvx+mfacb * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfccb-c2o1* mfbcb * vvx+mfacb * (c1o1-vx2)-c1o9 * oMdrho * vx2; m2 = mfccb * c1o2+mfbcb * (vvx+c1o2)+(mfacb+c1o9 * oMdrho) * (vx2+vvx) * c1o2; mfacb = m0; mfbcb = m1; @@ -944,21 +945,21 @@ void CompressibleCumulantLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfbac * (vvx-c1o2)+(mfaac+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcac-two* mfbac * vvx+mfaac * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcac-c2o1* mfbac * vvx+mfaac * (c1o1-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-two* mfbbc * vvx+mfabc * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcbc-c2o1* mfbbc * vvx+mfabc * (c1o1-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-two* mfbcc * vvx+mfacc * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfccc-c2o1* mfbcc * vvx+mfacc * (c1o1-vx2)-c1o36 * oMdrho * vx2; m2 = mfccc * c1o2+mfbcc * (vvx+c1o2)+(mfacc+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetInterpolationProcessor.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetInterpolationProcessor.cpp index 39062b231d6aca68e138f52913cfc76104579812..358f8269a65b247efb7abd9c6a2a840c6e122e08 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetInterpolationProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetInterpolationProcessor.cpp @@ -1,7 +1,8 @@ #include "CompressibleOffsetInterpolationProcessor.h" #include "D3Q27System.h" -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// CompressibleOffsetInterpolationProcessor::CompressibleOffsetInterpolationProcessor(real omegaC, real omegaF) @@ -61,17 +62,18 @@ void CompressibleOffsetInterpolationProcessor::calcMoments(const real* const f, { using namespace D3Q27System; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; real drho = 0.0; D3Q27System::calcCompMacroscopicValues(f,drho,vx1,vx2,vx3); press = drho; //interpolate rho! - kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(one + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 - kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(one + drho)-(vx2*vx3)); - kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(one + drho)-(vx1*vx3)); - kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(one + drho)-(vx1*vx1-vx2*vx2)); - kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(one + drho)-(vx1*vx1-vx3*vx3)); + kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(c1o1 + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 + kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(c1o1 + drho)-(vx2*vx3)); + kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(c1o1 + drho)-(vx1*vx3)); + kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(c1o1 + drho)-(vx1*vx1-vx2*vx2)); + kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(c1o1 + drho)-(vx1*vx1-vx3*vx3)); } ////////////////////////////////////////////////////////////////////////// void CompressibleOffsetInterpolationProcessor::calcInterpolatedCoefficiets(const D3Q27ICell& icell, real omega, real eps_new) diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetMomentsInterpolationProcessor.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetMomentsInterpolationProcessor.cpp index a9aff588f5f102967fbcea4f1b31559aa298ecf8..7321e7f7bfca2080b9c52f89c5c9354b219c1a94 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetMomentsInterpolationProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetMomentsInterpolationProcessor.cpp @@ -1,15 +1,16 @@ #include "CompressibleOffsetMomentsInterpolationProcessor.h" #include "D3Q27System.h" -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; CompressibleOffsetMomentsInterpolationProcessor::CompressibleOffsetMomentsInterpolationProcessor() { this->bulkViscosity = 0.0; this->shearViscosity = 0.0; - this->OxxPyyPzzC = one; - this->OxxPyyPzzF = one; + this->OxxPyyPzzC = c1o1; + this->OxxPyyPzzF = c1o1; } ////////////////////////////////////////////////////////////////////////// CompressibleOffsetMomentsInterpolationProcessor::CompressibleOffsetMomentsInterpolationProcessor(real omegaC, real omegaF) @@ -17,8 +18,8 @@ CompressibleOffsetMomentsInterpolationProcessor::CompressibleOffsetMomentsInterp { this->bulkViscosity = 0.0; this->shearViscosity = 0.0; - this->OxxPyyPzzC = one; - this->OxxPyyPzzF = one; + this->OxxPyyPzzC = c1o1; + this->OxxPyyPzzF = c1o1; } ////////////////////////////////////////////////////////////////////////// CompressibleOffsetMomentsInterpolationProcessor::~CompressibleOffsetMomentsInterpolationProcessor() @@ -49,8 +50,8 @@ void CompressibleOffsetMomentsInterpolationProcessor::setOmegas( real omegaC, re } else { - this->OxxPyyPzzC = one; - this->OxxPyyPzzF = one; + this->OxxPyyPzzC = c1o1; + this->OxxPyyPzzF = c1o1; } } ////////////////////////////////////////////////////////////////////////// @@ -96,11 +97,11 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcMoments(const real* co press = drho; //interpolate rho! - kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(one + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 - kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(one + drho)-(vx2*vx3)); - kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(one + drho)-(vx1*vx3)); - kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(one + drho)-(vx1*vx1-vx2*vx2)); - kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(one + drho)-(vx1*vx1-vx3*vx3)); + kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(c1o1 + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 + kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(c1o1 + drho)-(vx2*vx3)); + kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(c1o1 + drho)-(vx1*vx3)); + kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(c1o1 + drho)-(vx1*vx1-vx2*vx2)); + kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(c1o1 + drho)-(vx1*vx1-vx3*vx3)); } ////////////////////////////////////////////////////////////////////////// void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedCoefficiets(const D3Q27ICell& icell, real omega, real eps_new) @@ -488,6 +489,7 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea { using namespace D3Q27System; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; real eps_new = 0.5; real o = omega; @@ -499,65 +501,65 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea real vx2 = b0 + 0.25*( xs*bx + ys*by + zs*bz) + 0.0625*(bxx + xs*ys*bxy + xs*zs*bxz + byy + ys*zs*byz + bzz) + 0.015625*(xs*ys*zs*bxyz); real vx3 = c0 + 0.25*( xs*cx + ys*cy + zs*cz) + 0.0625*(cxx + xs*ys*cxy + xs*zs*cxz + cyy + ys*zs*cyz + czz) + 0.015625*(xs*ys*zs*cxyz); - real mfcbb = zeroReal; - real mfabb = zeroReal; - real mfbcb = zeroReal; - real mfbab = zeroReal; - real mfbbc = zeroReal; - real mfbba = zeroReal; - real mfccb = zeroReal; - real mfaab = zeroReal; - real mfcab = zeroReal; - real mfacb = zeroReal; - real mfcbc = zeroReal; - real mfaba = zeroReal; - real mfcba = zeroReal; - real mfabc = zeroReal; - real mfbcc = zeroReal; - real mfbaa = zeroReal; - real mfbca = zeroReal; - real mfbac = zeroReal; - real mfbbb = zeroReal; - real mfccc = zeroReal; - real mfaac = zeroReal; - real mfcac = zeroReal; - real mfacc = zeroReal; - real mfcca = zeroReal; - real mfaaa = zeroReal; - real mfcaa = zeroReal; - real mfaca = zeroReal; + real mfcbb = c0o1; + real mfabb = c0o1; + real mfbcb = c0o1; + real mfbab = c0o1; + real mfbbc = c0o1; + real mfbba = c0o1; + real mfccb = c0o1; + real mfaab = c0o1; + real mfcab = c0o1; + real mfacb = c0o1; + real mfcbc = c0o1; + real mfaba = c0o1; + real mfcba = c0o1; + real mfabc = c0o1; + real mfbcc = c0o1; + real mfbaa = c0o1; + real mfbca = c0o1; + real mfbac = c0o1; + real mfbbb = c0o1; + real mfccc = c0o1; + real mfaac = c0o1; + real mfcac = c0o1; + real mfacc = c0o1; + real mfcca = c0o1; + real mfaaa = c0o1; + real mfcaa = c0o1; + real mfaca = c0o1; mfaaa = press; // if drho is interpolated directly real vx1Sq = vx1*vx1; real vx2Sq = vx2*vx2; real vx3Sq = vx3*vx3; - real oMdrho = one; + real oMdrho = c1o1; //2.f // linear combinations - real mxxPyyPzz = mfaaa - c2o3*(ax + by + two*axx*x + bxy*x + axy*y + two*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + two*czz*z)*eps_new / oP* (one + press); - real mxxMyy = -c2o3*(ax - by + kxxMyyAverage + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (one + press); - real mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o * (one + press); + real mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1 *axx*x + bxy*x + axy*y + c2o1 *byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1 *czz*z)*eps_new / oP* (c1o1 + press); + real mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1 *axx*x - bxy*x + axy*y - c2o1 *byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); + real mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1 *axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1 *czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (one + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (one + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (one + press); + mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1 *cyy*y + bxyz*x*y + c2o1 *bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); + mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1 *cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1 *azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); + mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1 *bxx*x + c2o1 *ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); // linear combinations back mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz) ; - mfaca = c1o3 * (-two * mxxMyy + mxxMzz + mxxPyyPzz) ; - mfaac = c1o3 * (mxxMyy - two * mxxMzz + mxxPyyPzz) ; + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) ; + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) ; //three - mfbbb = zeroReal; - real mxxyPyzz = zeroReal; - real mxxyMyzz = zeroReal; - real mxxzPyyz = zeroReal; - real mxxzMyyz = zeroReal; - real mxyyPxzz = zeroReal; - real mxyyMxzz = zeroReal; + mfbbb = c0o1; + real mxxyPyzz = c0o1; + real mxxyMyzz = c0o1; + real mxxzPyyz = c0o1; + real mxxzMyyz = c0o1; + real mxyyPxzz = c0o1; + real mxyyMxzz = c0o1; // linear combinations back mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; @@ -583,22 +585,22 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + one * oMdrho) * (vx3Sq - vx3) * c1o2; - real m1 = -mfaac - two * mfaab * vx3 + mfaaa * (one - vx3Sq) - one * oMdrho * vx3Sq; - real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + one * oMdrho) * (vx3Sq + vx3) * c1o2; + real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq - vx3) * c1o2; + real m1 = -mfaac - c2o1 * mfaab * vx3 + mfaaa * (c1o1 - vx3Sq) - c1o1 * oMdrho * vx3Sq; + real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2 + mfabb * (vx3 - c1o2) + mfaba * (vx3Sq - vx3) * c1o2; - m1 = -mfabc - two * mfabb * vx3 + mfaba * (one - vx3Sq); + m1 = -mfabc - c2o1 * mfabb * vx3 + mfaba * (c1o1 - vx3Sq); m2 = mfabc * c1o2 + mfabb * (vx3 + c1o2) + mfaba * (vx3Sq + vx3) * c1o2; mfaba = m0; mfabb = m1; mfabc = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfacb * (vx3 - c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfacc - two * mfacb * vx3 + mfaca * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfacc - c2o1 * mfacb * vx3 + mfaca * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfacc * c1o2 + mfacb * (vx3 + c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaca = m0; mfacb = m1; @@ -606,21 +608,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2 + mfbab * (vx3 - c1o2) + mfbaa * (vx3Sq - vx3) * c1o2; - m1 = -mfbac - two * mfbab * vx3 + mfbaa * (one - vx3Sq); + m1 = -mfbac - c2o1 * mfbab * vx3 + mfbaa * (c1o1 - vx3Sq); m2 = mfbac * c1o2 + mfbab * (vx3 + c1o2) + mfbaa * (vx3Sq + vx3) * c1o2; mfbaa = m0; mfbab = m1; mfbac = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbbc * c1o2 + mfbbb * (vx3 - c1o2) + mfbba * (vx3Sq - vx3) * c1o2; - m1 = -mfbbc - two * mfbbb * vx3 + mfbba * (one - vx3Sq); + m1 = -mfbbc - c2o1 * mfbbb * vx3 + mfbba * (c1o1 - vx3Sq); m2 = mfbbc * c1o2 + mfbbb * (vx3 + c1o2) + mfbba * (vx3Sq + vx3) * c1o2; mfbba = m0; mfbbb = m1; mfbbc = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbcb * (vx3 - c1o2) + mfbca * (vx3Sq - vx3) * c1o2; - m1 = -mfbcc - two * mfbcb * vx3 + mfbca * (one - vx3Sq); + m1 = -mfbcc - c2o1 * mfbcb * vx3 + mfbca * (c1o1 - vx3Sq); m2 = mfbcc * c1o2 + mfbcb * (vx3 + c1o2) + mfbca * (vx3Sq + vx3) * c1o2; mfbca = m0; mfbcb = m1; @@ -628,21 +630,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfcab * (vx3 - c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfcac - two * mfcab * vx3 + mfcaa * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfcac - c2o1 * mfcab * vx3 + mfcaa * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfcac * c1o2 + mfcab * (vx3 + c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcaa = m0; mfcab = m1; mfcac = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfcbb * (vx3 - c1o2) + mfcba * (vx3Sq - vx3) * c1o2; - m1 = -mfcbc - two * mfcbb * vx3 + mfcba * (one - vx3Sq); + m1 = -mfcbc - c2o1 * mfcbb * vx3 + mfcba * (c1o1 - vx3Sq); m2 = mfcbc * c1o2 + mfcbb * (vx3 + c1o2) + mfcba * (vx3Sq + vx3) * c1o2; mfcba = m0; mfcbb = m1; mfcbc = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfccb * (vx3 - c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfccc - two * mfccb * vx3 + mfcca * (one - vx3Sq) - c1o9 * oMdrho * vx3Sq; + m1 = -mfccc - c2o1 * mfccb * vx3 + mfcca * (c1o1 - vx3Sq) - c1o9 * oMdrho * vx3Sq; m2 = mfccc * c1o2 + mfccb * (vx3 + c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcca = m0; mfccb = m1; @@ -653,21 +655,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2 + mfaba * (vx2 - c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfaca - two * mfaba * vx2 + mfaaa * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfaca - c2o1 * mfaba * vx2 + mfaaa * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfaca * c1o2 + mfaba * (vx2 + c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaaa = m0; mfaba = m1; mfaca = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacb * c1o2 + mfabb * (vx2 - c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacb - two * mfabb * vx2 + mfaab * (one - vx2Sq) - c2o3 * oMdrho * vx2Sq; + m1 = -mfacb - c2o1 * mfabb * vx2 + mfaab * (c1o1 - vx2Sq) - c2o3 * oMdrho * vx2Sq; m2 = mfacb * c1o2 + mfabb * (vx2 + c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaab = m0; mfabb = m1; mfacb = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfabc * (vx2 - c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacc - two * mfabc * vx2 + mfaac * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfacc - c2o1 * mfabc * vx2 + mfaac * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfacc * c1o2 + mfabc * (vx2 + c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaac = m0; mfabc = m1; @@ -675,21 +677,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2 + mfbba * (vx2 - c1o2) + mfbaa * (vx2Sq - vx2) * c1o2; - m1 = -mfbca - two * mfbba * vx2 + mfbaa * (one - vx2Sq); + m1 = -mfbca - c2o1 * mfbba * vx2 + mfbaa * (c1o1 - vx2Sq); m2 = mfbca * c1o2 + mfbba * (vx2 + c1o2) + mfbaa * (vx2Sq + vx2) * c1o2; mfbaa = m0; mfbba = m1; mfbca = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcb * c1o2 + mfbbb * (vx2 - c1o2) + mfbab * (vx2Sq - vx2) * c1o2; - m1 = -mfbcb - two * mfbbb * vx2 + mfbab * (one - vx2Sq); + m1 = -mfbcb - c2o1 * mfbbb * vx2 + mfbab * (c1o1 - vx2Sq); m2 = mfbcb * c1o2 + mfbbb * (vx2 + c1o2) + mfbab * (vx2Sq + vx2) * c1o2; mfbab = m0; mfbbb = m1; mfbcb = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbbc * (vx2 - c1o2) + mfbac * (vx2Sq - vx2) * c1o2; - m1 = -mfbcc - two * mfbbc * vx2 + mfbac * (one - vx2Sq); + m1 = -mfbcc - c2o1 * mfbbc * vx2 + mfbac * (c1o1 - vx2Sq); m2 = mfbcc * c1o2 + mfbbc * (vx2 + c1o2) + mfbac * (vx2Sq + vx2) * c1o2; mfbac = m0; mfbbc = m1; @@ -697,21 +699,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfcba * (vx2 - c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfcca - two * mfcba * vx2 + mfcaa * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfcca - c2o1 * mfcba * vx2 + mfcaa * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfcca * c1o2 + mfcba * (vx2 + c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcaa = m0; mfcba = m1; mfcca = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfcbb * (vx2 - c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccb - two * mfcbb * vx2 + mfcab * (one - vx2Sq) - c2o9 * oMdrho * vx2Sq; + m1 = -mfccb - c2o1 * mfcbb * vx2 + mfcab * (c1o1 - vx2Sq) - c2o9 * oMdrho * vx2Sq; m2 = mfccb * c1o2 + mfcbb * (vx2 + c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcab = m0; mfcbb = m1; mfccb = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfcbc * (vx2 - c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccc - two * mfcbc * vx2 + mfcac * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfccc - c2o1 * mfcbc * vx2 + mfcac * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfccc * c1o2 + mfcbc * (vx2 + c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcac = m0; mfcbc = m1; @@ -722,21 +724,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2 + mfbaa * (vx1 - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcaa - two * mfbaa * vx1 + mfaaa * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcaa - c2o1 * mfbaa * vx1 + mfaaa * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcaa * c1o2 + mfbaa * (vx1 + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaaa = m0; mfbaa = m1; mfcaa = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcba * c1o2 + mfbba * (vx1 - c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcba - two * mfbba * vx1 + mfaba * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcba - c2o1 * mfbba * vx1 + mfaba * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcba * c1o2 + mfbba * (vx1 + c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaba = m0; mfbba = m1; mfcba = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfbca * (vx1 - c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcca - two * mfbca * vx1 + mfaca * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcca - c2o1 * mfbca * vx1 + mfaca * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcca * c1o2 + mfbca * (vx1 + c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaca = m0; mfbca = m1; @@ -744,21 +746,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2 + mfbab * (vx1 - c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcab - two * mfbab * vx1 + mfaab * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcab - c2o1 * mfbab * vx1 + mfaab * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcab * c1o2 + mfbab * (vx1 + c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaab = m0; mfbab = m1; mfcab = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfcbb * c1o2 + mfbbb * (vx1 - c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbb - two * mfbbb * vx1 + mfabb * (one - vx1Sq) - c4o9 * oMdrho * vx1Sq; + m1 = -mfcbb - c2o1 * mfbbb * vx1 + mfabb * (c1o1 - vx1Sq) - c4o9 * oMdrho * vx1Sq; m2 = mfcbb * c1o2 + mfbbb * (vx1 + c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabb = m0; mfbbb = m1; mfcbb = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfbcb * (vx1 - c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccb - two * mfbcb * vx1 + mfacb * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfccb - c2o1 * mfbcb * vx1 + mfacb * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfccb * c1o2 + mfbcb * (vx1 + c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacb = m0; mfbcb = m1; @@ -766,21 +768,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeCF(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfbac * (vx1 - c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcac - two * mfbac * vx1 + mfaac * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcac - c2o1 * mfbac * vx1 + mfaac * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcac * c1o2 + mfbac * (vx1 + c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaac = m0; mfbac = m1; mfcac = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfbbc * (vx1 - c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbc - two * mfbbc * vx1 + mfabc * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcbc - c2o1 * mfbbc * vx1 + mfabc * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcbc * c1o2 + mfbbc * (vx1 + c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabc = m0; mfbbc = m1; mfcbc = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfbcc * (vx1 - c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccc - two * mfbcc * vx1 + mfacc * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfccc - c2o1 * mfbcc * vx1 + mfacc * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfccc * c1o2 + mfbcc * (vx1 + c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacc = m0; mfbcc = m1; @@ -945,70 +947,70 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //bulk viscosity real oP = OxxPyyPzzC; - real mfcbb = zeroReal; - real mfabb = zeroReal; - real mfbcb = zeroReal; - real mfbab = zeroReal; - real mfbbc = zeroReal; - real mfbba = zeroReal; - real mfccb = zeroReal; - real mfaab = zeroReal; - real mfcab = zeroReal; - real mfacb = zeroReal; - real mfcbc = zeroReal; - real mfaba = zeroReal; - real mfcba = zeroReal; - real mfabc = zeroReal; - real mfbcc = zeroReal; - real mfbaa = zeroReal; - real mfbca = zeroReal; - real mfbac = zeroReal; - real mfbbb = zeroReal; - real mfccc = zeroReal; - real mfaac = zeroReal; - real mfcac = zeroReal; - real mfacc = zeroReal; - real mfcca = zeroReal; - real mfaaa = zeroReal; - real mfcaa = zeroReal; - real mfaca = zeroReal; + real mfcbb = c0o1; + real mfabb = c0o1; + real mfbcb = c0o1; + real mfbab = c0o1; + real mfbbc = c0o1; + real mfbba = c0o1; + real mfccb = c0o1; + real mfaab = c0o1; + real mfcab = c0o1; + real mfacb = c0o1; + real mfcbc = c0o1; + real mfaba = c0o1; + real mfcba = c0o1; + real mfabc = c0o1; + real mfbcc = c0o1; + real mfbaa = c0o1; + real mfbca = c0o1; + real mfbac = c0o1; + real mfbbb = c0o1; + real mfccc = c0o1; + real mfaac = c0o1; + real mfcac = c0o1; + real mfacc = c0o1; + real mfcca = c0o1; + real mfaaa = c0o1; + real mfcaa = c0o1; + real mfaca = c0o1; mfaaa = press; // if drho is interpolated directly real vx1Sq = vx1*vx1; real vx2Sq = vx2*vx2; real vx3Sq = vx3*vx3; - real oMdrho = one; + real oMdrho = c1o1; //oMdrho = one - mfaaa; //2.f // linear combinations ///////////////////////// - real mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(one+press); + real mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1 +press); - real mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (one + press); - real mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (one + press); + real mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); + real mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (one + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (one + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (one + press); + mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); + mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); + mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); //////////////////////// // linear combinations back mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-two * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * (mxxMyy - two * mxxMzz + mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); //three - mfbbb = zeroReal; + mfbbb = c0o1; - real mxxyPyzz = zeroReal; - real mxxyMyzz = zeroReal; - real mxxzPyyz = zeroReal; - real mxxzMyyz = zeroReal; - real mxyyPxzz = zeroReal; - real mxyyMxzz = zeroReal; + real mxxyPyzz = c0o1; + real mxxyMyzz = c0o1; + real mxxzPyyz = c0o1; + real mxxzMyyz = c0o1; + real mxyyPxzz = c0o1; + real mxyyMxzz = c0o1; // linear combinations back mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; @@ -1032,22 +1034,22 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + one * oMdrho) * (vx3Sq - vx3) * c1o2; - real m1 = -mfaac - two * mfaab * vx3 + mfaaa * (one - vx3Sq) - one * oMdrho * vx3Sq; - real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + one * oMdrho) * (vx3Sq + vx3) * c1o2; + real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq - vx3) * c1o2; + real m1 = -mfaac - c2o1 * mfaab * vx3 + mfaaa * (c1o1 - vx3Sq) - c1o1 * oMdrho * vx3Sq; + real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2 + mfabb * (vx3 - c1o2) + mfaba * (vx3Sq - vx3) * c1o2; - m1 = -mfabc - two * mfabb * vx3 + mfaba * (one - vx3Sq); + m1 = -mfabc - c2o1 * mfabb * vx3 + mfaba * (c1o1 - vx3Sq); m2 = mfabc * c1o2 + mfabb * (vx3 + c1o2) + mfaba * (vx3Sq + vx3) * c1o2; mfaba = m0; mfabb = m1; mfabc = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfacb * (vx3 - c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfacc - two * mfacb * vx3 + mfaca * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfacc - c2o1 * mfacb * vx3 + mfaca * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfacc * c1o2 + mfacb * (vx3 + c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaca = m0; mfacb = m1; @@ -1055,21 +1057,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2 + mfbab * (vx3 - c1o2) + mfbaa * (vx3Sq - vx3) * c1o2; - m1 = -mfbac - two * mfbab * vx3 + mfbaa * (one - vx3Sq); + m1 = -mfbac - c2o1 * mfbab * vx3 + mfbaa * (c1o1 - vx3Sq); m2 = mfbac * c1o2 + mfbab * (vx3 + c1o2) + mfbaa * (vx3Sq + vx3) * c1o2; mfbaa = m0; mfbab = m1; mfbac = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbbc * c1o2 + mfbbb * (vx3 - c1o2) + mfbba * (vx3Sq - vx3) * c1o2; - m1 = -mfbbc - two * mfbbb * vx3 + mfbba * (one - vx3Sq); + m1 = -mfbbc - c2o1 * mfbbb * vx3 + mfbba * (c1o1 - vx3Sq); m2 = mfbbc * c1o2 + mfbbb * (vx3 + c1o2) + mfbba * (vx3Sq + vx3) * c1o2; mfbba = m0; mfbbb = m1; mfbbc = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbcb * (vx3 - c1o2) + mfbca * (vx3Sq - vx3) * c1o2; - m1 = -mfbcc - two * mfbcb * vx3 + mfbca * (one - vx3Sq); + m1 = -mfbcc - c2o1 * mfbcb * vx3 + mfbca * (c1o1 - vx3Sq); m2 = mfbcc * c1o2 + mfbcb * (vx3 + c1o2) + mfbca * (vx3Sq + vx3) * c1o2; mfbca = m0; mfbcb = m1; @@ -1077,21 +1079,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfcab * (vx3 - c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfcac - two * mfcab * vx3 + mfcaa * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfcac - c2o1 * mfcab * vx3 + mfcaa * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfcac * c1o2 + mfcab * (vx3 + c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcaa = m0; mfcab = m1; mfcac = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfcbb * (vx3 - c1o2) + mfcba * (vx3Sq - vx3) * c1o2; - m1 = -mfcbc - two * mfcbb * vx3 + mfcba * (one - vx3Sq); + m1 = -mfcbc - c2o1 * mfcbb * vx3 + mfcba * (c1o1 - vx3Sq); m2 = mfcbc * c1o2 + mfcbb * (vx3 + c1o2) + mfcba * (vx3Sq + vx3) * c1o2; mfcba = m0; mfcbb = m1; mfcbc = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfccb * (vx3 - c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfccc - two * mfccb * vx3 + mfcca * (one - vx3Sq) - c1o9 * oMdrho * vx3Sq; + m1 = -mfccc - c2o1 * mfccb * vx3 + mfcca * (c1o1 - vx3Sq) - c1o9 * oMdrho * vx3Sq; m2 = mfccc * c1o2 + mfccb * (vx3 + c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcca = m0; mfccb = m1; @@ -1102,21 +1104,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2 + mfaba * (vx2 - c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfaca - two * mfaba * vx2 + mfaaa * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfaca - c2o1 * mfaba * vx2 + mfaaa * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfaca * c1o2 + mfaba * (vx2 + c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaaa = m0; mfaba = m1; mfaca = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacb * c1o2 + mfabb * (vx2 - c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacb - two * mfabb * vx2 + mfaab * (one - vx2Sq) - c2o3 * oMdrho * vx2Sq; + m1 = -mfacb - c2o1 * mfabb * vx2 + mfaab * (c1o1 - vx2Sq) - c2o3 * oMdrho * vx2Sq; m2 = mfacb * c1o2 + mfabb * (vx2 + c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaab = m0; mfabb = m1; mfacb = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfabc * (vx2 - c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacc - two * mfabc * vx2 + mfaac * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfacc - c2o1 * mfabc * vx2 + mfaac * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfacc * c1o2 + mfabc * (vx2 + c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaac = m0; mfabc = m1; @@ -1124,21 +1126,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2 + mfbba * (vx2 - c1o2) + mfbaa * (vx2Sq - vx2) * c1o2; - m1 = -mfbca - two * mfbba * vx2 + mfbaa * (one - vx2Sq); + m1 = -mfbca - c2o1 * mfbba * vx2 + mfbaa * (c1o1 - vx2Sq); m2 = mfbca * c1o2 + mfbba * (vx2 + c1o2) + mfbaa * (vx2Sq + vx2) * c1o2; mfbaa = m0; mfbba = m1; mfbca = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcb * c1o2 + mfbbb * (vx2 - c1o2) + mfbab * (vx2Sq - vx2) * c1o2; - m1 = -mfbcb - two * mfbbb * vx2 + mfbab * (one - vx2Sq); + m1 = -mfbcb - c2o1 * mfbbb * vx2 + mfbab * (c1o1 - vx2Sq); m2 = mfbcb * c1o2 + mfbbb * (vx2 + c1o2) + mfbab * (vx2Sq + vx2) * c1o2; mfbab = m0; mfbbb = m1; mfbcb = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbbc * (vx2 - c1o2) + mfbac * (vx2Sq - vx2) * c1o2; - m1 = -mfbcc - two * mfbbc * vx2 + mfbac * (one - vx2Sq); + m1 = -mfbcc - c2o1 * mfbbc * vx2 + mfbac * (c1o1 - vx2Sq); m2 = mfbcc * c1o2 + mfbbc * (vx2 + c1o2) + mfbac * (vx2Sq + vx2) * c1o2; mfbac = m0; mfbbc = m1; @@ -1146,21 +1148,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfcba * (vx2 - c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfcca - two * mfcba * vx2 + mfcaa * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfcca - c2o1 * mfcba * vx2 + mfcaa * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfcca * c1o2 + mfcba * (vx2 + c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcaa = m0; mfcba = m1; mfcca = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfcbb * (vx2 - c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccb - two * mfcbb * vx2 + mfcab * (one - vx2Sq) - c2o9 * oMdrho * vx2Sq; + m1 = -mfccb - c2o1 * mfcbb * vx2 + mfcab * (c1o1 - vx2Sq) - c2o9 * oMdrho * vx2Sq; m2 = mfccb * c1o2 + mfcbb * (vx2 + c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcab = m0; mfcbb = m1; mfccb = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfcbc * (vx2 - c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccc - two * mfcbc * vx2 + mfcac * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfccc - c2o1 * mfcbc * vx2 + mfcac * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfccc * c1o2 + mfcbc * (vx2 + c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcac = m0; mfcbc = m1; @@ -1171,21 +1173,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2 + mfbaa * (vx1 - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcaa - two * mfbaa * vx1 + mfaaa * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcaa - c2o1 * mfbaa * vx1 + mfaaa * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcaa * c1o2 + mfbaa * (vx1 + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaaa = m0; mfbaa = m1; mfcaa = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcba * c1o2 + mfbba * (vx1 - c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcba - two * mfbba * vx1 + mfaba * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcba - c2o1 * mfbba * vx1 + mfaba * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcba * c1o2 + mfbba * (vx1 + c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaba = m0; mfbba = m1; mfcba = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfbca * (vx1 - c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcca - two * mfbca * vx1 + mfaca * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcca - c2o1 * mfbca * vx1 + mfaca * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcca * c1o2 + mfbca * (vx1 + c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaca = m0; mfbca = m1; @@ -1193,21 +1195,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2 + mfbab * (vx1 - c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcab - two * mfbab * vx1 + mfaab * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcab - c2o1 * mfbab * vx1 + mfaab * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcab * c1o2 + mfbab * (vx1 + c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaab = m0; mfbab = m1; mfcab = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfcbb * c1o2 + mfbbb * (vx1 - c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbb - two * mfbbb * vx1 + mfabb * (one - vx1Sq) - c4o9 * oMdrho * vx1Sq; + m1 = -mfcbb - c2o1 * mfbbb * vx1 + mfabb * (c1o1 - vx1Sq) - c4o9 * oMdrho * vx1Sq; m2 = mfcbb * c1o2 + mfbbb * (vx1 + c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabb = m0; mfbbb = m1; mfcbb = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfbcb * (vx1 - c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccb - two * mfbcb * vx1 + mfacb * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfccb - c2o1 * mfbcb * vx1 + mfacb * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfccb * c1o2 + mfbcb * (vx1 + c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacb = m0; mfbcb = m1; @@ -1215,21 +1217,21 @@ void CompressibleOffsetMomentsInterpolationProcessor::calcInterpolatedNodeFC(rea //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfbac * (vx1 - c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcac - two * mfbac * vx1 + mfaac * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcac - c2o1 * mfbac * vx1 + mfaac * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcac * c1o2 + mfbac * (vx1 + c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaac = m0; mfbac = m1; mfcac = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfbbc * (vx1 - c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbc - two * mfbbc * vx1 + mfabc * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcbc - c2o1 * mfbbc * vx1 + mfabc * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcbc * c1o2 + mfbbc * (vx1 + c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabc = m0; mfbbc = m1; mfcbc = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfbcc * (vx1 - c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccc - two * mfbcc * vx1 + mfacc * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfccc - c2o1 * mfbcc * vx1 + mfacc * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfccc * c1o2 + mfbcc * (vx1 + c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetSquarePressureInterpolationProcessor.cpp b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetSquarePressureInterpolationProcessor.cpp index 16185b493a1ee24e0e5207c4d3e0f63afec9ce99..f924d4b9150eabc78b9aa8b5e72eb3dd5df3cf45 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetSquarePressureInterpolationProcessor.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CompressibleOffsetSquarePressureInterpolationProcessor.cpp @@ -1,22 +1,23 @@ #include "CompressibleOffsetSquarePressureInterpolationProcessor.h" #include "D3Q27System.h" -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; CompressibleOffsetSquarePressureInterpolationProcessor::CompressibleOffsetSquarePressureInterpolationProcessor() { this->bulkOmegaToOmega = false; - this->OxxPyyPzzC = one; - this->OxxPyyPzzF = one; + this->OxxPyyPzzC = c1o1; + this->OxxPyyPzzF = c1o1; } ////////////////////////////////////////////////////////////////////////// CompressibleOffsetSquarePressureInterpolationProcessor::CompressibleOffsetSquarePressureInterpolationProcessor(real omegaC, real omegaF) : omegaC(omegaC), omegaF(omegaF) { this->bulkOmegaToOmega = false; - this->OxxPyyPzzC = one; - this->OxxPyyPzzF = one; + this->OxxPyyPzzC = c1o1; + this->OxxPyyPzzF = c1o1; } ////////////////////////////////////////////////////////////////////////// CompressibleOffsetSquarePressureInterpolationProcessor::~CompressibleOffsetSquarePressureInterpolationProcessor() @@ -32,8 +33,8 @@ InterpolationProcessorPtr CompressibleOffsetSquarePressureInterpolationProcessor } else { - dynamicPointerCast<CompressibleOffsetSquarePressureInterpolationProcessor>(iproc)->OxxPyyPzzC = one; - dynamicPointerCast<CompressibleOffsetSquarePressureInterpolationProcessor>(iproc)->OxxPyyPzzF = one; + dynamicPointerCast<CompressibleOffsetSquarePressureInterpolationProcessor>(iproc)->OxxPyyPzzC = c1o1; + dynamicPointerCast<CompressibleOffsetSquarePressureInterpolationProcessor>(iproc)->OxxPyyPzzF = c1o1; } return iproc; } @@ -86,11 +87,11 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcMoments(const r press = drho; //interpolate rho! - kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(one + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 - kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(one + drho)-(vx2*vx3)); - kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(one + drho)-(vx1*vx3)); - kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(one + drho)-(vx1*vx1-vx2*vx2)); - kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(one + drho)-(vx1*vx1-vx3*vx3)); + kxy = -3.*omega*((((f[DIR_MMP]+f[DIR_PPM])-(f[DIR_MPP]+f[DIR_PMM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_MPM]+f[DIR_PMP])))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_MP0]+f[DIR_PM0]))/(c1o1 + drho)-(vx1*vx2));// might not be optimal MG 25.2.13 + kyz = -3.*omega*((((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMP]+f[DIR_MPM]))+((f[DIR_PMM]+f[DIR_MPP])-(f[DIR_MMP]+f[DIR_PPM])))+((f[DIR_0MM]+f[DIR_0PP])-(f[DIR_0MP]+f[DIR_0PM]))/(c1o1 + drho)-(vx2*vx3)); + kxz = -3.*omega*((((f[DIR_MPM]+f[DIR_PMP])-(f[DIR_MMP]+f[DIR_PPM]))+((f[DIR_MMM]+f[DIR_PPP])-(f[DIR_PMM]+f[DIR_MPP])))+((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_M0P]+f[DIR_P0M]))/(c1o1 + drho)-(vx1*vx3)); + kxxMyy = -3./2.*omega*((((f[DIR_M0M]+f[DIR_P0P])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_M0P]+f[DIR_P0M])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_0M0]+f[DIR_0P0]))/(c1o1 + drho)-(vx1*vx1-vx2*vx2)); + kxxMzz = -3./2.*omega*((((f[DIR_MP0]+f[DIR_PM0])-(f[DIR_0MM]+f[DIR_0PP]))+((f[DIR_MM0]+f[DIR_PP0])-(f[DIR_0MP]+f[DIR_0PM])))+((f[DIR_M00]+f[DIR_P00])-(f[DIR_00M]+f[DIR_00P]))/(c1o1 + drho)-(vx1*vx1-vx3*vx3)); } ////////////////////////////////////////////////////////////////////////// void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedCoefficiets(const D3Q27ICell& icell, real omega, real eps_new) @@ -494,65 +495,65 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod real vx2 = b0 + 0.25*( xs*bx + ys*by + zs*bz) + 0.0625*(bxx + xs*ys*bxy + xs*zs*bxz + byy + ys*zs*byz + bzz) + 0.015625*(xs*ys*zs*bxyz); real vx3 = c0 + 0.25*( xs*cx + ys*cy + zs*cz) + 0.0625*(cxx + xs*ys*cxy + xs*zs*cxz + cyy + ys*zs*cyz + czz) + 0.015625*(xs*ys*zs*cxyz); - real mfcbb = zeroReal; - real mfabb = zeroReal; - real mfbcb = zeroReal; - real mfbab = zeroReal; - real mfbbc = zeroReal; - real mfbba = zeroReal; - real mfccb = zeroReal; - real mfaab = zeroReal; - real mfcab = zeroReal; - real mfacb = zeroReal; - real mfcbc = zeroReal; - real mfaba = zeroReal; - real mfcba = zeroReal; - real mfabc = zeroReal; - real mfbcc = zeroReal; - real mfbaa = zeroReal; - real mfbca = zeroReal; - real mfbac = zeroReal; - real mfbbb = zeroReal; - real mfccc = zeroReal; - real mfaac = zeroReal; - real mfcac = zeroReal; - real mfacc = zeroReal; - real mfcca = zeroReal; - real mfaaa = zeroReal; - real mfcaa = zeroReal; - real mfaca = zeroReal; + real mfcbb = c0o1; + real mfabb = c0o1; + real mfbcb = c0o1; + real mfbab = c0o1; + real mfbbc = c0o1; + real mfbba = c0o1; + real mfccb = c0o1; + real mfaab = c0o1; + real mfcab = c0o1; + real mfacb = c0o1; + real mfcbc = c0o1; + real mfaba = c0o1; + real mfcba = c0o1; + real mfabc = c0o1; + real mfbcc = c0o1; + real mfbaa = c0o1; + real mfbca = c0o1; + real mfbac = c0o1; + real mfbbb = c0o1; + real mfccc = c0o1; + real mfaac = c0o1; + real mfcac = c0o1; + real mfacc = c0o1; + real mfcca = c0o1; + real mfaaa = c0o1; + real mfcaa = c0o1; + real mfaca = c0o1; mfaaa = rho; // if drho is interpolated directly real vx1Sq = vx1*vx1; real vx2Sq = vx2*vx2; real vx3Sq = vx3*vx3; - real oMdrho = one; + real oMdrho = c1o1; //2.f // linear combinations - real mxxPyyPzz = mfaaa - c2o3*(ax + by + two*axx*x + bxy*x + axy*y + two*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + two*czz*z)*eps_new / oP* (one + press); - real mxxMyy = -c2o3*(ax - by + kxxMyyAverage + two*axx*x - bxy*x + axy*y - two*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (one + press); - real mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + two*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - two*czz*z + axyz*y*z)*eps_new/o * (one + press); + real mxxPyyPzz = mfaaa - c2o3*(ax + by + c2o1*axx*x + bxy*x + axy*y + c2o1*byy*y + axz*z + byz*z + bxyz*x*z + axyz*y*z + cz - cxz*x + cyz*y + cxyz*x*y + c2o1*czz*z)*eps_new / oP* (c1o1 + press); + real mxxMyy = -c2o3*(ax - by + kxxMyyAverage + c2o1*axx*x - bxy*x + axy*y - c2o1*byy*y + axz*z - byz*z - bxyz*x*z + axyz*y*z)*eps_new/o * (c1o1 + press); + real mxxMzz = -c2o3*(ax - cz + kxxMzzAverage + c2o1*axx*x - cxz*x + axy*y - cyz*y - cxyz*x*y + axz*z - c2o1*czz*z + axyz*y*z)*eps_new/o * (c1o1 + press); - mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + two*cyy*y + bxyz*x*y + two*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (one + press); - mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + two*cxx*x + ayz*y + cxy*y + axyz*x*y + two*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (one + press); - mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + two*bxx*x + two*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (one + press); + mfabb = -c1o3 * (bz + cy + kyzAverage + bxz*x + cxy*x + byz*y + c2o1*cyy*y + bxyz*x*y + c2o1*bzz*z + cyz*z + cxyz*x*z)*eps_new/o * (c1o1 + press); + mfbab = -c1o3 * (az + cx + kxzAverage + axz*x + c2o1*cxx*x + ayz*y + cxy*y + axyz*x*y + c2o1*azz*z + cxz*z + cxyz*y*z)*eps_new/o * (c1o1 + press); + mfbba = -c1o3 * (ay + bx + kxyAverage + axy*x + c2o1*bxx*x + c2o1*ayy*y + bxy*y + ayz*z + bxz*z + axyz*x*z + bxyz*y*z)*eps_new/o * (c1o1 + press); // linear combinations back mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz) ; - mfaca = c1o3 * (-two * mxxMyy + mxxMzz + mxxPyyPzz) ; - mfaac = c1o3 * (mxxMyy - two * mxxMzz + mxxPyyPzz) ; + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) ; + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz) ; //three - mfbbb = zeroReal; - real mxxyPyzz = zeroReal; - real mxxyMyzz = zeroReal; - real mxxzPyyz = zeroReal; - real mxxzMyyz = zeroReal; - real mxyyPxzz = zeroReal; - real mxyyMxzz = zeroReal; + mfbbb = c0o1; + real mxxyPyzz = c0o1; + real mxxyMyzz = c0o1; + real mxxzPyyz = c0o1; + real mxxzMyyz = c0o1; + real mxyyPxzz = c0o1; + real mxyyMxzz = c0o1; // linear combinations back mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; @@ -578,22 +579,22 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + one * oMdrho) * (vx3Sq - vx3) * c1o2; - real m1 = -mfaac - two * mfaab * vx3 + mfaaa * (one - vx3Sq) - one * oMdrho * vx3Sq; - real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + one * oMdrho) * (vx3Sq + vx3) * c1o2; + real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq - vx3) * c1o2; + real m1 = -mfaac - c2o1 * mfaab * vx3 + mfaaa * (c1o1 - vx3Sq) - c1o1 * oMdrho * vx3Sq; + real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2 + mfabb * (vx3 - c1o2) + mfaba * (vx3Sq - vx3) * c1o2; - m1 = -mfabc - two * mfabb * vx3 + mfaba * (one - vx3Sq); + m1 = -mfabc - c2o1 * mfabb * vx3 + mfaba * (c1o1 - vx3Sq); m2 = mfabc * c1o2 + mfabb * (vx3 + c1o2) + mfaba * (vx3Sq + vx3) * c1o2; mfaba = m0; mfabb = m1; mfabc = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfacb * (vx3 - c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfacc - two * mfacb * vx3 + mfaca * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfacc - c2o1 * mfacb * vx3 + mfaca * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfacc * c1o2 + mfacb * (vx3 + c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaca = m0; mfacb = m1; @@ -601,21 +602,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2 + mfbab * (vx3 - c1o2) + mfbaa * (vx3Sq - vx3) * c1o2; - m1 = -mfbac - two * mfbab * vx3 + mfbaa * (one - vx3Sq); + m1 = -mfbac - c2o1 * mfbab * vx3 + mfbaa * (c1o1 - vx3Sq); m2 = mfbac * c1o2 + mfbab * (vx3 + c1o2) + mfbaa * (vx3Sq + vx3) * c1o2; mfbaa = m0; mfbab = m1; mfbac = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbbc * c1o2 + mfbbb * (vx3 - c1o2) + mfbba * (vx3Sq - vx3) * c1o2; - m1 = -mfbbc - two * mfbbb * vx3 + mfbba * (one - vx3Sq); + m1 = -mfbbc - c2o1 * mfbbb * vx3 + mfbba * (c1o1 - vx3Sq); m2 = mfbbc * c1o2 + mfbbb * (vx3 + c1o2) + mfbba * (vx3Sq + vx3) * c1o2; mfbba = m0; mfbbb = m1; mfbbc = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbcb * (vx3 - c1o2) + mfbca * (vx3Sq - vx3) * c1o2; - m1 = -mfbcc - two * mfbcb * vx3 + mfbca * (one - vx3Sq); + m1 = -mfbcc - c2o1 * mfbcb * vx3 + mfbca * (c1o1 - vx3Sq); m2 = mfbcc * c1o2 + mfbcb * (vx3 + c1o2) + mfbca * (vx3Sq + vx3) * c1o2; mfbca = m0; mfbcb = m1; @@ -623,21 +624,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfcab * (vx3 - c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfcac - two * mfcab * vx3 + mfcaa * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfcac - c2o1 * mfcab * vx3 + mfcaa * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfcac * c1o2 + mfcab * (vx3 + c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcaa = m0; mfcab = m1; mfcac = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfcbb * (vx3 - c1o2) + mfcba * (vx3Sq - vx3) * c1o2; - m1 = -mfcbc - two * mfcbb * vx3 + mfcba * (one - vx3Sq); + m1 = -mfcbc - c2o1 * mfcbb * vx3 + mfcba * (c1o1 - vx3Sq); m2 = mfcbc * c1o2 + mfcbb * (vx3 + c1o2) + mfcba * (vx3Sq + vx3) * c1o2; mfcba = m0; mfcbb = m1; mfcbc = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfccb * (vx3 - c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfccc - two * mfccb * vx3 + mfcca * (one - vx3Sq) - c1o9 * oMdrho * vx3Sq; + m1 = -mfccc - c2o1 * mfccb * vx3 + mfcca * (c1o1 - vx3Sq) - c1o9 * oMdrho * vx3Sq; m2 = mfccc * c1o2 + mfccb * (vx3 + c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcca = m0; mfccb = m1; @@ -648,21 +649,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2 + mfaba * (vx2 - c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfaca - two * mfaba * vx2 + mfaaa * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfaca - c2o1 * mfaba * vx2 + mfaaa * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfaca * c1o2 + mfaba * (vx2 + c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaaa = m0; mfaba = m1; mfaca = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacb * c1o2 + mfabb * (vx2 - c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacb - two * mfabb * vx2 + mfaab * (one - vx2Sq) - c2o3 * oMdrho * vx2Sq; + m1 = -mfacb - c2o1 * mfabb * vx2 + mfaab * (c1o1 - vx2Sq) - c2o3 * oMdrho * vx2Sq; m2 = mfacb * c1o2 + mfabb * (vx2 + c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaab = m0; mfabb = m1; mfacb = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfabc * (vx2 - c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacc - two * mfabc * vx2 + mfaac * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfacc - c2o1 * mfabc * vx2 + mfaac * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfacc * c1o2 + mfabc * (vx2 + c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaac = m0; mfabc = m1; @@ -670,21 +671,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2 + mfbba * (vx2 - c1o2) + mfbaa * (vx2Sq - vx2) * c1o2; - m1 = -mfbca - two * mfbba * vx2 + mfbaa * (one - vx2Sq); + m1 = -mfbca - c2o1 * mfbba * vx2 + mfbaa * (c1o1 - vx2Sq); m2 = mfbca * c1o2 + mfbba * (vx2 + c1o2) + mfbaa * (vx2Sq + vx2) * c1o2; mfbaa = m0; mfbba = m1; mfbca = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcb * c1o2 + mfbbb * (vx2 - c1o2) + mfbab * (vx2Sq - vx2) * c1o2; - m1 = -mfbcb - two * mfbbb * vx2 + mfbab * (one - vx2Sq); + m1 = -mfbcb - c2o1 * mfbbb * vx2 + mfbab * (c1o1 - vx2Sq); m2 = mfbcb * c1o2 + mfbbb * (vx2 + c1o2) + mfbab * (vx2Sq + vx2) * c1o2; mfbab = m0; mfbbb = m1; mfbcb = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbbc * (vx2 - c1o2) + mfbac * (vx2Sq - vx2) * c1o2; - m1 = -mfbcc - two * mfbbc * vx2 + mfbac * (one - vx2Sq); + m1 = -mfbcc - c2o1 * mfbbc * vx2 + mfbac * (c1o1 - vx2Sq); m2 = mfbcc * c1o2 + mfbbc * (vx2 + c1o2) + mfbac * (vx2Sq + vx2) * c1o2; mfbac = m0; mfbbc = m1; @@ -692,21 +693,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfcba * (vx2 - c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfcca - two * mfcba * vx2 + mfcaa * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfcca - c2o1 * mfcba * vx2 + mfcaa * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfcca * c1o2 + mfcba * (vx2 + c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcaa = m0; mfcba = m1; mfcca = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfcbb * (vx2 - c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccb - two * mfcbb * vx2 + mfcab * (one - vx2Sq) - c2o9 * oMdrho * vx2Sq; + m1 = -mfccb - c2o1 * mfcbb * vx2 + mfcab * (c1o1 - vx2Sq) - c2o9 * oMdrho * vx2Sq; m2 = mfccb * c1o2 + mfcbb * (vx2 + c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcab = m0; mfcbb = m1; mfccb = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfcbc * (vx2 - c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccc - two * mfcbc * vx2 + mfcac * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfccc - c2o1 * mfcbc * vx2 + mfcac * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfccc * c1o2 + mfcbc * (vx2 + c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcac = m0; mfcbc = m1; @@ -717,21 +718,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2 + mfbaa * (vx1 - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcaa - two * mfbaa * vx1 + mfaaa * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcaa - c2o1 * mfbaa * vx1 + mfaaa * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcaa * c1o2 + mfbaa * (vx1 + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaaa = m0; mfbaa = m1; mfcaa = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcba * c1o2 + mfbba * (vx1 - c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcba - two * mfbba * vx1 + mfaba * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcba - c2o1 * mfbba * vx1 + mfaba * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcba * c1o2 + mfbba * (vx1 + c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaba = m0; mfbba = m1; mfcba = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfbca * (vx1 - c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcca - two * mfbca * vx1 + mfaca * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcca - c2o1 * mfbca * vx1 + mfaca * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcca * c1o2 + mfbca * (vx1 + c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaca = m0; mfbca = m1; @@ -739,21 +740,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2 + mfbab * (vx1 - c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcab - two * mfbab * vx1 + mfaab * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcab - c2o1 * mfbab * vx1 + mfaab * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcab * c1o2 + mfbab * (vx1 + c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaab = m0; mfbab = m1; mfcab = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfcbb * c1o2 + mfbbb * (vx1 - c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbb - two * mfbbb * vx1 + mfabb * (one - vx1Sq) - c4o9 * oMdrho * vx1Sq; + m1 = -mfcbb - c2o1 * mfbbb * vx1 + mfabb * (c1o1 - vx1Sq) - c4o9 * oMdrho * vx1Sq; m2 = mfcbb * c1o2 + mfbbb * (vx1 + c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabb = m0; mfbbb = m1; mfcbb = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfbcb * (vx1 - c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccb - two * mfbcb * vx1 + mfacb * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfccb - c2o1 * mfbcb * vx1 + mfacb * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfccb * c1o2 + mfbcb * (vx1 + c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacb = m0; mfbcb = m1; @@ -761,21 +762,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfbac * (vx1 - c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcac - two * mfbac * vx1 + mfaac * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcac - c2o1 * mfbac * vx1 + mfaac * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcac * c1o2 + mfbac * (vx1 + c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaac = m0; mfbac = m1; mfcac = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfbbc * (vx1 - c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbc - two * mfbbc * vx1 + mfabc * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcbc - c2o1 * mfbbc * vx1 + mfabc * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcbc * c1o2 + mfbbc * (vx1 + c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabc = m0; mfbbc = m1; mfcbc = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfbcc * (vx1 - c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccc - two * mfbcc * vx1 + mfacc * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfccc - c2o1 * mfbcc * vx1 + mfacc * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfccc * c1o2 + mfbcc * (vx1 + c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacc = m0; mfbcc = m1; @@ -945,70 +946,70 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //bulk viscosity real oP = OxxPyyPzzC; - real mfcbb = zeroReal; - real mfabb = zeroReal; - real mfbcb = zeroReal; - real mfbab = zeroReal; - real mfbbc = zeroReal; - real mfbba = zeroReal; - real mfccb = zeroReal; - real mfaab = zeroReal; - real mfcab = zeroReal; - real mfacb = zeroReal; - real mfcbc = zeroReal; - real mfaba = zeroReal; - real mfcba = zeroReal; - real mfabc = zeroReal; - real mfbcc = zeroReal; - real mfbaa = zeroReal; - real mfbca = zeroReal; - real mfbac = zeroReal; - real mfbbb = zeroReal; - real mfccc = zeroReal; - real mfaac = zeroReal; - real mfcac = zeroReal; - real mfacc = zeroReal; - real mfcca = zeroReal; - real mfaaa = zeroReal; - real mfcaa = zeroReal; - real mfaca = zeroReal; + real mfcbb = c0o1; + real mfabb = c0o1; + real mfbcb = c0o1; + real mfbab = c0o1; + real mfbbc = c0o1; + real mfbba = c0o1; + real mfccb = c0o1; + real mfaab = c0o1; + real mfcab = c0o1; + real mfacb = c0o1; + real mfcbc = c0o1; + real mfaba = c0o1; + real mfcba = c0o1; + real mfabc = c0o1; + real mfbcc = c0o1; + real mfbaa = c0o1; + real mfbca = c0o1; + real mfbac = c0o1; + real mfbbb = c0o1; + real mfccc = c0o1; + real mfaac = c0o1; + real mfcac = c0o1; + real mfacc = c0o1; + real mfcca = c0o1; + real mfaaa = c0o1; + real mfcaa = c0o1; + real mfaca = c0o1; mfaaa = rho; // if drho is interpolated directly real vx1Sq = vx1*vx1; real vx2Sq = vx2*vx2; real vx3Sq = vx3*vx3; - real oMdrho = one; - //oMdrho = one - mfaaa; + real oMdrho = c1o1; + //oMdrho = c1o1 - mfaaa; //2.f // linear combinations ///////////////////////// - real mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(one+press); + real mxxPyyPzz = mfaaa -c2o3*(ax+by+cz)*eps_new/oP*(c1o1+press); - real mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (one + press); - real mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (one + press); + real mxxMyy = -c2o3*((ax - by)+kxxMyyAverage)*eps_new/o * (c1o1 + press); + real mxxMzz = -c2o3*((ax - cz)+kxxMzzAverage)*eps_new/o * (c1o1 + press); - mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (one + press); - mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (one + press); - mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (one + press); + mfabb = -c1o3 * ((bz + cy)+kyzAverage)*eps_new/o * (c1o1 + press); + mfbab = -c1o3 * ((az + cx)+kxzAverage)*eps_new/o * (c1o1 + press); + mfbba = -c1o3 * ((ay + bx)+kxyAverage)*eps_new/o * (c1o1 + press); //////////////////////// // linear combinations back mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-two * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * (mxxMyy - two * mxxMzz + mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); //three - mfbbb = zeroReal; + mfbbb = c0o1; - real mxxyPyzz = zeroReal; - real mxxyMyzz = zeroReal; - real mxxzPyyz = zeroReal; - real mxxzMyyz = zeroReal; - real mxyyPxzz = zeroReal; - real mxyyMxzz = zeroReal; + real mxxyPyzz = c0o1; + real mxxyMyzz = c0o1; + real mxxzPyyz = c0o1; + real mxxzMyyz = c0o1; + real mxyyPxzz = c0o1; + real mxyyMxzz = c0o1; // linear combinations back mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; @@ -1032,22 +1033,22 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + one * oMdrho) * (vx3Sq - vx3) * c1o2; - real m1 = -mfaac - two * mfaab * vx3 + mfaaa * (one - vx3Sq) - one * oMdrho * vx3Sq; - real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + one * oMdrho) * (vx3Sq + vx3) * c1o2; + real m0 = mfaac * c1o2 + mfaab * (vx3 - c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq - vx3) * c1o2; + real m1 = -mfaac - c2o1 * mfaab * vx3 + mfaaa * (c1o1 - vx3Sq) - c1o1 * oMdrho * vx3Sq; + real m2 = mfaac * c1o2 + mfaab * (vx3 + c1o2) + (mfaaa + c1o1 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2 + mfabb * (vx3 - c1o2) + mfaba * (vx3Sq - vx3) * c1o2; - m1 = -mfabc - two * mfabb * vx3 + mfaba * (one - vx3Sq); + m1 = -mfabc - c2o1 * mfabb * vx3 + mfaba * (c1o1 - vx3Sq); m2 = mfabc * c1o2 + mfabb * (vx3 + c1o2) + mfaba * (vx3Sq + vx3) * c1o2; mfaba = m0; mfabb = m1; mfabc = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfacb * (vx3 - c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfacc - two * mfacb * vx3 + mfaca * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfacc - c2o1 * mfacb * vx3 + mfaca * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfacc * c1o2 + mfacb * (vx3 + c1o2) + (mfaca + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfaca = m0; mfacb = m1; @@ -1055,21 +1056,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2 + mfbab * (vx3 - c1o2) + mfbaa * (vx3Sq - vx3) * c1o2; - m1 = -mfbac - two * mfbab * vx3 + mfbaa * (one - vx3Sq); + m1 = -mfbac - c2o1 * mfbab * vx3 + mfbaa * (c1o1 - vx3Sq); m2 = mfbac * c1o2 + mfbab * (vx3 + c1o2) + mfbaa * (vx3Sq + vx3) * c1o2; mfbaa = m0; mfbab = m1; mfbac = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbbc * c1o2 + mfbbb * (vx3 - c1o2) + mfbba * (vx3Sq - vx3) * c1o2; - m1 = -mfbbc - two * mfbbb * vx3 + mfbba * (one - vx3Sq); + m1 = -mfbbc - c2o1 * mfbbb * vx3 + mfbba * (c1o1 - vx3Sq); m2 = mfbbc * c1o2 + mfbbb * (vx3 + c1o2) + mfbba * (vx3Sq + vx3) * c1o2; mfbba = m0; mfbbb = m1; mfbbc = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbcb * (vx3 - c1o2) + mfbca * (vx3Sq - vx3) * c1o2; - m1 = -mfbcc - two * mfbcb * vx3 + mfbca * (one - vx3Sq); + m1 = -mfbcc - c2o1 * mfbcb * vx3 + mfbca * (c1o1 - vx3Sq); m2 = mfbcc * c1o2 + mfbcb * (vx3 + c1o2) + mfbca * (vx3Sq + vx3) * c1o2; mfbca = m0; mfbcb = m1; @@ -1077,21 +1078,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfcab * (vx3 - c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfcac - two * mfcab * vx3 + mfcaa * (one - vx3Sq) - c1o3 * oMdrho * vx3Sq; + m1 = -mfcac - c2o1 * mfcab * vx3 + mfcaa * (c1o1 - vx3Sq) - c1o3 * oMdrho * vx3Sq; m2 = mfcac * c1o2 + mfcab * (vx3 + c1o2) + (mfcaa + c1o3 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcaa = m0; mfcab = m1; mfcac = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfcbb * (vx3 - c1o2) + mfcba * (vx3Sq - vx3) * c1o2; - m1 = -mfcbc - two * mfcbb * vx3 + mfcba * (one - vx3Sq); + m1 = -mfcbc - c2o1 * mfcbb * vx3 + mfcba * (c1o1 - vx3Sq); m2 = mfcbc * c1o2 + mfcbb * (vx3 + c1o2) + mfcba * (vx3Sq + vx3) * c1o2; mfcba = m0; mfcbb = m1; mfcbc = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfccb * (vx3 - c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq - vx3) * c1o2; - m1 = -mfccc - two * mfccb * vx3 + mfcca * (one - vx3Sq) - c1o9 * oMdrho * vx3Sq; + m1 = -mfccc - c2o1 * mfccb * vx3 + mfcca * (c1o1 - vx3Sq) - c1o9 * oMdrho * vx3Sq; m2 = mfccc * c1o2 + mfccb * (vx3 + c1o2) + (mfcca + c1o9 * oMdrho) * (vx3Sq + vx3) * c1o2; mfcca = m0; mfccb = m1; @@ -1102,21 +1103,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2 + mfaba * (vx2 - c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfaca - two * mfaba * vx2 + mfaaa * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfaca - c2o1 * mfaba * vx2 + mfaaa * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfaca * c1o2 + mfaba * (vx2 + c1o2) + (mfaaa + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaaa = m0; mfaba = m1; mfaca = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacb * c1o2 + mfabb * (vx2 - c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacb - two * mfabb * vx2 + mfaab * (one - vx2Sq) - c2o3 * oMdrho * vx2Sq; + m1 = -mfacb - c2o1 * mfabb * vx2 + mfaab * (c1o1 - vx2Sq) - c2o3 * oMdrho * vx2Sq; m2 = mfacb * c1o2 + mfabb * (vx2 + c1o2) + (mfaab + c2o3 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaab = m0; mfabb = m1; mfacb = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfacc * c1o2 + mfabc * (vx2 - c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfacc - two * mfabc * vx2 + mfaac * (one - vx2Sq) - c1o6 * oMdrho * vx2Sq; + m1 = -mfacc - c2o1 * mfabc * vx2 + mfaac * (c1o1 - vx2Sq) - c1o6 * oMdrho * vx2Sq; m2 = mfacc * c1o2 + mfabc * (vx2 + c1o2) + (mfaac + c1o6 * oMdrho) * (vx2Sq + vx2) * c1o2; mfaac = m0; mfabc = m1; @@ -1124,21 +1125,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2 + mfbba * (vx2 - c1o2) + mfbaa * (vx2Sq - vx2) * c1o2; - m1 = -mfbca - two * mfbba * vx2 + mfbaa * (one - vx2Sq); + m1 = -mfbca - c2o1 * mfbba * vx2 + mfbaa * (c1o1 - vx2Sq); m2 = mfbca * c1o2 + mfbba * (vx2 + c1o2) + mfbaa * (vx2Sq + vx2) * c1o2; mfbaa = m0; mfbba = m1; mfbca = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcb * c1o2 + mfbbb * (vx2 - c1o2) + mfbab * (vx2Sq - vx2) * c1o2; - m1 = -mfbcb - two * mfbbb * vx2 + mfbab * (one - vx2Sq); + m1 = -mfbcb - c2o1 * mfbbb * vx2 + mfbab * (c1o1 - vx2Sq); m2 = mfbcb * c1o2 + mfbbb * (vx2 + c1o2) + mfbab * (vx2Sq + vx2) * c1o2; mfbab = m0; mfbbb = m1; mfbcb = m2; /////////b////////////////////////////////////////////////////////////////////////// m0 = mfbcc * c1o2 + mfbbc * (vx2 - c1o2) + mfbac * (vx2Sq - vx2) * c1o2; - m1 = -mfbcc - two * mfbbc * vx2 + mfbac * (one - vx2Sq); + m1 = -mfbcc - c2o1 * mfbbc * vx2 + mfbac * (c1o1 - vx2Sq); m2 = mfbcc * c1o2 + mfbbc * (vx2 + c1o2) + mfbac * (vx2Sq + vx2) * c1o2; mfbac = m0; mfbbc = m1; @@ -1146,21 +1147,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfcba * (vx2 - c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfcca - two * mfcba * vx2 + mfcaa * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfcca - c2o1 * mfcba * vx2 + mfcaa * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfcca * c1o2 + mfcba * (vx2 + c1o2) + (mfcaa + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcaa = m0; mfcba = m1; mfcca = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfcbb * (vx2 - c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccb - two * mfcbb * vx2 + mfcab * (one - vx2Sq) - c2o9 * oMdrho * vx2Sq; + m1 = -mfccb - c2o1 * mfcbb * vx2 + mfcab * (c1o1 - vx2Sq) - c2o9 * oMdrho * vx2Sq; m2 = mfccb * c1o2 + mfcbb * (vx2 + c1o2) + (mfcab + c2o9 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcab = m0; mfcbb = m1; mfccb = m2; /////////c////////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfcbc * (vx2 - c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq - vx2) * c1o2; - m1 = -mfccc - two * mfcbc * vx2 + mfcac * (one - vx2Sq) - c1o18 * oMdrho * vx2Sq; + m1 = -mfccc - c2o1 * mfcbc * vx2 + mfcac * (c1o1 - vx2Sq) - c1o18 * oMdrho * vx2Sq; m2 = mfccc * c1o2 + mfcbc * (vx2 + c1o2) + (mfcac + c1o18 * oMdrho) * (vx2Sq + vx2) * c1o2; mfcac = m0; mfcbc = m1; @@ -1171,21 +1172,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2 + mfbaa * (vx1 - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcaa - two * mfbaa * vx1 + mfaaa * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcaa - c2o1 * mfbaa * vx1 + mfaaa * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcaa * c1o2 + mfbaa * (vx1 + c1o2) + (mfaaa + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaaa = m0; mfbaa = m1; mfcaa = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcba * c1o2 + mfbba * (vx1 - c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcba - two * mfbba * vx1 + mfaba * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcba - c2o1 * mfbba * vx1 + mfaba * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcba * c1o2 + mfbba * (vx1 + c1o2) + (mfaba + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaba = m0; mfbba = m1; mfcba = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfbca * (vx1 - c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcca - two * mfbca * vx1 + mfaca * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcca - c2o1 * mfbca * vx1 + mfaca * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcca * c1o2 + mfbca * (vx1 + c1o2) + (mfaca + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaca = m0; mfbca = m1; @@ -1193,21 +1194,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2 + mfbab * (vx1 - c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcab - two * mfbab * vx1 + mfaab * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcab - c2o1 * mfbab * vx1 + mfaab * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcab * c1o2 + mfbab * (vx1 + c1o2) + (mfaab + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaab = m0; mfbab = m1; mfcab = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfcbb * c1o2 + mfbbb * (vx1 - c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbb - two * mfbbb * vx1 + mfabb * (one - vx1Sq) - c4o9 * oMdrho * vx1Sq; + m1 = -mfcbb - c2o1 * mfbbb * vx1 + mfabb * (c1o1 - vx1Sq) - c4o9 * oMdrho * vx1Sq; m2 = mfcbb * c1o2 + mfbbb * (vx1 + c1o2) + (mfabb + c4o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabb = m0; mfbbb = m1; mfcbb = m2; ///////////b//////////////////////////////////////////////////////////////////////// m0 = mfccb * c1o2 + mfbcb * (vx1 - c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccb - two * mfbcb * vx1 + mfacb * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfccb - c2o1 * mfbcb * vx1 + mfacb * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfccb * c1o2 + mfbcb * (vx1 + c1o2) + (mfacb + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacb = m0; mfbcb = m1; @@ -1215,21 +1216,21 @@ void CompressibleOffsetSquarePressureInterpolationProcessor::calcInterpolatedNod //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfbac * (vx1 - c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcac - two * mfbac * vx1 + mfaac * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfcac - c2o1 * mfbac * vx1 + mfaac * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfcac * c1o2 + mfbac * (vx1 + c1o2) + (mfaac + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfaac = m0; mfbac = m1; mfcac = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfcbc * c1o2 + mfbbc * (vx1 - c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfcbc - two * mfbbc * vx1 + mfabc * (one - vx1Sq) - c1o9 * oMdrho * vx1Sq; + m1 = -mfcbc - c2o1 * mfbbc * vx1 + mfabc * (c1o1 - vx1Sq) - c1o9 * oMdrho * vx1Sq; m2 = mfcbc * c1o2 + mfbbc * (vx1 + c1o2) + (mfabc + c1o9 * oMdrho) * (vx1Sq + vx1) * c1o2; mfabc = m0; mfbbc = m1; mfcbc = m2; ///////////c//////////////////////////////////////////////////////////////////////// m0 = mfccc * c1o2 + mfbcc * (vx1 - c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq - vx1) * c1o2; - m1 = -mfccc - two * mfbcc * vx1 + mfacc * (one - vx1Sq) - c1o36 * oMdrho * vx1Sq; + m1 = -mfccc - c2o1 * mfbcc * vx1 + mfacc * (c1o1 - vx1Sq) - c1o36 * oMdrho * vx1Sq; m2 = mfccc * c1o2 + mfbcc * (vx1 + c1o2) + (mfacc + c1o36 * oMdrho) * (vx1Sq + vx1) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp index 6f34967e249ce05d83d100a5256011334d9d613b..e9c7007a90063c0f65a6c69053441ae8581866a6 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp @@ -41,7 +41,9 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant +; ////////////////////////////////////////////////////////////////////////// CumulantK17LBMKernel::CumulantK17LBMKernel() @@ -202,8 +204,8 @@ void CumulantK17LBMKernel::calculate(int step) (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + ((mfabb + mfcbb) + (mfbab + mfbcb)) + (mfbba + mfbbc)) + mfbbb; - real rho = c1 + drho; - real OOrho = c1 / rho; + real rho = c1o1 + drho; + real OOrho = c1o1 / rho; //////////////////////////////////////////////////////////////////////////////////// real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -256,39 +258,39 @@ void CumulantK17LBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - forwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36, c1o36); - forwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9, c1o9); - forwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36, c1o36); - forwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9, c1o9); + forwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36o1, c1o36); + forwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9o1, c1o9); + forwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36o1, c1o36); + forwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9o1, c1o9); forwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c9o4, c4o9); - forwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9, c1o9); - forwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36, c1o36); - forwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9, c1o9); - forwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36, c1o36); + forwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9o1, c1o9); + forwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36o1, c1o36); + forwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9o1, c1o9); + forwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36o1, c1o36); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6, c1o6); + forwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6o1, c1o6); forwardChimera(mfaab, mfabb, mfacb, vvy, vy2); - forwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18, c1o18); + forwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18o1, c1o18); forwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c3o2, c2o3); forwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2); forwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c9o2, c2o9); - forwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6, c1o6); + forwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6o1, c1o6); forwardChimera(mfcab, mfcbb, mfccb, vvy, vy2); - forwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18, c1o18); + forwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18o1, c1o18); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1, c1); + forwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1); forwardChimera(mfaba, mfbba, mfcba, vvx, vx2); - forwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3, c1o3); + forwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3o1, c1o3); forwardChimera(mfaab, mfbab, mfcab, vvx, vx2); forwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2); forwardChimera(mfacb, mfbcb, mfccb, vvx, vx2); - forwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3, c1o3); + forwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3o1, c1o3); forwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2); - forwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c9, c1o9); + forwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c9o1, c1o9); //////////////////////////////////////////////////////////////////////////////////// //! - Setting relaxation rates for non-hydrodynamic cumulants (default values). Variable names and equations according to @@ -304,29 +306,29 @@ void CumulantK17LBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////// //2. - real OxxPyyPzz = c1; + real OxxPyyPzz = c1o1; //////////////////////////////////////////////////////////// //3. - real OxyyPxzz = c8 * (-c2 + omega) * ( c1 + c2*omega) / (-c8 - c14*omega + c7*omega*omega); - real OxyyMxzz = c8 * (-c2 + omega) * (-c7 + c4*omega) / (c56 - c50*omega + c9*omega*omega); - real Oxyz = c24 * (-c2 + omega) * (-c2 - c7*omega + c3*omega*omega) / (c48 + c152*omega - c130*omega*omega + c29*omega*omega*omega); + real OxyyPxzz = c8o1 * (-c2o1 + omega) * ( c1o1 + c2o1 *omega) / (-c8o1 - c14o1 *omega + c7o1 *omega*omega); + real OxyyMxzz = c8o1 * (-c2o1 + omega) * (-c7o1 + c4o1 *omega) / (c56o1 - c50o1 *omega + c9o1 *omega*omega); + real Oxyz = c24o1 * (-c2o1 + omega) * (-c2o1 - c7o1 *omega + c3o1 *omega*omega) / (c48o1 + c152o1 *omega - c130o1 *omega*omega + c29o1 *omega*omega*omega); //////////////////////////////////////////////////////////// //4. - real O4 = c1; + real O4 = c1o1; //////////////////////////////////////////////////////////// //5. - real O5 = c1; + real O5 = c1o1; //////////////////////////////////////////////////////////// //6. - real O6 = c1; + real O6 = c1o1; //////////////////////////////////////////////////////////////////////////////////// //! - A and B: parameters for fourth order convergence of the diffusion term according to Eq. (115) and (116) //! <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> //! with simplifications assuming \f$\omega_2 = 1.0\f$ (modify for different bulk viscosity). //! - real A = (c4 + c2*omega - c3*omega*omega) / (c2 - c7*omega + c5*omega*omega); - real B = (c4 + c28*omega - c14*omega*omega) / (c6 - c21*omega + c15*omega*omega); + real A = (c4o1 + c2o1 *omega - c3o1 *omega*omega) / (c2o1 - c7o1 *omega + c5o1 *omega*omega); + real B = (c4o1 + c28o1 *omega - c14o1 *omega*omega) / (c6o1 - c21o1 *omega + c15o1 *omega*omega); //////////////////////////////////////////////////////////////////////////////////// //! - Compute cumulants from central moments according to Eq. (20)-(23) in @@ -334,30 +336,30 @@ void CumulantK17LBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////// //4. - real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2 * mfbba * mfbab) * OOrho; - real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2 * mfbba * mfabb) * OOrho; - real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2 * mfbab * mfabb) * OOrho; + real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) * OOrho; + real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) * OOrho; + real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) * OOrho; - real CUMcca = mfcca - (((mfcaa * mfaca + c2 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) * OOrho - c1o9 * (drho * OOrho)); - real CUMcac = mfcac - (((mfcaa * mfaac + c2 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) * OOrho - c1o9 * (drho * OOrho)); - real CUMacc = mfacc - (((mfaac * mfaca + c2 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) * OOrho - c1o9 * (drho * OOrho)); + real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) * OOrho - c1o9 * (drho * OOrho)); + real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) * OOrho - c1o9 * (drho * OOrho)); + real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) * OOrho - c1o9 * (drho * OOrho)); //////////////////////////////////////////////////////////// //5. - real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4 * mfabb * mfbbb + c2 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) * OOrho; - real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4 * mfbab * mfbbb + c2 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) * OOrho; - real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4 * mfbba * mfbbb + c2 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) * OOrho; + real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) * OOrho; + real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) * OOrho; + real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) * OOrho; //////////////////////////////////////////////////////////// //6. - real CUMccc = mfccc + ((-c4 * mfbbb * mfbbb + real CUMccc = mfccc + ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) - - c4 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) - - c2 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho - + (c4 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) - + c2 * (mfcaa * mfaca * mfaac) - + c16 * mfbba * mfbab * mfabb) * OOrho * OOrho + - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) + - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho + + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb) * OOrho * OOrho - c1o3 * (mfacc + mfcac + mfcca) * OOrho - c1o9 * (mfcaa + mfaca + mfaac) * OOrho - + (c2 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) * OOrho * OOrho * c2o3 + c1o27 * ((drho * drho - drho) * OOrho * OOrho)); @@ -389,9 +391,9 @@ void CumulantK17LBMKernel::calculate(int step) //! <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> //! Note that the division by rho is omitted here as we need rho times the gradients later. //! - real Dxy = -c3 * omega * mfbba; - real Dxz = -c3 * omega * mfbab; - real Dyz = -c3 * omega * mfabb; + real Dxy = -c3o1 * omega * mfbba; + real Dxz = -c3o1 * omega * mfbab; + real Dyz = -c3o1 * omega * mfabb; real dxux = c1o2 * (-omega) * (mxxMyy + mxxMzz) + c1o2 * OxxPyyPzz * (mfaaa - mxxPyyPzz); real dyuy = dxux + omega * c3o2 * mxxMyy; real dzuz = dxux + omega * c3o2 * mxxMzz; @@ -399,9 +401,9 @@ void CumulantK17LBMKernel::calculate(int step) //! - Relaxation of second order cumulants with correction terms according to Eq. (33)-(35) 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> //! - mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - c3 * (c1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); - mxxMyy += omega * (-mxxMyy) - c3 * (c1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); - mxxMzz += omega * (-mxxMzz) - c3 * (c1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); + mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); + mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); + mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////no correction @@ -420,19 +422,19 @@ void CumulantK17LBMKernel::calculate(int step) //! - Relaxation of third order cumulants including limiter according to Eq. (116)-(123) //! <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> //! - wadjust = Oxyz + (c1 - Oxyz) * abs(mfbbb) / (abs(mfbbb) + qudricLimitD); + wadjust = Oxyz + (c1o1 - Oxyz) * abs(mfbbb) / (abs(mfbbb) + qudricLimitD); mfbbb += wadjust * (-mfbbb); - wadjust = OxyyPxzz + (c1 - OxyyPxzz) * abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP); + wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxxyPyzz) / (abs(mxxyPyzz) + qudricLimitP); mxxyPyzz += wadjust * (-mxxyPyzz); - wadjust = OxyyMxzz + (c1 - OxyyMxzz) * abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM); + wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxxyMyzz) / (abs(mxxyMyzz) + qudricLimitM); mxxyMyzz += wadjust * (-mxxyMyzz); - wadjust = OxyyPxzz + (c1 - OxyyPxzz) * abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP); + wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxxzPyyz) / (abs(mxxzPyyz) + qudricLimitP); mxxzPyyz += wadjust * (-mxxzPyyz); - wadjust = OxyyMxzz + (c1 - OxyyMxzz) * abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM); + wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxxzMyyz) / (abs(mxxzMyyz) + qudricLimitM); mxxzMyyz += wadjust * (-mxxzMyyz); - wadjust = OxyyPxzz + (c1 - OxyyPxzz) * abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP); + wadjust = OxyyPxzz + (c1o1 - OxyyPxzz) * abs(mxyyPxzz) / (abs(mxyyPxzz) + qudricLimitP); mxyyPxzz += wadjust * (-mxyyPxzz); - wadjust = OxyyMxzz + (c1 - OxyyMxzz) * abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM); + wadjust = OxyyMxzz + (c1o1 - OxyyMxzz) * abs(mxyyMxzz) / (abs(mxyyMxzz) + qudricLimitM); mxyyMxzz += wadjust * (-mxyyMxzz); ////////////////////////////////////////////////////////////////////////// // no limiter @@ -448,8 +450,8 @@ void CumulantK17LBMKernel::calculate(int step) //! - Compute inverse linear combinations of second and third order cumulants //! mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-c2 * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * (mxxMyy - c2 * mxxMzz + mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); mfcba = (mxxyMyzz + mxxyPyzz) * c1o2; mfabc = (-mxxyMyzz + mxxyPyzz) * c1o2; @@ -465,12 +467,12 @@ void CumulantK17LBMKernel::calculate(int step) //! - Relax fourth order cumulants to modified equilibrium for fourth order convergence of diffusion according to Eq. (43)-(48) //! <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> //! - CUMacc = -O4 * (c1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1 - O4) * (CUMacc); - CUMcac = -O4 * (c1 / omega - c1o2) * (dxux + dzuz) * c2o3 * A + (c1 - O4) * (CUMcac); - CUMcca = -O4 * (c1 / omega - c1o2) * (dyuy + dxux) * c2o3 * A + (c1 - O4) * (CUMcca); - CUMbbc = -O4 * (c1 / omega - c1o2) * Dxy * c1o3 * B + (c1 - O4) * (CUMbbc); - CUMbcb = -O4 * (c1 / omega - c1o2) * Dxz * c1o3 * B + (c1 - O4) * (CUMbcb); - CUMcbb = -O4 * (c1 / omega - c1o2) * Dyz * c1o3 * B + (c1 - O4) * (CUMcbb); + CUMacc = -O4 * (c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / omega - c1o2) * Dxy * c1o3 * B + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / omega - c1o2) * Dxz * c1o3 * B + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / omega - c1o2) * Dyz * c1o3 * B + (c1o1 - O4) * (CUMcbb); ////////////////////////////////////////////////////////////////////////// //5. @@ -489,32 +491,32 @@ void CumulantK17LBMKernel::calculate(int step) ////////////////////////////////////////////////////////////////////////// //4. - mfcbb = CUMcbb + c1o3 * ((c3 * mfcaa + c1) * mfabb + c6 * mfbba * mfbab) * OOrho; - mfbcb = CUMbcb + c1o3 * ((c3 * mfaca + c1) * mfbab + c6 * mfbba * mfabb) * OOrho; - mfbbc = CUMbbc + c1o3 * ((c3 * mfaac + c1) * mfbba + c6 * mfbab * mfabb) * OOrho; + mfcbb = CUMcbb + c1o3 * ((c3o1 * mfcaa + c1o1) * mfabb + c6o1 * mfbba * mfbab) * OOrho; + mfbcb = CUMbcb + c1o3 * ((c3o1 * mfaca + c1o1) * mfbab + c6o1 * mfbba * mfabb) * OOrho; + mfbbc = CUMbbc + c1o3 * ((c3o1 * mfaac + c1o1) * mfbba + c6o1 * mfbab * mfabb) * OOrho; - mfcca = CUMcca + (((mfcaa * mfaca + c2 * mfbba * mfbba) * c9 + c3 * (mfcaa + mfaca)) * OOrho - (drho * OOrho)) * c1o9; - mfcac = CUMcac + (((mfcaa * mfaac + c2 * mfbab * mfbab) * c9 + c3 * (mfcaa + mfaac)) * OOrho - (drho * OOrho)) * c1o9; - mfacc = CUMacc + (((mfaac * mfaca + c2 * mfabb * mfabb) * c9 + c3 * (mfaac + mfaca)) * OOrho - (drho * OOrho)) * c1o9; + mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) * c9o1 + c3o1 * (mfcaa + mfaca)) * OOrho - (drho * OOrho)) * c1o9; + mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) * c9o1 + c3o1 * (mfcaa + mfaac)) * OOrho - (drho * OOrho)) * c1o9; + mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) * c9o1 + c3o1 * (mfaac + mfaca)) * OOrho - (drho * OOrho)) * c1o9; ////////////////////////////////////////////////////////////////////////// //5. - mfbcc = CUMbcc + c1o3 * (c3 * (mfaac * mfbca + mfaca * mfbac + c4 * mfabb * mfbbb + c2 * (mfbab * mfacb + mfbba * mfabc)) + (mfbca + mfbac)) * OOrho; - mfcbc = CUMcbc + c1o3 * (c3 * (mfaac * mfcba + mfcaa * mfabc + c4 * mfbab * mfbbb + c2 * (mfabb * mfcab + mfbba * mfbac)) + (mfcba + mfabc)) * OOrho; - mfccb = CUMccb + c1o3 * (c3 * (mfcaa * mfacb + mfaca * mfcab + c4 * mfbba * mfbbb + c2 * (mfbab * mfbca + mfabb * mfcba)) + (mfacb + mfcab)) * OOrho; + mfbcc = CUMbcc + c1o3 * (c3o1 * (mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + (mfbca + mfbac)) * OOrho; + mfcbc = CUMcbc + c1o3 * (c3o1 * (mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + (mfcba + mfabc)) * OOrho; + mfccb = CUMccb + c1o3 * (c3o1 * (mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + (mfacb + mfcab)) * OOrho; ////////////////////////////////////////////////////////////////////////// //6. - mfccc = CUMccc - ((-c4 * mfbbb * mfbbb + mfccc = CUMccc - ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) - - c4 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) - - c2 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho - + (c4 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) - + c2 * (mfcaa * mfaca * mfaac) - + c16 * mfbba * mfbab * mfabb) * OOrho * OOrho + - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) + - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) * OOrho + + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb) * OOrho * OOrho - c1o3 * (mfacc + mfcac + mfcca) * OOrho - c1o9 * (mfcaa + mfaca + mfaac) * OOrho - + (c2 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) * OOrho * OOrho * c2o3 + c1o27 * ((drho * drho - drho) * OOrho * OOrho)); @@ -536,39 +538,39 @@ void CumulantK17LBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1, c1); + backwardInverseChimeraWithK(mfaaa, mfbaa, mfcaa, vvx, vx2, c1o1, c1o1); backwardChimera(mfaba, mfbba, mfcba, vvx, vx2); - backwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3, c1o3); + backwardInverseChimeraWithK(mfaca, mfbca, mfcca, vvx, vx2, c3o1, c1o3); backwardChimera(mfaab, mfbab, mfcab, vvx, vx2); backwardChimera(mfabb, mfbbb, mfcbb, vvx, vx2); backwardChimera(mfacb, mfbcb, mfccb, vvx, vx2); - backwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3, c1o3); + backwardInverseChimeraWithK(mfaac, mfbac, mfcac, vvx, vx2, c3o1, c1o3); backwardChimera(mfabc, mfbbc, mfcbc, vvx, vx2); - backwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c9, c1o9); + backwardInverseChimeraWithK(mfacc, mfbcc, mfccc, vvx, vx2, c9o1, c1o9); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6, c1o6); + backwardInverseChimeraWithK(mfaaa, mfaba, mfaca, vvy, vy2, c6o1, c1o6); backwardChimera(mfaab, mfabb, mfacb, vvy, vy2); - backwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18, c1o18); + backwardInverseChimeraWithK(mfaac, mfabc, mfacc, vvy, vy2, c18o1, c1o18); backwardInverseChimeraWithK(mfbaa, mfbba, mfbca, vvy, vy2, c3o2, c2o3); backwardChimera(mfbab, mfbbb, mfbcb, vvy, vy2); backwardInverseChimeraWithK(mfbac, mfbbc, mfbcc, vvy, vy2, c9o2, c2o9); - backwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6, c1o6); + backwardInverseChimeraWithK(mfcaa, mfcba, mfcca, vvy, vy2, c6o1, c1o6); backwardChimera(mfcab, mfcbb, mfccb, vvy, vy2); - backwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18, c1o18); + backwardInverseChimeraWithK(mfcac, mfcbc, mfccc, vvy, vy2, c18o1, c1o18); //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - backwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36, c1o36); - backwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9, c1o9); - backwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36, c1o36); - backwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9, c1o9); + backwardInverseChimeraWithK(mfaaa, mfaab, mfaac, vvz, vz2, c36o1, c1o36); + backwardInverseChimeraWithK(mfaba, mfabb, mfabc, vvz, vz2, c9o1, c1o9); + backwardInverseChimeraWithK(mfaca, mfacb, mfacc, vvz, vz2, c36o1, c1o36); + backwardInverseChimeraWithK(mfbaa, mfbab, mfbac, vvz, vz2, c9o1, c1o9); backwardInverseChimeraWithK(mfbba, mfbbb, mfbbc, vvz, vz2, c9o4, c4o9); - backwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9, c1o9); - backwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36, c1o36); - backwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9, c1o9); - backwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36, c1o36); + backwardInverseChimeraWithK(mfbca, mfbcb, mfbcc, vvz, vz2, c9o1, c1o9); + backwardInverseChimeraWithK(mfcaa, mfcab, mfcac, vvz, vz2, c36o1, c1o36); + backwardInverseChimeraWithK(mfcba, mfcbb, mfcbc, vvz, vz2, c9o1, c1o9); + backwardInverseChimeraWithK(mfcca, mfccb, mfccc, vvz, vz2, c36o1, c1o36); //////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h index 433206a4c43f5bbd70a6a7459d279db1779ead65..345f12fd81f708f13371bffc77a4690dae37d085 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h @@ -86,15 +86,16 @@ protected: //////////////////////////////////////////////////////////////////////////////// inline void CumulantK17LBMKernel::forwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; mfa = m0; m0 *= Kinverse; - m0 += c1; + m0 += c1o1; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// //! \brief backward chimera transformation \ref backwardInverseChimeraWithK @@ -104,10 +105,12 @@ inline void CumulantK17LBMKernel::forwardInverseChimeraWithK(real& mfa, real& mf //////////////////////////////////////////////////////////////////////////////// inline void CumulantK17LBMKernel::backwardInverseChimeraWithK(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K) { - using namespace UbMath; - real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + c1) * (-v2)) * K; - mfc = (((mfc + mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1) * (v2 + vv) * c1o2) * K; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 - vv) * c1o2) * K; + real m1 = (((mfa - mfc) - c2o1 * mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (-v2)) * K; + mfc = (((mfc + mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + c1o1) * (v2 + vv) * c1o2) * K; mfa = m0; mfb = m1; } @@ -120,10 +123,12 @@ inline void CumulantK17LBMKernel::backwardInverseChimeraWithK(real& mfa, real& m //////////////////////////////////////////////////////////////////////////////// inline void CumulantK17LBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } @@ -136,9 +141,11 @@ inline void CumulantK17LBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc //////////////////////////////////////////////////////////////////////////////// inline void CumulantK17LBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernelUnified.cpp b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernelUnified.cpp index f5b5eab16173cdb2c8b6f008f5d956f0dcb0b628..2d39205c544e430aac8c0a4181d2c8e3b4791e7a 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernelUnified.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernelUnified.cpp @@ -46,7 +46,8 @@ //#define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// CumulantK17LBMKernelUnified::CumulantK17LBMKernelUnified() diff --git a/src/cpu/VirtualFluidsCore/LBM/CumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/CumulantLBMKernel.cpp index 3e21ce8d0c05c8208168d6b5e40c103a1f447cbc..375f5c406c179e1e17316e7ff7faa896a5f06b2d 100644 --- a/src/cpu/VirtualFluidsCore/LBM/CumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/CumulantLBMKernel.cpp @@ -8,7 +8,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// CumulantLBMKernel::CumulantLBMKernel() @@ -57,7 +58,7 @@ SPtr<LBMKernel> CumulantLBMKernel::clone() } else { - dynamicPointerCast<CumulantLBMKernel>(kernel)->OxxPyyPzz = UbMath::one; + dynamicPointerCast<CumulantLBMKernel>(kernel)->OxxPyyPzz = c1o1; } return kernel; } @@ -1132,7 +1133,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + ((mfabb + mfcbb) + (mfbab + mfbcb)) + (mfbba + mfbbc)) + mfbbb; - real rho = UbMath::one + drho; + real rho = c1o1 + drho; //////////////////////////////////////////////////////////////////////////////////// real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -1163,7 +1164,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) } /////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - real oMdrho = one; // comp special + real oMdrho = c1o1; // comp special //////////////////////////////////////////////////////////////////////////////////// real m0, m1, m2; real vx2; @@ -1192,7 +1193,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaaa = m0; m0 += c1o36 * oMdrho; mfaab = m1 - m0 * vvz; - mfaac = m2 - two * m1 * vvz + vz2 * m0; + mfaac = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba + mfabc; m1 = mfabc - mfaba; @@ -1200,7 +1201,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaba = m0; m0 += c1o9 * oMdrho; mfabb = m1 - m0 * vvz; - mfabc = m2 - two * m1 * vvz + vz2 * m0; + mfabc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca + mfacc; m1 = mfacc - mfaca; @@ -1208,7 +1209,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaca = m0; m0 += c1o36 * oMdrho; mfacb = m1 - m0 * vvz; - mfacc = m2 - two * m1 * vvz + vz2 * m0; + mfacc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa + mfbac; @@ -1217,7 +1218,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfbaa = m0; m0 += c1o9 * oMdrho; mfbab = m1 - m0 * vvz; - mfbac = m2 - two * m1 * vvz + vz2 * m0; + mfbac = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbba + mfbbc; m1 = mfbbc - mfbba; @@ -1225,7 +1226,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfbba = m0; m0 += c4o9 * oMdrho; mfbbb = m1 - m0 * vvz; - mfbbc = m2 - two * m1 * vvz + vz2 * m0; + mfbbc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbca + mfbcc; m1 = mfbcc - mfbca; @@ -1233,7 +1234,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfbca = m0; m0 += c1o9 * oMdrho; mfbcb = m1 - m0 * vvz; - mfbcc = m2 - two * m1 * vvz + vz2 * m0; + mfbcc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa + mfcac; @@ -1242,7 +1243,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfcaa = m0; m0 += c1o36 * oMdrho; mfcab = m1 - m0 * vvz; - mfcac = m2 - two * m1 * vvz + vz2 * m0; + mfcac = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcba + mfcbc; m1 = mfcbc - mfcba; @@ -1250,7 +1251,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfcba = m0; m0 += c1o9 * oMdrho; mfcbb = m1 - m0 * vvz; - mfcbc = m2 - two * m1 * vvz + vz2 * m0; + mfcbc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcca + mfccc; m1 = mfccc - mfcca; @@ -1258,7 +1259,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfcca = m0; m0 += c1o36 * oMdrho; mfccb = m1 - m0 * vvz; - mfccc = m2 - two * m1 * vvz + vz2 * m0; + mfccc = m2 - c2o1 * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren @@ -1270,14 +1271,14 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaaa = m0; m0 += c1o6 * oMdrho; mfaba = m1 - m0 * vvy; - mfaca = m2 - two * m1 * vvy + vy2 * m0; + mfaca = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab + mfacb; m1 = mfacb - mfaab; m0 = m2 + mfabb; mfaab = m0; mfabb = m1 - m0 * vvy; - mfacb = m2 - two * m1 * vvy + vy2 * m0; + mfacb = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac + mfacc; m1 = mfacc - mfaac; @@ -1285,7 +1286,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaac = m0; m0 += c1o18 * oMdrho; mfabc = m1 - m0 * vvy; - mfacc = m2 - two * m1 * vvy + vy2 * m0; + mfacc = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa + mfbca; @@ -1294,14 +1295,14 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfbaa = m0; m0 += c2o3 * oMdrho; mfbba = m1 - m0 * vvy; - mfbca = m2 - two * m1 * vvy + vy2 * m0; + mfbca = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbab + mfbcb; m1 = mfbcb - mfbab; m0 = m2 + mfbbb; mfbab = m0; mfbbb = m1 - m0 * vvy; - mfbcb = m2 - two * m1 * vvy + vy2 * m0; + mfbcb = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbac + mfbcc; m1 = mfbcc - mfbac; @@ -1309,7 +1310,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfbac = m0; m0 += c2o9 * oMdrho; mfbbc = m1 - m0 * vvy; - mfbcc = m2 - two * m1 * vvy + vy2 * m0; + mfbcc = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa + mfcca; @@ -1318,14 +1319,14 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfcaa = m0; m0 += c1o6 * oMdrho; mfcba = m1 - m0 * vvy; - mfcca = m2 - two * m1 * vvy + vy2 * m0; + mfcca = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcab + mfccb; m1 = mfccb - mfcab; m0 = m2 + mfcbb; mfcab = m0; mfcbb = m1 - m0 * vvy; - mfccb = m2 - two * m1 * vvy + vy2 * m0; + mfccb = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcac + mfccc; m1 = mfccc - mfcac; @@ -1333,7 +1334,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfcac = m0; m0 += c1o18 * oMdrho; mfcbc = m1 - m0 * vvy; - mfccc = m2 - two * m1 * vvy + vy2 * m0; + mfccc = m2 - c2o1 * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren @@ -1343,16 +1344,16 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) m1 = mfcaa - mfaaa; m0 = m2 + mfbaa; mfaaa = m0; - m0 += one * oMdrho; + m0 += c1o1 * oMdrho; mfbaa = m1 - m0 * vvx; - mfcaa = m2 - two * m1 * vvx + vx2 * m0; + mfcaa = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba + mfcba; m1 = mfcba - mfaba; m0 = m2 + mfbba; mfaba = m0; mfbba = m1 - m0 * vvx; - mfcba = m2 - two * m1 * vvx + vx2 * m0; + mfcba = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca + mfcca; m1 = mfcca - mfaca; @@ -1360,7 +1361,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaca = m0; m0 += c1o3 * oMdrho; mfbca = m1 - m0 * vvx; - mfcca = m2 - two * m1 * vvx + vx2 * m0; + mfcca = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab + mfcab; @@ -1368,21 +1369,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) m0 = m2 + mfbab; mfaab = m0; mfbab = m1 - m0 * vvx; - mfcab = m2 - two * m1 * vvx + vx2 * m0; + mfcab = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabb + mfcbb; m1 = mfcbb - mfabb; m0 = m2 + mfbbb; mfabb = m0; mfbbb = m1 - m0 * vvx; - mfcbb = m2 - two * m1 * vvx + vx2 * m0; + mfcbb = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacb + mfccb; m1 = mfccb - mfacb; m0 = m2 + mfbcb; mfacb = m0; mfbcb = m1 - m0 * vvx; - mfccb = m2 - two * m1 * vvx + vx2 * m0; + mfccb = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac + mfcac; @@ -1391,14 +1392,14 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfaac = m0; m0 += c1o3 * oMdrho; mfbac = m1 - m0 * vvx; - mfcac = m2 - two * m1 * vvx + vx2 * m0; + mfcac = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabc + mfcbc; m1 = mfcbc - mfabc; m0 = m2 + mfbbc; mfabc = m0; mfbbc = m1 - m0 * vvx; - mfcbc = m2 - two * m1 * vvx + vx2 * m0; + mfcbc = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacc + mfccc; m1 = mfccc - mfacc; @@ -1406,7 +1407,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) mfacc = m0; m0 += c1o9 * oMdrho; mfbcc = m1 - m0 * vvx; - mfccc = m2 - two * m1 * vvx + vx2 * m0; + mfccc = m2 - c2o1 * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// @@ -1420,7 +1421,7 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////// //3. ////////////////////////////// - real OxyyPxzz = one;//three * (two - omega) / (three - omega);// + real OxyyPxzz = c1o1;//three * (two - omega) / (three - omega);// //LBMReal OxyyMxzz = one;//six * (two - omega) / (six - omega);// //LBMReal Oxyz = one;//twelve * (two - omega) / (twelve + omega);// ////////////////////////////// @@ -1444,47 +1445,47 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////// //4. ////////////////////////////// - real O4 = one; + real O4 = c1o1; ////////////////////////////// //real O4 = omega;//TRT //////////////////////////////////////////////////////////// //5. ////////////////////////////// - real O5 = one; + real O5 = c1o1; //////////////////////////////////////////////////////////// //6. ////////////////////////////// - real O6 = one; + real O6 = c1o1; //////////////////////////////////////////////////////////// //central moments to cumulants //4. - real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet - real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet - real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet + real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; //ab 15.05.2015 verwendet + real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; //ab 15.05.2015 verwendet + real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; //ab 15.05.2015 verwendet - real CUMcca = mfcca - (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9 * (drho / rho)); - real CUMcac = mfcac - (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9 * (drho / rho)); - real CUMacc = mfacc - (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9 * (drho / rho)); + real CUMcca = mfcca - (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9 * (drho / rho)); + real CUMcac = mfcac - (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9 * (drho / rho)); + real CUMacc = mfacc - (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9 * (drho / rho)); //5. - real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho; - real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho; - real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho; + real CUMbcc = mfbcc - ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho; + real CUMcbc = mfcbc - ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho; + real CUMccb = mfccb - ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho; //6. - real CUMccc = mfccc + ((-four * mfbbb * mfbbb + real CUMccc = mfccc + ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) - - four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) - - two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho - + (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) - + two * (mfcaa * mfaca * mfaac) - + sixteen * mfbba * mfbab * mfabb) / (rho * rho) + - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) + - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho + + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb) / (rho * rho) - c1o3 * (mfacc + mfcac + mfcca) / rho - c1o9 * (mfcaa + mfaca + mfaac) / rho - + (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 + c1o27 * ((drho * drho - drho) / (rho * rho))); //+ c1o27*(one -three/rho +two/(rho*rho))); @@ -1541,9 +1542,9 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) real dzuz = dxux + omega * c3o2 * mxxMzz; //relax - mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz; - mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); - mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); + mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz);//-magicBulk*OxxPyyPzz; + mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); + mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); ////////////////////////////////////////////////////////////////////////// //limiter-Scheise Teil 2 @@ -1573,8 +1574,8 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) // linear combinations back mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-two * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * (mxxMyy - two * mxxMzz + mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz); + mfaac = c1o3 * (mxxMyy - c2o1 * mxxMzz + mxxPyyPzz); //3. // linear combinations @@ -1664,31 +1665,31 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //back cumulants to central moments //4. - mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + two * mfbba * mfbab) / rho; - mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + two * mfbba * mfabb) / rho; - mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + two * mfbab * mfabb) / rho; + mfcbb = CUMcbb + ((mfcaa + c1o3) * mfabb + c2o1 * mfbba * mfbab) / rho; + mfbcb = CUMbcb + ((mfaca + c1o3) * mfbab + c2o1 * mfbba * mfabb) / rho; + mfbbc = CUMbbc + ((mfaac + c1o3) * mfbba + c2o1 * mfbab * mfabb) / rho; - mfcca = CUMcca + (((mfcaa * mfaca + two * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9 * (drho / rho));//(one/rho-one)); - mfcac = CUMcac + (((mfcaa * mfaac + two * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9 * (drho / rho));//(one/rho-one)); - mfacc = CUMacc + (((mfaac * mfaca + two * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9 * (drho / rho));//(one/rho-one)); + mfcca = CUMcca + (((mfcaa * mfaca + c2o1 * mfbba * mfbba) + c1o3 * (mfcaa + mfaca)) / rho - c1o9 * (drho / rho));//(one/rho-one)); + mfcac = CUMcac + (((mfcaa * mfaac + c2o1 * mfbab * mfbab) + c1o3 * (mfcaa + mfaac)) / rho - c1o9 * (drho / rho));//(one/rho-one)); + mfacc = CUMacc + (((mfaac * mfaca + c2o1 * mfabb * mfabb) + c1o3 * (mfaac + mfaca)) / rho - c1o9 * (drho / rho));//(one/rho-one)); //5. - mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + four * mfabb * mfbbb + two * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho; - mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + four * mfbab * mfbbb + two * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho; - mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + four * mfbba * mfbbb + two * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho; + mfbcc = CUMbcc + ((mfaac * mfbca + mfaca * mfbac + c4o1 * mfabb * mfbbb + c2o1 * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac)) / rho; + mfcbc = CUMcbc + ((mfaac * mfcba + mfcaa * mfabc + c4o1 * mfbab * mfbbb + c2o1 * (mfabb * mfcab + mfbba * mfbac)) + c1o3 * (mfcba + mfabc)) / rho; + mfccb = CUMccb + ((mfcaa * mfacb + mfaca * mfcab + c4o1 * mfbba * mfbbb + c2o1 * (mfbab * mfbca + mfabb * mfcba)) + c1o3 * (mfacb + mfcab)) / rho; //6. - mfccc = CUMccc - ((-four * mfbbb * mfbbb + mfccc = CUMccc - ((-c4o1 * mfbbb * mfbbb - (mfcaa * mfacc + mfaca * mfcac + mfaac * mfcca) - - four * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) - - two * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho - + (four * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) - + two * (mfcaa * mfaca * mfaac) - + sixteen * mfbba * mfbab * mfabb) / (rho * rho) + - c4o1 * (mfabb * mfcbb + mfbab * mfbcb + mfbba * mfbbc) + - c2o1 * (mfbca * mfbac + mfcba * mfabc + mfcab * mfacb)) / rho + + (c4o1 * (mfbab * mfbab * mfaca + mfabb * mfabb * mfcaa + mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb) / (rho * rho) - c1o3 * (mfacc + mfcac + mfcca) / rho - c1o9 * (mfcaa + mfaca + mfaac) / rho - + (two * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + + (c2o1 * (mfbab * mfbab + mfabb * mfabb + mfbba * mfbba) + (mfaac * mfaca + mfaac * mfcaa + mfaca * mfcaa) + c1o3 * (mfaac + mfaca + mfcaa)) / (rho * rho) * c2o3 + c1o27 * ((drho * drho - drho) / (rho * rho))); //////////////////////////////////////////////////////////////////////////////////// @@ -1704,22 +1705,22 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + one * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfaac - two * mfaab * vvz + mfaaa * (one - vz2) - one * oMdrho * vz2; - m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + one * oMdrho) * (vz2 + vvz) * c1o2; + m0 = mfaac * c1o2 + mfaab * (vvz - c1o2) + (mfaaa + c1o1 * oMdrho) * (vz2 - vvz) * c1o2; + m1 = -mfaac - c2o1 * mfaab * vvz + mfaaa * (c1o1 - vz2) - c1o1 * oMdrho * vz2; + m2 = mfaac * c1o2 + mfaab * (vvz + c1o2) + (mfaaa + c1o1 * oMdrho) * (vz2 + vvz) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2 + mfabb * (vvz - c1o2) + mfaba * (vz2 - vvz) * c1o2; - m1 = -mfabc - two * mfabb * vvz + mfaba * (one - vz2); + m1 = -mfabc - c2o1 * mfabb * vvz + mfaba * (c1o1 - 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 - two * mfacb * vvz + mfaca * (one - vz2) - c1o3 * oMdrho * vz2; + m1 = -mfacc - c2o1 * mfacb * vvz + mfaca * (c1o1 - vz2) - c1o3 * oMdrho * vz2; m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + c1o3 * oMdrho) * (vz2 + vvz) * c1o2; mfaca = m0; mfacb = m1; @@ -1727,21 +1728,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2 + mfbab * (vvz - c1o2) + mfbaa * (vz2 - vvz) * c1o2; - m1 = -mfbac - two * mfbab * vvz + mfbaa * (one - vz2); + m1 = -mfbac - c2o1 * mfbab * vvz + mfbaa * (c1o1 - 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 - two * mfbbb * vvz + mfbba * (one - vz2); + m1 = -mfbbc - c2o1 * mfbbb * vvz + mfbba * (c1o1 - 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 - two * mfbcb * vvz + mfbca * (one - vz2); + m1 = -mfbcc - c2o1 * mfbcb * vvz + mfbca * (c1o1 - vz2); m2 = mfbcc * c1o2 + mfbcb * (vvz + c1o2) + mfbca * (vz2 + vvz) * c1o2; mfbca = m0; mfbcb = m1; @@ -1749,21 +1750,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + c1o3 * oMdrho) * (vz2 - vvz) * c1o2; - m1 = -mfcac - two * mfcab * vvz + mfcaa * (one - vz2) - c1o3 * oMdrho * vz2; + m1 = -mfcac - c2o1 * mfcab * vvz + mfcaa * (c1o1 - 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 - two * mfcbb * vvz + mfcba * (one - vz2); + m1 = -mfcbc - c2o1 * mfcbb * vvz + mfcba * (c1o1 - 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 - two * mfccb * vvz + mfcca * (one - vz2) - c1o9 * oMdrho * vz2; + m1 = -mfccc - c2o1 * mfccb * vvz + mfcca * (c1o1 - vz2) - c1o9 * oMdrho * vz2; m2 = mfccc * c1o2 + mfccb * (vvz + c1o2) + (mfcca + c1o9 * oMdrho) * (vz2 + vvz) * c1o2; mfcca = m0; mfccb = m1; @@ -1774,21 +1775,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2 + mfaba * (vvy - c1o2) + (mfaaa + c1o6 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfaca - two * mfaba * vvy + mfaaa * (one - vy2) - c1o6 * oMdrho * vy2; + m1 = -mfaca - c2o1 * mfaba * vvy + mfaaa * (c1o1 - 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 - two * mfabb * vvy + mfaab * (one - vy2) - c2o3 * oMdrho * vy2; + m1 = -mfacb - c2o1 * mfabb * vvy + mfaab * (c1o1 - 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 - two * mfabc * vvy + mfaac * (one - vy2) - c1o6 * oMdrho * vy2; + m1 = -mfacc - c2o1 * mfabc * vvy + mfaac * (c1o1 - vy2) - c1o6 * oMdrho * vy2; m2 = mfacc * c1o2 + mfabc * (vvy + c1o2) + (mfaac + c1o6 * oMdrho) * (vy2 + vvy) * c1o2; mfaac = m0; mfabc = m1; @@ -1796,21 +1797,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2 + mfbba * (vvy - c1o2) + mfbaa * (vy2 - vvy) * c1o2; - m1 = -mfbca - two * mfbba * vvy + mfbaa * (one - vy2); + m1 = -mfbca - c2o1 * mfbba * vvy + mfbaa * (c1o1 - 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 - two * mfbbb * vvy + mfbab * (one - vy2); + m1 = -mfbcb - c2o1 * mfbbb * vvy + mfbab * (c1o1 - 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 - two * mfbbc * vvy + mfbac * (one - vy2); + m1 = -mfbcc - c2o1 * mfbbc * vvy + mfbac * (c1o1 - vy2); m2 = mfbcc * c1o2 + mfbbc * (vvy + c1o2) + mfbac * (vy2 + vvy) * c1o2; mfbac = m0; mfbbc = m1; @@ -1818,21 +1819,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2 + mfcba * (vvy - c1o2) + (mfcaa + c1o18 * oMdrho) * (vy2 - vvy) * c1o2; - m1 = -mfcca - two * mfcba * vvy + mfcaa * (one - vy2) - c1o18 * oMdrho * vy2; + m1 = -mfcca - c2o1 * mfcba * vvy + mfcaa * (c1o1 - 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 - two * mfcbb * vvy + mfcab * (one - vy2) - c2o9 * oMdrho * vy2; + m1 = -mfccb - c2o1 * mfcbb * vvy + mfcab * (c1o1 - 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 - two * mfcbc * vvy + mfcac * (one - vy2) - c1o18 * oMdrho * vy2; + m1 = -mfccc - c2o1 * mfcbc * vvy + mfcac * (c1o1 - vy2) - c1o18 * oMdrho * vy2; m2 = mfccc * c1o2 + mfcbc * (vvy + c1o2) + (mfcac + c1o18 * oMdrho) * (vy2 + vvy) * c1o2; mfcac = m0; mfcbc = m1; @@ -1843,21 +1844,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2 + mfbaa * (vvx - c1o2) + (mfaaa + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcaa - two * mfbaa * vvx + mfaaa * (one - vx2) - c1o36 * oMdrho * vx2; + m1 = -mfcaa - c2o1 * mfbaa * vvx + mfaaa * (c1o1 - 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 - two * mfbba * vvx + mfaba * (one - vx2) - c1o9 * oMdrho * vx2; + m1 = -mfcba - c2o1 * mfbba * vvx + mfaba * (c1o1 - 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 - two * mfbca * vvx + mfaca * (one - vx2) - c1o36 * oMdrho * vx2; + m1 = -mfcca - c2o1 * mfbca * vvx + mfaca * (c1o1 - vx2) - c1o36 * oMdrho * vx2; m2 = mfcca * c1o2 + mfbca * (vvx + c1o2) + (mfaca + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; mfaca = m0; mfbca = m1; @@ -1865,21 +1866,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2 + mfbab * (vvx - c1o2) + (mfaab + c1o9 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcab - two * mfbab * vvx + mfaab * (one - vx2) - c1o9 * oMdrho * vx2; + m1 = -mfcab - c2o1 * mfbab * vvx + mfaab * (c1o1 - 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 - two * mfbbb * vvx + mfabb * (one - vx2) - c4o9 * oMdrho * vx2; + m1 = -mfcbb - c2o1 * mfbbb * vvx + mfabb * (c1o1 - 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 - two * mfbcb * vvx + mfacb * (one - vx2) - c1o9 * oMdrho * vx2; + m1 = -mfccb - c2o1 * mfbcb * vvx + mfacb * (c1o1 - vx2) - c1o9 * oMdrho * vx2; m2 = mfccb * c1o2 + mfbcb * (vvx + c1o2) + (mfacb + c1o9 * oMdrho) * (vx2 + vvx) * c1o2; mfacb = m0; mfbcb = m1; @@ -1887,21 +1888,21 @@ void CumulantLBMKernel::nodeCollision(int step, int x1, int x2, int x3) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2 + mfbac * (vvx - c1o2) + (mfaac + c1o36 * oMdrho) * (vx2 - vvx) * c1o2; - m1 = -mfcac - two * mfbac * vvx + mfaac * (one - vx2) - c1o36 * oMdrho * vx2; + m1 = -mfcac - c2o1 * mfbac * vvx + mfaac * (c1o1 - 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 - two * mfbbc * vvx + mfabc * (one - vx2) - c1o9 * oMdrho * vx2; + m1 = -mfcbc - c2o1 * mfbbc * vvx + mfabc * (c1o1 - 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 - two * mfbcc * vvx + mfacc * (one - vx2) - c1o36 * oMdrho * vx2; + m1 = -mfccc - c2o1 * mfbcc * vvx + mfacc * (c1o1 - vx2) - c1o36 * oMdrho * vx2; m2 = mfccc * c1o2 + mfbcc * (vvx + c1o2) + (mfacc + c1o36 * oMdrho) * (vx2 + vvx) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp index a8b2741c155695587461e780b0bf8b63481f56a7..b7aed29bbf30f3081633df6f45eaf7ade9d93572 100644 --- a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp @@ -4,7 +4,8 @@ namespace D3Q27System { -using namespace UbMath; +//using namespace UbMath; + using namespace vf::lbm::constant; // index 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 // f: E, W, N, S, T, B, NE, SW, SE, NW, TE, BW, BE, TW, TN, BS, BN, TS, TNE TNW TSE TSW BNE BNW BSE BSW diff --git a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h index 6b302cd9e459d3289938c07ebdfcb4195f4c9454..4b7f6dcea27a293cb319a65b3a864965cbed01a7 100644 --- a/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h +++ b/src/cpu/VirtualFluidsCore/LBM/D3Q27System.h @@ -42,6 +42,7 @@ #include "LBMSystem.h" #include "UbException.h" #include "UbMath.h" +#include "lbm/constants/NumericConstants.h" //using namespace vf::lbm::dir; @@ -397,7 +398,7 @@ static inline void setNeighborCoordinatesForDirection(int &x1, int &x2, int &x3, /*=====================================================================*/ real getDensity(const real *const &f /*[27]*/); /*=====================================================================*/ -static real getPressure(const real *const &f /*[27]*/) { return REAL_CAST(UbMath::c1o3) * getDensity(f); } +static real getPressure(const real *const &f /*[27]*/) { return REAL_CAST(vf::lbm::constant::c1o3) * getDensity(f); } /*=====================================================================*/ real getIncompVelocityX1(const real *const &f /*[27]*/); /*=====================================================================*/ @@ -512,7 +513,8 @@ static void calcCompMacroscopicValues(const real *const &f /*[27]*/, real &drho, D3Q27System::calcIncompVelocityX1(f, vx1); D3Q27System::calcIncompVelocityX2(f, vx2); D3Q27System::calcIncompVelocityX3(f, vx3); - real rho = drho + UbMath::one; + //real rho = drho + vf::lbm::constant::one; + real rho = drho + vf::lbm::constant::c1o1; vx1 /= rho; vx2 /= rho; vx3 /= rho; @@ -524,90 +526,90 @@ static real getCompFeqForDirection(const int &direction, const real &drho, const using namespace vf::lbm::dir; real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); - real rho = drho + UbMath::one; + real rho = drho + vf::lbm::constant::c1o1; switch (direction) { case DIR_000: - return REAL_CAST(UbMath::c8o27 * (drho + rho * (-cu_sq))); + return REAL_CAST(vf::lbm::constant::c8o27 * (drho + rho * (-cu_sq))); case DIR_P00: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (vx1) + UbMath::c9o2 * (vx1) * (vx1)-cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx1) +vf::lbm::constant::c9o2 * (vx1) * (vx1)-cu_sq))); case DIR_M00: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (-vx1) + UbMath::c9o2 * (-vx1) * (-vx1) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx1) + vf::lbm::constant::c9o2 * (-vx1) * (-vx1) - cu_sq))); case DIR_0P0: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (vx2) + UbMath::c9o2 * (vx2) * (vx2)-cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx2) +vf::lbm::constant::c9o2 * (vx2) * (vx2)-cu_sq))); case DIR_0M0: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (-vx2) + UbMath::c9o2 * (-vx2) * (-vx2) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx2) + vf::lbm::constant::c9o2 * (-vx2) * (-vx2) - cu_sq))); case DIR_00P: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (vx3) + UbMath::c9o2 * (vx3) * (vx3)-cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx3) + vf::lbm::constant::c9o2 * (vx3) * (vx3)-cu_sq))); case DIR_00M: - return REAL_CAST(UbMath::c2o27 * (drho + rho * (3.0 * (-vx3) + UbMath::c9o2 * (-vx3) * (-vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx3) + vf::lbm::constant::c9o2 * (-vx3) * (-vx3) - cu_sq))); case DIR_PP0: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx1 + vx2) + UbMath::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx1 + vx2) + vf::lbm::constant::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq))); case DIR_MM0: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx1 - vx2) + UbMath::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx1 - vx2) + vf::lbm::constant::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq))); case DIR_PM0: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx1 - vx2) + UbMath::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx1 - vx2) + vf::lbm::constant::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq))); case DIR_MP0: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx1 + vx2) + UbMath::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx1 + vx2) + vf::lbm::constant::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq))); case DIR_P0P: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx1 + vx3) + UbMath::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx1 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq))); case DIR_M0M: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx1 - vx3) + UbMath::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx1 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq))); case DIR_P0M: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx1 - vx3) + UbMath::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx1 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq))); case DIR_M0P: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx1 + vx3) + UbMath::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx1 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq))); case DIR_0PP: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx2 + vx3) + UbMath::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx2 + vx3) + vf::lbm::constant::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq))); case DIR_0MM: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx2 - vx3) + UbMath::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq))); case DIR_0PM: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (vx2 - vx3) + UbMath::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (vx2 - vx3) + vf::lbm::constant::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq))); case DIR_0MP: - return REAL_CAST(UbMath::c1o54 * - (drho + rho * (3.0 * (-vx2 + vx3) + UbMath::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq))); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + rho * (3.0 * (-vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq))); case DIR_PPP: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (vx1 + vx2 + vx3) + - UbMath::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq))); case DIR_MMM: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (-vx1 - vx2 - vx3) + - UbMath::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq))); case DIR_PPM: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (vx1 + vx2 - vx3) + - UbMath::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq))); case DIR_MMP: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (-vx1 - vx2 + vx3) + - UbMath::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq))); case DIR_PMP: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (vx1 - vx2 + vx3) + - UbMath::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq))); case DIR_MPM: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (-vx1 + vx2 - vx3) + - UbMath::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq))); case DIR_PMM: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (vx1 - vx2 - vx3) + - UbMath::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq))); case DIR_MPP: - return REAL_CAST(UbMath::c1o216 * + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + rho * (3.0 * (-vx1 + vx2 + vx3) + - UbMath::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq))); + vf::lbm::constant::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq))); default: throw UbException(UB_EXARGS, "unknown dir"); } @@ -619,47 +621,47 @@ static void calcCompFeq(real *const &feq /*[27]*/, const real &drho, const real using namespace vf::lbm::dir; real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); - real rho = drho + UbMath::one; - - feq[DIR_000] = UbMath::c8o27 * (drho + rho * (-cu_sq)); - feq[DIR_P00] = UbMath::c2o27 * (drho + rho * (3.0 * (vx1) + UbMath::c9o2 * (vx1) * (vx1)-cu_sq)); - feq[DIR_M00] = UbMath::c2o27 * (drho + rho * (3.0 * (-vx1) + UbMath::c9o2 * (-vx1) * (-vx1) - cu_sq)); - feq[DIR_0P0] = UbMath::c2o27 * (drho + rho * (3.0 * (vx2) + UbMath::c9o2 * (vx2) * (vx2)-cu_sq)); - feq[DIR_0M0] = UbMath::c2o27 * (drho + rho * (3.0 * (-vx2) + UbMath::c9o2 * (-vx2) * (-vx2) - cu_sq)); - feq[DIR_00P] = UbMath::c2o27 * (drho + rho * (3.0 * (vx3) + UbMath::c9o2 * (vx3) * (vx3)-cu_sq)); - feq[DIR_00M] = UbMath::c2o27 * (drho + rho * (3.0 * (-vx3) + UbMath::c9o2 * (-vx3) * (-vx3) - cu_sq)); - feq[DIR_PP0] = UbMath::c1o54 * (drho + rho * (3.0 * (vx1 + vx2) + UbMath::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq)); - feq[DIR_MM0] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx1 - vx2) + UbMath::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq)); - feq[DIR_PM0] = UbMath::c1o54 * (drho + rho * (3.0 * (vx1 - vx2) + UbMath::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq)); - feq[DIR_MP0] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx1 + vx2) + UbMath::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq)); - feq[DIR_P0P] = UbMath::c1o54 * (drho + rho * (3.0 * (vx1 + vx3) + UbMath::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq)); - feq[DIR_M0M] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx1 - vx3) + UbMath::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq)); - feq[DIR_P0M] = UbMath::c1o54 * (drho + rho * (3.0 * (vx1 - vx3) + UbMath::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq)); - feq[DIR_M0P] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx1 + vx3) + UbMath::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq)); - feq[DIR_0PP] = UbMath::c1o54 * (drho + rho * (3.0 * (vx2 + vx3) + UbMath::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq)); - feq[DIR_0MM] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx2 - vx3) + UbMath::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq)); - feq[DIR_0PM] = UbMath::c1o54 * (drho + rho * (3.0 * (vx2 - vx3) + UbMath::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq)); - feq[DIR_0MP] = UbMath::c1o54 * (drho + rho * (3.0 * (-vx2 + vx3) + UbMath::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq)); - feq[DIR_PPP] = UbMath::c1o216 * - (drho + rho * (3.0 * (vx1 + vx2 + vx3) + UbMath::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq)); + real rho = drho + vf::lbm::constant::c1o1; + + feq[DIR_000] = vf::lbm::constant::c8o27 * (drho + rho * (-cu_sq)); + feq[DIR_P00] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx1) + vf::lbm::constant::c9o2 * (vx1) * (vx1)-cu_sq)); + feq[DIR_M00] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx1) + vf::lbm::constant::c9o2 * (-vx1) * (-vx1) - cu_sq)); + feq[DIR_0P0] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx2) + vf::lbm::constant::c9o2 * (vx2) * (vx2)-cu_sq)); + feq[DIR_0M0] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx2) + vf::lbm::constant::c9o2 * (-vx2) * (-vx2) - cu_sq)); + feq[DIR_00P] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (vx3) + vf::lbm::constant::c9o2 * (vx3) * (vx3)-cu_sq)); + feq[DIR_00M] = vf::lbm::constant::c2o27 * (drho + rho * (3.0 * (-vx3) + vf::lbm::constant::c9o2 * (-vx3) * (-vx3) - cu_sq)); + feq[DIR_PP0] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx1 + vx2) + vf::lbm::constant::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq)); + feq[DIR_MM0] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx1 - vx2) + vf::lbm::constant::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq)); + feq[DIR_PM0] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx1 - vx2) + vf::lbm::constant::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq)); + feq[DIR_MP0] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx1 + vx2) + vf::lbm::constant::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq)); + feq[DIR_P0P] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx1 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq)); + feq[DIR_M0M] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx1 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq)); + feq[DIR_P0M] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx1 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq)); + feq[DIR_M0P] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx1 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq)); + feq[DIR_0PP] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx2 + vx3) + vf::lbm::constant::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq)); + feq[DIR_0MM] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq)); + feq[DIR_0PM] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (vx2 - vx3) + vf::lbm::constant::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq)); + feq[DIR_0MP] = vf::lbm::constant::c1o54 * (drho + rho * (3.0 * (-vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq)); + feq[DIR_PPP] = vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (vx1 + vx2 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq)); feq[DIR_MMM] = - UbMath::c1o216 * - (drho + rho * (3.0 * (-vx1 - vx2 - vx3) + UbMath::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq)); - feq[DIR_PPM] = UbMath::c1o216 * - (drho + rho * (3.0 * (vx1 + vx2 - vx3) + UbMath::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq)); + vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (-vx1 - vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq)); + feq[DIR_PPM] = vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (vx1 + vx2 - vx3) + vf::lbm::constant::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq)); feq[DIR_MMP] = - UbMath::c1o216 * - (drho + rho * (3.0 * (-vx1 - vx2 + vx3) + UbMath::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq)); - feq[DIR_PMP] = UbMath::c1o216 * - (drho + rho * (3.0 * (vx1 - vx2 + vx3) + UbMath::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq)); + vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (-vx1 - vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq)); + feq[DIR_PMP] = vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (vx1 - vx2 + vx3) + vf::lbm::constant::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq)); feq[DIR_MPM] = - UbMath::c1o216 * - (drho + rho * (3.0 * (-vx1 + vx2 - vx3) + UbMath::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq)); - feq[DIR_PMM] = UbMath::c1o216 * - (drho + rho * (3.0 * (vx1 - vx2 - vx3) + UbMath::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq)); + vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (-vx1 + vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq)); + feq[DIR_PMM] = vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (vx1 - vx2 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq)); feq[DIR_MPP] = - UbMath::c1o216 * - (drho + rho * (3.0 * (-vx1 + vx2 + vx3) + UbMath::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq)); + vf::lbm::constant::c1o216 * + (drho + rho * (3.0 * (-vx1 + vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq)); } ////////////////////////////////////////////////////////////////////////// static real getIncompFeqForDirection(const int &direction, const real &drho, const real &vx1, @@ -671,79 +673,79 @@ static real getIncompFeqForDirection(const int &direction, const real &drho, con switch (direction) { case DIR_000: - return REAL_CAST(UbMath::c8o27 * (drho - cu_sq)); + return REAL_CAST(vf::lbm::constant::c8o27 * (drho - cu_sq)); case DIR_P00: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (vx1) + UbMath::c9o2 * (vx1) * (vx1)-cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (vx1) + vf::lbm::constant::c9o2 * (vx1) * (vx1)-cu_sq)); case DIR_M00: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (-vx1) + UbMath::c9o2 * (-vx1) * (-vx1) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx1) + vf::lbm::constant::c9o2 * (-vx1) * (-vx1) - cu_sq)); case DIR_0P0: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (vx2) + UbMath::c9o2 * (vx2) * (vx2)-cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (vx2) + vf::lbm::constant::c9o2 * (vx2) * (vx2)-cu_sq)); case DIR_0M0: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (-vx2) + UbMath::c9o2 * (-vx2) * (-vx2) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx2) + vf::lbm::constant::c9o2 * (-vx2) * (-vx2) - cu_sq)); case DIR_00P: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (vx3) + UbMath::c9o2 * (vx3) * (vx3)-cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (vx3) + vf::lbm::constant::c9o2 * (vx3) * (vx3)-cu_sq)); case DIR_00M: - return REAL_CAST(UbMath::c2o27 * (drho + 3.0 * (-vx3) + UbMath::c9o2 * (-vx3) * (-vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx3) + vf::lbm::constant::c9o2 * (-vx3) * (-vx3) - cu_sq)); case DIR_PP0: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx1 + vx2) + UbMath::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx1 + vx2) + vf::lbm::constant::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq)); case DIR_MM0: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx1 - vx2) + UbMath::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx1 - vx2) + vf::lbm::constant::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq)); case DIR_PM0: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx1 - vx2) + UbMath::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx1 - vx2) + vf::lbm::constant::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq)); case DIR_MP0: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx1 + vx2) + UbMath::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx1 + vx2) + vf::lbm::constant::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq)); case DIR_P0P: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx1 + vx3) + UbMath::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx1 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq)); case DIR_M0M: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx1 - vx3) + UbMath::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx1 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq)); case DIR_P0M: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx1 - vx3) + UbMath::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx1 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq)); case DIR_M0P: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx1 + vx3) + UbMath::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx1 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq)); case DIR_0PP: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx2 + vx3) + UbMath::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx2 + vx3) + vf::lbm::constant::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq)); case DIR_0MM: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx2 - vx3) + UbMath::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq)); case DIR_0PM: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (vx2 - vx3) + UbMath::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (vx2 - vx3) + vf::lbm::constant::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq)); case DIR_0MP: - return REAL_CAST(UbMath::c1o54 * - (drho + 3.0 * (-vx2 + vx3) + UbMath::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o54 * + (drho + 3.0 * (-vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq)); case DIR_PPP: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (vx1 + vx2 + vx3) + - UbMath::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (vx1 + vx2 + vx3) + + vf::lbm::constant::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq)); case DIR_MMM: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (-vx1 - vx2 - vx3) + - UbMath::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (-vx1 - vx2 - vx3) + + vf::lbm::constant::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq)); case DIR_PPM: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (vx1 + vx2 - vx3) + - UbMath::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (vx1 + vx2 - vx3) + + vf::lbm::constant::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq)); case DIR_MMP: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (-vx1 - vx2 + vx3) + - UbMath::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (-vx1 - vx2 + vx3) + + vf::lbm::constant::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq)); case DIR_PMP: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (vx1 - vx2 + vx3) + - UbMath::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (vx1 - vx2 + vx3) + + vf::lbm::constant::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq)); case DIR_MPM: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (-vx1 + vx2 - vx3) + - UbMath::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (-vx1 + vx2 - vx3) + + vf::lbm::constant::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq)); case DIR_PMM: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (vx1 - vx2 - vx3) + - UbMath::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (vx1 - vx2 - vx3) + + vf::lbm::constant::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq)); case DIR_MPP: - return REAL_CAST(UbMath::c1o216 * (drho + 3.0 * (-vx1 + vx2 + vx3) + - UbMath::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq)); + return REAL_CAST(vf::lbm::constant::c1o216 * (drho + 3.0 * (-vx1 + vx2 + vx3) + + vf::lbm::constant::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq)); default: throw UbException(UB_EXARGS, "unknown dir"); } @@ -756,41 +758,41 @@ static void calcIncompFeq(real *const &feq /*[27]*/, const real &drho, const rea real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); - feq[DIR_000] = UbMath::c8o27 * (drho - cu_sq); - feq[DIR_P00] = UbMath::c2o27 * (drho + 3.0 * (vx1) + UbMath::c9o2 * (vx1) * (vx1)-cu_sq); - feq[DIR_M00] = UbMath::c2o27 * (drho + 3.0 * (-vx1) + UbMath::c9o2 * (-vx1) * (-vx1) - cu_sq); - feq[DIR_0P0] = UbMath::c2o27 * (drho + 3.0 * (vx2) + UbMath::c9o2 * (vx2) * (vx2)-cu_sq); - feq[DIR_0M0] = UbMath::c2o27 * (drho + 3.0 * (-vx2) + UbMath::c9o2 * (-vx2) * (-vx2) - cu_sq); - feq[DIR_00P] = UbMath::c2o27 * (drho + 3.0 * (vx3) + UbMath::c9o2 * (vx3) * (vx3)-cu_sq); - feq[DIR_00M] = UbMath::c2o27 * (drho + 3.0 * (-vx3) + UbMath::c9o2 * (-vx3) * (-vx3) - cu_sq); - feq[DIR_PP0] = UbMath::c1o54 * (drho + 3.0 * (vx1 + vx2) + UbMath::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq); - feq[DIR_MM0] = UbMath::c1o54 * (drho + 3.0 * (-vx1 - vx2) + UbMath::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq); - feq[DIR_PM0] = UbMath::c1o54 * (drho + 3.0 * (vx1 - vx2) + UbMath::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq); - feq[DIR_MP0] = UbMath::c1o54 * (drho + 3.0 * (-vx1 + vx2) + UbMath::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq); - feq[DIR_P0P] = UbMath::c1o54 * (drho + 3.0 * (vx1 + vx3) + UbMath::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq); - feq[DIR_M0M] = UbMath::c1o54 * (drho + 3.0 * (-vx1 - vx3) + UbMath::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq); - feq[DIR_P0M] = UbMath::c1o54 * (drho + 3.0 * (vx1 - vx3) + UbMath::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq); - feq[DIR_M0P] = UbMath::c1o54 * (drho + 3.0 * (-vx1 + vx3) + UbMath::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq); - feq[DIR_0PP] = UbMath::c1o54 * (drho + 3.0 * (vx2 + vx3) + UbMath::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq); - feq[DIR_0MM] = UbMath::c1o54 * (drho + 3.0 * (-vx2 - vx3) + UbMath::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq); - feq[DIR_0PM] = UbMath::c1o54 * (drho + 3.0 * (vx2 - vx3) + UbMath::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq); - feq[DIR_0MP] = UbMath::c1o54 * (drho + 3.0 * (-vx2 + vx3) + UbMath::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq); - feq[DIR_PPP] = UbMath::c1o216 * - (drho + 3.0 * (vx1 + vx2 + vx3) + UbMath::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq); - feq[DIR_MMM] = UbMath::c1o216 * - (drho + 3.0 * (-vx1 - vx2 - vx3) + UbMath::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq); - feq[DIR_PPM] = UbMath::c1o216 * - (drho + 3.0 * (vx1 + vx2 - vx3) + UbMath::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq); - feq[DIR_MMP] = UbMath::c1o216 * - (drho + 3.0 * (-vx1 - vx2 + vx3) + UbMath::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq); - feq[DIR_PMP] = UbMath::c1o216 * - (drho + 3.0 * (vx1 - vx2 + vx3) + UbMath::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq); - feq[DIR_MPM] = UbMath::c1o216 * - (drho + 3.0 * (-vx1 + vx2 - vx3) + UbMath::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq); - feq[DIR_PMM] = UbMath::c1o216 * - (drho + 3.0 * (vx1 - vx2 - vx3) + UbMath::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq); - feq[DIR_MPP] = UbMath::c1o216 * - (drho + 3.0 * (-vx1 + vx2 + vx3) + UbMath::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq); + feq[DIR_000] = vf::lbm::constant::c8o27 * (drho - cu_sq); + feq[DIR_P00] = vf::lbm::constant::c2o27 * (drho + 3.0 * (vx1) + vf::lbm::constant::c9o2 * (vx1) * (vx1)-cu_sq); + feq[DIR_M00] = vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx1) + vf::lbm::constant::c9o2 * (-vx1) * (-vx1) - cu_sq); + feq[DIR_0P0] = vf::lbm::constant::c2o27 * (drho + 3.0 * (vx2) + vf::lbm::constant::c9o2 * (vx2) * (vx2)-cu_sq); + feq[DIR_0M0] = vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx2) + vf::lbm::constant::c9o2 * (-vx2) * (-vx2) - cu_sq); + feq[DIR_00P] = vf::lbm::constant::c2o27 * (drho + 3.0 * (vx3) + vf::lbm::constant::c9o2 * (vx3) * (vx3)-cu_sq); + feq[DIR_00M] = vf::lbm::constant::c2o27 * (drho + 3.0 * (-vx3) + vf::lbm::constant::c9o2 * (-vx3) * (-vx3) - cu_sq); + feq[DIR_PP0] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx1 + vx2) + vf::lbm::constant::c9o2 * (vx1 + vx2) * (vx1 + vx2) - cu_sq); + feq[DIR_MM0] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx1 - vx2) + vf::lbm::constant::c9o2 * (-vx1 - vx2) * (-vx1 - vx2) - cu_sq); + feq[DIR_PM0] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx1 - vx2) + vf::lbm::constant::c9o2 * (vx1 - vx2) * (vx1 - vx2) - cu_sq); + feq[DIR_MP0] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx1 + vx2) + vf::lbm::constant::c9o2 * (-vx1 + vx2) * (-vx1 + vx2) - cu_sq); + feq[DIR_P0P] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx1 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx3) * (vx1 + vx3) - cu_sq); + feq[DIR_M0M] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx1 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx3) * (-vx1 - vx3) - cu_sq); + feq[DIR_P0M] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx1 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx3) * (vx1 - vx3) - cu_sq); + feq[DIR_M0P] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx1 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx3) * (-vx1 + vx3) - cu_sq); + feq[DIR_0PP] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx2 + vx3) + vf::lbm::constant::c9o2 * (vx2 + vx3) * (vx2 + vx3) - cu_sq); + feq[DIR_0MM] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx2 - vx3) * (-vx2 - vx3) - cu_sq); + feq[DIR_0PM] = vf::lbm::constant::c1o54 * (drho + 3.0 * (vx2 - vx3) + vf::lbm::constant::c9o2 * (vx2 - vx3) * (vx2 - vx3) - cu_sq); + feq[DIR_0MP] = vf::lbm::constant::c1o54 * (drho + 3.0 * (-vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx2 + vx3) * (-vx2 + vx3) - cu_sq); + feq[DIR_PPP] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (vx1 + vx2 + vx3) + vf::lbm::constant::c9o2 * (vx1 + vx2 + vx3) * (vx1 + vx2 + vx3) - cu_sq); + feq[DIR_MMM] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (-vx1 - vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx2 - vx3) * (-vx1 - vx2 - vx3) - cu_sq); + feq[DIR_PPM] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (vx1 + vx2 - vx3) + vf::lbm::constant::c9o2 * (vx1 + vx2 - vx3) * (vx1 + vx2 - vx3) - cu_sq); + feq[DIR_MMP] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (-vx1 - vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx1 - vx2 + vx3) * (-vx1 - vx2 + vx3) - cu_sq); + feq[DIR_PMP] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (vx1 - vx2 + vx3) + vf::lbm::constant::c9o2 * (vx1 - vx2 + vx3) * (vx1 - vx2 + vx3) - cu_sq); + feq[DIR_MPM] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (-vx1 + vx2 - vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx2 - vx3) * (-vx1 + vx2 - vx3) - cu_sq); + feq[DIR_PMM] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (vx1 - vx2 - vx3) + vf::lbm::constant::c9o2 * (vx1 - vx2 - vx3) * (vx1 - vx2 - vx3) - cu_sq); + feq[DIR_MPP] = vf::lbm::constant::c1o216 * + (drho + 3.0 * (-vx1 + vx2 + vx3) + vf::lbm::constant::c9o2 * (-vx1 + vx2 + vx3) * (-vx1 + vx2 + vx3) - cu_sq); } ////////////////////////////////////////////////////////////////////////// static inline real getBoundaryVelocityForDirection(const int &direction, const real &bcVelocityX1, @@ -800,57 +802,57 @@ static inline real getBoundaryVelocityForDirection(const int &direction, const r switch (direction) { case DIR_P00: - return (real)(UbMath::c4o9 * (+bcVelocityX1)); + return (real)(vf::lbm::constant::c4o9 * (+bcVelocityX1)); case DIR_M00: - return (real)(UbMath::c4o9 * (-bcVelocityX1)); + return (real)(vf::lbm::constant::c4o9 * (-bcVelocityX1)); case DIR_0P0: - return (real)(UbMath::c4o9 * (+bcVelocityX2)); + return (real)(vf::lbm::constant::c4o9 * (+bcVelocityX2)); case DIR_0M0: - return (real)(UbMath::c4o9 * (-bcVelocityX2)); + return (real)(vf::lbm::constant::c4o9 * (-bcVelocityX2)); case DIR_00P: - return (real)(UbMath::c4o9 * (+bcVelocityX3)); + return (real)(vf::lbm::constant::c4o9 * (+bcVelocityX3)); case DIR_00M: - return (real)(UbMath::c4o9 * (-bcVelocityX3)); + return (real)(vf::lbm::constant::c4o9 * (-bcVelocityX3)); case DIR_PP0: - return (real)(UbMath::c1o9 * (+bcVelocityX1 + bcVelocityX2)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX1 + bcVelocityX2)); case DIR_MM0: - return (real)(UbMath::c1o9 * (-bcVelocityX1 - bcVelocityX2)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX1 - bcVelocityX2)); case DIR_PM0: - return (real)(UbMath::c1o9 * (+bcVelocityX1 - bcVelocityX2)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX1 - bcVelocityX2)); case DIR_MP0: - return (real)(UbMath::c1o9 * (-bcVelocityX1 + bcVelocityX2)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX1 + bcVelocityX2)); case DIR_P0P: - return (real)(UbMath::c1o9 * (+bcVelocityX1 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX1 + bcVelocityX3)); case DIR_M0M: - return (real)(UbMath::c1o9 * (-bcVelocityX1 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX1 - bcVelocityX3)); case DIR_P0M: - return (real)(UbMath::c1o9 * (+bcVelocityX1 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX1 - bcVelocityX3)); case DIR_M0P: - return (real)(UbMath::c1o9 * (-bcVelocityX1 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX1 + bcVelocityX3)); case DIR_0PP: - return (real)(UbMath::c1o9 * (+bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX2 + bcVelocityX3)); case DIR_0MM: - return (real)(UbMath::c1o9 * (-bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX2 - bcVelocityX3)); case DIR_0PM: - return (real)(UbMath::c1o9 * (+bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (+bcVelocityX2 - bcVelocityX3)); case DIR_0MP: - return (real)(UbMath::c1o9 * (-bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o9 * (-bcVelocityX2 + bcVelocityX3)); case DIR_PPP: - return (real)(UbMath::c1o36 * (+bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (+bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); case DIR_MMM: - return (real)(UbMath::c1o36 * (-bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (-bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); case DIR_PPM: - return (real)(UbMath::c1o36 * (+bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (+bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); case DIR_MMP: - return (real)(UbMath::c1o36 * (-bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (-bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); case DIR_PMP: - return (real)(UbMath::c1o36 * (+bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (+bcVelocityX1 - bcVelocityX2 + bcVelocityX3)); case DIR_MPM: - return (real)(UbMath::c1o36 * (-bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (-bcVelocityX1 + bcVelocityX2 - bcVelocityX3)); case DIR_PMM: - return (real)(UbMath::c1o36 * (+bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (+bcVelocityX1 - bcVelocityX2 - bcVelocityX3)); case DIR_MPP: - return (real)(UbMath::c1o36 * (-bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); + return (real)(vf::lbm::constant::c1o36 * (-bcVelocityX1 + bcVelocityX2 + bcVelocityX3)); default: throw UbException(UB_EXARGS, "unknown direction"); } @@ -911,11 +913,11 @@ static inline void calcDistanceToNeighbors(std::vector<real> &distNeigh, const r distNeigh[DIR_P00] = distNeigh[DIR_M00] = distNeigh[DIR_0P0] = deltaX1; distNeigh[DIR_0M0] = distNeigh[DIR_00P] = distNeigh[DIR_00M] = deltaX1; - distNeigh[DIR_PP0] = distNeigh[DIR_MP0] = distNeigh[DIR_MM0] = distNeigh[DIR_PM0] = UbMath::sqrt2 * deltaX1; - distNeigh[DIR_P0P] = distNeigh[DIR_0PP] = distNeigh[DIR_M0P] = distNeigh[DIR_0MP] = UbMath::sqrt2 * deltaX1; - distNeigh[DIR_P0M] = distNeigh[DIR_0PM] = distNeigh[DIR_M0M] = distNeigh[DIR_0MM] = UbMath::sqrt2 * deltaX1; - distNeigh[DIR_PPP] = distNeigh[DIR_MPP] = distNeigh[DIR_PMP] = distNeigh[DIR_MMP] = UbMath::sqrt3 * deltaX1; - distNeigh[DIR_PPM] = distNeigh[DIR_MPM] = distNeigh[DIR_PMM] = distNeigh[DIR_MMM] = UbMath::sqrt3 * deltaX1; + distNeigh[DIR_PP0] = distNeigh[DIR_MP0] = distNeigh[DIR_MM0] = distNeigh[DIR_PM0] = vf::lbm::constant::sqrt2 * deltaX1; + distNeigh[DIR_P0P] = distNeigh[DIR_0PP] = distNeigh[DIR_M0P] = distNeigh[DIR_0MP] = vf::lbm::constant::sqrt2 * deltaX1; + distNeigh[DIR_P0M] = distNeigh[DIR_0PM] = distNeigh[DIR_M0M] = distNeigh[DIR_0MM] = vf::lbm::constant::sqrt2 * deltaX1; + distNeigh[DIR_PPP] = distNeigh[DIR_MPP] = distNeigh[DIR_PMP] = distNeigh[DIR_MMP] = vf::lbm::constant::sqrt3 * deltaX1; + distNeigh[DIR_PPM] = distNeigh[DIR_MPM] = distNeigh[DIR_PMM] = distNeigh[DIR_MMM] = vf::lbm::constant::sqrt3 * deltaX1; } ////////////////////////////////////////////////////////////////////////// static inline void calcDistanceToNeighbors(std::vector<real> &distNeigh, const real &deltaX1, const real &deltaX2, @@ -941,8 +943,8 @@ static inline void initRayVectors(real *const &rayX1, real *const &rayX2, real * using namespace vf::lbm::dir; int fdir; - real c1oS2 = UbMath::one_over_sqrt2; - real c1oS3 = UbMath::one_over_sqrt3; + real c1oS2 = vf::lbm::constant::one_over_sqrt2; + real c1oS3 = vf::lbm::constant::one_over_sqrt3; fdir = DIR_P00; rayX1[fdir] = 1.0; rayX2[fdir] = 0.0; @@ -1060,7 +1062,7 @@ static inline real calcPress(const real *const f, real rho, real vx1, real vx2, (vx1 * vx1 + vx2 * vx2 + vx3 * vx3)) * (1 - 0.5 * op) + op * 0.5 * (rho)) * - UbMath::c1o3; + vf::lbm::constant::c1o3; } ////////////////////////////////////////////////////////////////////////// static inline real getShearRate(const real *const f, real collFactorF) @@ -1154,7 +1156,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfaac - mfaaa; m0 = m2 + mfaab; mfaaa = m0; - m0 += UbMath::c1o36 * oMdrho; + m0 += vf::lbm::constant::c1o36 * oMdrho; mfaab = m1 - m0 * vvz; mfaac = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1162,7 +1164,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfabc - mfaba; m0 = m2 + mfabb; mfaba = m0; - m0 += UbMath::c1o9 * oMdrho; + m0 += vf::lbm::constant::c1o9 * oMdrho; mfabb = m1 - m0 * vvz; mfabc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1170,7 +1172,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfacc - mfaca; m0 = m2 + mfacb; mfaca = m0; - m0 += UbMath::c1o36 * oMdrho; + m0 += vf::lbm::constant::c1o36 * oMdrho; mfacb = m1 - m0 * vvz; mfacc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1179,7 +1181,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfbac - mfbaa; m0 = m2 + mfbab; mfbaa = m0; - m0 += UbMath::c1o9 * oMdrho; + m0 += vf::lbm::constant::c1o9 * oMdrho; mfbab = m1 - m0 * vvz; mfbac = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1187,7 +1189,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfbbc - mfbba; m0 = m2 + mfbbb; mfbba = m0; - m0 += UbMath::c4o9 * oMdrho; + m0 += vf::lbm::constant::c4o9 * oMdrho; mfbbb = m1 - m0 * vvz; mfbbc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1195,7 +1197,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfbcc - mfbca; m0 = m2 + mfbcb; mfbca = m0; - m0 += UbMath::c1o9 * oMdrho; + m0 += vf::lbm::constant::c1o9 * oMdrho; mfbcb = m1 - m0 * vvz; mfbcc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1204,7 +1206,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfcac - mfcaa; m0 = m2 + mfcab; mfcaa = m0; - m0 += UbMath::c1o36 * oMdrho; + m0 += vf::lbm::constant::c1o36 * oMdrho; mfcab = m1 - m0 * vvz; mfcac = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1212,7 +1214,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfcbc - mfcba; m0 = m2 + mfcbb; mfcba = m0; - m0 += UbMath::c1o9 * oMdrho; + m0 += vf::lbm::constant::c1o9 * oMdrho; mfcbb = m1 - m0 * vvz; mfcbc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1220,7 +1222,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfccc - mfcca; m0 = m2 + mfccb; mfcca = m0; - m0 += UbMath::c1o36 * oMdrho; + m0 += vf::lbm::constant::c1o36 * oMdrho; mfccb = m1 - m0 * vvz; mfccc = m2 - 2. * m1 * vvz + vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1232,7 +1234,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfaca - mfaaa; m0 = m2 + mfaba; mfaaa = m0; - m0 += UbMath::c1o6 * oMdrho; + m0 += vf::lbm::constant::c1o6 * oMdrho; mfaba = m1 - m0 * vvy; mfaca = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1247,7 +1249,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfacc - mfaac; m0 = m2 + mfabc; mfaac = m0; - m0 += UbMath::c1o18 * oMdrho; + m0 += vf::lbm::constant::c1o18 * oMdrho; mfabc = m1 - m0 * vvy; mfacc = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1256,7 +1258,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfbca - mfbaa; m0 = m2 + mfbba; mfbaa = m0; - m0 += UbMath::c2o3 * oMdrho; + m0 += vf::lbm::constant::c2o3 * oMdrho; mfbba = m1 - m0 * vvy; mfbca = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1271,7 +1273,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfbcc - mfbac; m0 = m2 + mfbbc; mfbac = m0; - m0 += UbMath::c2o9 * oMdrho; + m0 += vf::lbm::constant::c2o9 * oMdrho; mfbbc = m1 - m0 * vvy; mfbcc = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1280,7 +1282,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfcca - mfcaa; m0 = m2 + mfcba; mfcaa = m0; - m0 += UbMath::c1o6 * oMdrho; + m0 += vf::lbm::constant::c1o6 * oMdrho; mfcba = m1 - m0 * vvy; mfcca = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1295,7 +1297,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfccc - mfcac; m0 = m2 + mfcbc; mfcac = m0; - m0 += UbMath::c1o18 * oMdrho; + m0 += vf::lbm::constant::c1o18 * oMdrho; mfcbc = m1 - m0 * vvy; mfccc = m2 - 2. * m1 * vvy + vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1322,7 +1324,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfcca - mfaca; m0 = m2 + mfbca; mfaca = m0; - m0 += UbMath::c1o3 * oMdrho; + m0 += vf::lbm::constant::c1o3 * oMdrho; mfbca = m1 - m0 * vvx; mfcca = m2 - 2. * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1353,7 +1355,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfcac - mfaac; m0 = m2 + mfbac; mfaac = m0; - m0 += UbMath::c1o3 * oMdrho; + m0 += vf::lbm::constant::c1o3 * oMdrho; mfbac = m1 - m0 * vvx; mfcac = m2 - 2. * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1368,7 +1370,7 @@ static inline real getShearRate(const real *const f, real collFactorF) m1 = mfccc - mfacc; m0 = m2 + mfbcc; mfacc = m0; - m0 += UbMath::c1o9 * oMdrho; + m0 += vf::lbm::constant::c1o9 * oMdrho; mfbcc = m1 - m0 * vvx; mfccc = m2 - 2. * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -1380,16 +1382,16 @@ static inline real getShearRate(const real *const f, real collFactorF) real mxxMyy = mfcaa - mfaca; real mxxMzz = mfcaa - mfaac; - real dxux = -UbMath::c1o2 * collFactorF * (mxxMyy + mxxMzz) + UbMath::c1o2 * OxxPyyPzz * (mfaaa - mxxPyyPzz); - real dyuy = dxux + collFactorF * UbMath::c3o2 * mxxMyy; - real dzuz = dxux + collFactorF * UbMath::c3o2 * mxxMzz; + real dxux = -vf::lbm::constant::c1o2 * collFactorF * (mxxMyy + mxxMzz) + vf::lbm::constant::c1o2 * OxxPyyPzz * (mfaaa - mxxPyyPzz); + real dyuy = dxux + collFactorF * vf::lbm::constant::c3o2 * mxxMyy; + real dzuz = dxux + collFactorF * vf::lbm::constant::c3o2 * mxxMzz; - real Dxy = -UbMath::three * collFactorF * mfbba; - real Dxz = -UbMath::three * collFactorF * mfbab; - real Dyz = -UbMath::three * collFactorF * mfabb; + real Dxy = -vf::lbm::constant::c3o1 * collFactorF * mfbba; + real Dxz = -vf::lbm::constant::c3o1 * collFactorF * mfbab; + real Dyz = -vf::lbm::constant::c3o1 * collFactorF * mfabb; - return sqrt(UbMath::c2 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / - (rho + UbMath::one); + return sqrt(vf::lbm::constant::c2o1 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / + (rho + vf::lbm::constant::c1o1); } //Multiphase stuff ////////////////////////////////////////////////////////////////////////// @@ -1398,7 +1400,7 @@ static void calcMultiphaseFeq(real *const &feq /*[27]*/, const real &rho, const { using namespace vf::lbm::dir; - using namespace UbMath; + using namespace vf::lbm::constant; real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); feq[DIR_000] = c8o27 * (p1 + rho * c1o3 * (-cu_sq)); @@ -1443,7 +1445,7 @@ static void calcMultiphaseFeqVB(real *const &feq /*[27]*/, const real &p1, const { using namespace vf::lbm::dir; - using namespace UbMath; + using namespace vf::lbm::constant; real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); feq[DIR_000] = p1 + c8o27 * (-cu_sq); @@ -1479,7 +1481,7 @@ static void calcMultiphaseHeq(real *const &heq /*[27]*/, const real &phi, const const real &vx3) { using namespace vf::lbm::dir; - using namespace UbMath; + using namespace vf::lbm::constant; real cu_sq = 1.5 * (vx1 * vx1 + vx2 * vx2 + vx3 * vx3); diff --git a/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantLBMKernel.cpp index bf84661774db5e295495f47d528ad1ba1b91aa51..782d5c96856b1c623d17a453f9552d10ab0a04ad 100644 --- a/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantLBMKernel.cpp @@ -8,7 +8,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// IncompressibleCumulantLBMKernel::IncompressibleCumulantLBMKernel() diff --git a/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantWithSpongeLayerLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantWithSpongeLayerLBMKernel.cpp index f280d612844e120246ca5e846aecdb73ccabc897..ed77717f6573932d8a247863dc69bfafc462b555 100644 --- a/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantWithSpongeLayerLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/IncompressibleCumulantWithSpongeLayerLBMKernel.cpp @@ -8,7 +8,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// IncompressibleCumulantWithSpongeLayerLBMKernel::IncompressibleCumulantWithSpongeLayerLBMKernel() diff --git a/src/cpu/VirtualFluidsCore/LBM/InitDensityLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/InitDensityLBMKernel.cpp index 9f4fe456f765629aba09c905ad7b979e853dc91d..6c1c550fdce46eb91b7e33bedf5854c2d0ffe7b5 100644 --- a/src/cpu/VirtualFluidsCore/LBM/InitDensityLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/InitDensityLBMKernel.cpp @@ -3,8 +3,10 @@ #include "BCProcessor.h" #include "DataSet3D.h" #include "BCArray3D.h" +#include "lbm/constants/NumericConstants.h" -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; InitDensityLBMKernel::InitDensityLBMKernel() { diff --git a/src/cpu/VirtualFluidsCore/LBM/LBMKernelETD3Q27BGK.cpp b/src/cpu/VirtualFluidsCore/LBM/LBMKernelETD3Q27BGK.cpp index b4f498fdd726b1c7b33c2aa90a9f92efe4416777..081e9fe8ecf850957dc49229379f4e112aa38c17 100644 --- a/src/cpu/VirtualFluidsCore/LBM/LBMKernelETD3Q27BGK.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/LBMKernelETD3Q27BGK.cpp @@ -5,10 +5,13 @@ #include "DataSet3D.h" #include "BCProcessor.h" #include "BCArray3D.h" +#include "lbm/constants/NumericConstants.h" + +using namespace vf::lbm::constant; +//using namespace UbMath; //#define PROOF_CORRECTNESS -using namespace UbMath; ////////////////////////////////////////////////////////////////////////// LBMKernelETD3Q27BGK::LBMKernelETD3Q27BGK() diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseCumulantLBMKernel.cpp index 0110ed863751d705fdb9e6f68247b1ff6a45a6c1..3b660f6dcb985be987d0c0d46f2b29bc15fab468 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseCumulantLBMKernel.cpp @@ -83,8 +83,9 @@ SPtr<LBMKernel> MultiphaseCumulantLBMKernel::clone() void MultiphaseCumulantLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; +// using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterCompressibleAirLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterCompressibleAirLBMKernel.cpp index 63f2c18020a2c6d8c52cbb38b4d6af64e891a9f6..c294a381f6c4309577022ca16ee781775f22a31f 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterCompressibleAirLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterCompressibleAirLBMKernel.cpp @@ -39,6 +39,7 @@ #include "DataSet3D.h" #include "LBMKernel.h" #include <cmath> +#include "UbMath.h" #define PROOF_CORRECTNESS @@ -92,7 +93,9 @@ SPtr<LBMKernel> MultiphasePressureFilterCompressibleAirLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterCompressibleAirLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; @@ -100,14 +103,16 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::forwardInverseChimeraWit m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterCompressibleAirLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -116,19 +121,23 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::backwardInverseChimeraWi //////////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterCompressibleAirLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphasePressureFilterCompressibleAirLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -138,14 +147,15 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::backwardChimera(real& mf void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; +// using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; forcingX3 = 0.0; - real oneOverInterfaceScale = c4 / interfaceWidth; //1.0;//1.5; + real oneOverInterfaceScale = c4o1 / interfaceWidth; //1.0;//1.5; ///////////////////////////////////// localDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getLocalDistributions(); @@ -291,9 +301,9 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) 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); + sum+= 64.0/(216.0*(c1o1+c3o1*abs(xx))* (c1o1 + c3o1 * abs(yy))* (c1o1 + c3o1 * 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); + else{ sum+= 64.0 / (216.0 * (c1o1 + c3o1 * abs(xx)) * (c1o1 + c3o1 * abs(yy)) * (c1o1 + c3o1 * abs(zz))) * (*pressureOld)(x1, x2, x3); } @@ -394,7 +404,7 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) //LBMReal rho = rhoL + (rhoH - rhoL) * phi[REST] + (one - phi[REST]) * (*pressure)(x1, x2, x3) * three; //compressible real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -414,44 +424,44 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) 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))); + gradPx -= (*pressure)(x1 - 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPx += (*pressure)(x1 + 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy -= (*pressure)(xxx, x2-1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy += (*pressure)(xxx, x2+1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz -= (*pressure)(xxx, yyy, x3-1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz += (*pressure)(xxx, yyy, x3+1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } } @@ -781,9 +791,9 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -817,9 +827,9 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; //relax mxxPyyPzz += OxxPyyPzz * (/*mfaaa*/ - mxxPyyPzz) - 3. * (1. - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); @@ -880,12 +890,12 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -905,9 +915,9 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -937,9 +947,9 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) mfaba = -mfaba; mfaab = -mfaab; ////////////////////////////////////////////////////////////////////////////////////// - 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 += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (2 * dxux * dX1_phi + Dxy * dX2_phi + Dxz * dX3_phi) / (rho); + mfaba += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (Dxy * dX1_phi + 2 * dyuy * dX2_phi + Dyz * dX3_phi) / (rho); + mfaab += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (Dxz * dX1_phi + Dyz * dX2_phi + 2 * dyuy * dX3_phi) / (rho); //////////////////////////////////////////////////////////////////////////////////// //back //////////////////////////////////////////////////////////////////////////////////// @@ -1254,7 +1264,7 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -1282,39 +1292,39 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -1333,34 +1343,34 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; cx2 = cx * cx; cy2 = cy * cy; cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; 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; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -1375,14 +1385,14 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -1400,39 +1410,39 @@ void MultiphasePressureFilterCompressibleAirLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterLBMKernel.cpp index d96a84c4dd8483ebc498d6de99b04beb074ba072..0aafeb0b03afcfb0fe10196bc8c149a0979bdfc2 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphasePressureFilterLBMKernel.cpp @@ -39,6 +39,7 @@ #include "DataSet3D.h" #include "LBMKernel.h" #include <cmath> +#include "UbMath.h" #define PROOF_CORRECTNESS @@ -93,7 +94,8 @@ SPtr<LBMKernel> MultiphasePressureFilterLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; @@ -101,14 +103,16 @@ void MultiphasePressureFilterLBMKernel::forwardInverseChimeraWithKincompressibl m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -117,19 +121,23 @@ void MultiphasePressureFilterLBMKernel::backwardInverseChimeraWithKincompressib //////////////////////////////////////////////////////////////////////////////// void MultiphasePressureFilterLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphasePressureFilterLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -139,14 +147,15 @@ void MultiphasePressureFilterLBMKernel::backwardChimera(real& mfa, real& mfb, r void MultiphasePressureFilterLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; +// using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; forcingX3 = 0.0; - real oneOverInterfaceScale = c4 / interfaceWidth; //1.0;//1.5; + real oneOverInterfaceScale = c4o1 / interfaceWidth; //1.0;//1.5; ///////////////////////////////////// localDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getLocalDistributions(); @@ -285,9 +294,9 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) 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); + sum+= 64.0/(216.0*(c1o1+c3o1 *abs(xx))* (c1o1 + c3o1 * abs(yy))* (c1o1 + c3o1 * 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); + else{ sum+= 64.0 / (216.0 * (c1o1 + c3o1 * abs(xx)) * (c1o1 + c3o1 * abs(yy)) * (c1o1 + c3o1 * abs(zz))) * (*pressureOld)(x1, x2, x3); } @@ -389,7 +398,7 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) real rho = rhoH + rhoToPhi * (phi[DIR_000] - phiH); real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -409,44 +418,44 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) 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))); + gradPx -= (*pressure)(x1 - 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPx += (*pressure)(x1 + 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy -= (*pressure)(xxx, x2-1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy += (*pressure)(xxx, x2+1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz -= (*pressure)(xxx, yyy, x3-1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz += (*pressure)(xxx, yyy, x3+1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } } @@ -516,7 +525,7 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) for (int iter = 0; iter < 1; iter++) { real OxxPyyPzz = 1.0; real mxxPyyPzz = (M200 - vvxI * vvxI) + (M020 - vvyI * vvyI) + (M002 - vvzI * vvzI); - mxxPyyPzz -= c3 * pStar; + mxxPyyPzz -= c3o1 * pStar; real mxxMyy = (M200 - vvxI * vvxI) - (M020 - vvyI * vvyI); real mxxMzz = (M200 - vvxI * vvxI) - (M002 - vvzI * vvzI); @@ -542,16 +551,16 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) //////!Bingham - mxxMyy *= c1 - collFactorM * c1o2; - mxxMzz *= c1 - collFactorM * c1o2; - mxy *= c1 - collFactorM * c1o2; - mxz *= c1 - collFactorM * c1o2; - myz *= c1 - collFactorM * c1o2; - mxxPyyPzz *= c1 - OxxPyyPzz * c1o2; + mxxMyy *= c1o1 - collFactorM * c1o2; + mxxMzz *= c1o1 - collFactorM * c1o2; + mxy *= c1o1 - collFactorM * c1o2; + mxz *= c1o1 - collFactorM * c1o2; + myz *= c1o1 - collFactorM * c1o2; + mxxPyyPzz *= c1o1 - OxxPyyPzz * c1o2; //mxxPyyPzz += c3o2 * pStar; real mxx = (mxxMyy + mxxMzz + mxxPyyPzz) * c1o3; - real myy = (-c2 * mxxMyy + mxxMzz + mxxPyyPzz) * c1o3; - real mzz = (mxxMyy - c2 * mxxMzz + mxxPyyPzz) * c1o3; + real myy = (-c2o1 * mxxMyy + mxxMzz + mxxPyyPzz) * c1o3; + real mzz = (mxxMyy - c2o1 * 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); @@ -561,9 +570,9 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) } - forcingX1 += c2 * (vvxI - vvx); - forcingX2 += c2 * (vvyI - vvy); - forcingX3 += c2 * (vvzI - vvz); + forcingX1 += c2o1 * (vvxI - vvx); + forcingX2 += c2o1 * (vvyI - vvy); + forcingX3 += c2o1 * (vvzI - vvz); mfabb += c1o2 * (-forcingX1) * c2o9; mfbab += c1o2 * (-forcingX2) * c2o9; @@ -898,9 +907,9 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -934,9 +943,9 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; //relax mxxPyyPzz += OxxPyyPzz * (/*mfaaa*/ - mxxPyyPzz) - 3. * (1. - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); @@ -997,12 +1006,12 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -1022,9 +1031,9 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -1403,7 +1412,7 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -1431,39 +1440,39 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -1482,34 +1491,34 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; cx2 = cx * cx; cy2 = cy * cy; cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; 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; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -1524,14 +1533,14 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -1549,39 +1558,39 @@ void MultiphasePressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseScratchCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseScratchCumulantLBMKernel.cpp index 7a9e6c237fac971b71343df901d6e94c39d0980d..f6cb731fb4eec7e49d7b946ada6fb1cf30456f2e 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseScratchCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseScratchCumulantLBMKernel.cpp @@ -82,22 +82,26 @@ SPtr<LBMKernel> MultiphaseScratchCumulantLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphaseScratchCumulantLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m2 = mfa + mfc; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; mfa = m0; m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphaseScratchCumulantLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -106,19 +110,23 @@ SPtr<LBMKernel> MultiphaseScratchCumulantLBMKernel::clone() //////////////////////////////////////////////////////////////////////////////// void MultiphaseScratchCumulantLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real m1 = (mfa + mfc) + mfb; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphaseScratchCumulantLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -128,8 +136,9 @@ SPtr<LBMKernel> MultiphaseScratchCumulantLBMKernel::clone() void MultiphaseScratchCumulantLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; + // using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; @@ -231,35 +240,35 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) real rho = rhoH + rhoToPhi * ((*phaseField)(x1, x2, x3) - phiH); - mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3) / rho * c3; - mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3; - mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3; - mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3; - mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3; - mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3; - mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3; - mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3; - mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3; - mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3; - mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3; - mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3; - mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3; - - mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3; - mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3; - mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3; - mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3; - mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3; - mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3; - mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3; - mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3; - mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3; - mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3; - mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3; - mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3; - mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3; - - mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3; + mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3) / rho * c3o1; + mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3o1; + mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3o1; + mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3o1; + mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3o1; + mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3o1; + mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3o1; + mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3o1; + mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3o1; + mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3o1; + mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3o1; + mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3o1; + mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3o1; + + mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3o1; + mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3o1; + mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3o1; + mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3o1; + mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3o1; + mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3o1; + mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3o1; + mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3o1; + mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3o1; + mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3o1; + mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3o1; + mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3o1; + mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3o1; + + mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3o1; //(*velocityX)(x1, x2, x3) = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + // (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -456,42 +465,42 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) } ////Incompressible Kernal - mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3)/rho*c3; - mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3; - mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3; - mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3; - mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3; - mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3; - mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3; - mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3; - mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3; - mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3; - mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3; - mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3; - mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3; + mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3)/rho*c3o1; + mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3o1; + mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3o1; + mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3o1; + mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3o1; + mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3o1; + mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3o1; + mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3o1; + mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3o1; + mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3o1; + mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3o1; + mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3o1; + mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3o1; - mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3; - mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3; - mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3; - mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3; - mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3; - mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3; - mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3; - mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3; - mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3; - mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3; - mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3; - mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3; - mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3; + mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3o1; + mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3o1; + mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3o1; + mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3o1; + mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3o1; + mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3o1; + mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3o1; + mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3o1; + mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3o1; + mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3o1; + mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3o1; + mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3o1; + mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3o1; - mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3; + mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3o1; real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; //LBMReal // FIXME: warning: unused variable 'drho' @@ -1100,9 +1109,9 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -1157,9 +1166,9 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; ////relax unfiltered //! divergenceFilter 10.05.2021 @@ -1281,12 +1290,12 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) //CUMcbb += O4 * (-CUMcbb); - 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); @@ -1350,9 +1359,9 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -2593,7 +2602,7 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2621,39 +2630,39 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2672,9 +2681,9 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -2686,9 +2695,9 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -2705,13 +2714,13 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2726,14 +2735,14 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2751,39 +2760,39 @@ void MultiphaseScratchCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp index 9677ffd73cb08cb5f92b4798ee8ebecfff6fb086..8ea6c1f786e700fafaa8cb8d4fe900618852a192 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseSimpleVelocityBaseExternalPressureLBMKernel.cpp @@ -41,6 +41,8 @@ #include <cmath> #include <iostream> #include <string> +#include "lbm/constants/NumericConstants.h" +//#include <basics/utilities/UbMath.h> #define PROOF_CORRECTNESS @@ -97,7 +99,7 @@ SPtr<LBMKernel> MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; + using namespace vf::lbm::constant; real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; @@ -105,14 +107,14 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::forwardInverseChime m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; + using namespace vf::lbm::constant; real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -121,19 +123,19 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardInverseChim //////////////////////////////////////////////////////////////////////////////// void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; + using namespace vf::lbm::constant; real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; + using namespace vf::lbm::constant; real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -143,14 +145,14 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::backwardChimera(rea void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; + using namespace vf::lbm::constant; using namespace vf::lbm::dir; forcingX1 = 0.0; forcingX2 = 0.0; forcingX3 = 0.0; - real oneOverInterfaceScale = c4 / interfaceWidth; //1.0;//1.5; + real oneOverInterfaceScale = c4o1 / interfaceWidth; //1.0;//1.5; ///////////////////////////////////// localDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getLocalDistributions(); @@ -223,7 +225,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) ((mfbaa + mfbac) + (mfbca + mfbcc))) + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc)) + mfbbb; if ((*phaseField)(x1, x2, x3) > 1 ) { - (*phaseField)(x1, x2, x3) = c1; + (*phaseField)(x1, x2, x3) = c1o1; } if ((*phaseField)(x1, x2, x3) < 0) { @@ -490,7 +492,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //LBMReal rho = rhoL + (rhoH - rhoL) * phi[DIR_000] + (one - phi[DIR_000]) * (*pressure)(x1, x2, x3) * three; //compressible real m0, m1, m2; - real rhoRef=c1; + real rhoRef= c1o1; real vvx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + (((mfcba - mfabc) + (mfcbc - mfaba)) + ((mfcab - mfacb) + (mfccb - mfaab))) + @@ -1233,7 +1235,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// real wadjust; - real qudricLimit = 0.01 / (c1 + 1.0e4 * phi[DIR_000] * (c1 - phi[DIR_000])); //real qudricLimit = 0.01; + real qudricLimit = 0.01 / (c1o1 + 1.0e4 * phi[DIR_000] * (c1o1 - phi[DIR_000])); //real qudricLimit = 0.01; //////////////////////////////////////////////////////////////////////////////////// //Hin //////////////////////////////////////////////////////////////////////////////////// @@ -1502,9 +1504,9 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -1550,9 +1552,9 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //LBMReal dxux = -c1o2 * (mxxMyy + mxxMzz) * collFactorM - mfaaa * c1o3* omegaDRho; real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; // // attempt to improve implicit stress computation by fixed iteration // LBMReal dX2_rho = (rhoToPhi)*dX2_phi; // LBMReal dX1_rho = (rhoToPhi)*dX1_phi; @@ -1641,12 +1643,12 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -1666,9 +1668,9 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -2124,7 +2126,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) - pStar += pStarStart*(omegaDRho-c1); + pStar += pStarStart*(omegaDRho- c1o1); mfcbb -= c2o9*pStar; mfbcb -= c2o9*pStar; @@ -2152,7 +2154,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) mfcaa -= c1o72*pStar; mfaca -= c1o72*pStar; mfcca -= c1o72*pStar; - mfbbb -= c4*c2o9*pStar; + mfbbb -= c4o1*c2o9*pStar; mfhbcb = rho*c2o9 * pStar; mfhbbc = rho*c2o9 * pStar; @@ -2180,7 +2182,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) mfhcaa = rho*c1o72 * pStar; mfhaca = rho*c1o72 * pStar; mfhcca = rho*c1o72 * pStar; - mfhbbb = rho*c4 * c2o9 * pStar; + mfhbbb = rho* c4o1 * c2o9 * pStar; //mfStartbcb = c2o9 * pStarStart; //mfStartbbc = c2o9 * pStarStart; @@ -2575,7 +2577,7 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) (((mfbac + mfbca) + (mfbaa + mfbcc)) + ((mfabc + mfcba) + (mfaba + mfcbc)) + ((mfacb + mfcab) + (mfaab + mfccb))) + ((mfabb + mfcbb) + (mfbab + mfbcb) + (mfbba + mfbbc))) + mfbbb; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2603,39 +2605,39 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2657,34 +2659,34 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //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; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - concentration) * (concentration) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - concentration) * (concentration) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 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; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; 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; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2699,14 +2701,14 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2724,39 +2726,39 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); @@ -2978,12 +2980,13 @@ void MultiphaseSimpleVelocityBaseExternalPressureLBMKernel::findNeighbors(CbArra { using namespace D3Q27System; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; SPtr<BCArray3D> bcArray = this->getBCProcessor()->getBCArray(); phi[DIR_000] = (*ph)(x1, x2, x3); if (phi[DIR_000] < 0) { - phi[DIR_000] = UbMath::zeroReal; + phi[DIR_000] = c0o1; } diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsCumulantLBMKernel.cpp index 51b8e2a1d7c6b9dbb3cb7f6d8e0b4cffe8219e22..2ece81e93758e0e4923d44c2f3498ea1bdbdd67b 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsCumulantLBMKernel.cpp @@ -83,22 +83,26 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsCumulantLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsCumulantLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m2 = mfa + mfc; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; mfa = m0; m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsCumulantLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -107,19 +111,23 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsCumulantLBMKernel::clone() //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsCumulantLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real m1 = (mfa + mfc) + mfb; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphaseTwoPhaseFieldsCumulantLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -129,8 +137,9 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsCumulantLBMKernel::clone() void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; +// using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; @@ -357,39 +366,39 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) ////Incompressible Kernal - mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3) / rho * c3; - mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3; - mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3; - mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3; - mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3; - mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3; - mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3; - mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3; - mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3; - mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3; - mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3; - mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3; - mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3; - - mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3; - mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3; - mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3; - mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3; - mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3; - mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3; - mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3; - mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3; - mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3; - mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3; - mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3; - mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3; - mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3; - - mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3; + mfbbc = (*this->localDistributionsF)(D3Q27System::ET_T, x1, x2, x3) / rho * c3o1; + mfbcb = (*this->localDistributionsF)(D3Q27System::ET_N, x1, x2, x3) / rho * c3o1; + mfccb = (*this->localDistributionsF)(D3Q27System::ET_NE, x1, x2, x3) / rho * c3o1; + mfacb = (*this->localDistributionsF)(D3Q27System::ET_NW, x1p, x2, x3) / rho * c3o1; + mfcbb = (*this->localDistributionsF)(D3Q27System::ET_E, x1, x2, x3) / rho * c3o1; + mfcbc = (*this->localDistributionsF)(D3Q27System::ET_TE, x1, x2, x3) / rho * c3o1; + mfabc = (*this->localDistributionsF)(D3Q27System::ET_TW, x1p, x2, x3) / rho * c3o1; + mfbcc = (*this->localDistributionsF)(D3Q27System::ET_TN, x1, x2, x3) / rho * c3o1; + mfbac = (*this->localDistributionsF)(D3Q27System::ET_TS, x1, x2p, x3) / rho * c3o1; + mfccc = (*this->localDistributionsF)(D3Q27System::ET_TNE, x1, x2, x3) / rho * c3o1; + mfacc = (*this->localDistributionsF)(D3Q27System::ET_TNW, x1p, x2, x3) / rho * c3o1; + mfcac = (*this->localDistributionsF)(D3Q27System::ET_TSE, x1, x2p, x3) / rho * c3o1; + mfaac = (*this->localDistributionsF)(D3Q27System::ET_TSW, x1p, x2p, x3) / rho * c3o1; + + mfabb = (*this->nonLocalDistributionsF)(D3Q27System::ET_W, x1p, x2, x3) / rho * c3o1; + mfbab = (*this->nonLocalDistributionsF)(D3Q27System::ET_S, x1, x2p, x3) / rho * c3o1; + mfbba = (*this->nonLocalDistributionsF)(D3Q27System::ET_B, x1, x2, x3p) / rho * c3o1; + mfaab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SW, x1p, x2p, x3) / rho * c3o1; + mfcab = (*this->nonLocalDistributionsF)(D3Q27System::ET_SE, x1, x2p, x3) / rho * c3o1; + mfaba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BW, x1p, x2, x3p) / rho * c3o1; + mfcba = (*this->nonLocalDistributionsF)(D3Q27System::ET_BE, x1, x2, x3p) / rho * c3o1; + mfbaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BS, x1, x2p, x3p) / rho * c3o1; + mfbca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BN, x1, x2, x3p) / rho * c3o1; + mfaaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSW, x1p, x2p, x3p) / rho * c3o1; + mfcaa = (*this->nonLocalDistributionsF)(D3Q27System::ET_BSE, x1, x2p, x3p) / rho * c3o1; + mfaca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNW, x1p, x2, x3p) / rho * c3o1; + mfcca = (*this->nonLocalDistributionsF)(D3Q27System::ET_BNE, x1, x2, x3p) / rho * c3o1; + + mfbbb = (*this->zeroDistributionsF)(x1, x2, x3) / rho * c3o1; real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; //LBMReal // LBMReal drho = (mfaaa + mfaac + mfaca + mfcaa + mfacc + mfcac + mfccc + mfcca) @@ -954,9 +963,9 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -1000,9 +1009,9 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; //relax @@ -1076,12 +1085,12 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //CUMbbc += O4 * (-CUMbbc); //CUMbcb += O4 * (-CUMbcb); //CUMcbb += O4 * (-CUMcbb); - 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -1101,9 +1110,9 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -2340,7 +2349,7 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2368,39 +2377,39 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2422,12 +2431,12 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) // LBMReal ccx, ccy, ccz; - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -2439,9 +2448,9 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -2458,13 +2467,13 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2479,14 +2488,14 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2504,39 +2513,39 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); @@ -2656,7 +2665,7 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1 - concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2684,39 +2693,39 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2735,12 +2744,12 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -2752,9 +2761,9 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -2771,13 +2780,13 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2792,14 +2801,14 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2817,39 +2826,39 @@ void MultiphaseTwoPhaseFieldsCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsPressureFilterLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsPressureFilterLBMKernel.cpp index a2386ea37cd97256bf9b15f232ef7087f80cf5f6..0d49dc68a5e331da2b30a906b2adebb3e1eadb7b 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsPressureFilterLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsPressureFilterLBMKernel.cpp @@ -39,6 +39,7 @@ #include "DataSet3D.h" #include "LBMKernel.h" #include <cmath> +//#include "UbMath.h" #define PROOF_CORRECTNESS @@ -96,22 +97,26 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m2 = mfa + mfc; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; mfa = m0; m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -120,19 +125,23 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::clone() //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real m1 = (mfa + mfc) + mfb; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -142,14 +151,15 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::clone() void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; + // using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; forcingX3 = 0.0; - real oneOverInterfaceScale = c4 / interfaceWidth; //1.0;//1.5; + real oneOverInterfaceScale = c4o1 / interfaceWidth; //1.0;//1.5; ///////////////////////////////////// localDistributionsF = dynamicPointerCast<D3Q27EsoTwist3DSplittedVector>(dataSet->getFdistributions())->getLocalDistributions(); @@ -445,9 +455,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) 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); + sum+= 64.0/(216.0*(c1o1+c3o1*abs(xx))* (c1o1 + c3o1 * abs(yy))* (c1o1 + c3o1 * 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); + else{ sum+= 64.0 / (216.0 * (c1o1 + c3o1 * abs(xx)) * (c1o1 + c3o1 * abs(yy)) * (c1o1 + c3o1 * abs(zz))) * (*pressureOld)(x1, x2, x3); } @@ -613,7 +623,7 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; //LBMReal // LBMReal drho = (mfaaa + mfaac + mfaca + mfcaa + mfacc + mfcac + mfccc + mfcca) @@ -669,44 +679,44 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) 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))); + gradPx -= (*pressure)(x1 - 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPx += (*pressure)(x1 + 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy -= (*pressure)(xxx, x2-1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy += (*pressure)(xxx, x2+1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz -= (*pressure)(xxx, yyy, x3-1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz += (*pressure)(xxx, yyy, x3+1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } } @@ -1286,9 +1296,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -1343,9 +1353,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; //relax @@ -1424,12 +1434,12 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //CUMbbc += O4 * (-CUMbbc); //CUMbcb += O4 * (-CUMbcb); //CUMcbb += O4 * (-CUMcbb); - 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -1449,9 +1459,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -1484,9 +1494,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //mfbaa += -rho * rhoToPhi * c1o2 * ((mbxx + mfcaa) * dX1_phi + (mbxy + mfbba) * dX2_phi + (mbxz + mfbab) * dX3_phi); //mfaba += -rho * rhoToPhi * c1o2 * ((mbxy + mfbba) * dX1_phi + (mbyy + mfaca) * dX2_phi + (mbyz + mfabb) * dX3_phi); //mfaab += -rho * rhoToPhi * c1o2 * ((mbxz + mfbab) * dX1_phi + (mbyz + mfabb) * dX2_phi + (mbzz + mfaac) * dX3_phi); - 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 += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (2 * dxux * dX1_phi + Dxy * dX2_phi + Dxz * dX3_phi) / (rho); + mfaba += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (Dxy * dX1_phi + 2 * dyuy * dX2_phi + Dyz * dX3_phi) / (rho); + mfaab += c1o3 * (c1o1 / collFactorM - c1o2) * rhoToPhi * (Dxz * dX1_phi + Dyz * dX2_phi + 2 * dyuy * dX3_phi) / (rho); //////////////////////////////////////////////////////////////////////////////////// //back //////////////////////////////////////////////////////////////////////////////////// @@ -2698,7 +2708,7 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2726,39 +2736,39 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2780,12 +2790,12 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) // LBMReal ccx, ccy, ccz; - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; //cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + // normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[REST]) * (phi[REST])*(phi[REST]+phi2[REST]) * c1o3 * oneOverInterfaceScale; @@ -2804,9 +2814,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -2823,13 +2833,13 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2844,14 +2854,14 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2869,39 +2879,39 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); @@ -3021,7 +3031,7 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1 - concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -3049,39 +3059,39 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -3100,12 +3110,12 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -3117,9 +3127,9 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -3136,13 +3146,13 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -3157,14 +3167,14 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -3182,39 +3192,39 @@ void MultiphaseTwoPhaseFieldsPressureFilterLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel.cpp index 356987ba79f9c1ebb7ffff2fd9bc104d98bdba5a..afde9ef8bca08b862210ea7dea90db349d219dca 100644 --- a/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel.cpp @@ -85,22 +85,26 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::clone() } ////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::forwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m2 = mfa + mfc; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m2 = mfa + mfc; real m1 = mfc - mfa; real m0 = m2 + mfb; mfa = m0; m0 *= Kinverse; m0 += oneMinusRho; mfb = (m1 * Kinverse - m0 * vv) * K; - mfc = ((m2 - c2 * m1 * vv) * Kinverse + v2 * m0) * K; + mfc = ((m2 - c2o1 * m1 * vv) * Kinverse + v2 * m0) * K; } //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::backwardInverseChimeraWithKincompressible(real& mfa, real& mfb, real& mfc, real vv, real v2, real Kinverse, real K, real oneMinusRho) { - using namespace UbMath; - real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; - real m1 = (((mfa - mfc) - c2 * mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (-v2)) * K; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m0 = (((mfc - mfb) * c1o2 + mfb * vv) * Kinverse + (mfa * Kinverse + oneMinusRho) * (v2 - vv) * c1o2) * K; + real m1 = (((mfa - mfc) - c2o1 * 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; @@ -109,19 +113,23 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::clone() //////////////////////////////////////////////////////////////////////////////// void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::forwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real m1 = (mfa + mfc) + mfb; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real m1 = (mfa + mfc) + mfb; real m2 = mfc - mfa; - mfc = (mfc + mfa) + (v2 * m1 - c2 * vv * m2); + mfc = (mfc + mfa) + (v2 * m1 - c2o1 * vv * m2); mfb = m2 - vv * m1; mfa = m1; } void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::backwardChimera(real& mfa, real& mfb, real& mfc, real vv, real v2) { - using namespace UbMath; - real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); - real mb = ((mfa - mfc) - mfa * v2) - c2 * mfb * vv; +// using namespace UbMath; + using namespace vf::lbm::constant; + + real ma = (mfc + mfa * (v2 - vv)) * c1o2 + mfb * (vv - c1o2); + real mb = ((mfa - mfc) - mfa * v2) - c2o1 * mfb * vv; mfc = (mfc + mfa * (v2 + vv)) * c1o2 + mfb * (vv + c1o2); mfb = mb; mfa = ma; @@ -131,8 +139,9 @@ SPtr<LBMKernel> MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::clone() void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) { using namespace D3Q27System; - using namespace UbMath; + // using namespace UbMath; using namespace vf::lbm::dir; + using namespace vf::lbm::constant; forcingX1 = 0.0; forcingX2 = 0.0; @@ -423,9 +432,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) int zzz = (zz+x3 <= maxX3) ? ((zz + x3 > 0) ? zz + x3 : maxX3 ): 0; 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)))*(*pressure)(xxx, yyy, zzz); + sum+= 64.0/(216.0*(c1o1+c3o1 *abs(xx))* (c1o1 + c3o1 * abs(yy))* (c1o1 + c3o1 * abs(zz)))*(*pressure)(xxx, yyy, zzz); } - else{ sum+= 64.0 / (216.0 * (c1 + c3 * abs(xx)) * (c1 + c3 * abs(yy)) * (c1 + c3 * abs(zz))) * (*pressure)(x1, x2, x3); + else{ sum+= 64.0 / (216.0 * (c1o1 + c3o1 * abs(xx)) * (c1o1 + c3o1 * abs(yy)) * (c1o1 + c3o1 * abs(zz))) * (*pressure)(x1, x2, x3); } @@ -587,7 +596,7 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) real m0, m1, m2; - real rhoRef=c1; + real rhoRef=c1o1; //LBMReal // LBMReal drho = (mfaaa + mfaac + mfaca + mfcaa + mfacc + mfcac + mfccc + mfcca) @@ -643,44 +652,44 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) 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))); + gradPx -= (*pressure)(x1 - 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPx += (*pressure)(x1 + 1, yyy, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPx += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy -= (*pressure)(xxx, x2-1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPy += (*pressure)(xxx, x2+1, zzz) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPy += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz -= (*pressure)(xxx, yyy, x3-1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz -= (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * 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))); + gradPz += (*pressure)(xxx, yyy, x3+1) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } else { - gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1 + c3 * abs(dir1)) * (c1 + c3 * abs(dir2))); + gradPz += (*pressure)(x1, x2, x3) * c2o9 / ((c1o1 + c3o1 * abs(dir1)) * (c1o1 + c3o1 * abs(dir2))); } } @@ -1244,9 +1253,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho); //Cum 5. real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; @@ -1293,9 +1302,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) real dyuy = dxux + collFactorM * c3o2 * mxxMyy; real dzuz = dxux + collFactorM * c3o2 * mxxMzz; - real Dxy = -three * collFactorM * mfbba; - real Dxz = -three * collFactorM * mfbab; - real Dyz = -three * collFactorM * mfabb; + real Dxy = -c3o1 * collFactorM * mfbba; + real Dxz = -c3o1 * collFactorM * mfbab; + real Dyz = -c3o1 * collFactorM * mfabb; //relax @@ -1374,12 +1383,12 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //CUMbbc += O4 * (-CUMbbc); //CUMbcb += O4 * (-CUMbcb); //CUMcbb += O4 * (-CUMcbb); - 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); + CUMacc = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMacc); + CUMcac = -O4 * (c1o1 / collFactorM - c1o2) * (dxux + dzuz) * c2o3 * A + (c1o1 - O4) * (CUMcac); + CUMcca = -O4 * (c1o1 / collFactorM - c1o2) * (dyuy + dxux) * c2o3 * A + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4 * (c1o1 / collFactorM - c1o2) * Dxy * c1o3 * BB + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4 * (c1o1 / collFactorM - c1o2) * Dxz * c1o3 * BB + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4 * (c1o1 / collFactorM - c1o2) * Dyz * c1o3 * BB + (c1o1 - O4) * (CUMcbb); //5. CUMbcc += O5 * (-CUMbcc); @@ -1399,9 +1408,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) 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; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - c1o1) * oMdrho; //5. mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + c1o3 * (mfbca + mfbac) * oMdrho; @@ -2637,7 +2646,7 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1- concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2665,39 +2674,39 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -2719,12 +2728,12 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) // LBMReal ccx, ccy, ccz; - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * (1.0 - phi[DIR_000]) * (phi[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -2736,9 +2745,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -2755,13 +2764,13 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -2776,14 +2785,14 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -2801,39 +2810,39 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); @@ -2953,7 +2962,7 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) // vvy += fy * c1o2; // vvz += fz * c1o2; //////////////////////////////////////////////////////////////////////////////////// - real oneMinusRho = c1 - concentration; + real oneMinusRho = c1o1 - concentration; real cx = ((((mfccc - mfaaa) + (mfcac - mfaca)) + ((mfcaa - mfacc) + (mfcca - mfaac))) + @@ -2981,39 +2990,39 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + forwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfaab, mfabb, mfacb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + forwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); forwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, c1o18, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // X - Dir - forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); forwardChimera(mfaba, mfbba, mfcba, cx, cx2); - forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + forwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); forwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3, c1o9, oneMinusRho); + forwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c3o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// //! - experimental Cumulant ... to be published ... hopefully @@ -3032,12 +3041,12 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) real Mccb = mfccb - mfaab * c1o9; // collision of 1st order moments - cx = cx * (c1 - omegaD) + omegaD * vvx * concentration + - normX1 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cy = cy * (c1 - omegaD) + omegaD * vvy * concentration + - normX2 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; - cz = cz * (c1 - omegaD) + omegaD * vvz * concentration + - normX3 * (c1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cx = cx * (c1o1 - omegaD) + omegaD * vvx * concentration + + normX1 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cy = cy * (c1o1 - omegaD) + omegaD * vvy * concentration + + normX2 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; + cz = cz * (c1o1 - omegaD) + omegaD * vvz * concentration + + normX3 * (c1o1 - 0.5 * omegaD) * ( phi[DIR_000]) * (phi2[DIR_000]) * c1o3 * oneOverInterfaceScale; //mhx = (ux * phi[REST] + normX1 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhx; //mhy = (uy * phi[REST] + normX2 * (tauH - 0.5) * (1.0 - phi[REST]) * (phi[REST])) / tauH + (1.0 - 1.0 / tauH) * mhy; @@ -3049,9 +3058,9 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) cz2 = cz * cz; // equilibration of 2nd order moments - mfbba = zeroReal; - mfbab = zeroReal; - mfabb = zeroReal; + mfbba = c0o1; + mfbab = c0o1; + mfabb = c0o1; mfcaa = c1o3 * concentration; mfaca = c1o3 * concentration; @@ -3068,13 +3077,13 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //mfaac = mfaac*(c1 - omega2) + omega2*c1o3 * concentration; // equilibration of 3rd order moments - Mabc = zeroReal; - Mbca = zeroReal; - Macb = zeroReal; - Mcba = zeroReal; - Mcab = zeroReal; - Mbac = zeroReal; - mfbbb = zeroReal; + Mabc = c0o1; + Mbca = c0o1; + Macb = c0o1; + Mcba = c0o1; + Mcab = c0o1; + Mbac = c0o1; + mfbbb = c0o1; // from linearized orthogonalization 3rd order central moments to central moments mfabc = Mabc + mfaba * c1o3; @@ -3089,14 +3098,14 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) mfcac = c1o9 * concentration; mfcca = c1o9 * concentration; - mfcbb = zeroReal; - mfbcb = zeroReal; - mfbbc = zeroReal; + mfcbb = c0o1; + mfbcb = c0o1; + mfbbc = c0o1; // equilibration of 5th order moments - Mcbc = zeroReal; - Mbcc = zeroReal; - Mccb = zeroReal; + Mcbc = c0o1; + Mbcc = c0o1; + Mccb = c0o1; // from linearized orthogonalization 5th order central moments to central moments mfcbc = Mcbc + mfaba * c1o9; @@ -3114,39 +3123,39 @@ void MultiphaseTwoPhaseFieldsVelocityCumulantLBMKernel::calculate(int step) //! //////////////////////////////////////////////////////////////////////////////////// // X - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1, c1, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfbaa, mfcaa, cx, cx2, c1o1, c1o1, oneMinusRho); backwardChimera(mfaba, mfbba, mfcba, cx, cx2); - backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3, c1o3, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfbca, mfcca, cx, cx2, c3o1, 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); + backwardInverseChimeraWithKincompressible(mfaac, mfbac, mfcac, cx, cx2, c3o1, c1o3, oneMinusRho); backwardChimera(mfabc, mfbbc, mfcbc, cx, cx2); - backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfacc, mfbcc, mfccc, cx, cx2, c9o1, c1o9, oneMinusRho); //////////////////////////////////////////////////////////////////////////////////// // Y - Dir - backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6, c1o6, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaaa, mfaba, mfaca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfaab, mfabb, mfacb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaac, mfabc, mfacc, cy, cy2, c18o1, 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); + backwardInverseChimeraWithKincompressible(mfcaa, mfcba, mfcca, cy, cy2, c6o1, c1o6, oneMinusRho); backwardChimera(mfcab, mfcbb, mfccb, cy, cy2); - backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18, c1o18, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcac, mfcbc, mfccc, cy, cy2, c18o1, 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(mfaaa, mfaab, mfaac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaba, mfabb, mfabc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfaca, mfacb, mfacc, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfbaa, mfbab, mfbac, cz, cz2, c9o1, 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); + backwardInverseChimeraWithKincompressible(mfbca, mfbcb, mfbcc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcaa, mfcab, mfcac, cz, cz2, c36o1, c1o36, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcba, mfcbb, mfcbc, cz, cz2, c9o1, c1o9, oneMinusRho); + backwardInverseChimeraWithKincompressible(mfcca, mfccb, mfccc, cz, cz2, c36o1, c1o36, oneMinusRho); diff --git a/src/cpu/VirtualFluidsCore/LBM/Rheology.h b/src/cpu/VirtualFluidsCore/LBM/Rheology.h index 7e3ec0f61fbcd45e260c772671bccaa09a157c7f..ef0efc76e170a79c644e7cc6a94f592fdc119572 100644 --- a/src/cpu/VirtualFluidsCore/LBM/Rheology.h +++ b/src/cpu/VirtualFluidsCore/LBM/Rheology.h @@ -38,6 +38,7 @@ #include <LBMSystem.h> #include <UbMath.h> #include <math.h> +#include "lbm/constants/NumericConstants.h" class Rheology { @@ -88,10 +89,10 @@ private: ////////////////////////////////////////////////////////////////////////// inline real Rheology::getBinghamCollFactor(real omegaInf, real shearRate, real drho) { - real cs2 = UbMath::one_over_sqrt3 * UbMath::one_over_sqrt3; - real rho = UbMath::one + drho; + real cs2 = vf::lbm::constant::one_over_sqrt3 * vf::lbm::constant::one_over_sqrt3; + real rho = vf::lbm::constant::c1o1 + drho; //analytical solution - real omega = omegaInf * (UbMath::one - (omegaInf * tau0) / (shearRate * cs2 * rho + UbMath::Epsilon<real>::val())); + real omega = omegaInf * (vf::lbm::constant::c1o1 - (omegaInf * tau0) / (shearRate * cs2 * rho + UbMath::Epsilon<real>::val())); //LBMReal omega = cs2 * cs2 * shearRate * shearRate * omegaInf * rho * rho / (cs2 * cs2 * shearRate * shearRate * rho * rho + cs2 * shearRate * omegaInf * rho * tau0+omegaInf*omegaInf*tau0*tau0); @@ -119,10 +120,10 @@ inline real Rheology::getBinghamCollFactor(real omegaInf, real shearRate, real d inline real Rheology::getBinghamCollFactorOld(real omegaInf, real shearRate, real drho) { - const real cs2 = UbMath::c1o3; // UbMath::one_over_sqrt3* UbMath::one_over_sqrt3; - real rho = UbMath::one + drho; + const real cs2 = vf::lbm::constant::c1o3; // UbMath::one_over_sqrt3* UbMath::one_over_sqrt3; + real rho = vf::lbm::constant::c1o1 + drho; - if (rho * cs2 * (UbMath::c1 / omegaInf - UbMath::c1o2) * shearRate < tau0) + if (rho * cs2 * (vf::lbm::constant::c1o1 / omegaInf - vf::lbm::constant::c1o2) * shearRate < tau0) return 0.0; else return omegaInf; @@ -130,8 +131,8 @@ inline real Rheology::getBinghamCollFactorOld(real omegaInf, real shearRate, rea ////////////////////////////////////////////////////////////////////////// inline real Rheology::getHerschelBulkleyCollFactor(real omegaInf, real shearRate, real drho) { - real cs2 = UbMath::one_over_sqrt3 * UbMath::one_over_sqrt3; - real rho = UbMath::one + drho; + real cs2 = vf::lbm::constant::one_over_sqrt3 * vf::lbm::constant::one_over_sqrt3; + real rho = vf::lbm::constant::c1o1 + drho; real gammaDot = shearRate; real omega = omegaInf; real epsilon = 1; @@ -151,7 +152,7 @@ inline real Rheology::getHerschelBulkleyCollFactor(real omegaInf, real shearRate real numerator = (2.0 * gammaDotPowN * k * omegaByOmegaInfPowN * omegaInf + cs2 * gammaDot * (omega - 2.0) * rho + 2.0 * omegaInf * tau0); real denominator = (2.0 * k * n * gammaDotPowN * omegaByOmegaInfPowN * omegaInf + cs2 * gammaDot * rho * omega) + UbMath::Epsilon<real>::val(); omega = omega - omega * numerator / denominator; - omega = (omega < UbMath::zeroReal) ? UbMath::c1o2 * omegaOld : omega; + omega = (omega < vf::lbm::constant::c0o1) ? vf::lbm::constant::c1o2 * omegaOld : omega; //omega = (omega < omegaMin) ? UbMath::c1o2 * (omegaOld-omegaMin)+omegaMin : omega; epsilon = std::abs(omega - omegaOld); } @@ -161,18 +162,20 @@ inline real Rheology::getHerschelBulkleyCollFactor(real omegaInf, real shearRate ////////////////////////////////////////////////////////////////////////// inline real Rheology::getHerschelBulkleyCollFactorBackward(real shearRate, real drho) { - real rho = UbMath::one + drho; + real rho = vf::lbm::constant::c1o1 + drho; real gamma = shearRate + UbMath::Epsilon<real>::val(); - real cs2 = UbMath::one_over_sqrt3 * UbMath::one_over_sqrt3; + real cs2 = vf::lbm::constant::one_over_sqrt3 * vf::lbm::constant::one_over_sqrt3; - return 1.0 / ((tau0 + k * std::pow(gamma, n)) / (cs2 * rho * gamma) + UbMath::c1o2); + return 1.0 / ((tau0 + k * std::pow(gamma, n)) / (cs2 * rho * gamma) + vf::lbm::constant::c1o2); } ////////////////////////////////////////////////////////////////////////// inline real Rheology::getPowellEyringCollFactor(real omegaInf, real shearRate, real drho) { - using namespace UbMath; +// using namespace UbMath; + using namespace vf::lbm::constant; + real cs2 = c1o3; // UbMath::one_over_sqrt3* UbMath::one_over_sqrt3; - real rho = c1 + drho; + real rho = c1o1 + drho; real gammaDot = shearRate; real omega = omegaInf; real epsilon = 1; @@ -182,13 +185,13 @@ inline real Rheology::getPowellEyringCollFactor(real omegaInf, real shearRate, r real omegaOld = omega; epsilon = std::abs(omega - omegaOld); - real numerator = c*sqrt(c1+(gammaDot*gammaDot*omega*omega)/(c*c*omegaInf*omegaInf))*(beta*(c2*gammaDot*mu0*omega+cs2*gammaDot*(omega-c2)*rho+c2*omegaInf*tau0)+c2*omegaInf*(asinh((gammaDot*omega)/(c*omegaInf)))); + real numerator = c*sqrt(c1o1+(gammaDot*gammaDot*omega*omega)/(c*c*omegaInf*omegaInf))*(beta*(c2o1*gammaDot*mu0*omega+cs2*gammaDot*(omega-c2o1)*rho+c2o1*omegaInf*tau0)+c2o1*omegaInf*(asinh((gammaDot*omega)/(c*omegaInf)))); - real denominator = gammaDot*(c2+beta*c*sqrt(c1+(gammaDot*gammaDot*omega*omega)/(c*c*omegaInf*omegaInf))*(c2*mu0+cs2*rho)) + UbMath::Epsilon<real>::val(); + real denominator = gammaDot*(c2o1+beta*c*sqrt(c1o1+(gammaDot*gammaDot*omega*omega)/(c*c*omegaInf*omegaInf))*(c2o1*mu0+cs2*rho)) + UbMath::Epsilon<real>::val(); omega = omega - numerator / denominator; - omega = (omega < UbMath::zeroReal) ? UbMath::c1o2 * omegaOld : omega; + omega = (omega < c0o1) ? c1o2 * omegaOld : omega; } return omega; diff --git a/src/cpu/VirtualFluidsCore/LBM/RheologyK17LBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/RheologyK17LBMKernel.cpp index e14c4de1426cd1d4d9c20aceea86326b2ac063cf..81dfc86d12daa48d9b238097e4e82f907b64abfb 100644 --- a/src/cpu/VirtualFluidsCore/LBM/RheologyK17LBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/RheologyK17LBMKernel.cpp @@ -43,7 +43,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// RheologyK17LBMKernel::RheologyK17LBMKernel() @@ -85,7 +86,7 @@ SPtr<LBMKernel> RheologyK17LBMKernel::clone() } else { - OxxPyyPzz = one; + OxxPyyPzz = c1o1; } dynamicPointerCast<RheologyK17LBMKernel>(kernel)->OxxPyyPzz = this->OxxPyyPzz; @@ -225,7 +226,7 @@ void RheologyK17LBMKernel::calculate(int step) (((mfbac+mfbca)+(mfbaa+mfbcc))+((mfabc+mfcba)+(mfaba+mfcbc))+((mfacb+mfcab)+(mfaab+mfccb)))+ ((mfabb+mfcbb)+(mfbab+mfbcb))+(mfbba+mfbbc))+mfbbb; - real rho = one+drho; + real rho = c1o1+drho; //////////////////////////////////////////////////////////////////////////////////// real vvx = ((((mfccc-mfaaa)+(mfcac-mfaca))+((mfcaa-mfacc)+(mfcca-mfaac)))+ (((mfcba-mfabc)+(mfcbc-mfaba))+((mfcab-mfacb)+(mfccb-mfaab)))+ @@ -258,7 +259,7 @@ void RheologyK17LBMKernel::calculate(int step) } /////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// - real oMdrho = one; // comp special + real oMdrho = c1o1; // comp special //////////////////////////////////////////////////////////////////////////////////// real m0, m1, m2; real vx2; @@ -287,7 +288,7 @@ void RheologyK17LBMKernel::calculate(int step) mfaaa = m0; m0 += c1o36 * oMdrho; mfaab = m1-m0 * vvz; - mfaac = m2-two* m1 * vvz+vz2 * m0; + mfaac = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfabc; m1 = mfabc-mfaba; @@ -295,7 +296,7 @@ void RheologyK17LBMKernel::calculate(int step) mfaba = m0; m0 += c1o9 * oMdrho; mfabb = m1-m0 * vvz; - mfabc = m2-two* m1 * vvz+vz2 * m0; + mfabc = m2-c2o1* m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfacc; m1 = mfacc-mfaca; @@ -303,7 +304,7 @@ void RheologyK17LBMKernel::calculate(int step) mfaca = m0; m0 += c1o36 * oMdrho; mfacb = m1-m0 * vvz; - mfacc = m2-two* m1 * vvz+vz2 * m0; + mfacc = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbac; @@ -312,7 +313,7 @@ void RheologyK17LBMKernel::calculate(int step) mfbaa = m0; m0 += c1o9 * oMdrho; mfbab = m1-m0 * vvz; - mfbac = m2-two* m1 * vvz+vz2 * m0; + mfbac = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbba+mfbbc; m1 = mfbbc-mfbba; @@ -320,7 +321,7 @@ void RheologyK17LBMKernel::calculate(int step) mfbba = m0; m0 += c4o9 * oMdrho; mfbbb = m1-m0 * vvz; - mfbbc = m2-two* m1 * vvz+vz2 * m0; + mfbbc = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbca+mfbcc; m1 = mfbcc-mfbca; @@ -328,7 +329,7 @@ void RheologyK17LBMKernel::calculate(int step) mfbca = m0; m0 += c1o9 * oMdrho; mfbcb = m1-m0 * vvz; - mfbcc = m2-two* m1 * vvz+vz2 * m0; + mfbcc = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcac; @@ -337,7 +338,7 @@ void RheologyK17LBMKernel::calculate(int step) mfcaa = m0; m0 += c1o36 * oMdrho; mfcab = m1-m0 * vvz; - mfcac = m2-two* m1 * vvz+vz2 * m0; + mfcac = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcba+mfcbc; m1 = mfcbc-mfcba; @@ -345,7 +346,7 @@ void RheologyK17LBMKernel::calculate(int step) mfcba = m0; m0 += c1o9 * oMdrho; mfcbb = m1-m0 * vvz; - mfcbc = m2-two* m1 * vvz+vz2 * m0; + mfcbc = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcca+mfccc; m1 = mfccc-mfcca; @@ -353,7 +354,7 @@ void RheologyK17LBMKernel::calculate(int step) mfcca = m0; m0 += c1o36 * oMdrho; mfccb = m1-m0 * vvz; - mfccc = m2-two* m1 * vvz+vz2 * m0; + mfccc = m2- c2o1 * m1 * vvz+vz2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1/6, 0, 1/18, 2/3, 0, 2/9, 1/6, 0, 1/18 Konditionieren @@ -365,14 +366,14 @@ void RheologyK17LBMKernel::calculate(int step) mfaaa = m0; m0 += c1o6 * oMdrho; mfaba = m1-m0 * vvy; - mfaca = m2-two* m1 * vvy+vy2 * m0; + mfaca = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfacb; m1 = mfacb-mfaab; m0 = m2+mfabb; mfaab = m0; mfabb = m1-m0 * vvy; - mfacb = m2-two* m1 * vvy+vy2 * m0; + mfacb = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfacc; m1 = mfacc-mfaac; @@ -380,7 +381,7 @@ void RheologyK17LBMKernel::calculate(int step) mfaac = m0; m0 += c1o18 * oMdrho; mfabc = m1-m0 * vvy; - mfacc = m2-two* m1 * vvy+vy2 * m0; + mfacc = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfbaa+mfbca; @@ -389,14 +390,14 @@ void RheologyK17LBMKernel::calculate(int step) mfbaa = m0; m0 += c2o3 * oMdrho; mfbba = m1-m0 * vvy; - mfbca = m2-two* m1 * vvy+vy2 * m0; + mfbca = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbab+mfbcb; m1 = mfbcb-mfbab; m0 = m2+mfbbb; mfbab = m0; mfbbb = m1-m0 * vvy; - mfbcb = m2-two* m1 * vvy+vy2 * m0; + mfbcb = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfbac+mfbcc; m1 = mfbcc-mfbac; @@ -404,7 +405,7 @@ void RheologyK17LBMKernel::calculate(int step) mfbac = m0; m0 += c2o9 * oMdrho; mfbbc = m1-m0 * vvy; - mfbcc = m2-two* m1 * vvy+vy2 * m0; + mfbcc = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfcaa+mfcca; @@ -413,14 +414,14 @@ void RheologyK17LBMKernel::calculate(int step) mfcaa = m0; m0 += c1o6 * oMdrho; mfcba = m1-m0 * vvy; - mfcca = m2-two* m1 * vvy+vy2 * m0; + mfcca = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcab+mfccb; m1 = mfccb-mfcab; m0 = m2+mfcbb; mfcab = m0; mfcbb = m1-m0 * vvy; - mfccb = m2-two* m1 * vvy+vy2 * m0; + mfccb = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfcac+mfccc; m1 = mfccc-mfcac; @@ -428,7 +429,7 @@ void RheologyK17LBMKernel::calculate(int step) mfcac = m0; m0 += c1o18 * oMdrho; mfcbc = m1-m0 * vvy; - mfccc = m2-two* m1 * vvy+vy2 * m0; + mfccc = m2- c2o1 * m1 * vvy+vy2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// // mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren @@ -438,16 +439,16 @@ void RheologyK17LBMKernel::calculate(int step) m1 = mfcaa-mfaaa; m0 = m2+mfbaa; mfaaa = m0; - m0 += one* oMdrho; + m0 += c1o1 * oMdrho; mfbaa = m1-m0 * vvx; - mfcaa = m2-two* m1 * vvx+vx2 * m0; + mfcaa = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaba+mfcba; m1 = mfcba-mfaba; m0 = m2+mfbba; mfaba = m0; mfbba = m1-m0 * vvx; - mfcba = m2-two* m1 * vvx+vx2 * m0; + mfcba = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfaca+mfcca; m1 = mfcca-mfaca; @@ -455,7 +456,7 @@ void RheologyK17LBMKernel::calculate(int step) mfaca = m0; m0 += c1o3 * oMdrho; mfbca = m1-m0 * vvx; - mfcca = m2-two* m1 * vvx+vx2 * m0; + mfcca = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaab+mfcab; @@ -463,21 +464,21 @@ void RheologyK17LBMKernel::calculate(int step) m0 = m2+mfbab; mfaab = m0; mfbab = m1-m0 * vvx; - mfcab = m2-two* m1 * vvx+vx2 * m0; + mfcab = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabb+mfcbb; m1 = mfcbb-mfabb; m0 = m2+mfbbb; mfabb = m0; mfbbb = m1-m0 * vvx; - mfcbb = m2-two* m1 * vvx+vx2 * m0; + mfcbb = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacb+mfccb; m1 = mfccb-mfacb; m0 = m2+mfbcb; mfacb = m0; mfbcb = m1-m0 * vvx; - mfccb = m2-two* m1 * vvx+vx2 * m0; + mfccb = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m2 = mfaac+mfcac; @@ -486,14 +487,14 @@ void RheologyK17LBMKernel::calculate(int step) mfaac = m0; m0 += c1o3 * oMdrho; mfbac = m1-m0 * vvx; - mfcac = m2-two* m1 * vvx+vx2 * m0; + mfcac = m2- c2o1 * m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfabc+mfcbc; m1 = mfcbc-mfabc; m0 = m2+mfbbc; mfabc = m0; mfbbc = m1-m0 * vvx; - mfcbc = m2-two* m1 * vvx+vx2 * m0; + mfcbc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// m2 = mfacc+mfccc; m1 = mfccc-mfacc; @@ -501,7 +502,7 @@ void RheologyK17LBMKernel::calculate(int step) mfacc = m0; m0 += c1o9 * oMdrho; mfbcc = m1-m0 * vvx; - mfccc = m2-two* m1 * vvx+vx2 * m0; + mfccc = m2-c2o1* m1 * vvx+vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// @@ -545,47 +546,47 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////// //4. ////////////////////////////// - real O4 = one; + real O4 = c1o1; ////////////////////////////// //LBMReal O4 = omega;//TRT //////////////////////////////////////////////////////////// //5. ////////////////////////////// - real O5 = one; + real O5 = c1o1; //////////////////////////////////////////////////////////// //6. ////////////////////////////// - real O6 = one; + real O6 = c1o1; //////////////////////////////////////////////////////////// //central moments to cumulants //4. - real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet - real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMcbb = mfcbb-((mfcaa+c1o3) * mfabb+ c2o1 * mfbba * mfbab)/rho; //ab 15.05.2015 verwendet + real CUMbcb = mfbcb-((mfaca+c1o3) * mfbab+ c2o1 * mfbba * mfabb)/rho; //ab 15.05.2015 verwendet + real CUMbbc = mfbbc-((mfaac+c1o3) * mfbba+ c2o1 * mfbab * mfabb)/rho; //ab 15.05.2015 verwendet - real CUMcca = mfcca-(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); - real CUMcac = mfcac-(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); - real CUMacc = mfacc-(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); + real CUMcca = mfcca-(((mfcaa * mfaca+ c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho)); + real CUMcac = mfcac-(((mfcaa * mfaac+ c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho)); + real CUMacc = mfacc-(((mfaac * mfaca+ c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho)); //5. - real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + real CUMbcc = mfbcc-((mfaac * mfbca+mfaca * mfbac+ c4o1 * mfabb * mfbbb+ c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + real CUMcbc = mfcbc-((mfaac * mfcba+mfcaa * mfabc+ c4o1 * mfbab * mfbbb+ c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + real CUMccb = mfccb-((mfcaa * mfacb+mfaca * mfcab+ c4o1 * mfbba * mfbbb+ c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - real CUMccc = mfccc+((-four * mfbbb * mfbbb + real CUMccc = mfccc+((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + - c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + - c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //+ c1o27*(one -three/rho +two/(rho*rho))); @@ -641,13 +642,13 @@ void RheologyK17LBMKernel::calculate(int step) real dyuy = dxux+omega * c3o2 * mxxMyy; real dzuz = dxux+omega * c3o2 * mxxMzz; - real Dxy =-three*omega*mfbba; - real Dxz =-three*omega*mfbab; - real Dyz =-three*omega*mfabb; + real Dxy =-c3o1 *omega*mfbba; + real Dxz =-c3o1 *omega*mfbab; + real Dyz =-c3o1 *omega*mfabb; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //non Newtonian fluid collision factor - real shearRate = sqrt(c2 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (drho + c1); + real shearRate = sqrt(c2o1 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (drho + c1o1); omega = getRheologyCollFactor(omega, shearRate, rho); //omega = Rheology::getHerschelBulkleyCollFactor(omega, shearRate, drho); //omega = Rheology::getBinghamCollFactor(omega, shearRate, drho); @@ -657,25 +658,25 @@ void RheologyK17LBMKernel::calculate(int step) dyuy = dxux + omega * c3o2 * mxxMyy; dzuz = dxux + omega * c3o2 * mxxMzz; - Dxy = -three * omega * mfbba; - Dxz = -three * omega * mfbab; - Dyz = -three * omega * mfabb; + Dxy = -c3o1 * omega * mfbba; + Dxz = -c3o1 * omega * mfbab; + Dyz = -c3o1 * omega * mfabb; - mxxMyy += omega * (-mxxMyy) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); - mxxMzz += omega * (-mxxMzz) - three * (one + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); + mxxMyy += omega * (-mxxMyy) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vy2 * dyuy); + mxxMzz += omega * (-mxxMzz) - c3o1 * (c1o1 + c1o2 * (-omega)) * (vx2 * dxux - vz2 * dzuz); mfabb += omega * (-mfabb); mfbab += omega * (-mfbab); mfbba += omega * (-mfbba); - if(omega < c1) { omega = c1; } //arbitrary limit (24.09.2020) + if(omega < c1o1) { omega = c1o1; } //arbitrary limit (24.09.2020) - //omega = collFactor; + //omega = collFactorc1o1 //magic parameter for rheology real a = 10; - OxxPyyPzz = c1 / (a * ((c1 / omega) - c1o2) + c1o2); - OxxPyyPzz = (OxxPyyPzz > c1) ? c1 : OxxPyyPzz; + OxxPyyPzz = c1o1 / (a * ((c1o1 / omega) - c1o2) + c1o2); + OxxPyyPzz = (OxxPyyPzz > c1o1) ? c1o1 : OxxPyyPzz; real OxyyPxzz = 8.0 * (omega - 2.0) * (OxxPyyPzz * (3.0 * omega - 1.0) - 5.0 * omega) / (8.0 * (5.0 - 2.0 * omega) * omega + OxxPyyPzz * (8.0 + omega * (9.0 * omega - 26.0))); real OxyyMxzz = 8.0 * (omega - 2.0) * (omega + OxxPyyPzz * (3.0 * omega - 7.0)) / (OxxPyyPzz * (56.0 - 42.0 * omega + 9.0 * omega * omega) - 8.0 * omega); @@ -689,7 +690,7 @@ void RheologyK17LBMKernel::calculate(int step) //wadjust = OxxPyyPzz+(one-OxxPyyPzz)*fabs((mfaaa-mxxPyyPzz))/(fabs((mfaaa-mxxPyyPzz))+qudricLimitD); //mxxPyyPzz += wadjust*(mfaaa-mxxPyyPzz)-three * (one-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz); - mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - three * (one - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); + mxxPyyPzz += OxxPyyPzz * (mfaaa - mxxPyyPzz) - c3o1 * (c1o1 - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); // mxxPyyPzz += OxxPyyPzz*(mfaaa-mxxPyyPzz)-three * (one-c1o2 * OxxPyyPzz) * (vx2 * dxux+vy2 * dyuy+vz2 * dzuz);//-magicBulk*OxxPyyPzz; //mxxMyy += omega * (-mxxMyy)-three * (one+c1o2 * (-omega)) * (vx2 * dxux-vy2 * dyuy); @@ -723,8 +724,8 @@ void RheologyK17LBMKernel::calculate(int step) // linear combinations back mfcaa = c1o3 * (mxxMyy+mxxMzz+mxxPyyPzz); - mfaca = c1o3 * (-two* mxxMyy+mxxMzz+mxxPyyPzz); - mfaac = c1o3 * (mxxMyy-two* mxxMzz+mxxPyyPzz); + mfaca = c1o3 * (-c2o1 * mxxMyy+mxxMzz+mxxPyyPzz); + mfaac = c1o3 * (mxxMyy- c2o1 * mxxMzz+mxxPyyPzz); //3. // linear combinations @@ -741,19 +742,19 @@ void RheologyK17LBMKernel::calculate(int step) //relax ////////////////////////////////////////////////////////////////////////// //das ist der limiter - wadjust = Oxyz+(one-Oxyz)*fabs(mfbbb)/(fabs(mfbbb)+qudricLimitD); + wadjust = Oxyz+(c1o1-Oxyz)*fabs(mfbbb)/(fabs(mfbbb)+qudricLimitD); mfbbb += wadjust * (-mfbbb); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxxyPyzz)/(fabs(mxxyPyzz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxxyPyzz)/(fabs(mxxyPyzz)+qudricLimitP); mxxyPyzz += wadjust * (-mxxyPyzz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxxyMyzz)/(fabs(mxxyMyzz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxxyMyzz)/(fabs(mxxyMyzz)+qudricLimitM); mxxyMyzz += wadjust * (-mxxyMyzz); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxxzPyyz)/(fabs(mxxzPyyz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxxzPyyz)/(fabs(mxxzPyyz)+qudricLimitP); mxxzPyyz += wadjust * (-mxxzPyyz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxxzMyyz)/(fabs(mxxzMyyz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxxzMyyz)/(fabs(mxxzMyyz)+qudricLimitM); mxxzMyyz += wadjust * (-mxxzMyyz); - wadjust = OxyyPxzz+(one-OxyyPxzz)*fabs(mxyyPxzz)/(fabs(mxyyPxzz)+qudricLimitP); + wadjust = OxyyPxzz+(c1o1-OxyyPxzz)*fabs(mxyyPxzz)/(fabs(mxyyPxzz)+qudricLimitP); mxyyPxzz += wadjust * (-mxyyPxzz); - wadjust = OxyyMxzz+(one-OxyyMxzz)*fabs(mxyyMxzz)/(fabs(mxyyMxzz)+qudricLimitM); + wadjust = OxyyMxzz+(c1o1-OxyyMxzz)*fabs(mxyyMxzz)/(fabs(mxyyMxzz)+qudricLimitM); mxyyMxzz += wadjust * (-mxyyMxzz); ////////////////////////////////////////////////////////////////////////// //ohne limiter @@ -804,12 +805,12 @@ void RheologyK17LBMKernel::calculate(int step) //CUMbbc += O4 * (-CUMbbc); //CUMbcb += O4 * (-CUMbcb); //CUMcbb += O4 * (-CUMcbb); - CUMacc = -O4*(one / omega - c1o2) * (dyuy + dzuz) * c2o3 * A_ + (one - O4) * (CUMacc); - CUMcac = -O4*(one / omega - c1o2) * (dxux + dzuz) * c2o3 * A_ + (one - O4) * (CUMcac); - CUMcca = -O4*(one / omega - c1o2) * (dyuy + dxux) * c2o3 * A_ + (one - O4) * (CUMcca); - CUMbbc = -O4*(one / omega - c1o2) * Dxy * c1o3 * B_ + (one - O4) * (CUMbbc); - CUMbcb = -O4*(one / omega - c1o2) * Dxz * c1o3 * B_ + (one - O4) * (CUMbcb); - CUMcbb = -O4*(one / omega - c1o2) * Dyz * c1o3 * B_ + (one - O4) * (CUMcbb); + CUMacc = -O4*(c1o1 / omega - c1o2) * (dyuy + dzuz) * c2o3 * A_ + (c1o1 - O4) * (CUMacc); + CUMcac = -O4*(c1o1 / omega - c1o2) * (dxux + dzuz) * c2o3 * A_ + (c1o1 - O4) * (CUMcac); + CUMcca = -O4*(c1o1 / omega - c1o2) * (dyuy + dxux) * c2o3 * A_ + (c1o1 - O4) * (CUMcca); + CUMbbc = -O4*(c1o1 / omega - c1o2) * Dxy * c1o3 * B_ + (c1o1 - O4) * (CUMbbc); + CUMbcb = -O4*(c1o1 / omega - c1o2) * Dxz * c1o3 * B_ + (c1o1 - O4) * (CUMbcb); + CUMcbb = -O4*(c1o1 / omega - c1o2) * Dyz * c1o3 * B_ + (c1o1 - O4) * (CUMcbb); ////////////////////////////////////////////////////////////////////////// @@ -825,31 +826,31 @@ void RheologyK17LBMKernel::calculate(int step) //back cumulants to central moments //4. - mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+two * mfbba * mfbab)/rho; - mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+two * mfbba * mfabb)/rho; - mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+two * mfbab * mfabb)/rho; + mfcbb = CUMcbb+((mfcaa+c1o3) * mfabb+ c2o1 * mfbba * mfbab)/rho; + mfbcb = CUMbcb+((mfaca+c1o3) * mfbab+ c2o1 * mfbba * mfabb)/rho; + mfbbc = CUMbbc+((mfaac+c1o3) * mfbba+ c2o1 * mfbab * mfabb)/rho; - mfcca = CUMcca+(((mfcaa * mfaca+two * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfcac = CUMcac+(((mfcaa * mfaac+two * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); - mfacc = CUMacc+(((mfaac * mfaca+two * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcca = CUMcca+(((mfcaa * mfaca+ c2o1 * mfbba * mfbba)+c1o3 * (mfcaa+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfcac = CUMcac+(((mfcaa * mfaac+ c2o1 * mfbab * mfbab)+c1o3 * (mfcaa+mfaac))/rho-c1o9*(drho/rho));//(one/rho-one)); + mfacc = CUMacc+(((mfaac * mfaca+ c2o1 * mfabb * mfabb)+c1o3 * (mfaac+mfaca))/rho-c1o9*(drho/rho));//(one/rho-one)); //5. - mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+four * mfabb * mfbbb+two * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; - mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+four * mfbab * mfbbb+two * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; - mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+four * mfbba * mfbbb+two * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; + mfbcc = CUMbcc+((mfaac * mfbca+mfaca * mfbac+ c4o1 * mfabb * mfbbb+ c2o1 * (mfbab * mfacb+mfbba * mfabc))+c1o3 * (mfbca+mfbac))/rho; + mfcbc = CUMcbc+((mfaac * mfcba+mfcaa * mfabc+ c4o1 * mfbab * mfbbb+ c2o1 * (mfabb * mfcab+mfbba * mfbac))+c1o3 * (mfcba+mfabc))/rho; + mfccb = CUMccb+((mfcaa * mfacb+mfaca * mfcab+ c4o1 * mfbba * mfbbb+ c2o1 * (mfbab * mfbca+mfabb * mfcba))+c1o3 * (mfacb+mfcab))/rho; //6. - mfccc = CUMccc-((-four * mfbbb * mfbbb + mfccc = CUMccc-((-c4o1 * mfbbb * mfbbb -(mfcaa * mfacc+mfaca * mfcac+mfaac * mfcca) - -four * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) - -two * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho - +(four * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) - +two * (mfcaa * mfaca * mfaac) - +sixteen * mfbba * mfbab * mfabb)/(rho * rho) + - c4o1 * (mfabb * mfcbb+mfbab * mfbcb+mfbba * mfbbc) + - c2o1 * (mfbca * mfbac+mfcba * mfabc+mfcab * mfacb))/rho + +(c4o1 * (mfbab * mfbab * mfaca+mfabb * mfabb * mfcaa+mfbba * mfbba * mfaac) + + c2o1 * (mfcaa * mfaca * mfaac) + + c16o1 * mfbba * mfbab * mfabb)/(rho * rho) -c1o3 * (mfacc+mfcac+mfcca)/rho -c1o9 * (mfcaa+mfaca+mfaac)/rho - +(two * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) + +(c2o1 * (mfbab * mfbab+mfabb * mfabb+mfbba * mfbba) +(mfaac * mfaca+mfaac * mfcaa+mfaca * mfcaa)+c1o3 *(mfaac+mfaca+mfcaa))/(rho * rho) * c2o3 +c1o27*((drho * drho-drho)/(rho*rho))); //////////////////////////////////////////////////////////////////////////////////// @@ -865,22 +866,22 @@ void RheologyK17LBMKernel::calculate(int step) //mit 1, 0, 1/3, 0, 0, 0, 1/3, 0, 1/9 Konditionieren //////////////////////////////////////////////////////////////////////////////////// // Z - Dir - m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+one* oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfaac-two* mfaab * vvz+mfaaa * (one-vz2)-one* oMdrho * vz2; - m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+one* oMdrho) * (vz2+vvz) * c1o2; + m0 = mfaac * c1o2+mfaab * (vvz-c1o2)+(mfaaa+ c1o1 * oMdrho) * (vz2-vvz) * c1o2; + m1 = -mfaac- c2o1 * mfaab * vvz+mfaaa * (c1o1 -vz2)- c1o1 * oMdrho * vz2; + m2 = mfaac * c1o2+mfaab * (vvz+c1o2)+(mfaaa+ c1o1 * oMdrho) * (vz2+vvz) * c1o2; mfaaa = m0; mfaab = m1; mfaac = m2; //////////////////////////////////////////////////////////////////////////////////// m0 = mfabc * c1o2+mfabb * (vvz-c1o2)+mfaba * (vz2-vvz) * c1o2; - m1 = -mfabc-two* mfabb * vvz+mfaba * (one-vz2); + m1 = -mfabc- c2o1 * mfabb * vvz+mfaba * (c1o1 -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-two* mfacb * vvz+mfaca * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfacc- c2o1 * mfacb * vvz+mfaca * (c1o1 -vz2)-c1o3 * oMdrho * vz2; m2 = mfacc * c1o2+mfacb * (vvz+c1o2)+(mfaca+c1o3 * oMdrho) * (vz2+vvz) * c1o2; mfaca = m0; mfacb = m1; @@ -888,21 +889,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbac * c1o2+mfbab * (vvz-c1o2)+mfbaa * (vz2-vvz) * c1o2; - m1 = -mfbac-two* mfbab * vvz+mfbaa * (one-vz2); + m1 = -mfbac- c2o1 * mfbab * vvz+mfbaa * (c1o1 -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-two* mfbbb * vvz+mfbba * (one-vz2); + m1 = -mfbbc- c2o1 * mfbbb * vvz+mfbba * (c1o1 -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-two* mfbcb * vvz+mfbca * (one-vz2); + m1 = -mfbcc- c2o1 * mfbcb * vvz+mfbca * (c1o1 -vz2); m2 = mfbcc * c1o2+mfbcb * (vvz+c1o2)+mfbca * (vz2+vvz) * c1o2; mfbca = m0; mfbcb = m1; @@ -910,21 +911,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfcab * (vvz-c1o2)+(mfcaa+c1o3 * oMdrho) * (vz2-vvz) * c1o2; - m1 = -mfcac-two* mfcab * vvz+mfcaa * (one-vz2)-c1o3 * oMdrho * vz2; + m1 = -mfcac- c2o1 * mfcab * vvz+mfcaa * (c1o1 -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-two* mfcbb * vvz+mfcba * (one-vz2); + m1 = -mfcbc- c2o1 * mfcbb * vvz+mfcba * (c1o1 -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-two* mfccb * vvz+mfcca * (one-vz2)-c1o9 * oMdrho * vz2; + m1 = -mfccc- c2o1 * mfccb * vvz+mfcca * (c1o1 -vz2)-c1o9 * oMdrho * vz2; m2 = mfccc * c1o2+mfccb * (vvz+c1o2)+(mfcca+c1o9 * oMdrho) * (vz2+vvz) * c1o2; mfcca = m0; mfccb = m1; @@ -935,21 +936,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // Y - Dir m0 = mfaca * c1o2+mfaba * (vvy-c1o2)+(mfaaa+c1o6 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfaca-two* mfaba * vvy+mfaaa * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfaca- c2o1 * mfaba * vvy+mfaaa * (c1o1 -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-two* mfabb * vvy+mfaab * (one-vy2)-c2o3 * oMdrho * vy2; + m1 = -mfacb- c2o1 * mfabb * vvy+mfaab * (c1o1 -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-two* mfabc * vvy+mfaac * (one-vy2)-c1o6 * oMdrho * vy2; + m1 = -mfacc- c2o1 * mfabc * vvy+mfaac * (c1o1 -vy2)-c1o6 * oMdrho * vy2; m2 = mfacc * c1o2+mfabc * (vvy+c1o2)+(mfaac+c1o6 * oMdrho) * (vy2+vvy) * c1o2; mfaac = m0; mfabc = m1; @@ -957,21 +958,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfbca * c1o2+mfbba * (vvy-c1o2)+mfbaa * (vy2-vvy) * c1o2; - m1 = -mfbca-two* mfbba * vvy+mfbaa * (one-vy2); + m1 = -mfbca- c2o1 * mfbba * vvy+mfbaa * (c1o1 -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-two* mfbbb * vvy+mfbab * (one-vy2); + m1 = -mfbcb- c2o1 * mfbbb * vvy+mfbab * (c1o1 -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-two* mfbbc * vvy+mfbac * (one-vy2); + m1 = -mfbcc- c2o1 * mfbbc * vvy+mfbac * (c1o1 -vy2); m2 = mfbcc * c1o2+mfbbc * (vvy+c1o2)+mfbac * (vy2+vvy) * c1o2; mfbac = m0; mfbbc = m1; @@ -979,21 +980,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcca * c1o2+mfcba * (vvy-c1o2)+(mfcaa+c1o18 * oMdrho) * (vy2-vvy) * c1o2; - m1 = -mfcca-two* mfcba * vvy+mfcaa * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfcca- c2o1 * mfcba * vvy+mfcaa * (c1o1 -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-two* mfcbb * vvy+mfcab * (one-vy2)-c2o9 * oMdrho * vy2; + m1 = -mfccb- c2o1 * mfcbb * vvy+mfcab * (c1o1 -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-two* mfcbc * vvy+mfcac * (one-vy2)-c1o18 * oMdrho * vy2; + m1 = -mfccc- c2o1 * mfcbc * vvy+mfcac * (c1o1 -vy2)-c1o18 * oMdrho * vy2; m2 = mfccc * c1o2+mfcbc * (vvy+c1o2)+(mfcac+c1o18 * oMdrho) * (vy2+vvy) * c1o2; mfcac = m0; mfcbc = m1; @@ -1004,21 +1005,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// // X - Dir m0 = mfcaa * c1o2+mfbaa * (vvx-c1o2)+(mfaaa+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcaa-two* mfbaa * vvx+mfaaa * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcaa- c2o1 * mfbaa * vvx+mfaaa * (c1o1 -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-two* mfbba * vvx+mfaba * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcba- c2o1 * mfbba * vvx+mfaba * (c1o1 -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-two* mfbca * vvx+mfaca * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcca- c2o1 * mfbca * vvx+mfaca * (c1o1 -vx2)-c1o36 * oMdrho * vx2; m2 = mfcca * c1o2+mfbca * (vvx+c1o2)+(mfaca+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfaca = m0; mfbca = m1; @@ -1026,21 +1027,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcab * c1o2+mfbab * (vvx-c1o2)+(mfaab+c1o9 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcab-two* mfbab * vvx+mfaab * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcab- c2o1 * mfbab * vvx+mfaab * (c1o1 -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-two* mfbbb * vvx+mfabb * (one-vx2)-c4o9 * oMdrho * vx2; + m1 = -mfcbb- c2o1 * mfbbb * vvx+mfabb * (c1o1 -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-two* mfbcb * vvx+mfacb * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfccb- c2o1 * mfbcb * vvx+mfacb * (c1o1 -vx2)-c1o9 * oMdrho * vx2; m2 = mfccb * c1o2+mfbcb * (vvx+c1o2)+(mfacb+c1o9 * oMdrho) * (vx2+vvx) * c1o2; mfacb = m0; mfbcb = m1; @@ -1048,21 +1049,21 @@ void RheologyK17LBMKernel::calculate(int step) //////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////// m0 = mfcac * c1o2+mfbac * (vvx-c1o2)+(mfaac+c1o36 * oMdrho) * (vx2-vvx) * c1o2; - m1 = -mfcac-two* mfbac * vvx+mfaac * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfcac- c2o1 * mfbac * vvx+mfaac * (c1o1 -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-two* mfbbc * vvx+mfabc * (one-vx2)-c1o9 * oMdrho * vx2; + m1 = -mfcbc- c2o1 * mfbbc * vvx+mfabc * (c1o1 -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-two* mfbcc * vvx+mfacc * (one-vx2)-c1o36 * oMdrho * vx2; + m1 = -mfccc- c2o1 * mfbcc * vvx+mfacc * (c1o1 -vx2)-c1o36 * oMdrho * vx2; m2 = mfccc * c1o2+mfbcc * (vvx+c1o2)+(mfacc+c1o36 * oMdrho) * (vx2+vvx) * c1o2; mfacc = m0; mfbcc = m1; diff --git a/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel.cpp index c762ca30a3f17c7e41bd4d1dde047cbef22a1c34..2b65887c1b0461a836f29a2aff7dc809dbb733e8 100644 --- a/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel.cpp @@ -41,7 +41,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; RheologyModelLBMKernel::RheologyModelLBMKernel() : forcingX1(0), forcingX2(0), forcingX3(0) { @@ -510,12 +511,12 @@ void RheologyModelLBMKernel::calculate(int step) real dyuy = dxux + collFactorF * c3o2 * mxxMyy; real dzuz = dxux + collFactorF * c3o2 * mxxMzz; - real Dxy = -three * collFactorF * mfbba; - real Dxz = -three * collFactorF * mfbab; - real Dyz = -three * collFactorF * mfabb; + real Dxy = -c3o1 * collFactorF * mfbba; + real Dxz = -c3o1 * collFactorF * mfbab; + real Dyz = -c3o1 * collFactorF * mfabb; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //non Newtonian fluid collision factor - real shearRate = sqrt(c2 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + one); + real shearRate = sqrt(c2o1 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + c1o1); collFactorF = getRheologyCollFactor(collFactorF, shearRate, rho); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel2.cpp b/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel2.cpp index 1a5001a71afbabceb0dcd9ef0fc67c29d3f32239..308add14b3710983ea9139b405c3074891b1b7c9 100644 --- a/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel2.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/RheologyModelLBMKernel2.cpp @@ -6,10 +6,12 @@ #include "DataSet3D.h" #include "LBMKernel.h" #include "Rheology.h" +#include "UbMath.h" #define PROOF_CORRECTNESS using namespace UbMath; +using namespace vf::lbm::constant; RheologyModelLBMKernel2::RheologyModelLBMKernel2() : forcingX1(0), forcingX2(0), forcingX3(0) @@ -379,7 +381,7 @@ void RheologyModelLBMKernel2::calculate(int step) m1 = mfcca - mfaca; m0 = m2 + mfbca; mfaca = m0; - m0 += c1o3 * oMdrho; + m0 += vf::lbm::constant::c1o3 * oMdrho; mfbca = m1 - m0 * vvx; mfcca = m2 - 2. * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -410,7 +412,7 @@ void RheologyModelLBMKernel2::calculate(int step) m1 = mfcac - mfaac; m0 = m2 + mfbac; mfaac = m0; - m0 += c1o3 * oMdrho; + m0 += vf::lbm::constant::c1o3 * oMdrho; mfbac = m1 - m0 * vvx; mfcac = m2 - 2. * m1 * vvx + vx2 * m0; //////////////////////////////////////////////////////////////////////////////////// @@ -443,18 +445,18 @@ void RheologyModelLBMKernel2::calculate(int step) //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 - real CUMcbb = mfcbb - ((mfcaa + c1o3) * mfabb + 2. * mfbba * mfbab); - real CUMbcb = mfbcb - ((mfaca + c1o3) * mfbab + 2. * mfbba * mfabb); - real CUMbbc = mfbbc - ((mfaac + c1o3) * mfbba + 2. * mfbab * mfabb); + real CUMcbb = mfcbb - ((mfcaa + vf::lbm::constant::c1o3) * mfabb + 2. * mfbba * mfbab); + real CUMbcb = mfbcb - ((mfaca + vf::lbm::constant::c1o3) * mfbab + 2. * mfbba * mfabb); + real CUMbbc = mfbbc - ((mfaac + vf::lbm::constant::c1o3) * mfbba + 2. * mfbab * mfabb); - real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); - real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); - real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); + real CUMcca = mfcca - ((mfcaa * mfaca + 2. * mfbba * mfbba) + vf::lbm::constant::c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); + real CUMcac = mfcac - ((mfcaa * mfaac + 2. * mfbab * mfbab) + vf::lbm::constant::c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); + real CUMacc = mfacc - ((mfaac * mfaca + 2. * mfabb * mfabb) + vf::lbm::constant::c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho); //Cum 5. - real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - c1o3 * (mfbca + mfbac) * oMdrho; - real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + 4. * mfbab * mfbbb + 2. * (mfabb * mfcab + mfbba * mfbac)) - c1o3 * (mfcba + mfabc) * oMdrho; - real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + 4. * mfbba * mfbbb + 2. * (mfbab * mfbca + mfabb * mfcba)) - c1o3 * (mfacb + mfcab) * oMdrho; + real CUMbcc = mfbcc - (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) - vf::lbm::constant::c1o3 * (mfbca + mfbac) * oMdrho; + real CUMcbc = mfcbc - (mfaac * mfcba + mfcaa * mfabc + 4. * mfbab * mfbbb + 2. * (mfabb * mfcab + mfbba * mfbac)) - vf::lbm::constant::c1o3 * (mfcba + mfabc) * oMdrho; + real CUMccb = mfccb - (mfcaa * mfacb + mfaca * mfcab + 4. * mfbba * mfbbb + 2. * (mfbab * mfbca + mfabb * mfcba)) - vf::lbm::constant::c1o3 * (mfacb + mfcab) * oMdrho; //Cum 6. real CUMccc = mfccc + ((-4. * mfbbb * mfbbb @@ -464,7 +466,7 @@ void RheologyModelLBMKernel2::calculate(int step) + (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 + - vf::lbm::constant::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; @@ -486,7 +488,7 @@ void RheologyModelLBMKernel2::calculate(int step) //non Newtonian fluid collision factor // LBMReal shearRate = sqrt(c2 * (dxux * dxux + dyuy * dyuy + dzuz * dzuz) + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + one); - real shearFactor = sqrt(c1o2 * ((mfcaa - mfaaa * c1o3) * (mfcaa - mfaaa * c1o3) + (mfaca - mfaaa * c1o3) * (mfaca - mfaaa * c1o3) + (mfaac - mfaaa * c1o3) * (mfaac - mfaaa * c1o3)) + mfbba * mfbba + mfbab * mfbab + mfabb * mfabb) + UbMath::Epsilon<real>::val(); + real shearFactor = sqrt(c1o2 * ((mfcaa - mfaaa * vf::lbm::constant::c1o3) * (mfcaa - mfaaa * vf::lbm::constant::c1o3) + (mfaca - mfaaa * vf::lbm::constant::c1o3) * (mfaca - mfaaa * vf::lbm::constant::c1o3) + (mfaac - mfaaa * vf::lbm::constant::c1o3) * (mfaac - mfaaa * vf::lbm::constant::c1o3)) + mfbba * mfbba + mfbab * mfbab + mfabb * mfabb) + UbMath::Epsilon<real>::val(); //collFactorF = getRheologyCollFactor(collFactorF, shearRate, rho); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -516,7 +518,7 @@ void RheologyModelLBMKernel2::calculate(int step) //mfbab += collFactorF * (-mfbab + mfbab/shearFactor*tau0); //mfbba += collFactorF * (-mfbba + mfbba/shearFactor*tau0); - collFactorF = collFactor * (c1 - tau0 / shearFactor); + collFactorF = collFactor * (c1o1 - tau0 / shearFactor); mxxMyy += collFactorF * (-mxxMyy/* + mxxMyy / shearFactor * tau0*/) - 3. * (1. - c1o2 * collFactorF) * (vx2 * dxux - vy2 * dyuy); mxxMzz += collFactorF * (-mxxMzz/* + mxxMzz / shearFactor * tau0*/) - 3. * (1. - c1o2 * collFactorF) * (vx2 * dxux - vz2 * dzuz); @@ -527,9 +529,9 @@ void RheologyModelLBMKernel2::calculate(int step) // linear combinations back - mfcaa = c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); - mfaca = c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz); - mfaac = c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz); + mfcaa = vf::lbm::constant::c1o3 * (mxxMyy + mxxMzz + mxxPyyPzz); + mfaca = vf::lbm::constant::c1o3 * (-2. * mxxMyy + mxxMzz + mxxPyyPzz); + mfaac = vf::lbm::constant::c1o3 * (mxxMyy - 2. * mxxMzz + mxxPyyPzz); //3. // linear combinations @@ -589,18 +591,18 @@ void RheologyModelLBMKernel2::calculate(int step) //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); + mfcbb = CUMcbb + ((mfcaa + vf::lbm::constant::c1o3) * mfabb + 2. * mfbba * mfbab); + mfbcb = CUMbcb + ((mfaca + vf::lbm::constant::c1o3) * mfbab + 2. * mfbba * mfabb); + mfbbc = CUMbbc + ((mfaac + vf::lbm::constant::c1o3) * mfbba + 2. * mfbab * mfabb); - mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho; - mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho; - mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho; + mfcca = CUMcca + (mfcaa * mfaca + 2. * mfbba * mfbba) + vf::lbm::constant::c1o3 * (mfcaa + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho; + mfcac = CUMcac + (mfcaa * mfaac + 2. * mfbab * mfbab) + vf::lbm::constant::c1o3 * (mfcaa + mfaac) * oMdrho + c1o9 * (oMdrho - 1) * oMdrho; + mfacc = CUMacc + (mfaac * mfaca + 2. * mfabb * mfabb) + vf::lbm::constant::c1o3 * (mfaac + mfaca) * oMdrho + c1o9 * (oMdrho - 1) * 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; + mfbcc = CUMbcc + (mfaac * mfbca + mfaca * mfbac + 4. * mfabb * mfbbb + 2. * (mfbab * mfacb + mfbba * mfabc)) + vf::lbm::constant::c1o3 * (mfbca + mfbac) * oMdrho; + mfcbc = CUMcbc + (mfaac * mfcba + mfcaa * mfabc + 4. * mfbab * mfbbb + 2. * (mfabb * mfcab + mfbba * mfbac)) + vf::lbm::constant::c1o3 * (mfcba + mfabc) * oMdrho; + mfccb = CUMccb + (mfcaa * mfacb + mfaca * mfcab + 4. * mfbba * mfbbb + 2. * (mfbab * mfbca + mfabb * mfcba)) + vf::lbm::constant::c1o3 * (mfacb + mfcab) * oMdrho; //6. mfccc = CUMccc - ((-4. * mfbbb * mfbbb @@ -610,7 +612,7 @@ void RheologyModelLBMKernel2::calculate(int step) + (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 + - vf::lbm::constant::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; @@ -642,9 +644,9 @@ void RheologyModelLBMKernel2::calculate(int step) 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; + m0 = mfacc * c1o2 + mfacb * (vvz - c1o2) + (mfaca + vf::lbm::constant::c1o3 * oMdrho) * (vz2 - vvz) * c1o2; + m1 = -mfacc - 2. * mfacb * vvz + mfaca * (1. - vz2) - vf::lbm::constant::c1o3 * oMdrho * vz2; + m2 = mfacc * c1o2 + mfacb * (vvz + c1o2) + (mfaca + vf::lbm::constant::c1o3 * oMdrho) * (vz2 + vvz) * c1o2; mfaca = m0; mfacb = m1; mfacc = m2; @@ -672,9 +674,9 @@ void RheologyModelLBMKernel2::calculate(int step) 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; + m0 = mfcac * c1o2 + mfcab * (vvz - c1o2) + (mfcaa + vf::lbm::constant::c1o3 * oMdrho) * (vz2 - vvz) * c1o2; + m1 = -mfcac - 2. * mfcab * vvz + mfcaa * (1. - vz2) - vf::lbm::constant::c1o3 * oMdrho * vz2; + m2 = mfcac * c1o2 + mfcab * (vvz + c1o2) + (mfcaa + vf::lbm::constant::c1o3 * oMdrho) * (vz2 + vvz) * c1o2; mfcaa = m0; mfcab = m1; mfcac = m2; diff --git a/src/cpu/VirtualFluidsCore/LBM/ThixotropyExpLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/ThixotropyExpLBMKernel.cpp index c0dd32b97ebea0bcef5f25bbcc4a9c28265eef5b..6d11842f6f2d92b4daff1f7c1bb348af0c8021ca 100644 --- a/src/cpu/VirtualFluidsCore/LBM/ThixotropyExpLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/ThixotropyExpLBMKernel.cpp @@ -8,7 +8,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// ThixotropyExpLBMKernel::ThixotropyExpLBMKernel() @@ -568,11 +569,11 @@ void ThixotropyExpLBMKernel::calculate(int step) real dyuy = dxux + collFactorF * c3o2 * mxxMyy; real dzuz = dxux + collFactorF * c3o2 * mxxMzz; - real Dxy =-three*collFactorF*mfbba; - real Dxz =-three*collFactorF*mfbab; - real Dyz =-three*collFactorF*mfabb; + real Dxy =-c3o1*collFactorF*mfbba; + real Dxz =-c3o1*collFactorF*mfbab; + real Dyz =-c3o1*collFactorF*mfabb; - real gammaDot = sqrt(dxux * dxux + dyuy * dyuy + dzuz * dzuz + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + one); + real gammaDot = sqrt(dxux * dxux + dyuy * dyuy + dzuz * dzuz + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + c1o1); //collFactorF = BinghamModel::getBinghamCollFactor(collFactorF, gammaDot, rho); //relax @@ -1021,7 +1022,7 @@ void ThixotropyExpLBMKernel::calculate(int step) //collFactorF = (collFactorF < 0.5) ? 0.5 : collFactorF; - real dlambda = one / theta - alpha * lambda * gammaDot; + real dlambda = c1o1 / theta - alpha * lambda * gammaDot; ////////////////////////////////////////////////////////////////////////// diff --git a/src/cpu/VirtualFluidsCore/LBM/ThixotropyLBMKernel.cpp b/src/cpu/VirtualFluidsCore/LBM/ThixotropyLBMKernel.cpp index cdce4374713cb1b4263109f78461421cf4cbc44e..6fb32f31a3d40e369fb36b48e8d4f63c7a17322d 100644 --- a/src/cpu/VirtualFluidsCore/LBM/ThixotropyLBMKernel.cpp +++ b/src/cpu/VirtualFluidsCore/LBM/ThixotropyLBMKernel.cpp @@ -8,7 +8,8 @@ #define PROOF_CORRECTNESS -using namespace UbMath; +//using namespace UbMath; +using namespace vf::lbm::constant; ////////////////////////////////////////////////////////////////////////// ThixotropyLBMKernel::ThixotropyLBMKernel() @@ -233,7 +234,7 @@ void ThixotropyLBMKernel::calculate(int step) real eta0 = (1/collFactor-c1o2)*c1o3; real eta = (1 + lambda)* eta0; - collFactorF = one/(3*eta/(rho+one)+c1o2); + collFactorF = c1o1 /(3*eta/(rho+ c1o1)+c1o2); //collFactorF = collFactor; //forcing @@ -568,9 +569,9 @@ void ThixotropyLBMKernel::calculate(int step) real dyuy = dxux + collFactorF * c3o2 * mxxMyy; real dzuz = dxux + collFactorF * c3o2 * mxxMzz; - real Dxy =-three*collFactorF*mfbba; - real Dxz =-three*collFactorF*mfbab; - real Dyz =-three*collFactorF*mfabb; + real Dxy =-c3o1 *collFactorF*mfbba; + real Dxz =-c3o1*collFactorF*mfbab; + real Dyz =-c3o1*collFactorF*mfabb; //relax mxxPyyPzz += OxxPyyPzz*(mfaaa - mxxPyyPzz) - 3. * (1. - c1o2 * OxxPyyPzz) * (vx2 * dxux + vy2 * dyuy + vz2 * dzuz); @@ -1012,9 +1013,9 @@ void ThixotropyLBMKernel::calculate(int step) //LBMReal theta = 60 * 1.28172e+06; //LBMReal alpha = 0.005;// *10.0; - real gammaDot = sqrt(dxux * dxux + dyuy * dyuy + dzuz * dzuz + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + one); + real gammaDot = sqrt(dxux * dxux + dyuy * dyuy + dzuz * dzuz + Dxy * Dxy + Dxz * Dxz + Dyz * Dyz) / (rho + c1o1); - real dlambda = one / theta - alpha * lambda * gammaDot; + real dlambda = c1o1 / theta - alpha * lambda * gammaDot; //LBMReal dlambda = one / (T*pow(lambda,m)) - alpha * lambda * gammaDot; diff --git a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp index 73fcd28ba4b425e8e23aa488aaa57479a07c9bb4..fc57572c9183f7ba23701d37703fa0c900e1ccc4 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseInitDistributionsBlockVisitor.cpp @@ -224,7 +224,7 @@ void MultiphaseInitDistributionsBlockVisitor::visit(const SPtr<Grid3D> grid, SPt //geq[dir] = p1*WEIGTH[dir] + gamma; //geq[dir] = p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho; //geq[dir] = (p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho)*UbMath::c1o3; - geq[dir] = (gamma*rho)*UbMath::c1o3; + geq[dir] = (gamma*rho)* vf::lbm::constant::c1o3; } diff --git a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseVelocityFormInitDistributionsBlockVisitor.cpp b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseVelocityFormInitDistributionsBlockVisitor.cpp index 575c6f0399c28e937f6aeeb91307b0a4ca3af6ed..0c3fd6de0de70a3506cc2a9a00be80c267ad538a 100644 --- a/src/cpu/VirtualFluidsCore/Visitors/MultiphaseVelocityFormInitDistributionsBlockVisitor.cpp +++ b/src/cpu/VirtualFluidsCore/Visitors/MultiphaseVelocityFormInitDistributionsBlockVisitor.cpp @@ -233,7 +233,7 @@ void MultiphaseVelocityFormInitDistributionsBlockVisitor::visit(const SPtr<Grid3 feq[dir] = WEIGTH[dir] * (1 + 3 * velProd + 4.5 * velSq1 - 1.5 * (vx1Sq + vx2Sq + vx3Sq)); //geq[dir] = p1*WEIGTH1[dir] + gamma; //geq[dir] = p1*WEIGTH[dir]/(rho*UbMath::c1o3) + gamma*rho; - geq[dir] = p1 * WEIGTH[dir] / ( UbMath::c1o3) + gamma ; + geq[dir] = p1 * WEIGTH[dir] / (vf::lbm::constant::c1o3) + gamma ; } diff --git a/src/lbm/constants/NumericConstants.h b/src/lbm/constants/NumericConstants.h index 4918d49aaa0431de639ea8ba3320c4fa45e539d4..fb7764255201dbd31ac1134e756fc4bfd6e3d982 100644 --- a/src/lbm/constants/NumericConstants.h +++ b/src/lbm/constants/NumericConstants.h @@ -119,6 +119,11 @@ static constexpr double c2Pi = 6.28318530717; static constexpr double cPio180 = 1.74532925199e-2; static constexpr double c180oPi = 57.2957795131; +static const double one_over_sqrt2 = 1.0 / sqrt(2.0); // 0.707106781 +static const double one_over_sqrt3 = 1.0 / sqrt(3.0); // 0.577350269 +static const double sqrt2 = sqrt(2.0); // 1.4142135 +static const double sqrt3 = sqrt(3.0); // 1.7320508 + #else static constexpr float c1o2 = 0.5f; static constexpr float c3o2 = 1.5f;