Basix 0.12.0.dev0
Loading...
Searching...
No Matches
Functions
basix::doftransforms Namespace Reference

Functions to compute the DOF transformations (rotations and reflections of entity DOFs) needed by a finite element under a change of entity orientation. 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< md::mdspan< const T, md::dextents< std::size_t, 2 > > >, 4 > x, std::array< std::vector< md::mdspan< const T, md::dextents< std::size_t, 4 > > >, 4 > M, md::mdspan< const T, md::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.
 

Detailed Description

Functions to compute the DOF transformations (rotations and reflections of entity DOFs) needed by a finite element under a change of entity orientation.

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< md::mdspan< const T, md::dextents< std::size_t, 2 > > >, 4 >  x,
std::array< std::vector< md::mdspan< const T, md::dextents< std::size_t, 4 > > >, 4 >  M,
md::mdspan< const T, md::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 (number of basis functions of the element, dim(Legendre polynomials))
[in]degreeThe embedded superdegree of the element (the lowest degree n such that the element's polynomial set is a subspace of a Lagrange element of degree n)
[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)