diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C index 526367e46c45615a4aa761bf4081b0926637d215..c74740d81267723ece9c7e85cab6d4ef164cec71 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C @@ -354,6 +354,28 @@ bool Foam::conformalVoronoiMesh::nearFeaturePt(const Foam::point& pt) const } +bool Foam::conformalVoronoiMesh::surfacePtNearFeatureEdge +( + const Foam::point& pt +) const +{ + scalar exclusionRangeSqr = surfacePtExclusionDistanceSqr(pt); + + pointIndexHit info; + label featureHit; + + geometryToConformTo_.findEdgeNearest + ( + pt, + exclusionRangeSqr, + info, + featureHit + ); + + return info.hit(); +} + + void Foam::conformalVoronoiMesh::insertInitialPoints() { Info<< nl << "Inserting initial points" << endl; diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H index bc4d724ec01fa1edad226e9845388f02ab4b02e4..61b669882a83a9ee225562d5d3c7183f0f2e7ada 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H @@ -351,6 +351,9 @@ private: //- Check if a location is in exclusion range around a feature point bool nearFeaturePt(const Foam::point& pt) const; + //- Check if a surface point is in exclusion range around a feature edge + bool surfacePtNearFeatureEdge(const Foam::point& pt) const; + //- Insert the initial points into the triangulation, based on the // initialPointsMethod void insertInitialPoints(); diff --git a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C index 6ca14deb90d1c1bb7d50c30fa15056eb81ce5f27..e2b6c0d2e8ebd612a39dcea4ee44f1ca4c16c47f 100644 --- a/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C +++ b/applications/utilities/mesh/generation/foamyHexMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshConformToSurface.C @@ -2057,9 +2057,11 @@ void Foam::conformalVoronoiMesh::addSurfaceAndEdgeHits bool isNearFeaturePt = nearFeaturePt(surfPt); + bool isNearFeatureEdge = surfacePtNearFeatureEdge(surfPt); + bool isNearSurfacePt = nearSurfacePoint(surfHitI); - if (isNearFeaturePt || isNearSurfacePt) + if (isNearFeaturePt || isNearSurfacePt || isNearFeatureEdge) { keepSurfacePoint = false; }