From 386696d55e593744b113a8c38de06b74f00f4346 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Fri, 20 Dec 2013 16:32:34 +0000 Subject: [PATCH] ENH: refinementFeatures: use extendedEdgeMesh feature points --- .../meshRefinement/meshRefinementRefine.C | 7 ++-- .../refinementFeatures/refinementFeatures.C | 32 ++++--------------- .../refinementFeatures/refinementFeatures.H | 2 +- 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C index 701c0dbbc07..adedede35d2 100644 --- a/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C +++ b/src/mesh/autoMesh/autoHexMesh/meshRefinement/meshRefinementRefine.C @@ -35,7 +35,6 @@ License #include "fvMeshDistribute.H" #include "polyTopoChange.H" #include "mapDistributePolyMesh.H" -#include "featureEdgeMesh.H" #include "Cloud.H" //#include "globalIndex.H" #include "OBJstream.H" @@ -358,7 +357,7 @@ void Foam::meshRefinement::markFeatureCellLevel forAll(features_, featI) { - const featureEdgeMesh& featureMesh = features_[featI]; + const edgeMesh& featureMesh = features_[featI]; const label featureLevel = features_.levels()[featI][0]; const labelListList& pointEdges = featureMesh.pointEdges(); @@ -505,7 +504,7 @@ void Foam::meshRefinement::markFeatureCellLevel label featI = startTp.i(); label pointI = startTp.j(); - const featureEdgeMesh& featureMesh = features_[featI]; + const edgeMesh& featureMesh = features_[featI]; const labelList& pEdges = featureMesh.pointEdges()[pointI]; // Now shoot particles down all pEdges. @@ -561,7 +560,7 @@ void Foam::meshRefinement::markFeatureCellLevel label featI = tp.i(); label pointI = tp.j(); - const featureEdgeMesh& featureMesh = features_[featI]; + const edgeMesh& featureMesh = features_[featI]; const labelList& pEdges = featureMesh.pointEdges()[pointI]; // Particle now at pointI. Check connected edges to see which one diff --git a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C index f2b730bc9d3..b2b974de02f 100644 --- a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C +++ b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.C @@ -186,7 +186,7 @@ void Foam::refinementFeatures::read set(featI, new extendedFeatureEdgeMesh(featObj, eeMesh)); } - const edgeMesh& eMesh = operator[](featI); + const extendedEdgeMesh& eMesh = operator[](featI); //eMesh.mergePoints(meshRefiner_.mergeDistance()); @@ -258,13 +258,9 @@ void Foam::refinementFeatures::read } -void Foam::refinementFeatures::buildTrees -( - const label featI, - const labelList& featurePoints -) +void Foam::refinementFeatures::buildTrees(const label featI) { - const edgeMesh& eMesh = operator[](featI); + const extendedEdgeMesh& eMesh = operator[](featI); const pointField& points = eMesh.points(); const edgeList& edges = eMesh.edges(); @@ -299,6 +295,9 @@ void Foam::refinementFeatures::buildTrees ) ); + + labelList featurePoints(identity(eMesh.nonFeatureStart())); + pointTrees_.set ( featI, @@ -408,24 +407,7 @@ Foam::refinementFeatures::refinementFeatures // Search engines forAll(*this, i) { - const extendedEdgeMesh& eMesh = operator[](i); - const labelListList& pointEdges = eMesh.pointEdges(); - - DynamicList<label> featurePoints; - forAll(pointEdges, pointI) - { - if (pointEdges[pointI].size() > 2) - { - featurePoints.append(pointI); - } - } - - Info<< "Detected " << featurePoints.size() - << " featurePoints out of " << pointEdges.size() - << " points on feature " << operator[](i).name() - << endl; - - buildTrees(i, featurePoints); + buildTrees(i); } } diff --git a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.H b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.H index 4cfaf20ffaf..7d27090b147 100644 --- a/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.H +++ b/src/mesh/autoMesh/autoHexMesh/refinementFeatures/refinementFeatures.H @@ -76,7 +76,7 @@ private: void read(const objectRegistry&, const PtrList<dictionary>&); //- Build edge tree and feature point tree - void buildTrees(const label, const labelList&); + void buildTrees(const label); //- Find shell level higher than ptLevel void findHigherLevel -- GitLab