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