Functions to create integral moment DOFs. More...
Functions | |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > | make_integral_moments (const FiniteElement &moment_space, cell::type celltype, std::size_t value_size, int q_deg) |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > | make_dot_integral_moments (const FiniteElement &V, cell::type celltype, std::size_t value_size, int q_deg) |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > | make_tangent_integral_moments (const FiniteElement &V, cell::type celltype, std::size_t value_size, int q_deg) |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > | make_normal_integral_moments (const FiniteElement &V, cell::type celltype, std::size_t value_size, int q_deg) |
Functions to create integral moment DOFs.
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > basix::moments::make_dot_integral_moments | ( | const FiniteElement & | V, |
cell::type | celltype, | ||
std::size_t | value_size, | ||
int | q_deg | ||
) |
Make interpolation points and weights for dot product integral moments
These will represent the integral of each function in the moment space over each sub entity of the moment space's cell type in a cell with the given type. For example, if the input cell type is a triangle and the moment space is a P1 space on an edge, this will perform two integrals for each of the 3 edges of the triangle.
value_size
.V | The space to compute the integral moments against |
celltype | The cell type of the cell on which the space is being defined |
value_size | The value size of the space being defined |
q_deg | The quadrature degree used for the integrals |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > basix::moments::make_integral_moments | ( | const FiniteElement & | moment_space, |
cell::type | celltype, | ||
std::size_t | value_size, | ||
int | q_deg | ||
) |
Make interpolation points and weights for simple integral moments
These will represent the integral of each function in the moment space over each sub entity of the moment space's cell type in a cell with the given type. For example, if the input cell type is a triangle, and the moment space is a P1 space on an edge, this will perform two integrals for each of the 3 edges of the triangle.
moment_space | The space to compute the integral moments against |
celltype | The cell type of the cell on which the space is being defined |
value_size | The value size of the space being defined |
q_deg | The quadrature degree used for the integrals |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > basix::moments::make_normal_integral_moments | ( | const FiniteElement & | V, |
cell::type | celltype, | ||
std::size_t | value_size, | ||
int | q_deg | ||
) |
Compute interpolation points and weights for normal integral moments
These can only be used when the moment space is defined on facets of the cell
[in] | V | The space to compute the integral moments against |
[in] | celltype | The cell type of the cell on which the space is being defined |
[in] | value_size | The value size of the space being defined |
[in] | q_deg | The quadrature degree used for the integrals |
std::pair< std::vector< xt::xtensor< double, 2 > >, std::vector< xt::xtensor< double, 3 > > > basix::moments::make_tangent_integral_moments | ( | const FiniteElement & | V, |
cell::type | celltype, | ||
std::size_t | value_size, | ||
int | q_deg | ||
) |
Make interpolation points and weights for tangent integral moments
These can only be used when the moment space is defined on edges of the cell
V | The space to compute the integral moments against |
celltype | The cell type of the cell on which the space is being defined |
value_size | The value size of the space being defined the space |
q_deg | The quadrature degree used for the integrals |