Skip to content

Namespace ae108::elements::quadrature

Namespace List > ae108 > elements > quadrature

Integrate a function over a reference element. More...

Classes

Type Name
struct IntegrateTrait <class Quadrature>
struct IntegrateTrait< Quadrature< Type_, Dimension_, Order_ > > <Type_, Dimension_, Order_>
struct Quadrature <Type_, Dimension_, Order_>
Contains a static member "data" that contains the points and weights.
struct Quadrature< QuadratureType::Cube, 1, 1 > <>
struct Quadrature< QuadratureType::Cube, 1, 3 > <>
struct Quadrature< QuadratureType::Cube, 1, 5 > <>
struct Quadrature< QuadratureType::Cube, 1, 7 > <>
struct Quadrature< QuadratureType::Cube, 1, 9 > <>
struct Quadrature< QuadratureType::Cube, 2, 1 > <>
struct Quadrature< QuadratureType::Cube, 2, 3 > <>
struct Quadrature< QuadratureType::Cube, 2, 5 > <>
struct Quadrature< QuadratureType::Cube, 2, 7 > <>
struct Quadrature< QuadratureType::Cube, 2, 9 > <>
struct Quadrature< QuadratureType::Cube, 3, 1 > <>
struct Quadrature< QuadratureType::Cube, 3, 3 > <>
struct Quadrature< QuadratureType::Cube, 3, 5 > <>
struct Quadrature< QuadratureType::Cube, 3, 7 > <>
struct Quadrature< QuadratureType::Cube, 3, 9 > <>
struct Quadrature< QuadratureType::Simplex, 2, 1 > <>
struct Quadrature< QuadratureType::Simplex, 2, 2 > <>
struct Quadrature< QuadratureType::Simplex, 2, 3 > <>
struct Quadrature< QuadratureType::Simplex, 3, 1 > <>
struct Quadrature< QuadratureType::Simplex, 3, 2 > <>
struct Quadrature< QuadratureType::Simplex, 3, 3 > <>
struct Quadrature< QuadratureType::Simplex, 3, 4 > <>
struct QuadratureBase <class SizeType_, class PointType_, class WeightType_, Size_>

Public Types

Type Name
enum std::uint8_t QuadratureType
typedef QuadratureBase< std::size_t, tensor::Tensor< double, Dimension_ >, double, Size_ > TensorQuadrature

Public Static Attributes

Type Name
constexpr double SQRT_5 = =
2.2360679774997896964091736687312762354406183596115257242708972454
constexpr double SQRT_70 = =
8.3666002653407554797817202578518748939281536929867219981119154308

Public Functions

Type Name
constexpr std::decay_t< R > integrate (F && f, R && init, const typename Quadrature::template Collection< Args > &... args)
Integrates the function f and adds the result to init. The function f is called with the parameters id, point, args_1, args_2, ... . Here, "id" is the quadrature point id, "point" is the quadrature point, and "args_1" is the element of the first args corresponding to the quadrature point id.

Detailed Description

Provides a trait to integrate a function over a reference element.

This trait is implemented for a set of quadrature rules and a script to generate them automatically.

Public Types Documentation

enum QuadratureType

enum ae108::elements::quadrature::QuadratureType {
    Cube,
    Simplex
};

typedef TensorQuadrature

using ae108::elements::quadrature::TensorQuadrature = typedef QuadratureBase<std::size_t, tensor::Tensor<double, Dimension_>, double, Size_>;

Public Static Attributes Documentation

variable SQRT_5

constexpr double ae108::elements::quadrature::SQRT_5;

variable SQRT_70

constexpr double ae108::elements::quadrature::SQRT_70;

Public Functions Documentation

function integrate

Integrates the function f and adds the result to init. The function f is called with the parameters id, point, args_1, args_2, ... . Here, "id" is the quadrature point id, "point" is the quadrature point, and "args_1" is the element of the first args corresponding to the quadrature point id.

template<class Quadrature, class R, class F, class... Args>
constexpr std::decay_t< R > ae108::elements::quadrature::integrate (
    F && f,
    R && init,
    const typename Quadrature::template Collection< Args > &... args
) 



The documentation for this class was generated from the following file elements/src/include/ae108/elements/quadrature/integrate.h