From 25804eaad915a11f7502c784739ef6e7f53a0989 Mon Sep 17 00:00:00 2001
From: mattijs <mattijs>
Date: Fri, 19 Jul 2013 11:43:57 +0100
Subject: [PATCH] ENH: refinementSurface: search bounding sphere only

---
 .../refinementSurfaces/refinementSurfaces.C       | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
index 98b16e9f6b8..f0277b2990f 100644
--- a/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
+++ b/src/mesh/autoMesh/autoHexMesh/refinementSurfaces/refinementSurfaces.C
@@ -605,8 +605,10 @@ void Foam::refinementSurfaces::setMinLevelFields
         // searchableBox (size=6)
         if (geom.regions().size() > 1 && geom.globalSize() > 10)
         {
-            // Representative local coordinates
-            const pointField ctrs(geom.coordinates());
+            // Representative local coordinates and bounding sphere
+            pointField ctrs;
+            scalarField radiusSqr;
+            geom.boundingSpheres(ctrs, radiusSqr);
 
             labelList minLevelField(ctrs.size(), -1);
             {
@@ -614,12 +616,7 @@ void Foam::refinementSurfaces::setMinLevelFields
                 // distributed surface where local indices differ from global
                 // ones (needed for getRegion call)
                 List<pointIndexHit> info;
-                geom.findNearest
-                (
-                    ctrs,
-                    scalarField(ctrs.size(), sqr(GREAT)),
-                    info
-                );
+                geom.findNearest(ctrs, radiusSqr, info);
 
                 // Get per element the region
                 labelList region;
@@ -628,7 +625,7 @@ void Foam::refinementSurfaces::setMinLevelFields
                 // From the region get the surface-wise refinement level
                 forAll(minLevelField, i)
                 {
-                    if (info[i].hit())
+                    if (info[i].hit()) //Note: should not be necessary
                     {
                         minLevelField[i] = minLevel(surfI, region[i]);
                     }
-- 
GitLab