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.