[Gmsh] Fwd: Zero volume tets

Karin&NiKo niko.karin at gmail.com
Wed May 13 08:44:56 CEST 2020


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
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20200513/3bb4c370/attachment.html>


More information about the gmsh mailing list