PolytopeQuadrature
Cached quadrature attached to one specific polytope.
Defined in Rodin/Geometry/PolytopeQuadrature.h
class PolytopeQuadrature;
A PolytopeQuadrature stores the mapped quadrature points corresponding to a single quadrature formula on a single concrete polytope. It is:
- not a reference quadrature formula,
- not a variational quadrature rule,
- not a container of weights.
Its purpose is to cache the geometric realization of a quadrature formula on a polytope so that repeated integration passes can reuse mapped Point objects.
Architecture
Construction evaluates the transformation's quadrature Jacobians in one bulk call and places each matrix in its point's existing owned cache. Parametric transformations can therefore reuse reference derivatives without retaining mapped geometry for previously traversed cells. Physical coordinates and derived inverse, determinant and distortion remain lazy. No point borrows a formula or element table. Temporary Jacobian storage and retained points are both bounded by the current formula's size.
Constructors, destructors, conversion operators
-
PolytopeQuadrature(const Polytope& polytope,
const QF::
QuadratureFormula& qf) - Constructs the realized quadrature on a polytope.
Public functions
-
auto getQuadratureFormula() const -> const QF::
QuadratureFormula& - Gets the reference quadrature formula used to build this object.
- auto getSize() const -> size_t
- Gets the number of mapped quadrature points.
- auto getPoint(size_t i) const -> const Point&
- Gets a mapped quadrature point by index.
Function documentation
PolytopeQuadrature(const Polytope& polytope,
const QF:: QuadratureFormula& qf)
Constructs the realized quadrature on a polytope.
| Parameters | |
|---|---|
| polytope in | Concrete mesh polytope |
| qf in | Reference quadrature formula |
The formula remains immutable throughout construction. After bulk Jacobian evaluation, the returned array supplies point-storage size and logical sample order. Debug builds independently assert agreement with the formula size; release construction does not query size again. No additional retained cache or collective operation is introduced. Sample order, reference coordinates and owned Jacobians are unchanged.
const QF:: QuadratureFormula& getQuadratureFormula() const
Gets the reference quadrature formula used to build this object.
| Returns | Reference to the quadrature formula |
|---|
size_t getSize() const
Gets the number of mapped quadrature points.
| Returns | Number of quadrature points |
|---|