diff --git a/etc/caseDicts/annotated/snappyHexMeshDict b/etc/caseDicts/annotated/snappyHexMeshDict index 7adc851a4d..ced21ef930 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 d8158133ed..80f4641024 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("useLeakClosure", true)), + useLeakClosure_(dict.getOrDefault("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 6f201961d7..117ab78d55 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 6d57d884a2..3b98cd4069 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 +runApplication decomposePar -# Using distributedTriSurfaceMesh? -if foamDictionary -entry geometry -value system/snappyHexMeshDict | \ - grep -q distributedTriSurfaceMesh -then - runParallel $decompDict surfaceRedistributePar motorBike.obj independent -fi +#- 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 snappyHexMesh -overwrite - -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 e969ac1b17..da460a5e6b 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; }