[Gmsh] Zero volume tets
Karin&NiKo
niko.karin at gmail.com
Mon May 18 16:12:55 CEST 2020
Dear Christophe,
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.
And once again, congratulations to JF and you : Gmsh rocks!!!
Nicolas
Le lun. 18 mai 2020 à 15:23, Christophe Geuzaine <cgeuzaine at uliege.be> a
écrit :
>
> 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
>
>
>
>
> > 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
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20200518/dddfdb72/attachment-0001.html>
More information about the gmsh
mailing list