mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Cleaning out unnecessary functions and commented out code.
This commit is contained in:
@ -978,8 +978,7 @@ Foam::conformalVoronoiMesh::reconformationControl() const
|
|||||||
else if
|
else if
|
||||||
(
|
(
|
||||||
runTime_.timeIndex()
|
runTime_.timeIndex()
|
||||||
% cvMeshControls().surfaceConformationRebuildFrequency()
|
% cvMeshControls().surfaceConformationRebuildFrequency() == 0
|
||||||
== 0
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Info<< nl << " Rebuilding surface conformation for more iterations"
|
Info<< nl << " Rebuilding surface conformation for more iterations"
|
||||||
@ -1993,8 +1992,8 @@ void Foam::conformalVoronoiMesh::calcDualMesh
|
|||||||
// assigns an index to the Delaunay vertices which will be the dual cell
|
// assigns an index to the Delaunay vertices which will be the dual cell
|
||||||
// index used for owner neighbour assignment.
|
// index used for owner neighbour assignment.
|
||||||
|
|
||||||
// The indices of the points are reset which destroys the point-pair
|
// The indices of the points are reset *which **destroys** the point-pair
|
||||||
// matching, so the type of each vertex are reset to avoid any ambiguity.
|
// matching*, so the type of each vertex are reset to avoid any ambiguity.
|
||||||
|
|
||||||
label dualCelli = 0;
|
label dualCelli = 0;
|
||||||
|
|
||||||
@ -2130,11 +2129,6 @@ void Foam::conformalVoronoiMesh::calcDualMesh
|
|||||||
{
|
{
|
||||||
face newDualFace = buildDualFace(eit);
|
face newDualFace = buildDualFace(eit);
|
||||||
|
|
||||||
//bool keepFace = assessFace(newDualFace, vA, vB, points);
|
|
||||||
|
|
||||||
// if (newDualFace.size() >= 3 && keepFace)
|
|
||||||
// {
|
|
||||||
|
|
||||||
if (newDualFace.size() >= 3)
|
if (newDualFace.size() >= 3)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -2263,33 +2257,6 @@ void Foam::conformalVoronoiMesh::calcDualMesh
|
|||||||
removeUnusedPoints(faces, points);
|
removeUnusedPoints(faces, points);
|
||||||
|
|
||||||
timeCheck();
|
timeCheck();
|
||||||
|
|
||||||
// // Write out faces to be removed as a list of labels to be used in
|
|
||||||
// // faceSet
|
|
||||||
|
|
||||||
// DynamicList<label> facesToBeRemoved;
|
|
||||||
|
|
||||||
// labelList nEdgeHistogram(12, 0);
|
|
||||||
|
|
||||||
// forAll(faces, fI)
|
|
||||||
// {
|
|
||||||
// const face& f = faces[fI];
|
|
||||||
|
|
||||||
// if (!assessFace(f, targetCellSize(f.centre(points)), points))
|
|
||||||
// {
|
|
||||||
// facesToBeRemoved.append(fI);
|
|
||||||
|
|
||||||
// nEdgeHistogram[f.size()]++;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fileName fName = "facesToBeRemoved";
|
|
||||||
|
|
||||||
// OFstream str(fName);
|
|
||||||
|
|
||||||
// str << facesToBeRemoved;
|
|
||||||
|
|
||||||
// Info<< nEdgeHistogram << endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2544,100 +2511,6 @@ Foam::face Foam::conformalVoronoiMesh::buildDualFace
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Foam::conformalVoronoiMesh::assessFace
|
|
||||||
(
|
|
||||||
const face& f,
|
|
||||||
const Vertex_handle& vA,
|
|
||||||
const Vertex_handle& vB,
|
|
||||||
const pointField& pts
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
if (f.size() < 3)
|
|
||||||
{
|
|
||||||
// Invalid face, fewer than three points
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (f.size() == 3)
|
|
||||||
{
|
|
||||||
// Triangle face, handle specially
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Polygonal face
|
|
||||||
}
|
|
||||||
|
|
||||||
scalar averageCellSize = averageAnyCellSize(vA, vB);
|
|
||||||
|
|
||||||
return assessFace(f, averageCellSize, pts);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::conformalVoronoiMesh::assessFace
|
|
||||||
(
|
|
||||||
const face& f,
|
|
||||||
scalar targetFaceSize,
|
|
||||||
const pointField& pts
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
scalar smallFaceAreaCoeff = sqr(1e-5);
|
|
||||||
scalar highAspectRatioFaceAreaCoeff = 0.1;
|
|
||||||
scalar aspectRatioLimit = 2.0;
|
|
||||||
scalar targetArea = sqr(targetFaceSize);
|
|
||||||
|
|
||||||
const edgeList& eds = f.edges();
|
|
||||||
|
|
||||||
scalar perimeter = 0.0;
|
|
||||||
|
|
||||||
forAll(eds, i)
|
|
||||||
{
|
|
||||||
perimeter += eds[i].mag(pts);
|
|
||||||
|
|
||||||
vector edVec = eds[i].vec(pts);
|
|
||||||
};
|
|
||||||
|
|
||||||
scalar area = f.mag(pts);
|
|
||||||
|
|
||||||
scalar equivalentSqrPerimeter = 4.0*sqrt(area);
|
|
||||||
|
|
||||||
scalar aspectRatio = perimeter/max(equivalentSqrPerimeter, VSMALL);
|
|
||||||
|
|
||||||
bool keepFace = true;
|
|
||||||
|
|
||||||
if (area < smallFaceAreaCoeff*targetArea)
|
|
||||||
{
|
|
||||||
keepFace = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if
|
|
||||||
(
|
|
||||||
aspectRatio > aspectRatioLimit
|
|
||||||
&& area < highAspectRatioFaceAreaCoeff*targetArea)
|
|
||||||
{
|
|
||||||
keepFace = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if (!keepFace)
|
|
||||||
// {
|
|
||||||
// Info<< nl << "Area " << area << nl
|
|
||||||
// << "targetFaceSize " << targetFaceSize << nl
|
|
||||||
// << "Area ratio "
|
|
||||||
// << area/max(sqr(targetFaceSize), VSMALL) << nl
|
|
||||||
// << "aspectRatio " << aspectRatio << nl
|
|
||||||
// << endl;
|
|
||||||
|
|
||||||
// forAll(f, i)
|
|
||||||
// {
|
|
||||||
// meshTools::writeOBJ(Info, pts[f[i]]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Info<< nl;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return keepFace;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::label Foam::conformalVoronoiMesh::mergeCloseDualVertices
|
Foam::label Foam::conformalVoronoiMesh::mergeCloseDualVertices
|
||||||
(
|
(
|
||||||
const pointField& pts,
|
const pointField& pts,
|
||||||
@ -2734,9 +2607,6 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
|| vB->internalOrBoundaryPoint()
|
|| vB->internalOrBoundaryPoint()
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
scalar targetFaceSize = averageAnyCellSize(vA, vB);
|
|
||||||
scalar targetArea = sqr(targetFaceSize);
|
|
||||||
|
|
||||||
face dualFace = buildDualFace(eit);
|
face dualFace = buildDualFace(eit);
|
||||||
|
|
||||||
if (dualFace.size() < 3)
|
if (dualFace.size() < 3)
|
||||||
@ -2747,6 +2617,9 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
|
|
||||||
scalar area = dualFace.mag(pts);
|
scalar area = dualFace.mag(pts);
|
||||||
|
|
||||||
|
scalar targetFaceSize = averageAnyCellSize(vA, vB);
|
||||||
|
scalar targetArea = sqr(targetFaceSize);
|
||||||
|
|
||||||
if (area < smallFaceAreaCoeff*targetArea)
|
if (area < smallFaceAreaCoeff*targetArea)
|
||||||
{
|
{
|
||||||
// Collapse the dual face
|
// Collapse the dual face
|
||||||
@ -2801,18 +2674,6 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
dualPtIndexMap.insert(longestEdStartPtI, longestEdStartPtI);
|
dualPtIndexMap.insert(longestEdStartPtI, longestEdStartPtI);
|
||||||
dualPtIndexMap.insert(longestEdEndPtI, longestEdEndPtI);
|
dualPtIndexMap.insert(longestEdEndPtI, longestEdEndPtI);
|
||||||
|
|
||||||
// Circulate around the face
|
|
||||||
|
|
||||||
// Info<< nl << "# Before " << dualFace << nl
|
|
||||||
// << "# area " << area << nl
|
|
||||||
// << "# " << longestEdStartPtI << " " << longestEdEndPtI << nl
|
|
||||||
// << endl;
|
|
||||||
|
|
||||||
// forAll(dualFace, fPtI)
|
|
||||||
// {
|
|
||||||
// meshTools::writeOBJ(Info, pts[dualFace[fPtI]]);
|
|
||||||
// }
|
|
||||||
|
|
||||||
for (label fcI = 1; fcI <= label(eds.size()/2); fcI++)
|
for (label fcI = 1; fcI <= label(eds.size()/2); fcI++)
|
||||||
{
|
{
|
||||||
revEdI = eds.rcIndex(revEdI);
|
revEdI = eds.rcIndex(revEdI);
|
||||||
@ -2893,7 +2754,10 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FatalErrorIn("Foam::conformalVoronoiMesh::collapseFace")
|
FatalErrorIn
|
||||||
|
(
|
||||||
|
"Foam::conformalVoronoiMesh::collapseFace"
|
||||||
|
)
|
||||||
<< "Face circulation failed for face "
|
<< "Face circulation failed for face "
|
||||||
<< dualFace << nl
|
<< dualFace << nl
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
@ -2901,23 +2765,10 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Info<< "# dualPtIndexMap " << dualPtIndexMap << endl;
|
|
||||||
|
|
||||||
// Move the position of the accumulated points
|
// Move the position of the accumulated points
|
||||||
pts[longestEdStartPtI] = revPt;
|
pts[longestEdStartPtI] = revPt;
|
||||||
pts[longestEdEndPtI] = fwdPt;
|
pts[longestEdEndPtI] = fwdPt;
|
||||||
|
|
||||||
// {
|
|
||||||
// face checkDualFace = buildDualFace(eit);
|
|
||||||
|
|
||||||
// Info<< "# After " << checkDualFace << endl;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Info<< "# Collapsed" << endl;
|
|
||||||
|
|
||||||
// meshTools::writeOBJ(Info, revPt);
|
|
||||||
// meshTools::writeOBJ(Info, fwdPt);
|
|
||||||
|
|
||||||
nCollapsedFaces++;
|
nCollapsedFaces++;
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -2927,53 +2778,6 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
{
|
{
|
||||||
// Collapse to point
|
// Collapse to point
|
||||||
|
|
||||||
// Cell_circulator ccStart = incident_cells(*eit);
|
|
||||||
// Cell_circulator cc1 = ccStart;
|
|
||||||
// Cell_circulator cc2 = cc1;
|
|
||||||
|
|
||||||
// // Advance the second circulator so that it always stays on the next
|
|
||||||
// // cell around the edge;
|
|
||||||
// cc2++;
|
|
||||||
|
|
||||||
// label nPts = 0;
|
|
||||||
|
|
||||||
// point resultantPt = vector::zero;
|
|
||||||
|
|
||||||
// label ccStartI = cc1->cellIndex();
|
|
||||||
|
|
||||||
// do
|
|
||||||
// {
|
|
||||||
// label& cc1I = cc1->cellIndex();
|
|
||||||
// label& cc2I = cc2->cellIndex();
|
|
||||||
|
|
||||||
// if (cc1I < 0 || cc2I < 0)
|
|
||||||
// {
|
|
||||||
// FatalErrorIn("Foam::conformalVoronoiMesh::collapseFace")
|
|
||||||
// << "Dual face uses circumcenter defined by a "
|
|
||||||
// << "Delaunay tetrahedron with no internal "
|
|
||||||
// << "or boundary points. Defining Delaunay edge ends: "
|
|
||||||
// << topoint(vA->point()) << " "
|
|
||||||
// << topoint(vB->point()) << nl
|
|
||||||
// << exit(FatalError);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (cc1I != cc2I)
|
|
||||||
// {
|
|
||||||
// resultantPt += pts[cc1I];
|
|
||||||
// nPts++;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// cc1I = ccStartI;
|
|
||||||
// cc2I = ccStartI;
|
|
||||||
// cc1++;
|
|
||||||
// cc2++;
|
|
||||||
|
|
||||||
// } while (cc1 != ccStart);
|
|
||||||
|
|
||||||
// resultantPt /= nPts;
|
|
||||||
|
|
||||||
// pts[ccStartI] = resultantPt;
|
|
||||||
|
|
||||||
point resultantPt = vector::zero;
|
point resultantPt = vector::zero;
|
||||||
|
|
||||||
label collapseToPtI = dualFace[0];
|
label collapseToPtI = dualFace[0];
|
||||||
@ -3001,28 +2805,6 @@ Foam::label Foam::conformalVoronoiMesh::collapseFaces
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Foam::conformalVoronoiMesh::reindexDualFace
|
|
||||||
(
|
|
||||||
const Triangulation::Finite_edges_iterator& eit,
|
|
||||||
const Map<label>& dualPtIndexMap
|
|
||||||
)
|
|
||||||
{
|
|
||||||
Cell_circulator ccStart = incident_cells(*eit);
|
|
||||||
Cell_circulator cc = ccStart;
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (dualPtIndexMap.found(cc->cellIndex()))
|
|
||||||
{
|
|
||||||
cc->cellIndex() = dualPtIndexMap[cc->cellIndex()];
|
|
||||||
}
|
|
||||||
|
|
||||||
cc++;
|
|
||||||
|
|
||||||
} while (cc != ccStart);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::conformalVoronoiMesh::reindexDualVertices
|
void Foam::conformalVoronoiMesh::reindexDualVertices
|
||||||
(
|
(
|
||||||
const Map<label>& dualPtIndexMap
|
const Map<label>& dualPtIndexMap
|
||||||
|
|||||||
@ -456,24 +456,6 @@ private:
|
|||||||
const Triangulation::Finite_edges_iterator& eit
|
const Triangulation::Finite_edges_iterator& eit
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Assess face to see if it is a candidate for removal
|
|
||||||
bool assessFace
|
|
||||||
(
|
|
||||||
const face& f,
|
|
||||||
const Vertex_handle& vA,
|
|
||||||
const Vertex_handle& vB,
|
|
||||||
const pointField& pts
|
|
||||||
) const;
|
|
||||||
|
|
||||||
//- Assess face to see if it is a candidate for removal, self
|
|
||||||
// determined target size
|
|
||||||
bool assessFace
|
|
||||||
(
|
|
||||||
const face& f,
|
|
||||||
scalar targetFaceSize,
|
|
||||||
const pointField& pts
|
|
||||||
) const;
|
|
||||||
|
|
||||||
//- Merge vertices that are very close together
|
//- Merge vertices that are very close together
|
||||||
label mergeCloseDualVertices
|
label mergeCloseDualVertices
|
||||||
(
|
(
|
||||||
@ -490,14 +472,6 @@ private:
|
|||||||
Map<label>& dualPtIndexMap
|
Map<label>& dualPtIndexMap
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Re-index the Delaunay cells around a Delaunay edge,
|
|
||||||
// i.e. the dual face
|
|
||||||
void reindexDualFace
|
|
||||||
(
|
|
||||||
const Triangulation::Finite_edges_iterator& eit,
|
|
||||||
const Map<label>& dualPtIndexMap
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Re-index all of the the Delaunay cells
|
//- Re-index all of the the Delaunay cells
|
||||||
void reindexDualVertices(const Map<label>& dualPtIndexMap);
|
void reindexDualVertices(const Map<label>& dualPtIndexMap);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user