IntegrationPoint

Evaluation point used by variational operators.

Defined in Rodin/Variational/IntegrationPoint.h

class IntegrationPoint;

An IntegrationPoint borrows a geometric point and optionally records the formula/index of its originating integration loop. This sampling metadata does not certify that the point still has that formula's reference coordinates: mapping a face sample into a cell changes the chart.

Reference association

Construction from PolytopeQuadrature and a logical index establishes reference association through owned samples, without coordinate comparisons. getReferenceQuadratureFormula returns that formula only when construction established this reference association. Direct point/formula/index construction records provenance only. Reference tabulation and coordinate-sensitive reuse must use the reference accessor; an absent association selects the supplied point's reference coordinates. Coefficient snapshots may still use the originating sampling metadata.

Constructors, destructors, conversion operators

IntegrationPoint(const Geometry::Point& p)
Constructs an integration point from a geometric point.
IntegrationPoint(const Geometry::Point& p, const QF::QuadratureFormula* qf, size_t qp)
Records sampling provenance without certifying reference coordinates.
IntegrationPoint(const Geometry::PolytopeQuadrature& quadrature, size_t qp)
Borrows an owned mapped sample with logical reference association.

Public functions

auto getPoint() const -> const Geometry::Point&
auto getQuadratureFormula() const -> const QF::QuadratureFormula*
auto getReferenceQuadratureFormula() const -> const QF::QuadratureFormula* noexcept
Returns the logically certified reference formula, when available.
auto getIndex() const -> size_t

Function documentation

IntegrationPoint(const Geometry::Point& p)

Constructs an integration point from a geometric point.

Parameters
p Point at which the operation is evaluated.

IntegrationPoint(const Geometry::Point& p, const QF::QuadratureFormula* qf, size_t qp)

Records sampling provenance without certifying reference coordinates.

Parameters
p in Geometric point, possibly mapped from the quadrature sample into another polytope
qf in Non-owning pointer to the quadrature formula that owns the sample indexing, or nullptr for direct pointwise evaluation
qp in Quadrature sample index in qf

IntegrationPoint(const Geometry::PolytopeQuadrature& quadrature, size_t qp)

Borrows an owned mapped sample with logical reference association.

Parameters
quadrature Owner of the mapped point and its reference association.
qp Logical sample index in the mapped quadrature.

No reference to the quadrature container is retained. The point and formula must outlive this binding, including after a container move. The formula is immutable and retained until process termination. Geometry changes require normal mapped-point reconstruction and rebinding.

const Geometry::Point& getPoint() const

Returns Underlying geometric point context.

const QF::QuadratureFormula* getQuadratureFormula() const

Returns Non-owning pointer to the quadrature formula, or nullptr when this integration point is not in a quadrature context.

const QF::QuadratureFormula* getReferenceQuadratureFormula() const noexcept

Returns the logically certified reference formula, when available.

Returns Formula authorizing reference tabulation, or nullptr.

Reference association is established by construction, without coordinate comparisons. Reads are local and non-collective.

size_t getIndex() const

Returns Quadrature index associated with this point.