Basix 0.10.0.0

Home     Installation     Demos     C++ docs     Python docs

basix::doftransforms Namespace Reference

Functions to transform DOFs in high degree Lagrange spaces. The functions in this namespace calculate the permutations that can be used to rotate and reflect DOF points in Lagrange spaces. More...

Functions

template<std::floating_point T>
std::map< cell::type, std::pair< std::vector< T >, std::array< std::size_t, 3 > > > compute_entity_transformations (cell::type cell_type, std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 >>>, 4 > x, std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 4 >>>, 4 > M, MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 >> coeffs, int degree, std::size_t vs, maps::type map_type, polyset::type ptype)
 Compute the entity DOF transformations for an element. More...
 

Detailed Description

Functions to transform DOFs in high degree Lagrange spaces. The functions in this namespace calculate the permutations that can be used to rotate and reflect DOF points in Lagrange spaces.

Function Documentation

◆ compute_entity_transformations()

template<std::floating_point T>
std::map< cell::type, std::pair< std::vector< T >, std::array< std::size_t, 3 > > > basix::doftransforms::compute_entity_transformations ( cell::type  cell_type,
std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 >>>, 4 >  x,
std::array< std::vector< MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 4 >>>, 4 >  M,
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const T, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 >>  coeffs,
int  degree,
std::size_t  vs,
maps::type  map_type,
polyset::type  ptype 
)

Compute the entity DOF transformations for an element.

Parameters
[in]cell_typeThe cell type
[in]xInterpolation points for the element. Indices are (tdim, entity index, point index, dim)
[in]MInterpolation matrix for the element. Indices are (tdim, entity index, dof, vs, point_index, derivative)
[in]coeffsThe coefficients that define the basis functions of the element in terms of the orthonormal basis. Shape is (dim(Legendre polynomials), dim(finite element polyset))
[in]degreeThe degree of the element
[in]vsThe value size of the element
[in]map_typeThe map type used by the element
[in]ptypeThe polyset type used by the element
Returns
Entity transformations. For each cell, the shape is (ntransformation, ndofs, ndofs)