On orienting edges of unstructured two- and three-dimensional meshes
Rainer Agelek, Michael Anderson, Wolfgang Bangerth, William Barth

TL;DR
This paper investigates how to assign consistent orientations to edges in unstructured 2D and 3D meshes, simplifying data structures for finite element codes and providing an efficient $O(N)$ algorithm for 2D meshes, while highlighting limitations in 3D.
Contribution
It introduces an $O(N)$ algorithm for orienting 2D meshes and characterizes when consistent orientations are possible in 3D meshes, improving mesh data structure efficiency.
Findings
Quadrilateral meshes in deal.II can always be oriented consistently.
3D hexahedral meshes do not always admit consistent orientations.
The algorithm efficiently orients meshes or identifies cases where it cannot.
Abstract
Finite element codes typically use data structures that represent unstructured meshes as collections of cells, faces, and edges, each of which require associated coordinate systems. One then needs to store how the coordinate system of each edge relates to that of neighboring cells. On the other hand, we can simplify data structures and algorithms if we can a priori orient coordinate systems in such a way that the coordinate systems on the edges follows uniquely from those on the cells \textit{by rule}. Such rules require that \textit{every} unstructured mesh allows assigning directions to edges that satisfy the convention in adjacent cells. We show that the convention chosen for unstructured quadrilateral meshes in the \texttt{deal.II} library always allows to orient meshes. It can therefore be used to make codes simpler, faster, and less bug prone. We present an algorithm that…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
