On Fri, Aug 4, 2023 at 12:06 PM onur.notonur via petsc-users < petsc-users@mcs.anl.gov> wrote:
> Hi, > > I'm currently working with 3D DMPlex and performing crucial calculations > involving face normals and edge tangents. I've noticed that face normals > are directed from support[0] to support[1]. > That is an accident of implementation and not enforced. > However, I'm uncertain about the conventions for edges and vertices in > relation to faces. Specifically, I need to determine the order of vertices > that create a surface and whether they are stored in a counter-clockwise > (CCW) or clockwise (CW) manner. As DMPlex follows a hierarchy of > cell-face-edge-vertex, my main question becomes about the orientation of > edges. Any clarification on this aspect would be immensely helpful! > 1) All computed quantities follow the closure ordering, namely that the order that vertices come out in the DMPlexGetTransitiveClosure() call is the one used for computing. 2) Closures are always ordered to produce outward normals 3) Since we build k-cells out of k-1 cells, the k-1 cells _already_ have an ordering before I make my k-cell. Thus I have to tell you how to order the k-1 cell, with respect to its closure ordering, when you are building your k-cell. This is what an "orientation" is, namely a representation of the dihedral group for that k-1 cell. Example: A segment has two orientations, which we label 0 and -1. When we build a triangle out of segments, we order them counter-clockwise, so that the normals are all outward. The same thing is done for quads. Triangles have 6 orientations, all the permutations of the edges. We pick one when making tetrahedra such that the normals are outward _and_ the vertices are in the closure order. > Additionally, I'm unfamiliar with most of the terms used in DMPlex. For > example "orientation" in DMPlexGetConeOrientation. If you could suggest > some readings or resources that explain these concepts, I would greatly > appreciate it. > I am finishing up my book on it, which I will post. To start, here is a paper https://arxiv.org/abs/2004.08729 Thanks, Matt > Thx, > Onur > Sent with Proton Mail <https://proton.me/> secure email. > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>