[petsc-users] orientation semantics for DMPlex

Matthew Knepley knepley at gmail.com
Fri Nov 22 05:08:02 CST 2013


On Thu, Nov 21, 2013 at 8:12 PM, Geoffrey Irving <irving at naml.us> wrote:

> What are the orientation semantics of DMPlex?  I figured if I listed
> the edges of each triangle in counterclockwise order it would come out
> right, but it appears to be right for some triangles and wrong for
> others.  Do I always have to call DMPlexSetConeOrientation?
>
> Unfortunately, I haven't yet grasped the documentation for
> DMPlexSetConeOrientation.
>

This is because I have kept changing my mind. There is the way it is, and
the way I want it to be now. So, the way it is:

  All cone arrows have an orientation attached. This indicates the order in
which the _next_ cone (of that cone point) should be read out. The order
is cyclic. A positive integer p means "start from vertex p instead of 0". A
negative integer q means "start from -(q+1) and go backward".

The important thing to remember here is that this is ordering only the cone
points, and is composed with higher level ordering when reading out the
full closure is 3D. I have considered changing the semantics for negative
values to start at -(coneSize-q+1) since then negation does what you think
it should (go backwards from the guy just before), but then all the routines
needs to know the coneSize which is not great.

The reason that your example does not work is that triangles on opposite
sides
of an edge must have the opposite orientation for that edge. For example, an
edge e = {v0, v1} lies between two triangles. Now the cone of e will always
come
out {v0, v1}. In triangle 0 that is fine, but in triangle 1 it needs to be
{v1, v0} if all
triangles are oriented counter-clockwise, so we need orientation -2 for
that edge
in the cone of triangle 1.

  Thanks,

      Matt


> Thanks,
> Geoffrey
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20131122/0d3b32bf/attachment.html>


More information about the petsc-users mailing list