diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C index 54306d7230b5c758bda3adca5822089fc6e784b0..0877a50b5faef71566ebad338a770b01eb751979 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C +++ b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C @@ -77,10 +77,12 @@ Foam::PatchTools::sortedEdgeFaces { if (f0[fpI] != e.start()) { - const vector faceEdgeDir = localPoints[f0[fpI]] - edgePt; - const scalar angle = faceEdgeDir & e2; + vector faceEdgeDir = localPoints[f0[fpI]] - edgePt; + faceEdgeDir /= mag(faceEdgeDir) + VSMALL; - if (angle < maxAngle) + const scalar angle = e2 & faceEdgeDir; + + if (mag(angle) < maxAngle) { maxAngle = angle; maxAngleEdgeDir = faceEdgeDir; @@ -114,10 +116,12 @@ Foam::PatchTools::sortedEdgeFaces { if (f[fpI] != e.start()) { - const vector faceEdgeDir = localPoints[f[fpI]] - edgePt; - const scalar angle = faceEdgeDir & e2; + vector faceEdgeDir = localPoints[f[fpI]] - edgePt; + faceEdgeDir /= mag(faceEdgeDir) + VSMALL; + + const scalar angle = e2 & faceEdgeDir; - if (angle < maxAngle) + if (mag(angle) < maxAngle) { maxAngle = angle; maxAngleEdgeDir = faceEdgeDir;