From ceecb84573fd4c53f1b48cd9b6600a24089e9a35 Mon Sep 17 00:00:00 2001 From: mattijs Date: Mon, 17 Dec 2012 13:45:19 +0000 Subject: [PATCH] ENH: checkMesh: moved some checking functionality to polyMesh --- .../manipulation/checkMesh/checkGeometry.C | 2 +- src/OpenFOAM/Make/files | 6 +- src/OpenFOAM/meshes/polyMesh/polyMesh.C | 2 +- src/OpenFOAM/meshes/polyMesh/polyMesh.H | 81 ++ .../polyMesh/polyMeshCheck/polyMeshCheck.C | 679 ++++++++++ .../polyMesh/polyMeshCheck/polyMeshTools.C | 190 +++ .../polyMesh/polyMeshCheck/polyMeshTools.H | 109 ++ .../meshes/primitiveMesh/primitiveMesh.H | 223 ++-- .../primitiveMeshCheck/primitiveMeshCheck.C | 1178 +++++++---------- .../primitiveMeshCheckMotion.C | 266 ---- .../primitiveMeshCheck/primitiveMeshTools.C | 638 +++++++++ .../primitiveMeshCheck/primitiveMeshTools.H | 168 +++ 12 files changed, 2467 insertions(+), 1075 deletions(-) create mode 100644 src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshCheck.C create mode 100644 src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshTools.C create mode 100644 src/OpenFOAM/meshes/polyMesh/polyMeshCheck/polyMeshTools.H delete mode 100644 src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshCheckMotion.C create mode 100644 src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshTools.C create mode 100644 src/OpenFOAM/meshes/primitiveMesh/primitiveMeshCheck/primitiveMeshTools.H diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C index d964ac12cc..ef521a257d 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C @@ -803,7 +803,7 @@ Foam::label Foam::checkGeometry(const polyMesh& mesh, const bool allGeometry) if (allGeometry) { cellSet cells(mesh, "underdeterminedCells", mesh.nCells()/100); - if (mesh.checkCellDeterminant(true, &cells, mesh.geometricD())) + if (mesh.checkCellDeterminant(true, &cells)) { noFailedChecks++; diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index 1cd7f37fe8..55208034a1 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -425,6 +425,10 @@ $(polyMesh)/polyMeshInitMesh.C $(polyMesh)/polyMeshClear.C $(polyMesh)/polyMeshUpdate.C +polyMeshCheck = $(polyMesh)/polyMeshCheck +$(polyMeshCheck)/polyMeshCheck.C +$(polyMeshCheck)/polyMeshTools.C + primitiveMesh = meshes/primitiveMesh $(primitiveMesh)/primitiveMesh.C $(primitiveMesh)/primitiveMeshCellCells.C @@ -445,9 +449,9 @@ $(primitiveMesh)/primitiveMeshCalcCellShapes.C primitiveMeshCheck = $(primitiveMesh)/primitiveMeshCheck $(primitiveMeshCheck)/primitiveMeshCheck.C -$(primitiveMeshCheck)/primitiveMeshCheckMotion.C $(primitiveMeshCheck)/primitiveMeshCheckPointNearness.C $(primitiveMeshCheck)/primitiveMeshCheckEdgeLength.C +$(primitiveMeshCheck)/primitiveMeshTools.C primitivePatch = $(primitiveMesh)/primitivePatch $(primitivePatch)/patchZones.C diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C index 6388190bf6..abe537320f 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C @@ -1129,7 +1129,7 @@ Foam::tmp Foam::polyMesh::movePoints if (debug) { // Check mesh motion - if (primitiveMesh::checkMeshMotion(points_, true)) + if (checkMeshMotion(points_, true)) { Info<< "tmp polyMesh::movePoints" << "(const pointField&) : " diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.H b/src/OpenFOAM/meshes/polyMesh/polyMesh.H index 09c046feb8..e4c1897671 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.H +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.H @@ -34,6 +34,7 @@ SourceFiles polyMeshFromShapeMesh.C polyMeshIO.C polyMeshUpdate.C + polyMeshCheck.C \*---------------------------------------------------------------------------*/ @@ -224,7 +225,45 @@ private: cellList& cells ); + // Geometry checks + //- Check non-orthogonality + bool checkFaceOrthogonality + ( + const vectorField& fAreas, + const vectorField& cellCtrs, + const bool report, + const bool detailedReport, + labelHashSet* setPtr + ) const; + + //- Check face skewness + bool checkFaceSkewness + ( + const pointField& points, + const vectorField& fCtrs, + const vectorField& fAreas, + const vectorField& cellCtrs, + const bool report, + const bool detailedReport, + labelHashSet* setPtr + ) const; + + bool checkEdgeAlignment + ( + const pointField& p, + const bool report, + const Vector