Subject: CGAL users discussion list
List archive
- From: Phil Weir <>
- To:
- Subject: [cgal-discuss] Note of thanks re. polyhedral meshing
- Date: Wed, 17 Jun 2015 12:28:08 +0100
A very late follow on, but just wanted to ping the list to express thanks for Laurent's input on 3D meshing in discussion at the FEniCS workshop last year (Paris). For a number of reasons, we have only just finished incorporating his suggestion today, but have noticed a significant improvement.
In summary: as part of the Go-Smart EU-FP7 project, we are doing polyhedral meshing prior to Elmer simulation - this may be relevant to a couple of earlier posts this week, e.g. 'Best approach to create Mesh_Domain_3 from multiple Polyhedral_3' and 3D-mesh creation (Mesh_complex_3_in_triangulation_3) from *multiple* polyhedral surface meshes...'. It sounds like Jane's suggestion has covered the use-case there, but if intersection is required, such as in our case, I think Polyhedral_mesh_domain_3 would need some wrapping, at least (if I understand the documentation and remember previous experience correctly?).
Originally, we loaded STLs as Polyhedra, converted to Nef Polyhedra and performed a series of Boolean operations, before converting back to a domain Polyhedron and meshing. However, this was very slow and the polyhedra requirements are quite restrictive, especially for converting a Nef Polyhedron to the final domain polyhedron. Instead, we switched to a Labeled_mesh_domain_3, using Point_in_polyhedron calls - this was much faster, flexible and more robust, providing subdomain labelling (for MSH output), effectively free.
However, labelling output boundaries by the original STL was harder - Laurent's tip to re-use surface patches, which are actually filled by the domain oracle (as I hadn't spotted!), made it far more efficient. We combine this with a subclass (Signed_mesh_domain_3) that simply overrides the Is_in_domain struct, allowing the labelling function to return negative indices for external points. Negative return values are preserved in the surface patch for future reference (at MSH output time). The simulation component of this project is being open sourced (including the CGAL-based meshing tool), although the tools are being finished, tidied and documented over the course of this year (and are still based on CGAL-4.3/4) - nonetheless, I hope this provides some useful feedback for the moment.
Comments welcome.
Best wishes,
Phil Weir
--
__________________________
Phil Weir | NUMA Engineering Services Ltd.
Block 1, Quayside Business Park,
Mill St, Dundalk,
Co. Louth, Ireland.
Tel: +353 42 9395821 | Fax: +353 42 9390220
_______________________
- [cgal-discuss] Note of thanks re. polyhedral meshing, Phil Weir, 06/17/2015
- Re: [cgal-discuss] Note of thanks re. polyhedral meshing, Laurent Rineau (CGAL/GeometryFactory), 06/18/2015
- Re: [cgal-discuss] Note of thanks re. polyhedral meshing, Phil Weir, 06/18/2015
- Re: [cgal-discuss] Note of thanks re. polyhedral meshing, Laurent Rineau (CGAL/GeometryFactory), 06/18/2015
- Re: [cgal-discuss] Note of thanks re. polyhedral meshing, Phil Weir, 06/18/2015
- Re: [cgal-discuss] Note of thanks re. polyhedral meshing, Laurent Rineau (CGAL/GeometryFactory), 06/18/2015
Archive powered by MHonArc 2.6.18.