|
| std::vector< std::array< int, 3 > > | GetTaylorBasisMonomials (int dim, int maxOrder) |
| | Get the list of Taylor basis monomial exponents up to given order.
|
| |
| t_real | EvalMonomial (const tPoint &p, int a, int b=0, int c=0) |
| | Evaluate a monomial x^a * y^b * z^c at point p.
|
| |
| t_real | ExactMonomialIntegral (ParamSpace ps, int a, int b=0, int c=0) |
| | Compute exact integral of monomial over parametric reference element.
|
| |
| t_real | QuadratureMonomialIntegral (ParamSpace ps, int int_order, int a, int b=0, int c=0) |
| | Numerically integrate a monomial using quadrature.
|
| |
| ParamSpace | GetParamSpaceFromElement (ElemType t) |
| | Get parametric space from element type for testing.
|
| |
| | TEST_CASE ("Quadrature: scheme constants are valid") |
| |
| | TEST_CASE ("Quadrature: weight sums equal reference element volumes") |
| |
| | TEST_CASE ("Quadrature: Line integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Quad integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Hex integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Triangle integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Tetrahedron integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Prism integrates polynomials up to expected order") |
| |
| | TEST_CASE ("Quadrature: Pyramid integrates constant and low-degree polynomials") |
| |
| | TEST_CASE ("Quadrature: Quadrature class Integration method works") |
| |
| | TEST_CASE ("Quadrature: GetQuadraturePointInfo returns correct data") |
| |
| | TEST_CASE ("Quadrature: IntegrationSimple overloads work correctly") |
| |
| | for (const auto &cfg :configs) |
| |
| | for (int deg=0;deg<=3;deg++) monomials.push_back( |
| |
| | for (const auto &tc :tests) |
| |
| | TEST_CASE ("Quadrature: FPolynomialFill consistency check") |
| |
Comprehensive doctest-based unit tests for numerical quadrature accuracy.
Tests cover:
- Polynomial integration accuracy (0th to 6th degree)
- For each parametric space: Line, Tri, Quad, Tet, Hex, Prism, Pyramid
- Tests exactness up to the theoretical order of each quadrature scheme
- Complete Taylor basis integration (degree <= 3)
- Uses BaseFunction utilities for systematic testing
- All monomials: 1, x, y, z, x², xy, y², xz, yz, z², x³, x²y, xy², y³, ...
- Weight sum verification (should equal parametric space volume)
- Integration scheme selection correctness
Theoretical exactness:
- Gauss-Legendre on [-1,1]^d: exact for polynomials up to 2n-1
- Hammer rules on simplex: exactness varies by rule
- Product rules: exactness determined by component rules
Definition in file test_Quadrature.cpp.