diff --git a/src/meshTools/searchableSurface/searchableSphere.C b/src/meshTools/searchableSurface/searchableSphere.C index 3d17b52d9fd2c6a392462b8a1c2ad73dfa46c18e..5c07f0b00d91adf6b551d102d803bea2da6d4df1 100644 --- a/src/meshTools/searchableSurface/searchableSphere.C +++ b/src/meshTools/searchableSurface/searchableSphere.C @@ -48,13 +48,15 @@ Foam::pointIndexHit Foam::searchableSphere::findNearest pointIndexHit info(false, sample, -1); const vector n(sample-centre_); - scalar magN = mag(n); + scalar magSqrN = magSqr(n); - if (nearestDistSqr > sqr(magN-radius_)) + if (nearestDistSqr >= magSqrN) { + scalar magN = Foam::sqrt(magSqrN); + if (magN < ROOTVSMALL) { - info.rawPoint() = centre_ + vector(1,0,0)/magN*radius_; + info.rawPoint() = centre_ + vector(1,0,0)*radius_; } else {