Rodin::Geometry::PolytopeQuadrature class

Cached quadrature attached to one specific polytope.

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::QuadratureFormulaBase& qf)
Constructs the realized quadrature on a polytope.

Public functions

auto getQuadratureFormula() const -> const QF::QuadratureFormulaBase&
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

Rodin::Geometry::PolytopeQuadrature::PolytopeQuadrature(const Polytope& polytope, const QF::QuadratureFormulaBase& qf)

Constructs the realized quadrature on a polytope.

Parameters
polytope in Concrete mesh polytope
qf in Reference quadrature formula

const QF::QuadratureFormulaBase& Rodin::Geometry::PolytopeQuadrature::getQuadratureFormula() const

Gets the reference quadrature formula used to build this object.

Returns Reference to the quadrature formula

size_t Rodin::Geometry::PolytopeQuadrature::getSize() const

Gets the number of mapped quadrature points.

Returns Number of quadrature points

const Point& Rodin::Geometry::PolytopeQuadrature::getPoint(size_t i) const

Gets a mapped quadrature point by index.

Parameters
i in Quadrature point index
Returns Reference to the mapped point