Non-compliance with UFC entity ordering scheme

Issue #888 new
Jan Blechta created an issue

UFC requires ordering of subentities of dimension d' of any entity of dimension d with d'<d as described in chapter 5 of UFC manual. Simply said, global indices of the subentities must be increasing. DOLFIN does not respect this except when d' == 0. This is demonstrated by deleting if d1 != 0: continue block in the test.

Comments (3)

  1. Prof Garth Wells

    I'm a bit confused by this report.

    • Has this been fixed, or not, with recent topology computation changes?
    • The UFC specification was no well considered with respect to global vs local (process-wise) numbering. It is generally more convenient to work with local indices.
  2. Jan Blechta reporter

    Sorry for being to terse before. It seems to me that DOLFIN (before 2016.1.0 and after the recent fix c9bad0e2065a8ae1c7ae5c9c7093fc6e985f4d29) respects UFC rule of increasing indexing for d-0 connectivity with global (process-wise) indices for any d. On the other hand the same rule for d-d' connectivity with d > d' > 0 is not, and probably never was, respected. This is all demonstrated in the test https://bitbucket.org/fenics-project/dolfin/src/2570a75ba20ce79b6fd5142e000dc0d4b0148465/test/unit/python/mesh/test_mesh.py?at=master&fileviewer=file-view-default#test_mesh.py-579.

    To be honest I am not even sure whether such a numbering is guaranteed to exist. I am just throwing this for a discussion.

  3. Jan Blechta reporter

    Shortly,

    • no, this has not been fixed, except of special case when d' == 0,
    • ok, I can imagine that the complete UFC scheme is not practical and d' == 0 case is sufficient.
  4. Log in to comment