From e2be2289a17cbdb81d8655a6a888e5c75384f170 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Thu, 22 Jul 2021 13:56:50 +0200
Subject: [PATCH] ENH: finer granularity for CleanFunctions

- separate handling of auxiliary files vs time directories

- restore0Dir: avoid removing 0/ if 0.orig/ does not exist
---
 bin/tools/CleanFunctions                      | 15 +++++++++----
 bin/tools/RunFunctions                        | 21 +++++++++----------
 .../sphereTransport/Allclean                  |  2 +-
 .../boundaryFoam/steadyBoundaryLayer/Allrun   |  1 +
 .../pimpleFoam/LES/planeChannel/Allrun        |  1 +
 .../laminar/planarPoiseuille/Allrun           |  1 +
 .../incompressible/simpleFoam/bump2D/Allrun   |  1 +
 .../simpleFoam/turbulentFlatPlate/Allrun      |  1 +
 .../StefanProblem/Allrun                      |  1 +
 .../atmDownstreamDevelopment/Allrun           |  1 +
 .../atmFlatTerrain/precursor/Allrun           |  1 +
 .../atmFlatTerrain/successor/Allrun           |  1 +
 .../atmForestStability/Allrun                 |  1 +
 .../oneCellThickPlaneChannel/Allrun           |  1 +
 14 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/bin/tools/CleanFunctions b/bin/tools/CleanFunctions
