Page 1 of 1

Mesher doesn't preserve boundary, amount of faces change

Posted: Sat Aug 14, 2021 11:54 am
by koussayd
I am trying to mesh a volume with some holes in it, however, I keep getting this error message.

Mesher doesn't preserve boundary, amount of faces change

What is the exact meaning of this error message? And what are the possible solutions to get around it?

First, I create several small volumes (which represent the holes). To make sure that these volumes have good geometry, I try to mesh them, and I face no errors in doing so. Then I erase the mesh as I do not need it.
Finally, I create a big volume and I make the holes in it using the command: "Geometry>edit>Hole volume". This creates one volume with many holes. When I try to mesh this volume, I get the aforementioned error.

I have tried small mesh sizes and different meshers, but nothing solved it.
Screenshot 2021-08-14 124312.jpg
Screenshot 2021-08-14 124312.jpg (340.41 KiB) Viewed 4091 times

Re: Mesher doesn't preserve boundary, amount of faces change

Posted: Wed Sep 01, 2021 9:45 am
by escolano
To clarify the meaning of the message:
During the meshing process, first are meshed the surfaces, and then each volume is meshed independently,
but to have a volume mesh be compatible with its neighbors it is forced that the volume mesh fit exactly the boundary mesh (triangles).
In this case it seems that the volume mesher is able to generate a volume mesh of tetrahedra, but this mesh is violating the restriction of preserve the original boundary triangles, and then is neglected.

Unfortunately there is not a general solution, and sometimes could be near impossible to generate a mesh (because self-intersections of the boundary, very small details, etc.).
Some general advices:
- Try assigning some mesh sizes near the problematic coordinate.
- Generate first only the surface mesh (Mesh criteria: mesh surfaces, and not to mesh volumes) and visually identify the quality of the triangles near the problematic coordinate.
- Modify the geometry to avoid very short edges, thin regions,...
- Split in two volumes the volume that doesn't mesh (divide and conquer)