2
$\begingroup$

I have some "flat" triangles in my FEM mesh (angles for example 30°, 30°, 120°). I wonder whether this just decreases the mesh quality, or whether it will really cause problems.

Why do I ask? When computing the matrix for the Laplacian for linear elements, the off-diagonal elements are positive, and the diagonal elements are negative. In the case of "flat" triangles, this might change. Seems to be a bit suspicious to me...

$\endgroup$

1 Answer 1

3
$\begingroup$

A good resource if you're interested in this sort of thing would be What is a Good Linear Finite Element? by Johnathan Richard Shewchuk.

Large angles tend to degrade the quality of finite element approximations and the condition number of the finite-dimensional linear system that discretizes the PDE. Ivo Babuška has a paper from way back showing an example where a sequence of finite element approximations to the solution of Laplace's equation in a rectangle fails to converge when the maximum angle of the triangles increases to $180^\circ$.

Of course, this is a pretty pathological way to refine a mesh in practice; you would never do this on purpose. It would still be nice to have some provable upper bound, which is strictly less than $180^\circ$, on the maximum angle of a triangle in the mesh. Ruppert's algorithm for 2D mesh generation is provably good in this respect; no angle is less than $20^\circ$, which gives the trivial upper bound of $140^\circ$ since the sum of the angles of a triangle must be $180^\circ$. This isn't exactly ideal, but nonetheless it means things won't go horribly wrong and people have improved upon it substantially since then.

Additionally, there's a lot of research on mesh improvement -- taking an existing mesh and moving the vertices around a bit, possibly with a few topological modifications, to get a mesh of substantially higher quality.

You haven't said where you're getting your meshes from in the first place, but Triangle and gmsh are both very good mesh generators.

$\endgroup$
2
  • $\begingroup$ Doesn't 'triangle' generate meshes that have no triangles with angles larger than 90 degrees? $\endgroup$ Commented May 3, 2017 at 3:32
  • 1
    $\begingroup$ Unfortunately no, the closest that Triangle comes is being able to set a minimum angle constraint, which usually works provided you don't set the minimum angle above $35^\circ$. Nonetheless it works very well in practice. Alper Üngör did some work on a modification of Ruppert's algorithm that does a better job at avoiding large angles. I experimented with it a bit once and the improvement was really impressive. $\endgroup$ Commented May 3, 2017 at 16:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.