diff --git a/src/analysis/PolynomialP.hpp b/src/analysis/PolynomialP.hpp index 26f86c7b03010dd408cc3884b7e70eeacf21eea5..8b8bdb512bb6ad879594bf9eabec484f67abb147 100644 --- a/src/analysis/PolynomialP.hpp +++ b/src/analysis/PolynomialP.hpp @@ -614,7 +614,7 @@ integrate(const PolynomialP<N, Dimension> Q, const std::array<TinyVector<Dimensi for (size_t i = 1; i < weight_list.size(); ++i) { value += weight_list[i] * Q(t(point_list[i])); } - integral = value; + integral = t.jacobianDeterminant() * value; } else { const QuadratureFormula<2>& lN = QuadratureManager::instance().getSquareFormula(GaussQuadratureDescriptor(N)); auto point_list = lN.pointList(); diff --git a/src/analysis/TaylorPolynomial.hpp b/src/analysis/TaylorPolynomial.hpp index 3ff9323279dd802f8faee2a62dcc36251419bfd2..ff417f1430ffd80e6b9395bc6dc8a64023720702 100644 --- a/src/analysis/TaylorPolynomial.hpp +++ b/src/analysis/TaylorPolynomial.hpp @@ -641,7 +641,7 @@ integrate(const TaylorPolynomial<N, Dimension> Q, const std::array<TinyVector<Di for (size_t i = 1; i < weight_list.size(); ++i) { value += weight_list[i] * Q(t(point_list[i])); } - integral = value; + integral = t.jacobianDeterminant() * value; } else { const QuadratureFormula<2>& lN = QuadratureManager::instance().getSquareFormula(GaussQuadratureDescriptor(N)); auto point_list = lN.pointList(); diff --git a/tests/test_PolynomialP.cpp b/tests/test_PolynomialP.cpp index 3ab52b3da50334c75404936dc456cdbd20954e9b..d791b0d0b35fc5d2768f9d4cd122f9ae9c4bd957 100644 --- a/tests/test_PolynomialP.cpp +++ b/tests/test_PolynomialP.cpp @@ -189,6 +189,7 @@ TEST_CASE("PolynomialP", "[analysis]") for (size_t i = 1; i < weight_list2.size(); ++i) { value2 += weight_list2[i] * p1(t(point_list2[i])); } + value2 *= t.jacobianDeterminant(); const QuadratureFormula<1>& l1 = QuadratureManager::instance().getLineFormula(GaussQuadratureDescriptor(2)); const LineTransformation<2> u{positions4[0], positions4[1]}; double value4 = 0.; diff --git a/tests/test_TaylorPolynomial.cpp b/tests/test_TaylorPolynomial.cpp index eec530eafeef396d12ff3c651881fa53c30249e8..41ba9d4b4cfaf53ee92053a07663ac2048092d2e 100644 --- a/tests/test_TaylorPolynomial.cpp +++ b/tests/test_TaylorPolynomial.cpp @@ -199,6 +199,7 @@ TEST_CASE("TaylorPolynomial", "[analysis]") for (size_t i = 1; i < weight_list2.size(); ++i) { value2 += weight_list2[i] * p1(t(point_list2[i])); } + value2 *= t.jacobianDeterminant(); const QuadratureFormula<1>& l1 = QuadratureManager::instance().getLineFormula(GaussQuadratureDescriptor(2)); const LineTransformation<2> u{positions4[0], positions4[1]}; double value4 = 0.;