diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C index de0ba87587..0c5945f464 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinement.C @@ -213,6 +213,14 @@ void Foam::meshRefinement::updateIntersections(const labelList& changedFaces) } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + + // Do tests in one go labelList surfaceHit; { @@ -316,6 +324,14 @@ void Foam::meshRefinement::checkData() } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + + // Do tests in one go labelList surfaceHit; { @@ -2247,6 +2263,14 @@ void Foam::meshRefinement::dumpIntersections(const fileName& prefix) const } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + + // Do tests in one go labelList surfaceHit; List surfaceHitInfo; diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C index c4846a0265..8f8a532e2c 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C @@ -283,6 +283,13 @@ void Foam::meshRefinement::getBafflePatches } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + // Do test for intersections // ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2447,6 +2454,13 @@ Foam::autoPtr Foam::meshRefinement::zonify } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + // Do test for intersections // ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C index c2e7a6ffd0..96821d4718 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C @@ -626,6 +626,13 @@ Foam::label Foam::meshRefinement::markSurfaceRefinement } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + // Do test for higher intersections // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -835,6 +842,14 @@ Foam::label Foam::meshRefinement::markSurfaceCurvatureRefinement } } + // Extend segments a bit + { + const vectorField smallVec(Foam::sqrt(SMALL)*(end-start)); + start += smallVec; + end -= smallVec; + } + + // Test for all intersections (with surfaces of higher max level than // minLevel) and cache per cell the max surface level and the local normal // on that surface.