From a172463bd0f46d91285b18cc73fd4afbd99d431b Mon Sep 17 00:00:00 2001 From: Chris Greenshields Date: Tue, 22 Jun 2021 10:39:14 +0100 Subject: [PATCH] tutorials: added multiregion support to CleanFunctions and removed redundant foamCleanPolyMesh script --- bin/foamCleanPolyMesh | 143 ------------------ bin/tools/CleanFunctions | 29 ++-- .../coolingCylinder2D/Allclean | 9 +- .../chtMultiRegionFoam/heatExchanger/Allclean | 6 +- .../chtMultiRegionFoam/heatedDuct/Allclean | 5 +- .../chtMultiRegionFoam/reverseBurner/Allclean | 2 +- .../shellAndTubeHeatExchanger/Allclean | 9 +- 7 files changed, 19 insertions(+), 184 deletions(-) delete mode 100755 bin/foamCleanPolyMesh diff --git a/bin/foamCleanPolyMesh b/bin/foamCleanPolyMesh deleted file mode 100755 index 27c14277f5..0000000000 --- a/bin/foamCleanPolyMesh +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/sh -#------------------------------------------------------------------------------ -# ========= | -# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox -# \\ / O peration | Website: https://openfoam.org -# \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation -# \\/ M anipulation | -#------------------------------------------------------------------------------ -# License -# This file is part of OpenFOAM. -# -# OpenFOAM is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with OpenFOAM. If not, see . -# -# Script -# foamCleanPolyMesh -# -# Description -# Remove the contents of the constant/polyMesh directory -# as per the Foam::polyMesh::removeFiles() method. -# -#------------------------------------------------------------------------------ -usage() { - cat < specify alternative case directory, default is the cwd - -region specify alternative mesh region - -help print the usage - -Remove the contents of the constant/polyMesh directory as per the -Foam::polyMesh::removeFiles() method. - -USAGE -} - -error() { - exec 1>&2 - while [ "$#" -ge 1 ]; do echo "$1"; shift; done - usage - exit 1 -} - -unset caseDir regionName - -# Parse a single option -while [ "$#" -gt 0 ] -do - case "$1" in - -h | -help) - usage && exit 0 - ;; - -case) - [ "$#" -ge 2 ] || error "'$1' option requires an argument" - cd "$2" 2>/dev/null || error "directory does not exist: '$2'" - caseDir=$2 - shift 2 - ;; - -region) - [ "$#" -ge 2 ] || error "'$1' option requires an argument" - regionName=$2 - shift 2 - ;; - *) - error "unknown option/argument: '$*'" - ;; - esac -done - -if [ -n "$regionName" ] -then - meshDir=$regionName/polyMesh -else - meshDir=polyMesh -fi - -# If -case was specified: insist upon 'constant/polyMesh' -if [ -n "$caseDir" ] -then - if [ -d constant/$meshDir ] - then - # Use constant/polyMesh - meshDir=constant/$meshDir - else - echo "Error: no 'constant/$meshDir' in $caseDir" 1>&2 - exit 1 - fi -else - if [ -d constant/$meshDir ] - then - # Use constant/polyMesh - meshDir=constant/$meshDir - elif [ -d $meshDir ] - then - # Likely already in constant/ - do not adjust anything - : - elif [ "${PWD##*/}" = polyMesh -a -z "$regionName" ] - then - # Apparently already within polyMesh/ - meshDir=. - fi -fi - - -# Remove files (mesh itself, modifiers, snappyHexMesh ones) and subdirectories -# also remove .gz versions of the same files -echo "Cleaning ${caseDir:-.}/$meshDir" 1>&2 - -for i in \ - points \ - faces \ - owner \ - neighbour \ - cells \ - boundary \ - pointZones \ - faceZones \ - cellZones \ - meshModifiers \ - parallelData \ - sets \ - cellLevel \ - pointLevel \ - level0Edge \ - refinementHistory \ - surfaceIndex \ -; -do - rm -rf ${meshDir:?}/$i ${meshDir:?}/$i.gz -done - -#------------------------------------------------------------------------------ diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions index 5cc441c7cd..3fb040504d 100644 --- a/bin/tools/CleanFunctions +++ b/bin/tools/CleanFunctions @@ -44,27 +44,20 @@ cleanCase() rm -rf ./[1-9]* ./-[1-9]* ./log ./log.* ./logSummary.* \ ./*.OpenFOAM ./*.blockMesh ./*.foam ./.setSet + for d in constant 0 + do + rm -rf $d/polyMesh $d/*/polyMesh \ + $d/cellToRegion $d/*/cellToRegion \ + $d/cellLevel* $d/pointLevel* \ + $d/cellDist $d/cellDecomposition + done + [ -d system ] && [ -d dynamicCode ] && rm -rf dynamicCode rm -rf processor* - rm -rf jobInfo rm -rf postProcessing - rm -rf TDAC - - rm -rf constant/polyMesh - rm -f constant/cellToRegion \ - constant/cellLevel* \ - constant/pointLevel* - - - rm -rf constant/tetDualMesh - - rm -rf VTK - rm -rf sequencedVTK - - rm -rf 0/polyMesh 0/cellLevel \ - 0/pointLevel 0/cellDist \ - constant/cellDecomposition + rm -rf jobInfo TDAC constant/tetDualMesh + rm -rf VTK sequencedVTK find . -name "*.orig" -type f -exec sh -c 'rm -f ${0%.*} ${0%.*}.gz' {} \; } @@ -84,7 +77,7 @@ cleanVoFCase() removeCase() { echo "Removing ${1:-unknown} case" - rm -rf $1 + rm -rf "$1" } cleanApplication() diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/coolingCylinder2D/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/coolingCylinder2D/Allclean index 1bde0494fc..62e9777723 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/coolingCylinder2D/Allclean +++ b/tutorials/heatTransfer/chtMultiRegionFoam/coolingCylinder2D/Allclean @@ -1,14 +1,9 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd "${0%/*}" || exit 1 # run from this directory # Source tutorial clean functions . $WM_PROJECT_DIR/bin/tools/CleanFunctions cleanCase -rm -f 0/cellToRegion - -for region in fluid solid -do - rm -rf 0/${region}/cellToRegion constant/${region}/polyMesh -done +#------------------------------------------------------------------------------ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/Allclean index 072252c74b..06a3167a29 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/Allclean +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/Allclean @@ -1,13 +1,9 @@ #!/bin/sh - -cd ${0%/*} || exit 1 # Run from this directory +cd "${0%/*}" || exit 1 # Run from this directory # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/CleanFunctions cleanCase -foamCleanPolyMesh -region air -foamCleanPolyMesh -region porous - #------------------------------------------------------------------------------ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean index b95f77b46c..fee34fe154 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean +++ b/tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/Allclean @@ -1,9 +1,8 @@ #!/bin/sh - -cd ${0%/*} || exit 1 +cd "${0%/*}" || exit 1 . $WM_PROJECT_DIR/bin/tools/CleanFunctions cleanCase -rm -rf constant/*/polyMesh 0/cellToRegion 0/*/cellToRegion +#------------------------------------------------------------------------------ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/Allclean index b95f77b46c..48cf44a232 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/Allclean +++ b/tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/Allclean @@ -6,4 +6,4 @@ cd ${0%/*} || exit 1 cleanCase -rm -rf constant/*/polyMesh 0/cellToRegion 0/*/cellToRegion +#------------------------------------------------------------------------------ diff --git a/tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/Allclean b/tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/Allclean index db39e6cfeb..62e9777723 100755 --- a/tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/Allclean +++ b/tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/Allclean @@ -1,14 +1,9 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd "${0%/*}" || exit 1 # run from this directory # Source tutorial clean functions . $WM_PROJECT_DIR/bin/tools/CleanFunctions cleanCase -rm -f 0/cellToRegion - -for region in shell tube solid -do - rm -rf 0/${region}/cellToRegion constant/${region}/polyMesh -done +#------------------------------------------------------------------------------