From c5cede38aa0512129cdbd047449a3d68cd6ad40a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 9 Jun 2022 11:16:10 +0100 Subject: [PATCH] ENH: snappyHexMesh: early exit of leak detection. See #2403 Changed behaviour to make it the default --- etc/caseDicts/annotated/snappyHexMeshDict | 4 +-- .../refinementParameters.C | 2 +- .../refinementParameters.H | 4 +-- .../motorBike_leakDetection/Allrun | 28 +++++++++---------- .../{decomposeParDict.6 => decomposeParDict} | 0 .../system/snappyHexMeshDict | 4 +++ 6 files changed, 22 insertions(+), 20 deletions(-) rename tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/{decomposeParDict.6 => decomposeParDict} (100%) diff --git a/etc/caseDicts/annotated/snappyHexMeshDict b/etc/caseDicts/annotated/snappyHexMeshDict index 7adc851a4df..ced21ef9308 100644 --- a/etc/caseDicts/annotated/snappyHexMeshDict +++ b/etc/caseDicts/annotated/snappyHexMeshDict @@ -487,8 +487,8 @@ castellatedMeshControls // Optional: same but in absolute number of cells. Default is 0. //nMinCells 100; - // Optional: disable of automatic leak closure and exit immediately - //useLeakClosure false; + // Optional: enable automatic leak closure (default is exit immediately) + //useLeakClosure true; } // Settings for the snapping. diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C index d8158133edf..80f46410245 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.C @@ -74,7 +74,7 @@ Foam::refinementParameters::refinementParameters pointField(0) ) ), - useLeakClosure_(dict.getOrDefault<bool>("useLeakClosure", true)), + useLeakClosure_(dict.getOrDefault<bool>("useLeakClosure", false)), faceZoneControls_(dict.subOrEmptyDict("faceZoneControls")), allowFreeStandingZoneFaces_ ( diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H index 6f201961d79..117ab78d554 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters/refinementParameters.H @@ -199,8 +199,8 @@ public: } //- Whether to attempt to close any 'leak' between - // locationsInsideMesh and locationsOutsideMesh or exit with - // error. Default is true. + // locationsInsideMesh and locationsOutsideMesh. Default is + // false (dump path and exit with error) // (see also refinementSurfaces::leakLevel to force surfaces to // be checked for leaks early-on in the refinement) bool useLeakClosure() const diff --git a/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/Allrun b/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/Allrun index 6d57d884a22..3b98cd4069e 100755 --- a/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/Allrun +++ b/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/Allrun @@ -1,6 +1,7 @@ #!/bin/sh cd "${0%/*}" || exit # Run from this directory . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions #------------------------------------------------------------------------------ mkdir -p constant @@ -9,26 +10,23 @@ cp -rf \ "$FOAM_TUTORIALS"/resources/geometry/motorBike_leakDetection \ constant/triSurface -# Alternative decomposeParDict name: -decompDict="-decomposeParDict system/decomposeParDict.6" -## Standard decomposeParDict name: -# unset decompDict - runApplication surfaceFeatureExtract runApplication blockMesh -runApplication $decompDict decomposePar - -# Using distributedTriSurfaceMesh? -if foamDictionary -entry geometry -value system/snappyHexMeshDict | \ - grep -q distributedTriSurfaceMesh -then - runParallel $decompDict surfaceRedistributePar motorBike.obj independent -fi +runApplication decomposePar -runParallel $decompDict snappyHexMesh -overwrite +#- Run with leak-detection (writes postProcessing/leakPath) but no closure +foamDictionary system/snappyHexMeshDict \ + -entry castellatedMeshControls.useLeakClosure -set false +runParallel -s leak snappyHexMesh +runParallel -s leak checkMesh +cleanTimeDirectories -runParallel $decompDict checkMesh -writeFields '(nonOrthoAngle)' -constant +#- Run with leak-detection (writes postProcessing/leakPath) and closure +foamDictionary system/snappyHexMeshDict \ + -entry castellatedMeshControls.useLeakClosure -set true +runParallel -s leak_and_closure snappyHexMesh +runParallel -s leak_and_closure checkMesh #------------------------------------------------------------------------------ diff --git a/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/decomposeParDict.6 b/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/decomposeParDict similarity index 100% rename from tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/decomposeParDict.6 rename to tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/decomposeParDict diff --git a/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/snappyHexMeshDict b/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/snappyHexMeshDict index e969ac1b174..da460a5e6b2 100644 --- a/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/snappyHexMeshDict +++ b/tutorials/mesh/snappyHexMesh/motorBike_leakDetection/system/snappyHexMeshDict @@ -175,6 +175,10 @@ castellatedMeshControls // are only on the boundary of corresponding cellZones or also allow // free-standing zone faces. Not used if there are no faceZones. allowFreeStandingZoneFaces true; + + + // Enable automatic leak closure (default is exit immediately) + useLeakClosure true; } -- GitLab