mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: foamyHexMesh: Do not insert surface points near edge points
This commit is contained in:
@ -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()
|
void Foam::conformalVoronoiMesh::insertInitialPoints()
|
||||||
{
|
{
|
||||||
Info<< nl << "Inserting initial points" << endl;
|
Info<< nl << "Inserting initial points" << endl;
|
||||||
|
|||||||
@ -351,6 +351,9 @@ private:
|
|||||||
//- Check if a location is in exclusion range around a feature point
|
//- Check if a location is in exclusion range around a feature point
|
||||||
bool nearFeaturePt(const Foam::point& pt) const;
|
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
|
//- Insert the initial points into the triangulation, based on the
|
||||||
// initialPointsMethod
|
// initialPointsMethod
|
||||||
void insertInitialPoints();
|
void insertInitialPoints();
|
||||||
|
|||||||
@ -2057,9 +2057,11 @@ void Foam::conformalVoronoiMesh::addSurfaceAndEdgeHits
|
|||||||
|
|
||||||
bool isNearFeaturePt = nearFeaturePt(surfPt);
|
bool isNearFeaturePt = nearFeaturePt(surfPt);
|
||||||
|
|
||||||
|
bool isNearFeatureEdge = surfacePtNearFeatureEdge(surfPt);
|
||||||
|
|
||||||
bool isNearSurfacePt = nearSurfacePoint(surfHitI);
|
bool isNearSurfacePt = nearSurfacePoint(surfHitI);
|
||||||
|
|
||||||
if (isNearFeaturePt || isNearSurfacePt)
|
if (isNearFeaturePt || isNearSurfacePt || isNearFeatureEdge)
|
||||||
{
|
{
|
||||||
keepSurfacePoint = false;
|
keepSurfacePoint = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user