Q:

FEM with flat triangles

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...

A:

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.

