From 4d7cd473412fa5f83d153f9523fc89b9f95afb1f Mon Sep 17 00:00:00 2001 From: mattijs Date: Tue, 14 Oct 2008 17:05:52 +0100 Subject: [PATCH] use average when merging points to prevent truncation error --- src/OpenFOAM/meshes/meshTools/mergePoints.C | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/OpenFOAM/meshes/meshTools/mergePoints.C b/src/OpenFOAM/meshes/meshTools/mergePoints.C index cc966c8127..72099978c2 100644 --- a/src/OpenFOAM/meshes/meshTools/mergePoints.C +++ b/src/OpenFOAM/meshes/meshTools/mergePoints.C @@ -40,6 +40,16 @@ bool Foam::mergePoints const point& origin ) { + point compareOrigin = origin; + + if (origin == point(VGREAT, VGREAT, VGREAT)) + { + if (points.size() > 0) + { + compareOrigin = sum(points)/points.size(); + } + } + // Create a old to new point mapping array pointMap.setSize(points.size()); pointMap = -1; @@ -56,7 +66,7 @@ bool Foam::mergePoints const scalar mergeTolSqr = sqr(mergeTol); // Sort points by magSqr - SortableList sortedMagSqr(magSqr(points - origin)); + SortableList sortedMagSqr(magSqr(points - compareOrigin)); bool hasMerged = false;