Basix
Functions
basix::dofperms Namespace Reference

Functions

std::vector< int > interval_reflection (int degree)
 
std::vector< int > triangle_reflection (int degree)
 
std::vector< int > triangle_rotation (int degree)
 
std::vector< int > quadrilateral_reflection (int degree)
 
std::vector< int > quadrilateral_rotation (int degree)
 
ndarray< double, 2 > interval_reflection_tangent_directions (int degree)
 
ndarray< double, 2 > triangle_reflection_tangent_directions (int degree)
 
ndarray< double, 2 > triangle_rotation_tangent_directions (int degree)
 

Detailed Description

Functions to help with the creation of DOF permutation and direction correction.

Function Documentation

◆ interval_reflection()

std::vector<int> basix::dofperms::interval_reflection ( int  degree)

Reflect the DOFs on an interval

Parameters
degreeThe number of DOFs on the interval
Returns
A reordering of the numbers 0 to degree-1 representing the permutation

◆ interval_reflection_tangent_directions()

ndarray<double, 2> basix::dofperms::interval_reflection_tangent_directions ( int  degree)

Generate a matrix to correct the direction of tangent vector-values DOFs on an interval when that interval is reflected

Parameters
degreeThe number of DOFs on the interval
Returns
A matrix representing the effect of reversing the edge on the DOF values

◆ quadrilateral_reflection()

std::vector<int> basix::dofperms::quadrilateral_reflection ( int  degree)

Reflect the DOFs on a quadrilateral

Parameters
degreeThe number of DOFs along one side of the quadrilateral
Returns
A reordering of the numbers 0 to degree*degree-1 representing the permutation

◆ quadrilateral_rotation()

std::vector<int> basix::dofperms::quadrilateral_rotation ( int  degree)

Rotate the DOFs on a quadrilateral

Parameters
degreeThe number of DOFs along one side of the quadrilateral
Returns
A reordering of the numbers 0 to degree*degree-1 representing the permutation

◆ triangle_reflection()

std::vector<int> basix::dofperms::triangle_reflection ( int  degree)

Reflect the DOFs on a triangle

Parameters
degreeThe number of DOFs along one side of the triangle
Returns
A reordering of the numbers 0 to (degree)*(degree+1)/2-1 representing the permutation

◆ triangle_reflection_tangent_directions()

ndarray<double, 2> basix::dofperms::triangle_reflection_tangent_directions ( int  degree)

Generate a matrix to correct the direction of tangent vector-values DOFs on a triangle when that triangle is reflected

Parameters
degreeThe number of DOFs along one side of the triangle
Returns
A matrix representing the effect of reflecting the triangle edge on the DOF values

◆ triangle_rotation()

std::vector<int> basix::dofperms::triangle_rotation ( int  degree)

Rotate the DOFs on a triangle

Parameters
degreeThe number of DOFs along one side of the triangle
Returns
A reordering of the numbers 0 to (degree)*(degree+1)/2-1 representing the permutation

◆ triangle_rotation_tangent_directions()

ndarray<double, 2> basix::dofperms::triangle_rotation_tangent_directions ( int  degree)

Generate a matrix to correct the direction of tangent vector-values DOFs on a triangle when that triangle is rotated

Parameters
degreeThe number of DOFs along one side of the triangle
Returns
A matrix representing the effect of rotating the triangle edge on the DOF values