diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C index 2406cb667c45098ebd0ae54dfbf61f325e48d68c..14bf0ee9eb9d5eec0442060b3ca8a308f2bd1e74 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -47,6 +47,8 @@ Description #include "snapParameters.H" #include "layerParameters.H" #include "vtkSetWriter.H" +#include "faceSet.H" +#include "motionSmoother.H" using namespace Foam; @@ -675,6 +677,31 @@ int main(int argc, char *argv[]) } + { + // Check final mesh + Info<< "Checking final mesh ..." << endl; + faceSet wrongFaces(mesh, "wrongFaces", mesh.nFaces()/100); + motionSmoother::checkMesh(false, mesh, motionDict, wrongFaces); + const label nErrors = returnReduce + ( + wrongFaces.size(), + sumOp<label>() + ); + + if (nErrors > 0) + { + Info<< "Finished meshing with " << nErrors << " illegal faces" + << " (concave, zero area or negative cell pyramid volume)" + << endl; + wrongFaces.write(); + } + else + { + Info<< "Finished meshing without any errors" << endl; + } + } + + Info<< "Finished meshing in = " << runTime.elapsedCpuTime() << " s." << endl;