[Gmsh] Error when using a lot of boolean operations and gmsh crashing in complex tree-like geometry

ISABELA PAREDES CISNEROS iparedes1 at uc.cl
Tue Dec 12 11:22:50 CET 2017


Dear all,

I am using Gmsh 3.0.5 to generate a complex geometry: imagine a big tree,
formed by many branches of cylinders. This tree is a hole in a cubic
volume. I generate all the cylinders using *Cylinder* from the OpenCASCADE
kernel. I use *BooleanUnion* to add all cylinders and then
*BooleanDifference* to subtract this union of cylinders from the cubic
volume. Sometimes, a couple of cylinders can overlap and I thought that was
not going to be an issue, since it has worked for simpler examples.
There can be a lot of cylinders (up to 400) and their radii is originally
decreasing as we go up in the tree but at first I am keeping all radii
equal.

I have two problems when generating the mesh (*gmsh file.geo -3*):
1. I have managed to successfully generate the mesh for only 45 cylinders
with constant radii. For 46 cylinders (and higher), Gmsh crashes.

2. For the original decreasing radii, for 45 cylinders, I get many errors.
At first, I get

*Info: Cannot bind existing OpenCASCADE solid 168 to second tag 2*
*Info: Could not preserve tag of 3D object 2 <->168>*
Then I get a series of errors like *Impossible to recover the edge...,
Impossible to mesh periodic face*.... Then:

*Hint: You may use -p/# to decrease the dihedral angle tolerance 0.1
<degree>.*

*Error: Self intersecting surface mesh, computing intersections <this could
take a while>*
The resulting mesh has some portions of the cylinder surfaces missing.

I attached the following files:
- Tree with constant radii for 45 cylinders (*45_constant_radii.geo*)
- Tree with constant radii for 50 cylinders (*50_constant_radii.geo*)
- Tree with decreasing radii for 45 cylinders (*45_decreasing_radii.geo*)
I have commented the Physical Surface(0) of the cubic volume (line 10) and
the Physical Volume(0) of the resulting volume (last line), in order to see
the mesh on the tree surface.

Do you have any idea on how to avoid these errors? I would like to have all
the cylinders, with the decreasing radii.

Thank you very much, any help is more than welcome!

Best regards,

Isabela
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20171212/99df6029/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 45_constant_radii.geo
Type: application/octet-stream
Size: 13738 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20171212/99df6029/attachment-0003.geo>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 45_decreasing_radii.geo
Type: application/octet-stream
Size: 13738 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20171212/99df6029/attachment-0004.geo>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 50_constant_radii.geo
Type: application/octet-stream
Size: 15227 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20171212/99df6029/attachment-0005.geo>


More information about the gmsh mailing list