[Gmsh] multi-scale mesh issue
Jean-Francois Roussel
Jean-Francois.Roussel at onecert.fr
Tue Jul 12 17:36:21 CEST 2005
Hi,
first of all congratulations for this nery nice software.
I am using GMSH 3D mesh-generator to mesh the "empty" space with an
object embedded in it (I do not mesh the object as often in FE, but its
complement).
And I have a specific need, which is to make multi-scale meshing.
For example, the computation box can be a few 100m big, while I want to
mesh the object at mm scale (or below if possible!).
First, if I do that brutally, simply having very small and very large
characteristic lengths I get:
- a nice 2D mesh
- but a degenerated 3D mesh: very long tetrahedra starting from
different small 2D triangles and ending at a common node in volume.
I solved that by helping GMSH thanks to intermediate boxes with
intermediate characteristic lengths.
They are a little long to define, but it works fine.
(If ever you have a better idea, I'd appreciate).
The second point I am now stuck with, is that gmsh does not seem be able
to cope with arbitrary "multi-scale ratio".
When the ratio of the box size to the smallest element size goes beyond
~ 100 000, gmsh either crashes or enters a seemingly ever lasting loop
(in all cases with error messages, rather variable, you have a few
examples below).
I tried some changes without much result:
- gmsh version: 1.56 -> 1.60
- parameters: characteristic length factor, random perturbation (NetGen
does not work, probably I should check my normals orientation)
A change that brought some relative improvement was to move the region
of fine meshing around x~y~z~0.
That made me think that the limitation might come from the machine
precision when making differences in intermediate computations...
(errors reports are in single precision...).
I attached the file geom8du.geo, which causes the problem.
I made the following tests on this file
- if I remove the largest volume (Volume(3)): it works fine
- if I remove the smallest 2 volumes (Volume(30113) and Volume(30139)):
it works fine, just with a few classical warnings ("Coplanar points in
circum sphere computation")
- if I remove the smallest 3 volumes (previous + Volume(30165)): it
works just fine
- if I remove intermediate volumes: it does not work
which makes me think:
- my CAD is correct (since all my volumes can be meshed independently
(but not all together))
- it is an issue of relative scales (suppressing smallest or largest
volumes improves, suppressing intermediate ones does not)
I also attached a slightly more complex file geom8eu.geo (the one I
initially worked with) in case the threshold for triggering the issue is
different on your machine and geom8du.geo works on yours (mine is
Windows - Pentium).
Thanks a lot for your help!
Jean-Francois Roussel
-------Error messages -------
A couple of messages that led to infinite loop or crash:
"Huh! Panic in CrSi"
"Unable to add point... (will try later)"
A recovered error:
Info : 12/13: Edge 4622->1589 => 0 division(s)
Error : Missing edge without any intersection
(0,1.08048e-06,-0.00146627) (0,-1.05818e-16,-0.0005)
Info : 13/13: Edge 1588->4622 => 1 division(s)
Info : Boundary faces recovery
Info : Volume = 5.488e+06
Info : ===================================================
: Number of missing faces = 14
: ===================================================
Info : 1/14: Face 1562 1563 4440
Info : Intersections left (the face contains 0 initial faces, divided
in 3 points)
Info : The face is divided in 3 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (0 <--> 1=2*(3-1)-3)
Info : 2/14: Face 1591 1592 4431
Info : Intersections left (the face contains 5 initial faces, divided
in 8 points)
Info : The face is divided in 8 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (5 <--> 6=2*(8-1)-8)
Info : 3/14: Face 1601 1602 4435
Info : Recoverable face (4 <--> 4=2*(6-1)-6)
Info : 4/14: Face 1592 1593 4431
Info : Recoverable face (7 <--> 7=2*(9-1)-9)
Info : 5/14: Face 1562 1563 4440
Info : Intersections left (the face contains 0 initial faces, divided
in 3 points)
Info : The face is divided in 3 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (0 <--> 1=2*(3-1)-3)
Info : 6/14: Face 1001 1602 4435
Info : Intersections left (the face contains 1 initial faces, divided
in 4 points)
Info : The face is divided in 4 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (1 <--> 2=2*(4-1)-4)
Info : 7/14: Face 1003 1004 4414
Info : Recoverable face (2 <--> 2=2*(4-1)-4)
Info : 8/14: Face 1592 1593 4629
Info : Intersections left (the face contains 23 initial faces,
divided in 13 points)
Info : The face is divided in 13 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (23 <--> 11=2*(13-1)-13)
Info : 9/14: Face 1001 1602 4637
Info : Intersections left (the face contains 1 initial faces, divided
in 4 points)
Info : The face is divided in 4 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (1 <--> 2=2*(4-1)-4)
Info : 10/14: Face 1588 1589 4622
Info : Intersections left (the face contains 1 initial faces, divided
in 4 points)
Info : The face is divided in 4 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (1 <--> 2=2*(4-1)-4)
Info : 11/14: Face 1588 1589 4622
Info : Intersections left (the face contains 1 initial faces, divided
in 4 points)
Info : The face is divided in 4 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (1 <--> 2=2*(4-1)-4)
Info : 12/14: Face 1003 1004 4642
Info : Recoverable face (2 <--> 2=2*(4-1)-4)
Info : 13/14: Face 1601 1602 4637
Info : Intersections left (the face contains 5 initial faces, divided
in 6 points)
Info : The face is divided in 6 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (5 <--> 4=2*(6-1)-6)
Info : 14/14: Face 1591 1592 4629
Info : Intersections left (the face contains 20 initial faces,
divided in 12 points)
Info : The face is divided in 12 points (simplexes added=0, deleted=0)
Warning : *Unrecoverable* face (20 <--> 10=2*(12-1)-12)
Info : Volume after edge/face recovery = 5.488e+06
Info : Final check: 1 missing edges, 2 missing faces
Info : ===================================================
: Surface coherence results (number of intersections)
: 42 EV, 16 EE, 0 FV, 0 FF, 0 FE, 3 EEE, 0 EEEE
: ===================================================
Error : Could not restore all edges/faces
Error : Surface recovery failed (send a bug report with the geo file
to <gmsh at geuz.org>!)
Info : Mesh 3D... (final)
Info : Mesh 3D complete (27.66 s)
--
------------------------------------------------
Jean-Francois ROUSSEL
ONERA / DESP
Chef d'Unité "Couplage Satellite Environnement"
2 Av Edouard Belin, 31055 TOULOUSE cedex, FRANCE
e-mail: roussel at onecert.fr
Tel: +33 (0)5 62 25 27 35
Fax: +33 (0)5 62 25 25 69
------------------------------------------------
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: geom8du.geo
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20050712/3d4a1159/attachment.geo>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: geom8eu.geo
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20050712/3d4a1159/attachment-0001.geo>