Note: this is documentation for an old release. View the latest documentation at docs.fenicsproject.org/basix/v0.9.0/cpp/namespacebasix_1_1doftransforms.html

Basix 0.6.0

Home     Installation     Demos     C++ docs     Python docs

Functions
basix::doftransforms Namespace Reference

Functions

std::map< cell::type, std::pair< std::vector< double >, std::array< std::size_t, 3 > > > compute_entity_transformations (cell::type cell_type, const std::array< std::vector< std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 2 >>>, 4 > &x, const std::array< std::vector< std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 4 >>>, 4 > &M, const std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 2 >> &coeffs, int degree, std::size_t vs, maps::type map_type)
 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()

std::map< cell::type, std::pair< std::vector< double >, std::array< std::size_t, 3 > > > basix::doftransforms::compute_entity_transformations ( cell::type  cell_type,
const std::array< std::vector< std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 2 >>>, 4 > &  x,
const std::array< std::vector< std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 4 >>>, 4 > &  M,
const std::experimental::mdspan< const double, std::experimental::dextents< std::size_t, 2 >> &  coeffs,
int  degree,
std::size_t  vs,
maps::type  map_type 
)

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
Returns
Entity transformations. For each cell, the shape is (ntransformation, ndofs, ndofs)