Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Meshing of polyhedron persistently fails

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Meshing of polyhedron persistently fails


Chronological Thread 
  • From: Phil Weir <>
  • To:
  • Subject: Re: [cgal-discuss] Meshing of polyhedron persistently fails
  • Date: Wed, 30 Oct 2013 17:28:03 +0000
  • Organization: NUMA Engineering Services Ltd.

On 10/17/2013 05:57 PM, Garth N. Wells wrote:
I'm trying to create a volume mesh of a polyhedron with many faces, but I keep getting the error:

construct initial points:
8/8 initial point(s) found...
Start surface scan...end scan. [Bad facets:12]

Refining Surface...
Legende of the following line: (#vertices,#steps,#facets to refine,#tets to refine)
(3286,3277,0,0) (2847.9 vertices/s))))
Total refining surface time: 1.15069s

Start volume scan...end scan. [Bad tets:9713]

Refining...
Legende of the following line: (#vertices,#steps,#facets to refine,#tets to refine)
(7617,4330,0,37339) (11173.1 vertices/s)terminate called after throwing an instance of 'CGAL::Assertion_exception'
what(): CGAL ERROR: assertion violation!
Expr: !r_tr_.is_infinite(*cell_it)
File: /usr/include/CGAL/Mesh_3/Refine_cells_3.h
Line: 385


What I'm doing is surface meshing a sphere, converting the surface mesh to a polyhedron, and trying to generate a volume mesh of the polyhedron (the motivation is to add/subtract polyhedra to create more complicated domains). The code that reproduces the error (using CGAL 4.2 and GCC 4.8) is attached. The code is basically a concatenation of the demos in sections 48.3.1 and 51.3.2. Any suggestions to get this working?

Garth


Actually, I have just had a very similar problem the last couple of days, same abort message - I rebuilt CGAL 4.2, with identical source to the working version, and it appeared. The old binary still runs fine. CGAL 4.2 and 4.3 show the same thing with the mesh_polyhedral_domain demo. A fresh compile of CGAL 4.3 on an Ubuntu 12.04 virtual box has no problems. As such, I suspect there may be something with library versions.

Looking through the code and running tests, it seems that this is caused by infinite cells, ones defining external facets, being included in the incident_cells in update_star_self (Refine_cells_3.h:371 in 4.3) This has a CGAL_assertion that triggers the abort.

update_star does not have an abort, just an if statement. As a workaround, I have defined CGAL_MESH_3_USE_OLD_SURFACE_RESTRICTED_DELAUNAY_UPDATE and that seems to avoid it (so far).

This could be completely up the wrong street, but it may help you.

Best wishes,
Phil

--
__________________________
Phil Weir | NUMA Engineering Services Ltd.
The Business Centre, Blackthorn Business Park, Coe's Road, Dundalk, Co.
Louth, Ireland.
Tel: +353 42 9395821 | Fax: +353 42 9390220
_______________________




Archive powered by MHonArc 2.6.18.

Top of Page