mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
GIT: Initial state after latest Foundation merge
This commit is contained in:
@ -195,13 +195,13 @@ Foam::labelList Foam::polyMeshGeometry::affectedCells
|
||||
|
||||
forAll(changedFaces, i)
|
||||
{
|
||||
label faceI = changedFaces[i];
|
||||
label facei = changedFaces[i];
|
||||
|
||||
affectedCells.insert(own[faceI]);
|
||||
affectedCells.insert(own[facei]);
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
affectedCells.insert(nei[faceI]);
|
||||
affectedCells.insert(nei[facei]);
|
||||
}
|
||||
}
|
||||
return affectedCells.toc();
|
||||
@ -213,7 +213,7 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
|
||||
const polyMesh& mesh,
|
||||
const bool report,
|
||||
const scalar severeNonorthogonalityThreshold,
|
||||
const label faceI,
|
||||
const label facei,
|
||||
const vector& s, // face area vector
|
||||
const vector& d, // cc-cc vector
|
||||
|
||||
@ -228,9 +228,9 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
|
||||
{
|
||||
label nei = -1;
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
nei = mesh.faceNeighbour()[faceI];
|
||||
nei = mesh.faceNeighbour()[facei];
|
||||
}
|
||||
|
||||
if (dDotS > SMALL)
|
||||
@ -238,8 +238,8 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
|
||||
if (report)
|
||||
{
|
||||
// Severe non-orthogonality but mesh still OK
|
||||
Pout<< "Severe non-orthogonality for face " << faceI
|
||||
<< " between cells " << mesh.faceOwner()[faceI]
|
||||
Pout<< "Severe non-orthogonality for face " << facei
|
||||
<< " between cells " << mesh.faceOwner()[facei]
|
||||
<< " and " << nei
|
||||
<< ": Angle = "
|
||||
<< radToDeg(::acos(dDotS))
|
||||
@ -255,8 +255,8 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
|
||||
{
|
||||
WarningInFunction
|
||||
<< "Severe non-orthogonality detected for face "
|
||||
<< faceI
|
||||
<< " between cells " << mesh.faceOwner()[faceI]
|
||||
<< facei
|
||||
<< " between cells " << mesh.faceOwner()[facei]
|
||||
<< " and " << nei
|
||||
<< ": Angle = "
|
||||
<< radToDeg(::acos(dDotS))
|
||||
@ -268,7 +268,7 @@ Foam::scalar Foam::polyMeshGeometry::checkNonOrtho
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
}
|
||||
return dDotS;
|
||||
@ -282,14 +282,14 @@ bool Foam::polyMeshGeometry::checkFaceTet
|
||||
const bool report,
|
||||
const scalar minTetQuality,
|
||||
const pointField& p,
|
||||
const label faceI,
|
||||
const label facei,
|
||||
const point& fc, // face centre
|
||||
const point& cc, // cell centre
|
||||
|
||||
labelHashSet* setPtr
|
||||
)
|
||||
{
|
||||
const face& f = mesh.faces()[faceI];
|
||||
const face& f = mesh.faces()[facei];
|
||||
|
||||
forAll(f, fp)
|
||||
{
|
||||
@ -309,17 +309,17 @@ bool Foam::polyMeshGeometry::checkFaceTet
|
||||
<< "const bool, const scalar, const pointField&"
|
||||
<< ", const pointField&"
|
||||
<< ", const labelList&, labelHashSet*) : "
|
||||
<< "face " << faceI
|
||||
<< "face " << facei
|
||||
<< " has a triangle that points the wrong way."
|
||||
<< endl
|
||||
<< "Tet quality: " << tetQual
|
||||
<< " Face " << faceI
|
||||
<< " Face " << facei
|
||||
<< endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -388,9 +388,9 @@ bool Foam::polyMeshGeometry::checkFaceDotProduct
|
||||
// Calculate coupled cell centre
|
||||
pointField neiCc(mesh.nFaces() - mesh.nInternalFaces());
|
||||
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
neiCc[faceI-mesh.nInternalFaces()] = cellCentres[own[faceI]];
|
||||
neiCc[facei-mesh.nInternalFaces()] = cellCentres[own[facei]];
|
||||
}
|
||||
|
||||
syncTools::swapBoundaryFacePositions(mesh, neiCc);
|
||||
@ -406,20 +406,20 @@ bool Foam::polyMeshGeometry::checkFaceDotProduct
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const point& ownCc = cellCentres[own[faceI]];
|
||||
const point& ownCc = cellCentres[own[facei]];
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
scalar dDotS = checkNonOrtho
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
severeNonorthogonalityThreshold,
|
||||
faceI,
|
||||
faceAreas[faceI],
|
||||
cellCentres[nei[faceI]] - ownCc,
|
||||
facei,
|
||||
faceAreas[facei],
|
||||
cellCentres[nei[facei]] - ownCc,
|
||||
|
||||
severeNonOrth,
|
||||
errorNonOrth,
|
||||
@ -436,18 +436,18 @@ bool Foam::polyMeshGeometry::checkFaceDotProduct
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchI = patches.whichPatch(faceI);
|
||||
label patchi = patches.whichPatch(facei);
|
||||
|
||||
if (patches[patchI].coupled())
|
||||
if (patches[patchi].coupled())
|
||||
{
|
||||
scalar dDotS = checkNonOrtho
|
||||
(
|
||||
mesh,
|
||||
report,
|
||||
severeNonorthogonalityThreshold,
|
||||
faceI,
|
||||
faceAreas[faceI],
|
||||
neiCc[faceI-mesh.nInternalFaces()] - ownCc,
|
||||
facei,
|
||||
faceAreas[facei],
|
||||
neiCc[facei-mesh.nInternalFaces()] - ownCc,
|
||||
|
||||
severeNonOrth,
|
||||
errorNonOrth,
|
||||
@ -567,13 +567,13 @@ bool Foam::polyMeshGeometry::checkFacePyramids
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
// Create the owner pyramid - it will have negative volume
|
||||
scalar pyrVol = pyramidPointFaceRef
|
||||
(
|
||||
f[faceI],
|
||||
cellCentres[own[faceI]]
|
||||
f[facei],
|
||||
cellCentres[own[facei]]
|
||||
).mag(p);
|
||||
|
||||
if (pyrVol > -minPyrVol)
|
||||
@ -583,29 +583,29 @@ bool Foam::polyMeshGeometry::checkFacePyramids
|
||||
Pout<< "bool polyMeshGeometry::checkFacePyramids("
|
||||
<< "const bool, const scalar, const pointField&"
|
||||
<< ", const labelList&, labelHashSet*): "
|
||||
<< "face " << faceI << " points the wrong way. " << endl
|
||||
<< "face " << facei << " points the wrong way. " << endl
|
||||
<< "Pyramid volume: " << -pyrVol
|
||||
<< " Face " << f[faceI] << " area: " << f[faceI].mag(p)
|
||||
<< " Owner cell: " << own[faceI] << endl
|
||||
<< " Face " << f[facei] << " area: " << f[facei].mag(p)
|
||||
<< " Owner cell: " << own[facei] << endl
|
||||
<< "Owner cell vertex labels: "
|
||||
<< mesh.cells()[own[faceI]].labels(f)
|
||||
<< mesh.cells()[own[facei]].labels(f)
|
||||
<< endl;
|
||||
}
|
||||
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nErrorPyrs++;
|
||||
}
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
// Create the neighbour pyramid - it will have positive volume
|
||||
scalar pyrVol =
|
||||
pyramidPointFaceRef(f[faceI], cellCentres[nei[faceI]]).mag(p);
|
||||
pyramidPointFaceRef(f[facei], cellCentres[nei[facei]]).mag(p);
|
||||
|
||||
if (pyrVol < minPyrVol)
|
||||
{
|
||||
@ -614,18 +614,18 @@ bool Foam::polyMeshGeometry::checkFacePyramids
|
||||
Pout<< "bool polyMeshGeometry::checkFacePyramids("
|
||||
<< "const bool, const scalar, const pointField&"
|
||||
<< ", const labelList&, labelHashSet*): "
|
||||
<< "face " << faceI << " points the wrong way. " << endl
|
||||
<< "face " << facei << " points the wrong way. " << endl
|
||||
<< "Pyramid volume: " << -pyrVol
|
||||
<< " Face " << f[faceI] << " area: " << f[faceI].mag(p)
|
||||
<< " Neighbour cell: " << nei[faceI] << endl
|
||||
<< " Face " << f[facei] << " area: " << f[facei].mag(p)
|
||||
<< " Neighbour cell: " << nei[facei] << endl
|
||||
<< "Neighbour cell vertex labels: "
|
||||
<< mesh.cells()[nei[faceI]].labels(f)
|
||||
<< mesh.cells()[nei[facei]].labels(f)
|
||||
<< endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nErrorPyrs++;
|
||||
@ -748,9 +748,9 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
// Calculate coupled cell centre
|
||||
pointField neiCc(mesh.nFaces() - mesh.nInternalFaces());
|
||||
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
neiCc[faceI - mesh.nInternalFaces()] = cellCentres[own[faceI]];
|
||||
neiCc[facei - mesh.nInternalFaces()] = cellCentres[own[facei]];
|
||||
}
|
||||
|
||||
syncTools::swapBoundaryFacePositions(mesh, neiCc);
|
||||
@ -759,7 +759,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
// Create the owner pyramid - note: exchange cell and face centre
|
||||
// to get positive volume.
|
||||
@ -769,9 +769,9 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
faceI,
|
||||
cellCentres[own[faceI]], // face centre
|
||||
faceCentres[faceI], // cell centre
|
||||
facei,
|
||||
cellCentres[own[facei]], // face centre
|
||||
faceCentres[facei], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
@ -780,7 +780,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
nErrorTets++;
|
||||
}
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
// Create the neighbour tets - they will have positive volume
|
||||
bool tetError = checkFaceTet
|
||||
@ -789,9 +789,9 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
report,
|
||||
minTetQuality,
|
||||
p,
|
||||
faceI,
|
||||
faceCentres[faceI], // face centre
|
||||
cellCentres[nei[faceI]], // cell centre
|
||||
facei,
|
||||
faceCentres[facei], // face centre
|
||||
cellCentres[nei[facei]], // cell centre
|
||||
setPtr
|
||||
);
|
||||
|
||||
@ -805,7 +805,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
polyMeshTetDecomposition::findSharedBasePoint
|
||||
(
|
||||
mesh,
|
||||
faceI,
|
||||
facei,
|
||||
minTetQuality,
|
||||
report
|
||||
) == -1
|
||||
@ -813,7 +813,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
{
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nErrorTets++;
|
||||
@ -821,17 +821,17 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchI = patches.whichPatch(faceI);
|
||||
label patchi = patches.whichPatch(facei);
|
||||
|
||||
if (patches[patchI].coupled())
|
||||
if (patches[patchi].coupled())
|
||||
{
|
||||
if
|
||||
(
|
||||
polyMeshTetDecomposition::findSharedBasePoint
|
||||
(
|
||||
mesh,
|
||||
faceI,
|
||||
neiCc[faceI - mesh.nInternalFaces()],
|
||||
facei,
|
||||
neiCc[facei - mesh.nInternalFaces()],
|
||||
minTetQuality,
|
||||
report
|
||||
) == -1
|
||||
@ -839,7 +839,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
{
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nErrorTets++;
|
||||
@ -852,7 +852,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
polyMeshTetDecomposition::findBasePoint
|
||||
(
|
||||
mesh,
|
||||
faceI,
|
||||
facei,
|
||||
minTetQuality,
|
||||
report
|
||||
) == -1
|
||||
@ -860,7 +860,7 @@ bool Foam::polyMeshGeometry::checkFaceTets
|
||||
{
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nErrorTets++;
|
||||
@ -987,9 +987,9 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
scalar skewness = primitiveMeshTools::faceSkewness
|
||||
(
|
||||
@ -998,9 +998,9 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
faceCentres,
|
||||
faceAreas,
|
||||
|
||||
faceI,
|
||||
cellCentres[own[faceI]],
|
||||
cellCentres[nei[faceI]]
|
||||
facei,
|
||||
cellCentres[own[facei]],
|
||||
cellCentres[nei[facei]]
|
||||
);
|
||||
|
||||
// Check if the skewness vector is greater than the PN vector.
|
||||
@ -1010,13 +1010,13 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Severe skewness for face " << faceI
|
||||
Pout<< "Severe skewness for face " << facei
|
||||
<< " skewness = " << skewness << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnSkew++;
|
||||
@ -1024,7 +1024,7 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
|
||||
maxSkew = max(maxSkew, skewness);
|
||||
}
|
||||
else if (patches[patches.whichPatch(faceI)].coupled())
|
||||
else if (patches[patches.whichPatch(facei)].coupled())
|
||||
{
|
||||
scalar skewness = primitiveMeshTools::faceSkewness
|
||||
(
|
||||
@ -1033,9 +1033,9 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
faceCentres,
|
||||
faceAreas,
|
||||
|
||||
faceI,
|
||||
cellCentres[own[faceI]],
|
||||
neiCc[faceI-mesh.nInternalFaces()]
|
||||
facei,
|
||||
cellCentres[own[facei]],
|
||||
neiCc[facei-mesh.nInternalFaces()]
|
||||
);
|
||||
|
||||
// Check if the skewness vector is greater than the PN vector.
|
||||
@ -1045,13 +1045,13 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Severe skewness for coupled face " << faceI
|
||||
Pout<< "Severe skewness for coupled face " << facei
|
||||
<< " skewness = " << skewness << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnSkew++;
|
||||
@ -1068,8 +1068,8 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
faceCentres,
|
||||
faceAreas,
|
||||
|
||||
faceI,
|
||||
cellCentres[own[faceI]]
|
||||
facei,
|
||||
cellCentres[own[facei]]
|
||||
);
|
||||
|
||||
|
||||
@ -1080,13 +1080,13 @@ bool Foam::polyMeshGeometry::checkFaceSkewness
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Severe skewness for boundary face " << faceI
|
||||
Pout<< "Severe skewness for boundary face " << facei
|
||||
<< " skewness = " << skewness << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnSkew++;
|
||||
@ -1190,9 +1190,9 @@ bool Foam::polyMeshGeometry::checkFaceWeights
|
||||
// Calculate coupled cell centre
|
||||
pointField neiCc(mesh.nFaces()-mesh.nInternalFaces());
|
||||
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
neiCc[faceI-mesh.nInternalFaces()] = cellCentres[own[faceI]];
|
||||
neiCc[facei-mesh.nInternalFaces()] = cellCentres[own[facei]];
|
||||
}
|
||||
syncTools::swapBoundaryFacePositions(mesh, neiCc);
|
||||
|
||||
@ -1203,29 +1203,29 @@ bool Foam::polyMeshGeometry::checkFaceWeights
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const point& fc = faceCentres[faceI];
|
||||
const vector& fa = faceAreas[faceI];
|
||||
const point& fc = faceCentres[facei];
|
||||
const vector& fa = faceAreas[facei];
|
||||
|
||||
scalar dOwn = mag(fa & (fc-cellCentres[own[faceI]]));
|
||||
scalar dOwn = mag(fa & (fc-cellCentres[own[facei]]));
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
scalar dNei = mag(fa & (cellCentres[nei[faceI]]-fc));
|
||||
scalar dNei = mag(fa & (cellCentres[nei[facei]]-fc));
|
||||
scalar weight = min(dNei,dOwn)/(dNei+dOwn+VSMALL);
|
||||
|
||||
if (weight < warnWeight)
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Small weighting factor for face " << faceI
|
||||
Pout<< "Small weighting factor for face " << facei
|
||||
<< " weight = " << weight << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnWeight++;
|
||||
@ -1235,24 +1235,24 @@ bool Foam::polyMeshGeometry::checkFaceWeights
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchI = patches.whichPatch(faceI);
|
||||
label patchi = patches.whichPatch(facei);
|
||||
|
||||
if (patches[patchI].coupled())
|
||||
if (patches[patchi].coupled())
|
||||
{
|
||||
scalar dNei = mag(fa & (neiCc[faceI-mesh.nInternalFaces()]-fc));
|
||||
scalar dNei = mag(fa & (neiCc[facei-mesh.nInternalFaces()]-fc));
|
||||
scalar weight = min(dNei,dOwn)/(dNei+dOwn+VSMALL);
|
||||
|
||||
if (weight < warnWeight)
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Small weighting factor for face " << faceI
|
||||
Pout<< "Small weighting factor for face " << facei
|
||||
<< " weight = " << weight << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnWeight++;
|
||||
@ -1343,9 +1343,9 @@ bool Foam::polyMeshGeometry::checkVolRatio
|
||||
// Calculate coupled cell vol
|
||||
scalarField neiVols(mesh.nFaces()-mesh.nInternalFaces());
|
||||
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
neiVols[faceI-mesh.nInternalFaces()] = cellVolumes[own[faceI]];
|
||||
neiVols[facei-mesh.nInternalFaces()] = cellVolumes[own[facei]];
|
||||
}
|
||||
syncTools::swapBoundaryFaceList(mesh, neiVols);
|
||||
|
||||
@ -1356,23 +1356,23 @@ bool Foam::polyMeshGeometry::checkVolRatio
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
scalar ownVol = mag(cellVolumes[own[faceI]]);
|
||||
scalar ownVol = mag(cellVolumes[own[facei]]);
|
||||
|
||||
scalar neiVol = -GREAT;
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
neiVol = mag(cellVolumes[nei[faceI]]);
|
||||
neiVol = mag(cellVolumes[nei[facei]]);
|
||||
}
|
||||
else
|
||||
{
|
||||
label patchI = patches.whichPatch(faceI);
|
||||
label patchi = patches.whichPatch(facei);
|
||||
|
||||
if (patches[patchI].coupled())
|
||||
if (patches[patchi].coupled())
|
||||
{
|
||||
neiVol = mag(neiVols[faceI-mesh.nInternalFaces()]);
|
||||
neiVol = mag(neiVols[facei-mesh.nInternalFaces()]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1384,13 +1384,13 @@ bool Foam::polyMeshGeometry::checkVolRatio
|
||||
{
|
||||
if (report)
|
||||
{
|
||||
Pout<< "Small ratio for face " << faceI
|
||||
Pout<< "Small ratio for face " << facei
|
||||
<< " ratio = " << ratio << endl;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
nWarnRatio++;
|
||||
@ -1491,15 +1491,15 @@ bool Foam::polyMeshGeometry::checkFaceAngles
|
||||
|
||||
label nConcave = 0;
|
||||
|
||||
label errorFaceI = -1;
|
||||
label errorFacei = -1;
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const face& f = fcs[faceI];
|
||||
const face& f = fcs[facei];
|
||||
|
||||
vector faceNormal = faceAreas[faceI];
|
||||
vector faceNormal = faceAreas[facei];
|
||||
faceNormal /= mag(faceNormal) + VSMALL;
|
||||
|
||||
// Get edge from f[0] to f[size-1];
|
||||
@ -1533,16 +1533,16 @@ bool Foam::polyMeshGeometry::checkFaceAngles
|
||||
|
||||
if ((edgeNormal & faceNormal) < SMALL)
|
||||
{
|
||||
if (faceI != errorFaceI)
|
||||
if (facei != errorFacei)
|
||||
{
|
||||
// Count only one error per face.
|
||||
errorFaceI = faceI;
|
||||
errorFacei = facei;
|
||||
nConcave++;
|
||||
}
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
maxEdgeSin = max(maxEdgeSin, magEdgeNormal);
|
||||
@ -1626,17 +1626,17 @@ bool Foam::polyMeshGeometry::checkFaceTwist
|
||||
|
||||
// forAll(checkFaces, i)
|
||||
// {
|
||||
// label faceI = checkFaces[i];
|
||||
// label facei = checkFaces[i];
|
||||
//
|
||||
// const face& f = fcs[faceI];
|
||||
// const face& f = fcs[facei];
|
||||
//
|
||||
// scalar magArea = mag(faceAreas[faceI]);
|
||||
// scalar magArea = mag(faceAreas[facei]);
|
||||
//
|
||||
// if (f.size() > 3 && magArea > VSMALL)
|
||||
// {
|
||||
// const vector nf = faceAreas[faceI] / magArea;
|
||||
// const vector nf = faceAreas[facei] / magArea;
|
||||
//
|
||||
// const point& fc = faceCentres[faceI];
|
||||
// const point& fc = faceCentres[facei];
|
||||
//
|
||||
// forAll(f, fpI)
|
||||
// {
|
||||
@ -1658,7 +1658,7 @@ bool Foam::polyMeshGeometry::checkFaceTwist
|
||||
//
|
||||
// if (setPtr)
|
||||
// {
|
||||
// setPtr->insert(faceI);
|
||||
// setPtr->insert(facei);
|
||||
// }
|
||||
//
|
||||
// break;
|
||||
@ -1675,43 +1675,43 @@ bool Foam::polyMeshGeometry::checkFaceTwist
|
||||
// Calculate coupled cell centre
|
||||
pointField neiCc(mesh.nFaces()-mesh.nInternalFaces());
|
||||
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
neiCc[faceI-mesh.nInternalFaces()] = cellCentres[own[faceI]];
|
||||
neiCc[facei-mesh.nInternalFaces()] = cellCentres[own[facei]];
|
||||
}
|
||||
syncTools::swapBoundaryFacePositions(mesh, neiCc);
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const face& f = fcs[faceI];
|
||||
const face& f = fcs[facei];
|
||||
|
||||
if (f.size() > 3)
|
||||
{
|
||||
vector nf(Zero);
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
if (mesh.isInternalFace(facei))
|
||||
{
|
||||
nf = cellCentres[nei[faceI]] - cellCentres[own[faceI]];
|
||||
nf = cellCentres[nei[facei]] - cellCentres[own[facei]];
|
||||
nf /= mag(nf) + VSMALL;
|
||||
}
|
||||
else if (patches[patches.whichPatch(faceI)].coupled())
|
||||
else if (patches[patches.whichPatch(facei)].coupled())
|
||||
{
|
||||
nf =
|
||||
neiCc[faceI-mesh.nInternalFaces()]
|
||||
- cellCentres[own[faceI]];
|
||||
neiCc[facei-mesh.nInternalFaces()]
|
||||
- cellCentres[own[facei]];
|
||||
nf /= mag(nf) + VSMALL;
|
||||
}
|
||||
else
|
||||
{
|
||||
nf = faceCentres[faceI] - cellCentres[own[faceI]];
|
||||
nf = faceCentres[facei] - cellCentres[own[facei]];
|
||||
nf /= mag(nf) + VSMALL;
|
||||
}
|
||||
|
||||
if (nf != vector::zero)
|
||||
{
|
||||
const point& fc = faceCentres[faceI];
|
||||
const point& fc = faceCentres[facei];
|
||||
|
||||
forAll(f, fpI)
|
||||
{
|
||||
@ -1733,7 +1733,7 @@ bool Foam::polyMeshGeometry::checkFaceTwist
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1808,13 +1808,13 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const face& f = fcs[faceI];
|
||||
const face& f = fcs[facei];
|
||||
|
||||
if (f.size() > 3)
|
||||
{
|
||||
const point& fc = faceCentres[faceI];
|
||||
const point& fc = faceCentres[facei];
|
||||
|
||||
// Find starting triangle (at startFp) with non-zero area
|
||||
label startFp = -1;
|
||||
@ -1868,7 +1868,7 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1882,7 +1882,7 @@ bool Foam::polyMeshGeometry::checkTriangleTwist
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -1958,13 +1958,13 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
const face& f = fcs[faceI];
|
||||
const face& f = fcs[facei];
|
||||
|
||||
if (f.size() > 3)
|
||||
{
|
||||
const point& fc = faceCentres[faceI];
|
||||
const point& fc = faceCentres[facei];
|
||||
|
||||
// Sum triangle areas
|
||||
scalar sumArea = 0.0;
|
||||
@ -1979,13 +1979,13 @@ bool Foam::polyMeshGeometry::checkFaceFlatness
|
||||
).mag();
|
||||
}
|
||||
|
||||
if (sumArea/mag(faceAreas[faceI]) < minFlatness)
|
||||
if (sumArea/mag(faceAreas[facei]) < minFlatness)
|
||||
{
|
||||
nWarped++;
|
||||
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2045,13 +2045,13 @@ bool Foam::polyMeshGeometry::checkFaceArea
|
||||
|
||||
forAll(checkFaces, i)
|
||||
{
|
||||
label faceI = checkFaces[i];
|
||||
label facei = checkFaces[i];
|
||||
|
||||
if (mag(faceAreas[faceI]) < minArea)
|
||||
if (mag(faceAreas[facei]) < minArea)
|
||||
{
|
||||
if (setPtr)
|
||||
{
|
||||
setPtr->insert(faceI);
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
nZeroArea++;
|
||||
}
|
||||
@ -2117,14 +2117,14 @@ bool Foam::polyMeshGeometry::checkCellDeterminant
|
||||
tensor areaSum(Zero);
|
||||
scalar magAreaSum = 0;
|
||||
|
||||
forAll(cFaces, cFaceI)
|
||||
forAll(cFaces, cFacei)
|
||||
{
|
||||
label faceI = cFaces[cFaceI];
|
||||
label facei = cFaces[cFacei];
|
||||
|
||||
scalar magArea = mag(faceAreas[faceI]);
|
||||
scalar magArea = mag(faceAreas[facei]);
|
||||
|
||||
magAreaSum += magArea;
|
||||
areaSum += faceAreas[faceI]*(faceAreas[faceI]/(magArea+VSMALL));
|
||||
areaSum += faceAreas[facei]*(faceAreas[facei]/(magArea+VSMALL));
|
||||
}
|
||||
|
||||
scalar scaledDet = det(areaSum/(magAreaSum+VSMALL))/0.037037037037037;
|
||||
@ -2138,10 +2138,10 @@ bool Foam::polyMeshGeometry::checkCellDeterminant
|
||||
if (setPtr)
|
||||
{
|
||||
// Insert all faces of the cell.
|
||||
forAll(cFaces, cFaceI)
|
||||
forAll(cFaces, cFacei)
|
||||
{
|
||||
label faceI = cFaces[cFaceI];
|
||||
setPtr->insert(faceI);
|
||||
label facei = cFaces[cFacei];
|
||||
setPtr->insert(facei);
|
||||
}
|
||||
}
|
||||
nWarnDet++;
|
||||
|
||||
Reference in New Issue
Block a user