[Gmsh] Zero volume tets

Christophe Geuzaine cgeuzaine at uliege.be
Mon May 18 15:23:40 CEST 2020


Hello Nicolas,

The issue is that you do "Point ... In Volume" for a point that is actually on the boundary of the volume - actually on a curve.

Quick solution: add a global fragment operation on the volumes and the points - it will automatically embed the point in all the required entities. (Here it will need to split a curve + redefine all the surfaces/volumes touched...)

Cheers,

Christophe


-------------- next part --------------
A non-text attachment was scrubbed...
Name: script_Domaine_frag.geo
Type: application/octet-stream
Size: 3805 bytes
Desc: not available
URL: <http://onelab.info/pipermail/gmsh/attachments/20200518/d666d578/attachment.geo>
-------------- next part --------------


> On 13 May 2020, at 08:44, Karin&NiKo <niko.karin at gmail.com> wrote:
> 
> Christophe,
> 
> I see that the mesh contains duplicate nodes : 
>       Info    : Checking for duplicate nodes...
>       Warning : Vertex 79 (0, 0, 999.9999999999999) already exists in the mesh with tolerance 4.66905e-05: Vertex 17 (0, 0, 1000)
>       Error   : 1 duplicate node: see `duplicate_node.pos'
> 
> I am quite sure that it comes from the point I define and ask the mesh to embed (lines 21-26 of the script - if I remove it, the script doesn't complain anymore) :
> c0[] = Point{4}; // c0 contains the coords in indexes 0,1,2
> c1[] = Point{3}; 
> p=newp; // newp is command to generate a new point number - we store it in p
> Point(p)={0,0, (c1[2]-c0[2])/2};
> Point{p} In Volume{1};
> Physical Point("PGHM") = {p};
> 
> Is there a way to set a sharper value to some parameter to avoid this? I tried to Coherence Mesh but it causes me trouble in the computation based on this mesh (it seems to become invalide in some sense).
> 
> Nicolas
> 
> 
> Le mar. 12 mai 2020 ? 14:06, Karin&NiKo <niko.karin at gmail.com> a ?crit :
> Thanks for the tip Christophe! 
> "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements.
> 
> Nicolas
> 
> Le mar. 12 mai 2020 ? 13:28, Christophe Geuzaine <cgeuzaine at uliege.be> a ?crit :
> 
> 
> > On 12 May 2020, at 11:49, Karin&NiKo <niko.karin at gmail.com> wrote:
> > 
> > Dear Gmsh Gurus,
> > 
> > I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. 
> > If I try the meshing default settings, the mesh is being built and Gmsh is proud to announce that no illegal tet stand in the mesh. *But* if I simply run "gmsh -check", Gmsh admits that zero volume tets stay in the mesh. So it is unusable for computation.
> 
> There maybe too many messages, but the optimizer indeed reports that there are 6 tets below the quality threshold in volume 2 with the default algo (we should issue a warning if the quality is indeed approaching zero):
> 
> Info    : Optimizing volume 2
> Info    : Optimization starts (volume = 3.52969e+07) with worst = 0 / average = 0.757222:
> Info    : 0.00 < quality < 0.10 :       212 elements
> Info    : 0.10 < quality < 0.20 :       362 elements
> Info    : 0.20 < quality < 0.30 :       166 elements
> Info    : 0.30 < quality < 0.40 :       222 elements
> Info    : 0.40 < quality < 0.50 :       287 elements
> Info    : 0.50 < quality < 0.60 :       765 elements
> Info    : 0.60 < quality < 0.70 :      3802 elements
> Info    : 0.70 < quality < 0.80 :      7720 elements
> Info    : 0.80 < quality < 0.90 :      4721 elements
> Info    : 0.90 < quality < 1.00 :      4214 elements
> Info    : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s)
> Info    : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s)
> Info    : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s)
> Info    : 6 ill-shaped tets are still in the mesh
> 
> 
> > I have succeeded in producing a correct mesh by using the Frontal 3D algorithm (Mesh.Algorithm3D = 4;). 
> > Perhaps a check of the presence of zero volume elements could be an interesting enhancement. 
> 
> You can also try
> 
> Mesh.Algorithm3D = 10;
> 
> which is (here a bit) faster.
> 
> Christophe
> 
> 
> > You'll find all necessary files in the attached archive.
> > 
> > Regards,
> > Nicolas
> > <foo.tar.gz>_______________________________________________
> > gmsh mailing list
> > gmsh at onelab.info
> > http://onelab.info/mailman/listinfo/gmsh
> 
> ? 
> Prof. Christophe Geuzaine
> University of Liege, Electrical Engineering and Computer Science 
> http://www.montefiore.ulg.ac.be/~geuzaine
> 
> 
> 
> _______________________________________________
> gmsh mailing list
> gmsh at onelab.info
> http://onelab.info/mailman/listinfo/gmsh

? 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine





More information about the gmsh mailing list