<div dir="ltr">Dear Christophe, <div><br></div><div>I thank you so warmly for your help. I was quite lost with this problem and your fix is really easy! It would perhaps be useful to add this precise feature to the demo scripts. I saw that several users when wondering about it. </div><div>And once again, congratulations to JF and you : Gmsh rocks!!!</div><div><br></div><div>Nicolas</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 18 mai 2020 à 15:23, Christophe Geuzaine <<a href="mailto:cgeuzaine@uliege.be">cgeuzaine@uliege.be</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hello Nicolas,<br>
<br>
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.<br>
<br>
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...)<br>
<br>
Cheers,<br>
<br>
Christophe<br>
<br>
<br>
<br>
<br>
> On 13 May 2020, at 08:44, Karin&NiKo <<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>> wrote:<br>
> <br>
> Christophe,<br>
> <br>
> I see that the mesh contains duplicate nodes : <br>
>       Info    : Checking for duplicate nodes...<br>
>       Warning : Vertex 79 (0, 0, 999.9999999999999) already exists in the mesh with tolerance 4.66905e-05: Vertex 17 (0, 0, 1000)<br>
>       Error   : 1 duplicate node: see `duplicate_node.pos'<br>
> <br>
> 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) :<br>
> c0[] = Point{4}; // c0 contains the coords in indexes 0,1,2<br>
> c1[] = Point{3}; <br>
> p=newp; // newp is command to generate a new point number - we store it in p<br>
> Point(p)={0,0, (c1[2]-c0[2])/2};<br>
> Point{p} In Volume{1};<br>
> Physical Point("PGHM") = {p};<br>
> <br>
> 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).<br>
> <br>
> Nicolas<br>
> <br>
> <br>
> Le mar. 12 mai 2020 à 14:06, Karin&NiKo <<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>> a écrit :<br>
> Thanks for the tip Christophe! <br>
> "Mesh.Algorithm3D = 10;" is indeed faster and produces less elements.<br>
> <br>
> Nicolas<br>
> <br>
> Le mar. 12 mai 2020 à 13:28, Christophe Geuzaine <<a href="mailto:cgeuzaine@uliege.be" target="_blank">cgeuzaine@uliege.be</a>> a écrit :<br>
> <br>
> <br>
> > On 12 May 2020, at 11:49, Karin&NiKo <<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>> wrote:<br>
> > <br>
> > Dear Gmsh Gurus,<br>
> > <br>
> > I am facing some troubles with a brep CAD I am trying to mesh with Gmsh. <br>
> > 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.<br>
> <br>
> 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):<br>
> <br>
> Info    : Optimizing volume 2<br>
> Info    : Optimization starts (volume = 3.52969e+07) with worst = 0 / average = 0.757222:<br>
> Info    : 0.00 < quality < 0.10 :       212 elements<br>
> Info    : 0.10 < quality < 0.20 :       362 elements<br>
> Info    : 0.20 < quality < 0.30 :       166 elements<br>
> Info    : 0.30 < quality < 0.40 :       222 elements<br>
> Info    : 0.40 < quality < 0.50 :       287 elements<br>
> Info    : 0.50 < quality < 0.60 :       765 elements<br>
> Info    : 0.60 < quality < 0.70 :      3802 elements<br>
> Info    : 0.70 < quality < 0.80 :      7720 elements<br>
> Info    : 0.80 < quality < 0.90 :      4721 elements<br>
> Info    : 0.90 < quality < 1.00 :      4214 elements<br>
> Info    : 321 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765757 (Wall 0.022079s, CPU 0.022s)<br>
> Info    : 338 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765884 (Wall 0.0357411s, CPU 0.035583s)<br>
> Info    : 339 edge swaps, 0 node relocations (volume = 3.52969e+07): worst = 0 / average = 0.765909 (Wall 0.0503662s, CPU 0.050068s)<br>
> Info    : 6 ill-shaped tets are still in the mesh<br>
> <br>
> <br>
> > I have succeeded in producing a correct mesh by using the Frontal 3D algorithm (Mesh.Algorithm3D = 4;). <br>
> > Perhaps a check of the presence of zero volume elements could be an interesting enhancement. <br>
> <br>
> You can also try<br>
> <br>
> Mesh.Algorithm3D = 10;<br>
> <br>
> which is (here a bit) faster.<br>
> <br>
> Christophe<br>
> <br>
> <br>
> > You'll find all necessary files in the attached archive.<br>
> > <br>
> > Regards,<br>
> > Nicolas<br>
> > <foo.tar.gz>_______________________________________________<br>
> > gmsh mailing list<br>
> > <a href="mailto:gmsh@onelab.info" target="_blank">gmsh@onelab.info</a><br>
> > <a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank">http://onelab.info/mailman/listinfo/gmsh</a><br>
> <br>
> — <br>
> Prof. Christophe Geuzaine<br>
> University of Liege, Electrical Engineering and Computer Science <br>
> <a href="http://www.montefiore.ulg.ac.be/~geuzaine" rel="noreferrer" target="_blank">http://www.montefiore.ulg.ac.be/~geuzaine</a><br>
> <br>
> <br>
> <br>
> _______________________________________________<br>
> gmsh mailing list<br>
> <a href="mailto:gmsh@onelab.info" target="_blank">gmsh@onelab.info</a><br>
> <a href="http://onelab.info/mailman/listinfo/gmsh" rel="noreferrer" target="_blank">http://onelab.info/mailman/listinfo/gmsh</a><br>
<br>
— <br>
Prof. Christophe Geuzaine<br>
University of Liege, Electrical Engineering and Computer Science <br>
<a href="http://www.montefiore.ulg.ac.be/~geuzaine" rel="noreferrer" target="_blank">http://www.montefiore.ulg.ac.be/~geuzaine</a><br>
<br>
<br>
<br>
</blockquote></div>