From b4f1092b3aace6ff94e5235290864294c62373e3 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 10 Apr 2019 10:34:50 +0100 Subject: [PATCH] BUG: snappyHexMesh: attraction distance mapping. Fixes #941. --- .../snappySnapDriverFeature.C | 4 ++-- .../searchableSurfacesQueries.C | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C index 24e02f5ebb0..64362f5805a 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C @@ -306,7 +306,7 @@ void Foam::snappySnapDriver::calcNearestFace ( labelList(1, zoneSurfi), fc, - sqr(faceSnapDist),// sqr of attract dist + sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist hitSurface, hitInfo, hitRegion, @@ -382,7 +382,7 @@ void Foam::snappySnapDriver::calcNearestFace ( unzonedSurfaces, fc, - sqr(faceSnapDist),// sqr of attract dist + sqr(scalarField(faceSnapDist, ppFaces)),// sqr of attract dist hitSurface, hitInfo, hitRegion, diff --git a/src/meshTools/searchableSurfaces/searchableSurfacesQueries/searchableSurfacesQueries.C b/src/meshTools/searchableSurfaces/searchableSurfacesQueries/searchableSurfacesQueries.C index df5234dc1ae..a4bd237f6aa 100644 --- a/src/meshTools/searchableSurfaces/searchableSurfacesQueries/searchableSurfacesQueries.C +++ b/src/meshTools/searchableSurfaces/searchableSurfacesQueries/searchableSurfacesQueries.C @@ -354,6 +354,13 @@ void Foam::searchableSurfacesQueries::findNearest { // Find nearest. Return -1 or nearest point + if (samples.size() != nearestDistSqr.size()) + { + FatalErrorInFunction << "Inconsistent sizes. samples:" << samples.size() + << " search-radius:" << nearestDistSqr.size() + << exit(FatalError); + } + // Initialise nearestSurfaces.setSize(samples.size()); nearestSurfaces = -1; @@ -405,6 +412,14 @@ void Foam::searchableSurfacesQueries::findNearest { // Find nearest. Return -1 or nearest point + if (samples.size() != nearestDistSqr.size()) + { + FatalErrorInFunction << "Inconsistent sizes. samples:" << samples.size() + << " search-radius:" << nearestDistSqr.size() + << exit(FatalError); + } + + if (regionIndices.empty()) { findNearest @@ -468,6 +483,15 @@ void Foam::searchableSurfacesQueries::findNearest { // Multi-surface findNearest + + if (start.size() != distSqr.size()) + { + FatalErrorInFunction << "Inconsistent sizes. samples:" << start.size() + << " search-radius:" << distSqr.size() + << exit(FatalError); + } + + vectorField normal; List<pointIndexHit> info; -- GitLab