dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #04374
Re: Vertex ordering
On Thu, Mar 01, 2007 at 10:13:00AM +0100, Johan Jansson wrote:
> Hi!
>
> I've made the assumption that the ordering of the vertices in a
> physical triangle are counter-clockwise. Can I make this assumption?
No, unfortunately not. The new ordering means that the vertices are
always ordered by ascending global index:
15 19 25
15 17 25
etc
The orientation depends on how the vertices happen to be numbered.
This makes life much easier when dealing with degrees of freedom on
edges and facets. For example, two adjacent triangles will always
agree on the direction of a common edge:
25______17
/\ /
/ \ /
/ \ /
/______\/
19 15
Here, the common edge is from 15 --> 25. The left triangle is
clockwise and the right one is counter-clockwise in the plane.
Note that no special ordering can be assumed if the mesh has not been
ordered. If you just read a mesh from file, then the ordering depends
on how the vertices happen to be numbered in that file. To order a
mesh, just do
mesh.order();
Every ordered mesh follows the convention in the UFC, FFC and DOLFIN
manuals (unless there is a bug in the implementation).
> (I have a mesh now where this is not true) If not, then we need
> functions for computing the orientation (and the corresponding in
> 3D). Alternatively we need to enforce the ordering.
>
> Or have I missed something?
I think we had a function orientation() a while back that computed the
orientation of a cell (it has not been ported to the new
mesh). Perhaps this can be readded?
/Anders
Follow ups
References