quadrature
Integration rules
Exact and quadrature integration helpers for reference elements.
integrate_reference_triangle_exact(expr, xi, eta)
Exact symbolic integration over the reference P1 triangle with vertices (0,0), (1,0), (0,1). Uses SymPy’s integrate with bounds η ∈ [0, 1-ξ], ξ ∈ [0, 1].
integrate_reference_quadrilateral_exact(expr, xi, eta)
Exact symbolic integration over the reference quadrilateral [-1,1]².
integrate_reference_tetra_exact(expr, xi, eta, zeta)
Exact symbolic integration over the reference P1 tetrahedron.
integrate_reference_hexahedron_exact(expr, xi, eta, zeta)
Exact symbolic integration over the reference hexahedron [-1,1]³.
triangle_one_point_rule(expr, xi, eta)
One-point quadrature on the reference triangle (centroid rule). Evaluates at (1/3, 1/3) with weight 1/2. Exact for linear polynomials.
triangle_three_point_rule(expr, xi, eta)
Three-point quadrature on the reference triangle. Exact for quadratic polynomials. Points are at the edge midpoints: (1/2, 0), (1/2, 1/2), (0, 1/2). Each has weight 1/6.
triangle_six_point_rule(expr, xi, eta)
Six-point quadrature on the reference triangle. Exact for quartic polynomials. Uses the symmetric rule with two orbit types.
quadrilateral_gauss_rule(expr, xi, eta, order)
Gauss-Legendre tensor-product quadrature on the reference quad [-1,1]². Supports orders 1, 2, 3.
hexahedron_gauss_rule(expr, xi, eta, zeta, order)
Gauss-Legendre tensor-product quadrature on the reference hex [-1,1]³.
tetrahedron_one_point_rule(expr, xi, eta, zeta)
One-point quadrature on the reference tetrahedron (centroid rule). Evaluates at (1/4, 1/4, 1/4) with weight 1/6.
tetrahedron_four_point_rule(expr, xi, eta, zeta)
Four-point quadrature on the reference tetrahedron. Exact for quadratic polynomials.