svMultiPhysics
Loading...
Searching...
No Matches
Public Member Functions | List of all members
svmp::FE::quadrature::QuadratureRule Class Referencefinal

Owning value type for quadrature rules on canonical reference cells. More...

#include <QuadratureRule.h>

Public Member Functions

 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().
 

Detailed Description

Owning value type for quadrature rules on canonical reference cells.

Construction requires:

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.

Constructor & Destructor Documentation

◆ QuadratureRule()

svmp::FE::quadrature::QuadratureRule::QuadratureRule ( svmp::CellFamily  family,
int  polynomial_exactness,
std::vector< QuadPoint >  points,
std::vector< double >  weights 
)
explicit

Construct a rule from complete point and weight data.

Parameters
familyReference-cell family; also determines dimension and measure.
polynomial_exactnessDeclared total-degree polynomial exactness.
pointsOrdered reference coordinates.
weightsWeights paired with points.
Exceptions
InvalidArgumentExceptionIf a construction requirement is violated.

Member Function Documentation

◆ cell_family()

svmp::CellFamily svmp::FE::quadrature::QuadratureRule::cell_family ( ) const
inlinenoexcept

Return the canonical reference-cell family.

◆ dimension()

std::size_t svmp::FE::quadrature::QuadratureRule::dimension ( ) const

Return the reference dimension and active QuadPoint component count.

◆ num_points()

std::size_t svmp::FE::quadrature::QuadratureRule::num_points ( ) const
inlinenoexcept

Return the number of point/weight pairs.

◆ point()

const QuadPoint & svmp::FE::quadrature::QuadratureRule::point ( std::size_t  i) const
inlinenoexcept

Return point i without bounds checking.

Precondition
i is less than num_points().

◆ points()

std::span< const QuadPoint > svmp::FE::quadrature::QuadratureRule::points ( ) const
inlinenoexcept

Return a read-only view of all points in integration order.

◆ polynomial_exactness()

int svmp::FE::quadrature::QuadratureRule::polynomial_exactness ( ) const
inlinenoexcept

Return the declared total-degree polynomial exactness.

◆ reference_cell_measure()

double svmp::FE::quadrature::QuadratureRule::reference_cell_measure ( ) const

Return the reference-cell measure derived from cell_family().

◆ weight()

double svmp::FE::quadrature::QuadratureRule::weight ( std::size_t  i) const
inlinenoexcept

Return the weight paired with point i without bounds checking.

Precondition
i is less than num_points().

◆ weights()

std::span< const double > svmp::FE::quadrature::QuadratureRule::weights ( ) const
inlinenoexcept

Return a read-only view of all weights in point order.


The documentation for this class was generated from the following files: