From f303199ffa31af619dc2dc17399f72d7371c0108 Mon Sep 17 00:00:00 2001 From: laurence <laurence> Date: Wed, 27 Mar 2013 17:14:57 +0000 Subject: [PATCH] BUG: PatchTools::sortedEdgeFaces(): vector now normalised before dot product --- .../PatchTools/PatchToolsSortEdges.C | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsSortEdges.C index 54306d7230b..0877a50b5fa 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; -- GitLab