Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] CGAL 3D Meshing and files

Subject: CGAL users discussion list

List archive

[cgal-discuss] CGAL 3D Meshing and files


Chronological Thread 
  • From: order <>
  • To:
  • Subject: [cgal-discuss] CGAL 3D Meshing and files
  • Date: Sun, 11 Sep 2016 13:56:50 -0700 (PDT)
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=SoftFail ; spf=None
  • Ironport-phdr: 9a23:GSrpexT0uRT4FkBxubtbc+LgENpsv+yvbD5Q0YIujvd0So/mwa64YhKN2/xhgRfzUJnB7Loc0qyN4vmmBzNLuMnc+DBaKdoXBkdD0Z1X1yUbQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYnbr+tQt2asc272qiI9oHJZE0Q3XzmMOo0ckr99FqM/olO2M05e/53kkOI6lJzOM1ujVtyIlySmxuuruyRx7VEtxpqhvQ66sRbWr/7dalrBZZRDTAhLnxnrJaz7UqLeyLUuCpZCz1e0kEQW0mWpC39C5z+uy+/uutm0zSBJuX3S6o1UHKs9fRFUhjt3SAdOzMjuDXZg918i7hdiB2krh17hYXTZdfGZ7JFYqrBcIZDFiJ6VcFLWnkaWtux

Sorry for what may be a very basic meshing question, but I'm a little stuck
trying to do something with CGAL.

At a high level, I'm trying to do something similar to some kind of adaptive
FEM:
1) Generate an initial tetrahedral mesh over domain. For the sake of being
concrete, let's assume that it's a cube.
2) Ship the mesh to another program that does some complicated computation
over the mesh.
3) Manually split some simplices based on properties of the solution, then
use some refinement/optimization procedure to improve mesh properties.

My hope is to use CGAL for the 1st and 3rd steps. I was able to do this
easily with CGAL's 2D constrained mesh generation code, and I hope that CGAL
is also useful for the 3D case.

I think I have three questions about this:
A) What is the best way to get good boundary behavior in 3D meshes? For
example, if my domain is a simple cube, it seems that CGAL requires a huge
number of nodes to ensure that facets are reasonably close to the boundary
of the domain (I'm doing this by setting "facet_distance" to something small
like 1e-2 or 1e-3). Other meshers, like the one in gmsh, seem to be able get
better results with far fewer nodes. Am I going about this the wrong way? Or
is this something that CGAL isn't really intended for? Having the mesh
conform closely to the boundary of the domain is important for my
application.

B) I want to be able to read in meshes in order to use CGAL's point location
(i.e. "locate" functions). From the discussion in this one
<http://cgal-discuss.949826.n4.nabble.com/Help-how-to-load-3D-tet-mesh-from-file-into-c3t3-sorry-if-noob-td1588281.html>

, it looks like the right way to read in meshes that were originally
generated by CGAL is to use stream operators (<<,>>) on the underlying
triangulation. Unfortunately, this doesn't currently seem to work for me,
and I get compilation errors. I've attached a "minimal" file that exhibits
this problem, along with the clang errors it generates. Am I missing a
header file?

C) Also from the above cgal-discuss thread, it seems that meshes from other
programs (again, like gmsh) may not be directly read in to CGAL as a mesh
complex, because CGAL expects some specific properties that other meshers
may not satisfy. Is there any way to read in these "not quite CGAL"
tetrahedral meshes into some CGAL data structure, and still utilize CGAL's
nice point location (i.e. the "locate" function) and insertion
functionality?

In general, I'm okay with meshes being not Delauney as long as they are
"good quality" (e.g. very few outrageous slivers) and are respectful of
domain boundaries.

Thanks for any and all help, and sorry if I missed something obvious from
the documentation!

tet_mesh.cpp
<http://cgal-discuss.949826.n4.nabble.com/file/n4662259/tet_mesh.cpp>
tet_mesh.err_log
<http://cgal-discuss.949826.n4.nabble.com/file/n4662259/tet_mesh.err_log>



--
View this message in context:
http://cgal-discuss.949826.n4.nabble.com/CGAL-3D-Meshing-and-files-tp4662259.html
Sent from the cgal-discuss mailing list archive at Nabble.com.



Archive powered by MHonArc 2.6.18.

Top of Page