From 4b653c0763a105906ca4e21ca5d564f994cd2b1a Mon Sep 17 00:00:00 2001 From: labourasse <labourassee@gmail.com> Date: Tue, 26 Jul 2022 19:00:22 +0200 Subject: [PATCH] Add a test in PolynomialP --- tests/test_PolynomialP.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/test_PolynomialP.cpp b/tests/test_PolynomialP.cpp index d791b0d0b..a6f2cef9f 100644 --- a/tests/test_PolynomialP.cpp +++ b/tests/test_PolynomialP.cpp @@ -157,6 +157,7 @@ TEST_CASE("PolynomialP", "[analysis]") std::array<TinyVector<2>, 4> positions; std::array<TinyVector<2>, 3> positions2; std::array<TinyVector<2>, 2> positions4; + std::array<TinyVector<2>, 4> positions3; positions[0] = TinyVector<2>{0, 0}; positions[1] = TinyVector<2>{0, 0.5}; positions[2] = TinyVector<2>{0.3, 0.7}; @@ -166,6 +167,10 @@ TEST_CASE("PolynomialP", "[analysis]") positions2[2] = TinyVector<2>{0.3, 0.7}; positions4[0] = TinyVector<2>{0, 0.5}; positions4[1] = TinyVector<2>{0.3, 0.7}; + positions3[0] = TinyVector<2>{0, 0}; + positions3[1] = TinyVector<2>{1, 0}; + positions3[2] = TinyVector<2>{1, 1}; + positions3[3] = TinyVector<2>{0, 1}; PolynomialP<2, 2> P(coef); auto p1 = [](const TinyVector<2>& X) { @@ -196,9 +201,15 @@ TEST_CASE("PolynomialP", "[analysis]") for (size_t i = 0; i < l1.numberOfPoints(); ++i) { value4 += l1.weight(i) * u.velocityNorm() * p1(u(l1.point(i))); } + SquareTransformation<2> s3{positions3[0], positions3[1], positions3[2], positions3[3]}; + auto value3 = weight_list[0] * s3.jacobianDeterminant(point_list[0]) * p1(s3(point_list[0])); + for (size_t i = 1; i < weight_list.size(); ++i) { + value3 += weight_list[i] * s3.jacobianDeterminant(point_list[i]) * p1(s3(point_list[i])); + } REQUIRE(value == Catch::Approx(integrate(P, positions))); REQUIRE(value2 == Catch::Approx(integrate(P, positions2))); + REQUIRE(value3 == Catch::Approx(integrate(P, positions3))); REQUIRE(value4 == Catch::Approx(integrate(P, positions4))); } -- GitLab