[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