diff --git a/applications/utilities/surface/surfaceCheck/surfaceCheck.C b/applications/utilities/surface/surfaceCheck/surfaceCheck.C index 165b72a8cb..f3fdaa68f9 100644 --- a/applications/utilities/surface/surfaceCheck/surfaceCheck.C +++ b/applications/utilities/surface/surfaceCheck/surfaceCheck.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -315,32 +315,12 @@ int main(int argc, char *argv[]) } else { - triPointRef tri + triQ[faceI] = triPointRef ( surf.points()[f[0]], surf.points()[f[1]], surf.points()[f[2]] - ); - - vector ba(tri.b() - tri.a()); - ba /= mag(ba) + VSMALL; - - vector ca(tri.c() - tri.a()); - ca /= mag(ca) + VSMALL; - - if (mag(ba&ca) > 1-1E-3) - { - triQ[faceI] = SMALL; - } - else - { - triQ[faceI] = triPointRef - ( - surf.points()[f[0]], - surf.points()[f[1]], - surf.points()[f[2]] - ).quality(); - } + ).quality(); } } diff --git a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H index b3b89ed517..6eb7cfda2f 100644 --- a/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H +++ b/src/OpenFOAM/meshes/primitiveShapes/triangle/triangleI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -160,7 +160,15 @@ inline Foam::scalar Foam::triangle::circumRadius() const template inline Foam::scalar Foam::triangle::quality() const { - return mag()/(Foam::sqr(circumRadius())*3.0*sqrt(3.0)/4.0 + VSMALL); + scalar c = circumRadius(); + + if (c < ROOTVSMALL) + { + // zero circumRadius, something has gone wrong. + return SMALL; + } + + return mag()/(Foam::sqr(c)*3.0*sqrt(3.0)/4.0); }