Using Behaviour for constraining mesh

Dec 28, 2016 at 1:37 PM
Hi all,
using beta3, I'm generating a mesh for my non-convex figure but I'm facing an issue; many extra-small triangles are generated and they are a problem for me (FEM analysis is my final purpose).

I'm setting the properties of class Behaviour inside the mesh (MyMesh.Behavior.Quality = true; MyMesh.Behavior.MinAngle = 35; MyMesh.Behavior.MaxAngle = 91;), but even with wider constraints those triangles are still generated. Please note that just a small portion of them are extra-small, leading to an unhomogeneous mesh.

Is there a way to avoid extra-small triangles? Is it possible to set a "minArea" constraint on triangles?
Dec 29, 2016 at 10:27 AM
This is not possible at the moment. Quality meshing is implemented in an "inclusive" way: a triangle is refined, if any quality constraint is violated. What you are looking for is a way to exclude a triangle from further refinement.

This is a nice idea and I might include it in the latest source. For beta 3, you'd need to edit the TestTriangle method in the Quality class and abort the test before the triangle is added to the "bad triangle" queue.

Some more thoughts:
  • loosen the quality constraints
  • bound the number of steiner points
  • make sure that your input doesn't contain small features