From 3d49ababd481e091b830b7c60062b27405dc82ec Mon Sep 17 00:00:00 2001 From: laurence Date: Tue, 11 Dec 2012 17:05:03 +0000 Subject: [PATCH] ENH: if the face area is less than ROOTVSMALL then return vector::zero --- .../primitiveMesh/primitiveMeshFaceCentresAndAreas.C | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C index 8de9076603..589ff7a98b 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C +++ b/src/OpenFOAM/meshes/primitiveMesh/primitiveMeshFaceCentresAndAreas.C @@ -118,13 +118,12 @@ void Foam::primitiveMesh::makeFaceCentresAndAreas sumAc += a*c; } - + // This is to deal with zero-area faces. Mark very small faces + // to be detected in e.g., processorPolyPatch. if (sumA < ROOTVSMALL) { - // Sum of area too small. No chance of reliably calculating - // centroid so fallback to average. fCtrs[facei] = fCentre; - fAreas[facei] = 0.5*sumN; + fAreas[facei] = vector::zero; } else {