|
| | QuadratureRule (svmp::CellFamily family, int polynomial_exactness, std::vector< QuadPoint > points, std::vector< double > weights) |
| | Construct a rule from complete point and weight data.
|
| |
| std::size_t | num_points () const noexcept |
| | Return the number of point/weight pairs.
|
| |
| int | polynomial_exactness () const noexcept |
| | Return the declared total-degree polynomial exactness.
|
| |
| std::size_t | dimension () const |
| | Return the reference dimension and active QuadPoint component count.
|
| |
| svmp::CellFamily | cell_family () const noexcept |
| | Return the canonical reference-cell family.
|
| |
| const QuadPoint & | point (std::size_t i) const noexcept |
| | Return point i without bounds checking.
|
| |
| double | weight (std::size_t i) const noexcept |
| | Return the weight paired with point i without bounds checking.
|
| |
| std::span< const QuadPoint > | points () const noexcept |
| | Return a read-only view of all points in integration order.
|
| |
| std::span< const double > | weights () const noexcept |
| | Return a read-only view of all weights in point order.
|
| |
| double | reference_cell_measure () const |
| | Return the reference-cell measure derived from cell_family().
|
| |
Owning value type for quadrature rules on canonical reference cells.
Construction requires:
- a supported cell family and non-negative polynomial exactness;
- a vector of points, with at least one element;
- for all points, coordinates must be finite;
- for all points, coordinates beyond the reference dimension of the cell family must be equal to zero; and
- a vector of finite weights, with as many elements as the points.
The constructor checks each requirement and throws InvalidArgumentException when one is violated.
Points may be duplicate or outside the reference cell, and weights may be zero or negative. Construction does not verify weight normalization or polynomial exactness.