CGAL exception with UnitTet mesh when calling all_intersected_entities() or any_intersected_entities()

Bug #781885 reported by Neilen Marais
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Invalid
Medium
Andre Massing

Bug Description

Running

from dolfin import *

mesh = UnitTetrahedron()
mesh.all_intersected_entities(Point(0,0,0))

results in

/tmp/python-1850ZRE.py in <module>()
      1 from dolfin import *
      2
      3 mesh = UnitTetrahedron()
----> 4 mesh.all_intersected_entities(Point(0,0,0))

StandardError: CGAL ERROR: assertion violation!
Expr: m_primitives.size() > 1
File: /usr/include/CGAL/AABB_tree.h
Line: 470

This is running a devlopment version, revision 5840, bzr+ssh://bazaar.launchpad.net/%2Bbranch/dolfin/ on 64bit Ubuntu 10.10

Changed in dolfin:
milestone: none → 0.9.12
Anders Logg (logg)
Changed in dolfin:
assignee: nobody → Andre Massing (massing)
importance: Undecided → Medium
Anders Logg (logg)
Changed in dolfin:
milestone: 1.0-beta → 1.0-rc1
Andre Massing (massing)
Changed in dolfin:
status: New → Confirmed
Revision history for this message
Andre Massing (massing) wrote :

Thanks for the bug report.
I mark that bug as invalid/won't fix since that is expected behavior in the sense that because of a limited precision for the standard geometry kernel, there are case where such exceptions do occur, especially if you take an subentity of an element (here a point which is a vertex of the cell)
 A current workaround is to not use the intersection related member functions in the Mesh class but to initiate a separate IntersectionOperator which gives a more fine-grained control over the geometric kernel. Either use "ExactPredicates" in the constructor or reset it via the reset_kernel member function (in IntersectionOperator class). One may discuss whether and how this might be controlled from within the mesh class, suggestion are very welcome!

Changed in dolfin:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.