Bugfixes in polyhedralRefinement.?
1. TypeName macro instead of ClassName 2. Need all points (original + added) when checking internal/boundary face orientation
This commit is contained in:
parent
00b7c46868
commit
45d4642a2d
2 changed files with 31 additions and 11 deletions
|
@ -2691,17 +2691,27 @@ void Foam::polyhedralRefinement::checkInternalOrientation
|
||||||
// Get list of polyAddPoint objects
|
// Get list of polyAddPoint objects
|
||||||
const DynamicList<polyAddPoint>& polyAddedPoints(ref.addedPoints());
|
const DynamicList<polyAddPoint>& polyAddedPoints(ref.addedPoints());
|
||||||
|
|
||||||
// Create a list of newly added points
|
// Create a list of all points
|
||||||
pointField addedPoints(polyAddedPoints.size());
|
const label nOrigPoints = mesh_.nPoints();
|
||||||
forAll (addedPoints, i)
|
pointField allPoints(nOrigPoints + polyAddedPoints.size());
|
||||||
|
|
||||||
|
// Set ordinary points first
|
||||||
|
const pointField& meshPoints = mesh_.points();
|
||||||
|
forAll (meshPoints, i)
|
||||||
{
|
{
|
||||||
addedPoints[i] = polyAddedPoints[i].newPoint();
|
allPoints[i] = meshPoints[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set newly added points next
|
||||||
|
forAll (polyAddedPoints, i)
|
||||||
|
{
|
||||||
|
allPoints[i + nOrigPoints] = polyAddedPoints[i].newPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get compact points
|
// Get compact points
|
||||||
const pointField compactPoints
|
const pointField compactPoints
|
||||||
(
|
(
|
||||||
IndirectList<point>(addedPoints, newFace)()
|
IndirectList<point>(allPoints, newFace)()
|
||||||
);
|
);
|
||||||
|
|
||||||
const vector n(compactFace.normal(compactPoints));
|
const vector n(compactFace.normal(compactPoints));
|
||||||
|
@ -2768,17 +2778,27 @@ void Foam::polyhedralRefinement::checkBoundaryOrientation
|
||||||
// Get list of polyAddPoint objects
|
// Get list of polyAddPoint objects
|
||||||
const DynamicList<polyAddPoint>& polyAddedPoints(ref.addedPoints());
|
const DynamicList<polyAddPoint>& polyAddedPoints(ref.addedPoints());
|
||||||
|
|
||||||
// Create a list of newly added points
|
// Create a list of all points
|
||||||
pointField addedPoints(polyAddedPoints.size());
|
const label nOrigPoints = mesh_.nPoints();
|
||||||
forAll (addedPoints, i)
|
pointField allPoints(nOrigPoints + polyAddedPoints.size());
|
||||||
|
|
||||||
|
// Set ordinary points first
|
||||||
|
const pointField& meshPoints = mesh_.points();
|
||||||
|
forAll (meshPoints, i)
|
||||||
{
|
{
|
||||||
addedPoints[i] = polyAddedPoints[i].newPoint();
|
allPoints[i] = meshPoints[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set newly added points next
|
||||||
|
forAll (polyAddedPoints, i)
|
||||||
|
{
|
||||||
|
allPoints[i + nOrigPoints] = polyAddedPoints[i].newPoint();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get compact points
|
// Get compact points
|
||||||
const pointField compactPoints
|
const pointField compactPoints
|
||||||
(
|
(
|
||||||
IndirectList<point>(addedPoints, newFace)()
|
IndirectList<point>(allPoints, newFace)()
|
||||||
);
|
);
|
||||||
|
|
||||||
const vector n(compactFace.normal(compactPoints));
|
const vector n(compactFace.normal(compactPoints));
|
||||||
|
|
|
@ -366,7 +366,7 @@ class polyhedralRefinement
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
ClassName("polyhedralRefinement");
|
TypeName("polyhedralRefinement");
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
Reference in a new issue