From 7bdb5094940349e65fa69d2b4a9f847c2115619e Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Tue, 22 Dec 2020 12:16:50 +0100
Subject: [PATCH] TUT: adjust tutorials for test loop

---
 applications/test/multiWorld/Allrun           |  5 +++--
 .../acousticFoam/obliqueAirJet/Allclean       |  1 -
 .../acousticFoam/obliqueAirJet/Allrun         |  1 -
 .../obliqueAirJet/precursor/Allclean          |  2 +-
 .../obliqueAirJet/precursor/Allrun-parallel   |  7 ++++---
 .../airRecirculationRoom/Allrun               |  1 -
 .../steady/Allrun-parallel                    |  5 +++--
 .../airRecirculationRoom/steady/Allrun.pre    |  2 +-
 .../airRecirculationRoom/transient/Allrun     | 20 +++++++++++++++----
 .../transient/Allrun-parallel                 | 20 +++++++++++++++----
 .../laminar/waterCooler/Allrun                |  7 +++++--
 11 files changed, 49 insertions(+), 22 deletions(-)

diff --git a/applications/test/multiWorld/Allrun b/applications/test/multiWorld/Allrun
index b4c1b2cc658..e889d48c467 100755
--- a/applications/test/multiWorld/Allrun
+++ b/applications/test/multiWorld/Allrun
@@ -1,6 +1,7 @@
 #!/bin/sh
-cd ${0%/*} || exit 1                        # Run from this directory
-. $WM_PROJECT_DIR/bin/tools/RunFunctions    # Tutorial run functions
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
 
 # Run serial
 (cd left && runApplication blockMesh)
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean b/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
index 87adb1f6be7..3b298cafd8a 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
 #------------------------------------------------------------------------------
 
 (cd precursor && ./Allclean)
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun b/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
index b3bcb07bffc..d6f722dbfbd 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
 # Run a precursor init case
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
index 91099c43c02..1289184fd6e 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
@@ -7,6 +7,6 @@ vibroAcousticCase="../main"
 
 cleanCase0
 
-rm -rf $vibroAcousticCase/constant/boundaryData
+rm -rf "$vibroAcousticCase"/constant/boundaryData
 
 # -----------------------------------------------------------------------------
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
index 98c9f3495c8..4d8ad37e34f 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
@@ -3,7 +3,8 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || runApplication ./Allrun.pre
+# Generate mesh if required
+[ -d constant/polyMesh ] || ./Allrun.pre
 
 restore0Dir
 
@@ -14,7 +15,7 @@ runParallel $(getApplication)
 vibroAcousticCase="../main"
 dataDir="postProcessing/surfaces/window"
 
-mkdir -p "$vibroAcousticCase/constant/boundaryData"
-cp -rf "$dataDir" "$vibroAcousticCase/constant/boundaryData/window"
+mkdir -p "$vibroAcousticCase"/constant/boundaryData
+cp -rf "$dataDir" "$vibroAcousticCase"/constant/boundaryData/window
 
 # -----------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
index b786949d3f5..dd94bcbecac 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
 (cd steady && ./Allrun-parallel)
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
index f6afebac488..10779ea27e8 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
@@ -3,7 +3,8 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || runApplication ./Allrun.pre
+# Generate mesh if required
+[ -d constant/polyMesh ] || ./Allrun.pre
 
 runApplication decomposePar
 
@@ -11,4 +12,4 @@ runParallel $(getApplication)
 
 runApplication reconstructPar -latestTime
 
-#------------------------------------------------------------------------------
\ No newline at end of file
+#------------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
index 2293b77feec..6ffb3cdf5c7 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
@@ -16,4 +16,4 @@ runApplication surfaceFeatureExtract
 
 runApplication snappyHexMesh -overwrite
 
-#------------------------------------------------------------------------------
\ No newline at end of file
+#------------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
index fe4bfdcee39..e0d86182b5e 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
@@ -3,14 +3,26 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
+parent="../steady"
+latestTime=$(foamListTimes -case "$parent" -noZero -latestTime)
 
-cp -rf ../steady/constant/polyMesh constant
+if [ -z "$latestTime" ]
+then
+    echo "FatalError: no latestTime found for $PWD/$parent"
+    exit 1
+fi
+
+# Replace mesh unconditionally
+rm -rf constant/polyMesh
+cp -rf "$parent"/constant/polyMesh constant
 
 restore0Dir
 
-cp -f ../steady/500/U 0/
-cp -f ../steady/500/p 0/
+# Restart from steady
+cp -f \
+    "$parent/$latestTime"/U \
+    "$parent/$latestTime"/p \
+    0/
 
 runApplication $(getApplication)
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
index f9174c7abe9..98cef847cd6 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
@@ -3,14 +3,26 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
+parent="../steady"
+latestTime=$(foamListTimes -case "$parent" -noZero -latestTime)
 
-cp -rf ../steady/constant/polyMesh constant
+if [ -z "$latestTime" ]
+then
+    echo "FatalError: no latestTime found for $PWD/$parent"
+    exit 1
+fi
+
+# Replace mesh unconditionally
+rm -rf constant/polyMesh
+cp -rf "$parent"/constant/polyMesh constant
 
 restore0Dir
 
-cp -f ../steady/500/U 0/
-cp -f ../steady/500/p 0/
+# Restart from steady
+cp -f \
+    "$parent/$latestTime"/U \
+    "$parent/$latestTime"/p \
+    0/
 
 runApplication decomposePar
 
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun b/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
index b72506b7f53..fd5f99605e2 100755
--- a/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
@@ -1,6 +1,7 @@
 #!/bin/sh
-cd ${0%/*} || exit 1                        # Run from this directory
-. $WM_PROJECT_DIR/bin/tools/RunFunctions    # Tutorial run functions
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
 
 (cd fluid && ./Allrun.pre)
 (cd solid && runApplication blockMesh)
@@ -11,9 +12,11 @@ mpirun -app ./mpirun.schema
 # Run parallel
 (cd fluid && runApplication decomposePar)
 (cd solid && runApplication decomposePar)
+
 #mpirun -app ./mpirun.schema_parallel
 # The problem is keeping the log files separate so use the openmpi
 # mpirun option to keep the separate outputs in the logs/ directory
+
 mpirun \
     --output-filename logs \
     -np 3 compressibleInterFoam -case fluid -world fluid -parallel : \
-- 
GitLab