Loading...
Searching...
No Matches
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< 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 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< 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_type | The cell type
  [in] | x | Interpolation points for the element. Indices are (tdim, entity index, point index, dim)
  [in] | M | Interpolation matrix for the element. Indices are (tdim, entity index, dof, vs, point_index, derivative)
  [in] | coeffs | The 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] | degree | The degree of the element
  [in] | vs | The value size of the element
  [in] | map_type | The map type used by the element
  [in] | ptype | The polyset type used by the element

Returns
  Entity transformations. For each cell, the shape is (ntransformation, ndofs, ndofs)