index f23d7f05675..5a3c1397251 100644
--- a/bin/tools/CleanFunctions
+++ b/bin/tools/CleanFunctions
@@ -25,12 +25,18 @@ cleanTimeDirectories()
     zeros=""
     while [ ${#zeros} -lt 8 ]
     do
-        timeDir="0.${zeros}[1-9]*"
-        rm -rf ./${timeDir} ./-${timeDir}
+        rm -rf ./"0.$zeros"[1-9]* ./"-0.$zeros"[1-9]*
         zeros="0$zeros"
     done
+    rm -rf ./[1-9]* ./-[1-9]*
+}
+
+
+# Various files (logs, paraview, etc)
+cleanAuxiliary()
+{
     rm -rf \
-        ./[1-9]* ./-[1-9]* ./log ./log.* ./log-* ./logSummary.* \
+        ./log ./log.* ./log-* ./logSummary.* \
         ./.fxLock ./*.xml ./ParaView* ./paraFoam* \
         ./*.blockMesh ./*.foam ./*.OpenFOAM \
         ./.setSet
@@ -102,10 +108,11 @@ cleanPostProcessing()
 cleanCase()
 {
     cleanTimeDirectories
-    cleanPostProcessing
     cleanAdiosOutput
+    cleanAuxiliary
     cleanDynamicCode
     cleanOptimisation
+    cleanPostProcessing
 
     rm -rf processor*
     rm -rf TDAC
diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions
index 12077a00b2a..a0f439fab12 100644
--- a/bin/tools/RunFunctions
+++ b/bin/tools/RunFunctions
@@ -6,7 +6,7 @@
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 #     Copyright (C) 2011-2016 OpenFOAM Foundation
-#     Copyright (C) 2015-2020 OpenCFD Ltd.
+#     Copyright (C) 2015-2021 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@@ -455,12 +455,16 @@ cloneParallelCase()
 #
 restore0Dir()
 {
+    if [ ! -d 0.orig ]
+    then
+        echo "No 0.orig/ to restore..." 1>&2
+        return 0
+    fi
+
     case "$1" in
     -processor | -processors)
-        echo "Restore 0/ from 0.orig/ for processor directories"
-        [ -d 0.orig ] || echo "    Warning: no 0.orig/ found"
+        echo "Restore 0/ from 0.orig/  [processor directories]"
 
-        # do nonetheless
         \ls -d processor* | xargs -I {} \rm -rf ./{}/0
         \ls -d processor* | xargs -I {} \cp -r 0.orig ./{}/0 > /dev/null 2>&1
 
@@ -483,13 +487,8 @@ restore0Dir()
 
     *)
         echo "Restore 0/ from 0.orig/"
-        if [ -d 0.orig ]
-        then
-            \rm -rf 0
-            \cp -r 0.orig 0 2>/dev/null
-        else
-            echo "    Warning: no 0.orig/ found"
-        fi
+        \rm -rf 0
+        \cp -r 0.orig 0 2>/dev/null
         ;;
     esac
 }
diff --git a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/Allclean b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/Allclean
index b578e608859..698411f61e8 100755
--- a/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/Allclean
+++ b/tutorials/finiteArea/sphereSurfactantFoam/sphereTransport/Allclean
@@ -4,7 +4,7 @@ cd "${0%/*}" || exit                                # Run from this directory
 #------------------------------------------------------------------------------
 
 cleanTimeDirectories
-
+cleanAuxiliary
 cleanPostProcessing
 
 cleanFaMesh
diff --git a/tutorials/incompressible/boundaryFoam/steadyBoundaryLayer/Allrun b/tutorials/incompressible/boundaryFoam/steadyBoundaryLayer/Allrun
index 166106c8e09..1f717cf4bca 100755
--- a/tutorials/incompressible/boundaryFoam/steadyBoundaryLayer/Allrun
+++ b/tutorials/incompressible/boundaryFoam/steadyBoundaryLayer/Allrun
@@ -54,6 +54,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/incompressible/pimpleFoam/LES/planeChannel/Allrun b/tutorials/incompressible/pimpleFoam/LES/planeChannel/Allrun
index 362ed042d56..b12f2972344 100755
--- a/tutorials/incompressible/pimpleFoam/LES/planeChannel/Allrun
+++ b/tutorials/incompressible/pimpleFoam/LES/planeChannel/Allrun
@@ -52,6 +52,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
index c3092433496..56d4e6e234a 100755
--- a/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
+++ b/tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/Allrun
@@ -53,6 +53,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/incompressible/simpleFoam/bump2D/Allrun b/tutorials/incompressible/simpleFoam/bump2D/Allrun
index 699f978ecda..f029e428cd0 100755
--- a/tutorials/incompressible/simpleFoam/bump2D/Allrun
+++ b/tutorials/incompressible/simpleFoam/bump2D/Allrun
@@ -103,6 +103,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun
index 6fa5a6ca5fc..63241fbd8af 100755
--- a/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun
+++ b/tutorials/incompressible/simpleFoam/turbulentFlatPlate/Allrun
@@ -123,6 +123,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/StefanProblem/Allrun b/tutorials/verificationAndValidation/StefanProblem/Allrun
index ddae88db24a..96b4a4285f8 100755
--- a/tutorials/verificationAndValidation/StefanProblem/Allrun
+++ b/tutorials/verificationAndValidation/StefanProblem/Allrun
@@ -53,6 +53,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/atmosphericModels/atmDownstreamDevelopment/Allrun b/tutorials/verificationAndValidation/atmosphericModels/atmDownstreamDevelopment/Allrun
index 9aaee481e70..a2318c35740 100755
--- a/tutorials/verificationAndValidation/atmosphericModels/atmDownstreamDevelopment/Allrun
+++ b/tutorials/verificationAndValidation/atmosphericModels/atmDownstreamDevelopment/Allrun
@@ -52,6 +52,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/precursor/Allrun b/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/precursor/Allrun
index 7da4f103081..15075d623f2 100755
--- a/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/precursor/Allrun
+++ b/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/precursor/Allrun
@@ -54,6 +54,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/successor/Allrun b/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/successor/Allrun
index bbadc1cf322..75396cd525f 100755
--- a/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/successor/Allrun
+++ b/tutorials/verificationAndValidation/atmosphericModels/atmFlatTerrain/successor/Allrun
@@ -55,6 +55,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/atmosphericModels/atmForestStability/Allrun b/tutorials/verificationAndValidation/atmosphericModels/atmForestStability/Allrun
index fc0c24572bd..ba202c76cc2 100755
--- a/tutorials/verificationAndValidation/atmosphericModels/atmForestStability/Allrun
+++ b/tutorials/verificationAndValidation/atmosphericModels/atmForestStability/Allrun
@@ -57,6 +57,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
diff --git a/tutorials/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel/Allrun b/tutorials/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel/Allrun
index 460931c8e72..8e89e0dc3d4 100755
--- a/tutorials/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel/Allrun
+++ b/tutorials/verificationAndValidation/turbulentInflow/oneCellThickPlaneChannel/Allrun
@@ -54,6 +54,7 @@ collect() {
         echo "      # Cleaning up the case"
 
         cleanTimeDirectories
+        cleanAuxiliary
         cleanPostProcessing
 
     else
-- 
GitLab