From 04c60c46d3f794c17eff692493d2bfddba866a07 Mon Sep 17 00:00:00 2001 From: graham Date: Thu, 23 Sep 2010 18:24:58 +0100 Subject: [PATCH] ENH: Disabling face centre tet decomposition quality checks. Difficult to achieve both types of decomposition with positive tets simultaneously in cvMeshes. --- .../polyMeshTetDecomposition.C | 76 +++++------ .../polyMeshGeometry/polyMeshGeometry.C | 125 +++++++++--------- 2 files changed, 101 insertions(+), 100 deletions(-) diff --git a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C index 23e7a3c52e..4e5934c58d 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMeshTetDecomposition/polyMeshTetDecomposition.C @@ -404,54 +404,54 @@ bool Foam::polyMeshTetDecomposition::checkFaceTets { const face& f = fcs[faceI]; - forAll(f, fPtI) - { - scalar tetQual = tetPointRef - ( - p[f[fPtI]], - p[f.nextLabel(fPtI)], - fc[faceI], - cc[own[faceI]] - ).quality(); + // forAll(f, fPtI) + // { + // scalar tetQual = tetPointRef + // ( + // p[f[fPtI]], + // p[f.nextLabel(fPtI)], + // fc[faceI], + // cc[own[faceI]] + // ).quality(); - if (tetQual > -tol) - { - if (setPtr) - { - setPtr->insert(faceI); - } + // if (tetQual > -tol) + // { + // if (setPtr) + // { + // setPtr->insert(faceI); + // } - nErrorTets++; - break; // no need to check other tets - } - } + // nErrorTets++; + // break; // no need to check other tets + // } + // } if (mesh.isInternalFace(faceI)) { // Create the neighbour tet - it will have positive volume const face& f = fcs[faceI]; - forAll(f, fPtI) - { - scalar tetQual = tetPointRef - ( - p[f[fPtI]], - p[f.nextLabel(fPtI)], - fc[faceI], - cc[nei[faceI]] - ).quality(); + // forAll(f, fPtI) + // { + // scalar tetQual = tetPointRef + // ( + // p[f[fPtI]], + // p[f.nextLabel(fPtI)], + // fc[faceI], + // cc[nei[faceI]] + // ).quality(); - if (tetQual < tol) - { - if (setPtr) - { - setPtr->insert(faceI); - } + // if (tetQual < tol) + // { + // if (setPtr) + // { + // setPtr->insert(faceI); + // } - nErrorTets++; - break; - } - } + // nErrorTets++; + // break; + // } + // } if (findSharedBasePoint(mesh, faceI, tol, report) == -1) { diff --git a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C index 4df209498a..05eb87c099 100644 --- a/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C +++ b/src/dynamicMesh/motionSmoother/polyMeshGeometry/polyMeshGeometry.C @@ -309,7 +309,6 @@ Foam::scalar Foam::polyMeshGeometry::calcSkewness } -// Create the neighbour pyramid - it will have positive volume bool Foam::polyMeshGeometry::checkFaceTet ( const polyMesh& mesh, @@ -803,48 +802,50 @@ 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. - bool tetError = checkFaceTet - ( - mesh, - report, - minTetQuality, - p, - faceI, - cellCentres[own[faceI]], // face centre - faceCentres[faceI], // cell centre - setPtr - ); + // 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 - bool tetError = checkFaceTet - ( - mesh, - report, - minTetQuality, - p, - faceI, - faceCentres[faceI], // face centre - cellCentres[nei[faceI]], // cell centre - setPtr - ); + // tetError = checkFaceTet + // ( + // mesh, + // report, + // minTetQuality, + // p, + // faceI, + // faceCentres[faceI], // face centre + // cellCentres[nei[faceI]], // cell centre + // setPtr + // ); - if (tetError) - { - nErrorTets++; - } + // if (tetError) + // { + // nErrorTets++; + // } if ( @@ -920,40 +921,40 @@ bool Foam::polyMeshGeometry::checkFaceTets label face0 = baffles[i].first(); label face1 = baffles[i].second(); - bool tetError = checkFaceTet - ( - mesh, - report, - minTetQuality, - p, - face0, - cellCentres[own[face0]], // face centre - faceCentres[face0], // cell centre - setPtr - ); + // 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 (