From 777ece1cc23a4395cd6a40287796b19ccd851c63 Mon Sep 17 00:00:00 2001 From: peters <peters@irmb.tu-bs.de> Date: Fri, 19 Mar 2021 09:24:27 +0100 Subject: [PATCH] Add more basic chimera tests. --- src/lbm/ChimeraTests.cpp | 108 ++++++++++++++++++++++++- src/lbm/MacroscopicQuantitiesTests.cpp | 2 +- 2 files changed, 106 insertions(+), 4 deletions(-) diff --git a/src/lbm/ChimeraTests.cpp b/src/lbm/ChimeraTests.cpp index 673d1c026..2b9e13ad7 100644 --- a/src/lbm/ChimeraTests.cpp +++ b/src/lbm/ChimeraTests.cpp @@ -1,10 +1,10 @@ #include <gmock/gmock.h> #include "Chimera.h" -#include "D3Q27.h" - - +/* +* InverseChimeraWithK +*/ TEST(ChimeraTest, forwardInverseChimeraWithK) { real mfa = 1; @@ -23,3 +23,105 @@ TEST(ChimeraTest, forwardInverseChimeraWithK) EXPECT_THAT(mfb, testing::DoubleEq(-4.)); // -(mfa + mfb + mfc + 1) EXPECT_THAT(mfc, testing::DoubleEq(6.)); // (mfa + mfc) + (mfa + mfb + mfc + 1) } + + +TEST(ChimeraTest, backwardInverseChimeraWithK) +{ + // starting with the result values from the test above. + real mfa = 3.; + real mfb = -4.; + real mfc = 6.; + + const real vv = 1.; + const real v2 = 1.; + + const real K = 1.; + const real Kinverse = 1 / K; + + VF::LBM::backwardInverseChimeraWithK(mfa, mfb, mfc, vv, v2, K, Kinverse); + + // resulting in the start values from the test above. + EXPECT_THAT(mfa, testing::DoubleEq(1.)); + EXPECT_THAT(mfb, testing::DoubleEq(1.)); + EXPECT_THAT(mfc, testing::DoubleEq(1.)); +} + +/* +* Chimera +*/ +TEST(ChimeraTest, forwardChimera) +{ + real mfa = 1; + real mfb = 1; + real mfc = 1; + + const real vv = 1.; + const real v2 = 1.; + + VF::LBM::forwardChimera(mfa, mfb, mfc, vv, v2); + + EXPECT_THAT(mfa, testing::DoubleEq(3.)); // mfa + mfb + mfc + EXPECT_THAT(mfb, testing::DoubleEq(-3.)); // -(mfa + mfb + mfc) + EXPECT_THAT(mfc, testing::DoubleEq(5.)); // (mfa + mfc) + (mfa + mfb + mfc) +} + + +TEST(ChimeraTest, backwardChimera) +{ + // starting with the result values from the test above. + real mfa = 3.; + real mfb = -3.; + real mfc = 5.; + + const real vv = 1.; + const real v2 = 1.; + + VF::LBM::backwardChimera(mfa, mfb, mfc, vv, v2); + + // resulting in the start values from the test above. + EXPECT_THAT(mfa, testing::DoubleEq(1.)); + EXPECT_THAT(mfb, testing::DoubleEq(1.)); + EXPECT_THAT(mfc, testing::DoubleEq(1.)); +} + +/* +* ChimeraWithK +*/ +TEST(ChimeraTest, forwardChimeraWithK) +{ + real mfa = 1; + real mfb = 1; + real mfc = 1; + + const real vv = 1.; + const real v2 = 1.; + + const real K = 1.; + + VF::LBM::forwardChimeraWithK(mfa, mfb, mfc, vv, v2, K); + + EXPECT_THAT(mfa, testing::DoubleEq(3.)); // mfa + mfb + mfc + EXPECT_THAT(mfb, testing::DoubleEq(-4.)); // -(mfa + mfb + mfc) + EXPECT_THAT(mfc, testing::DoubleEq(6.)); // (mfa + mfc) + (mfa + mfb + mfc) +} + + +TEST(ChimeraTest, backwardChimeraWithK) +{ + // starting with the result values from the test above. + real mfa = 3.; + real mfb = -4.; + real mfc = 6.; + + const real vv = 1.; + const real v2 = 1.; + + const real K = 1.; + + VF::LBM::backwardChimeraWithK(mfa, mfb, mfc, vv, v2, K); + + // resulting in the start values from the test above. + EXPECT_THAT(mfa, testing::DoubleEq(1.)); + EXPECT_THAT(mfb, testing::DoubleEq(1.)); + EXPECT_THAT(mfc, testing::DoubleEq(1.)); +} diff --git a/src/lbm/MacroscopicQuantitiesTests.cpp b/src/lbm/MacroscopicQuantitiesTests.cpp index fc9d8492b..96464eb22 100644 --- a/src/lbm/MacroscopicQuantitiesTests.cpp +++ b/src/lbm/MacroscopicQuantitiesTests.cpp @@ -31,7 +31,7 @@ TEST(MacroscopicQuantitiesTest, whenFsAreEqual_velocityInEachDirectionShouldBeZe EXPECT_THAT(velocityX3, testing::DoubleEq(expected_velocity)); } -TEST(MacroscopicQuantitiesTest, givenAllFsAreOne_when_Eis2_velocityInXShouldBeOne) +TEST(MacroscopicQuantitiesTest, givenAllFsAreOne_when_Eis2_velocityInX1ShouldBeOne) { f[VF::LBM::DIR::E] = 2.; -- GitLab