checkMesh - concave faces definition
The utility checkMesh determines the presence of concave faces by calling the function checkFaceAngles(). The code of this function is attached (OF-2.1.x). Here is the relevant code section of checkGeometry.C
faceNormal is the normalized face normal vector. So its magnitude is one and the vector is perpendicular to the face.
edgeNormal is also a normalized vector. edgeNormal was generated by calculating the cross-product of two consecutive edges of the face. As an edge connects two points, an edge can always be represented by a vector pointing from one point to the other point.
However, as all edges of the face lie within a plane to which the faceNormal is prependicular. The cross-product of two edges yields always a vector parallel to the faceNormal. In fact it can be parallel or anti-parallel.
So, the condition is false for the parallel case and false for the anti-parallel case.
How can this condition detect a concave cell? What I figured out is that the following is a concave cell, meaning that the edges delimiting the face make a bend inwards.
I can't see that the condition behind which the line nConcave++; is located is able to detect this.
What am I missing, or am I somewhere wrong?
|All times are GMT -4. The time now is 12:41.|