Skip to content
Snippets Groups Projects
Commit e13b19c0 authored by Oliver Sander's avatar Oliver Sander
Browse files

UGGridRenumberer: Add faceEdgeDUNEtoUG and faceVertexDUNEtoUG

parent faf5cc06
Branches
No related tags found
1 merge request!760Implement subIndex for 3D edges and corners
Pipeline #77822 failed
......@@ -412,6 +412,46 @@ namespace Dune {
return i;
}
/** \brief For a given element side, renumber subvertex numbers
* from Dune numbering to UG numbering
*/
static int faceVertexDUNEtoUG(GeometryType element, int side, int subVertex)
{
const auto refElement = referenceElement<double,3>(element);
const auto sideType = refElement.type(facesUGtoDUNE(side,element),1);
if (sideType.isTriangle())
return subVertex;
// If it's not a triangle it must be a quadrilateral
const int renumbering[4] = {0, 1, 3, 2};
return renumbering[subVertex];
}
/** \brief For a given element side, renumber subedge numbers
* from Dune numbering to UG numbering
*/
static int faceEdgeDUNEtoUG(GeometryType element, int side, int subEdge)
{
const auto refElement = referenceElement<double,3>(element);
const auto sideType = refElement.type(facesUGtoDUNE(side,element),1);
if (sideType.isTriangle())
{
constexpr int renumbering[3] = {0, 2, 1};
return renumbering[subEdge];
}
// If it's not a triangle it must be a quadrilateral
constexpr int renumbering[4] = {2, 1, 3, 0};
return renumbering[subEdge];
}
};
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment