QuadratureRule.h file
H1 quadrature rules with point-local reference-table borrowing.
Coefficient evaluation and reference data
A coefficient callback may query unrelated reference formulas and evict a bounded reference-table slot. Coefficient-bearing rules evaluate owned coefficient values before borrowing the tables consumed by that stage. No table contents are read across a later arbitrary coefficient callback. This protocol preserves the bounded store and requires no new cache, coordinate comparisons or distributed communication.
Namespaces
- namespace Rodin
- The Rodin library for finite element methods and shape optimization.
- namespace Rodin::Variational
- Finite element spaces, fields, and variational problems.
Classes
-
template<size_t K, class NestedDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<ShapeFunctionBase<ShapeFunction<NestedDerived, H1<K, Scalar, Mesh>, TestSpace>, H1<K, Scalar, Mesh>, TestSpace>>
- Specialization for with an H1 test shape function.
-
template<size_t K, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<ShapeFunctionBase<Dot<FunctionBase<LHSDerived>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<K, Scalar, Mesh>, TestSpace>, H1<K, Scalar, Mesh>, TestSpace>>, H1<K, Scalar, Mesh>, TestSpace>>
- Specialization for with an H1 test shape function.
-
template<size_t KTrial, size_t KTest, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<class Expression>struct Rodin::Variational::H1MassOperands
- Certifies the plain-leaf operands of an H1 weighted mass expression.
-
template<size_t K, class CoefficientDerived, class Derived, class Range, class Mesh>struct Rodin::Variational::H1MassOperands<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<ShapeFunction<Derived, H1<K, Range, Mesh>, TrialSpace>, H1<K, Range, Mesh>, TrialSpace>>>
- Retains the existing left-coefficient mass applicability.
-
template<size_t K, class Derived, class Range, class Mesh, class CoefficientDerived>struct Rodin::Variational::H1MassOperands<Mult<ShapeFunctionBase<ShapeFunction<Derived, H1<K, Range, Mesh>, TrialSpace>, H1<K, Range, Mesh>, TrialSpace>, FunctionBase<CoefficientDerived>>>
- Certifies scalar right scaling of aggregate H1 carriers.
-
template<size_t KTrial, size_t KTest, class LeftOperand, class RightOperand, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Mult<LeftOperand, RightOperand>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Weighted mass quadrature for plain H1 trial and test leaves.
-
template<size_t KTrial, size_t KTest, class CoefficientDerived, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class CoefficientDerived, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Mult<FunctionBase<CoefficientDerived>, Dot<ShapeFunctionBase<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>, H1<KTest, Scalar, Mesh>, TestSpace>>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class LHSDerived, class RHSDerived, class TrialRange, class TestRange, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Div<ShapeFunction<LHSDerived, H1<KTrial, TrialRange, Mesh>, TrialSpace>>, H1<KTrial, TrialRange, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<KTest, TestRange, Mesh>, TestSpace>, H1<KTest, TestRange, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class LHSDerived, class RHSDerived, class TrialRange, class TestRange, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<ShapeFunction<LHSDerived, H1<KTrial, TrialRange, Mesh>, TrialSpace>, H1<KTrial, TrialRange, Mesh>, TrialSpace>, ShapeFunctionBase<Div<ShapeFunction<RHSDerived, H1<KTest, TestRange, Mesh>, TestSpace>>, H1<KTest, TestRange, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class CoefficientDerived, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Mult<FunctionBase<CoefficientDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Grad<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<Grad<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.
-
template<size_t KTrial, size_t KTest, class CoeffDerived, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Dot<FunctionBase<CoeffDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<Dot<FunctionBase<CoeffDerived>, ShapeFunctionBase<Jacobian<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Integration of a rank-one form in the H1 Jacobian of ShapeFunction.
-
template<size_t KTrial, size_t KTest, class CoefficientDerived, class LHSDerived, class RHSDerived, class Scalar, class Mesh>class Rodin::Variational::QuadratureRule<Dot<ShapeFunctionBase<Mult<ShapeFunctionBase<Jacobian<ShapeFunction<LHSDerived, H1<KTrial, Scalar, Mesh>, TrialSpace>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, FunctionBase<CoefficientDerived>>, H1<KTrial, Scalar, Mesh>, TrialSpace>, ShapeFunctionBase<ShapeFunction<RHSDerived, H1<KTest, Scalar, Mesh>, TestSpace>, H1<KTest, Scalar, Mesh>, TestSpace>>>
- Specialization for with H1 trial and test shape functions.