mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: polyMeshTetDecomposition: restore face centre tet decomposition
This commit is contained in:
@ -309,6 +309,7 @@ Foam::scalar Foam::polyMeshGeometry::calcSkewness
|
||||
}
|
||||
|
||||
|
||||
// Create the neighbour pyramid - it will have positive volume
|
||||
bool Foam::polyMeshGeometry::checkFaceTet
|
||||
(
|
||||
const polyMesh& mesh,
|
||||
@ -787,7 +788,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
// check whether decomposing each cell into tets results in
|
||||
// positive volume, non-flat tets
|
||||
const labelList& own = mesh.faceOwner();
|
||||
// const labelList& nei = mesh.faceNeighbour();
|
||||
const labelList& nei = mesh.faceNeighbour();
|
||||
const polyBoundaryMesh& patches = mesh.boundaryMesh();
|
||||
|
||||
// Calculate coupled cell centre
|
||||
@ -802,50 +803,48 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
|
||||
label nErrorTets = 0;
|
||||
|
||||
// bool tetError = false
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
|
||||
// Create the owner pyramid - note: exchange cell and face centre
|
||||
// to get positive volume.
|
||||
// tetError = checkFaceTet
|
||||
// (
|
||||
// mesh,
|
||||
// report,
|
||||
// minTetQuality,
|
||||
// p,
|
||||
// faceI,
|
||||
// cellCentres[own[faceI]], // face centre
|
||||
// faceCentres[faceI], // cell centre
|
||||
// setPtr
|
||||
// );
|
||||
bool tetError = checkFaceTet
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
faceI,
|
||||
cellCentres[own[faceI]], // face centre
|
||||
faceCentres[faceI], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
// if (tetError)
|
||||
// {
|
||||
// nErrorTets++;
|
||||
// }
|
||||
if (tetError)
|
||||
{
|
||||
nErrorTets++;
|
||||
}
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
{
|
||||
// Create the neighbour tets - they will have positive volume
|
||||
// tetError = checkFaceTet
|
||||
// (
|
||||
// mesh,
|
||||
// report,
|
||||
// minTetQuality,
|
||||
// p,
|
||||
// faceI,
|
||||
// faceCentres[faceI], // face centre
|
||||
// cellCentres[nei[faceI]], // cell centre
|
||||
// setPtr
|
||||
// );
|
||||
bool tetError = checkFaceTet
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
faceI,
|
||||
faceCentres[faceI], // face centre
|
||||
cellCentres[nei[faceI]], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
// if (tetError)
|
||||
// {
|
||||
// nErrorTets++;
|
||||
// }
|
||||
if (tetError)
|
||||
{
|
||||
nErrorTets++;
|
||||
}
|
||||
|
||||
if
|
||||
(
|
||||
@ -921,40 +920,40 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
label face0 = baffles[i].first();
|
||||
label face1 = baffles[i].second();
|
||||
|
||||
// tetError = checkFaceTet
|
||||
// (
|
||||
// mesh,
|
||||
// report,
|
||||
// minTetQuality,
|
||||
// p,
|
||||
// face0,
|
||||
// cellCentres[own[face0]], // face centre
|
||||
// faceCentres[face0], // cell centre
|
||||
// setPtr
|
||||
// );
|
||||
bool tetError = checkFaceTet
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
face0,
|
||||
cellCentres[own[face0]], // face centre
|
||||
faceCentres[face0], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
// if (tetError)
|
||||
// {
|
||||
// nErrorTets++;
|
||||
// }
|
||||
if (tetError)
|
||||
{
|
||||
nErrorTets++;
|
||||
}
|
||||
|
||||
// // Create the neighbour tets - they will have positive volume
|
||||
// tetError = checkFaceTet
|
||||
// (
|
||||
// mesh,
|
||||
// report,
|
||||
// minTetQuality,
|
||||
// p,
|
||||
// face0,
|
||||
// faceCentres[face0], // face centre
|
||||
// cellCentres[own[face1]], // cell centre
|
||||
// setPtr
|
||||
// );
|
||||
// Create the neighbour tets - they will have positive volume
|
||||
tetError = checkFaceTet
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
face0,
|
||||
faceCentres[face0], // face centre
|
||||
cellCentres[own[face1]], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
// if (tetError)
|
||||
// {
|
||||
// nErrorTets++;
|
||||
// }
|
||||
if (tetError)
|
||||
{
|
||||
nErrorTets++;
|
||||
}
|
||||
|
||||
if
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user