From 33edea3ea41ed8c0577989a02a67f5e4eb1d31f5 Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Sat, 23 Feb 2019 19:59:04 +0100 Subject: [PATCH] ENH: add directory support for foamCleanTutorials --- .../icoReactingMultiphaseInterFoam/Allwclean | 2 +- .../icoReactingMultiphaseInterFoam/Allwmake | 2 +- bin/foamCleanTutorials | 44 ++++++++++++++++--- etc/templates/axisymmetricJet/Allclean | 8 ++-- etc/templates/axisymmetricJet/Allrun | 6 +-- tutorials/Allclean | 2 +- .../basic/overPotentialFoam/cylinder/Allclean | 4 +- .../overRhoSimpleFoam/hotCylinder/Allclean | 8 ++-- .../compressible/sonicLiquidFoam/Allclean | 2 +- .../overPimpleDyMFoam/cylinder/Allclean | 6 +-- .../overPimpleDyMFoam/cylinder/Allrun | 4 +- .../pimpleFoam/LES/decayIsoTurb/Allclean | 4 +- .../pimpleFoam/LES/decayIsoTurb/Allrun | 6 ++- .../LES/surfaceMountedCube/Allclean | 3 +- .../pimpleFoam/LES/surfaceMountedCube/Allrun | 4 +- .../LES/surfaceMountedCube/fullCase/plot | 4 +- .../simpleFoam/bump2D/createPlots | 4 +- .../laminar/sloshingTank2D/Allclean | 2 +- .../interFoam/RAS/damBreak/Allclean | 8 ++-- .../interFoam/laminar/damBreak/Allclean | 8 ++-- .../laminar/sloshingCylinder/Allclean | 2 +- .../interFoam/laminar/sloshingTank2D/Allclean | 2 +- .../laminar/sloshingTank2D3DoF/Allclean | 2 +- .../interFoam/laminar/sloshingTank3D/Allclean | 2 +- .../laminar/sloshingTank3D3DoF/Allclean | 2 +- .../laminar/sloshingTank3D6DoF/Allclean | 2 +- .../interIsoFoam/sloshingTank2D/Allclean | 2 +- .../interMixingFoam/laminar/damBreak/Allclean | 2 +- 28 files changed, 93 insertions(+), 54 deletions(-) diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwclean b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwclean index 9fc0cf15ce3..1607ce8b6fe 100755 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwclean +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwclean @@ -7,4 +7,4 @@ wclean libso CompressibleMultiPhaseTurbulenceModels wclean libso laserDTRM wclean -# ----------------------------------------------------------------- end-of-file +#------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwmake b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwmake index 1bebf480a10..114a214393d 100755 --- a/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwmake +++ b/applications/solvers/multiphase/icoReactingMultiphaseInterFoam/Allwmake @@ -11,4 +11,4 @@ wmake $targetType CompressibleMultiPhaseTurbulenceModels wmake $targetType laserDTRM wmake $targetType -# ----------------------------------------------------------------- end-of-file +#------------------------------------------------------------------------------ diff --git a/bin/foamCleanTutorials b/bin/foamCleanTutorials index 6a3f696f902..e00b463c97e 100755 --- a/bin/foamCleanTutorials +++ b/bin/foamCleanTutorials @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | +# \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. # \\/ M anipulation | #------------------------------------------------------------------------------ # | Copyright (C) 2011 OpenFOAM Foundation @@ -31,22 +31,54 @@ # Run either Allwclean, Allclean or default cleanCase in current directory # and all its subdirectories. # +# When an argument is provided, it is treated as a directory name. +# If an option (eg, -self) is provided, it suppresses calling +# Allwclean or Allclean (ie, to avoid recursion) +# #------------------------------------------------------------------------------ . $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions -thisScript=$0 +thisScript="$0" if [ "/${thisScript#/}" != "$thisScript" ] then thisScript="$PWD/$thisScript" fi -# If an argument is supplied do not execute ./Allwclean or ./Allclean -# (to avoid recursion) -if [ $# -eq 0 -a -f Allwclean ] +# Simple option/argument parsing. +# By default use Allclean, Allwclean when present +# +# If an argument is supplied, treat as a change directory +# +# If an option (eg, -self) is provided, +# do not execute ./Allwclean or ./Allclean (to avoid recursion) + +withAllclean=true + +if [ "$#" -gt 0 ] +then + case "$1" in + -h | -help*) + echo "${0##*/}: recursively clean an OpenFOAM case directory" 1>&2 + exit 0 + ;; + -self | -*) + unset withAllclean + ;; + *) + cd "$1" 2>/dev/null || { + echo "${0##*}: No such directory" 1>&2 + exit 2 + } + ;; + esac +fi + + +if [ -n "$withAllclean" ] && [ -f Allwclean ] then # Specialized script ./Allwclean -elif [ $# -eq 0 -a -f Allclean ] +elif [ -n "$withAllclean" ] && [ -f Allclean ] then # Specialized script ./Allclean diff --git a/etc/templates/axisymmetricJet/Allclean b/etc/templates/axisymmetricJet/Allclean index ce8bcabbfc4..04120ad0521 100755 --- a/etc/templates/axisymmetricJet/Allclean +++ b/etc/templates/axisymmetricJet/Allclean @@ -1,8 +1,8 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory - -# Source tutorial clean functions -. $WM_PROJECT_DIR/bin/tools/CleanFunctions +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions cleanCase rm constant/polyMesh/boundary + +#------------------------------------------------------------------------------ diff --git a/etc/templates/axisymmetricJet/Allrun b/etc/templates/axisymmetricJet/Allrun index c5a0b2cea66..d3930811be0 100755 --- a/etc/templates/axisymmetricJet/Allrun +++ b/etc/templates/axisymmetricJet/Allrun @@ -1,8 +1,6 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory - -# Source tutorial run functions -. $WM_PROJECT_DIR/bin/tools/RunFunctions +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions runApplication blockMesh runApplication extrudeMesh diff --git a/tutorials/Allclean b/tutorials/Allclean index 486d999d45a..70e761244d6 100755 --- a/tutorials/Allclean +++ b/tutorials/Allclean @@ -15,7 +15,7 @@ fi removeLogs echo "Cleaning tutorials ..." -foamCleanTutorials cases +foamCleanTutorials -self echo "--------" diff --git a/tutorials/basic/overPotentialFoam/cylinder/Allclean b/tutorials/basic/overPotentialFoam/cylinder/Allclean index 5a8494c4b60..3f56512f8f0 100755 --- a/tutorials/basic/overPotentialFoam/cylinder/Allclean +++ b/tutorials/basic/overPotentialFoam/cylinder/Allclean @@ -2,10 +2,10 @@ cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions -# Extrude mesh around cylinder +# An extruded mesh around cylinder (cd cylinderAndBackground && ./Allclean) -# Add background mesh +# The background mesh (cd cylinderMesh && foamCleanTutorials) #------------------------------------------------------------------------------ diff --git a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/Allclean b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/Allclean index 862ed262d87..e3d10540407 100755 --- a/tutorials/compressible/overRhoSimpleFoam/hotCylinder/Allclean +++ b/tutorials/compressible/overRhoSimpleFoam/hotCylinder/Allclean @@ -1,10 +1,10 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory -# Extrude mesh around cylinder +# An extruded mesh around cylinder (cd cylinderAndBackground && ./Allclean) -# Add background mesh +# The background mesh (cd cylinderMesh && foamCleanTutorials) -# ----------------------------------------------------------------- end-of-file +#------------------------------------------------------------------------------ diff --git a/tutorials/compressible/sonicLiquidFoam/Allclean b/tutorials/compressible/sonicLiquidFoam/Allclean index cbd249f6efb..2067a879ff5 100755 --- a/tutorials/compressible/sonicLiquidFoam/Allclean +++ b/tutorials/compressible/sonicLiquidFoam/Allclean @@ -3,6 +3,6 @@ cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions removeCase decompressionTankFine -foamCleanTutorials cases +foamCleanTutorials -self #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allclean b/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allclean index a916d075547..e3d10540407 100755 --- a/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allclean +++ b/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allclean @@ -1,10 +1,10 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory -# Extrude mesh around cylinder +# An extruded mesh around cylinder (cd cylinderAndBackground && ./Allclean) -# Add background mesh +# The background mesh (cd cylinderMesh && foamCleanTutorials) #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allrun b/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allrun index a98fd760689..2d31897a485 100755 --- a/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allrun +++ b/tutorials/incompressible/overPimpleDyMFoam/cylinder/Allrun @@ -2,10 +2,10 @@ cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions -# Extrude mesh around cylinder +# An extruded mesh around cylinder (cd cylinderMesh && ./Allrun.pre) -# Add background mesh +# The background mesh (cd cylinderAndBackground && ./Allrun $*) #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allclean b/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allclean index f302b7891a4..55b9f196c93 100755 --- a/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allclean +++ b/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allclean @@ -1,5 +1,7 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions cleanCase0 + +# ------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allrun b/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allrun index fa83764ff90..c72455aaadc 100755 --- a/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allrun +++ b/tutorials/incompressible/pimpleFoam/LES/decayIsoTurb/Allrun @@ -1,6 +1,6 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory -. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions +cd ${0%/*} || exit 1 # Run from this directory +. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions restore0Dir @@ -11,3 +11,5 @@ runApplication decomposePar runParallel createBoxTurb runParallel pimpleFoam + +# ------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean index 77dcff4e4cd..6f040f3f38f 100755 --- a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allclean @@ -1,6 +1,7 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory (cd initChannel && ./Allclean) (cd fullCase && ./Allclean) +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun index 915160a56a3..3a5026609fa 100755 --- a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/Allrun @@ -1,5 +1,5 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory # Run a precursor channel flow to create a fully developed flow profile for the # main case @@ -8,4 +8,4 @@ cd ${0%/*} || exit 1 # run from this directory # Run the main case (cd fullCase && ./Allrun) - +# ------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot index 4ca89961234..400caa22e89 100755 --- a/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot +++ b/tutorials/incompressible/pimpleFoam/LES/surfaceMountedCube/fullCase/plot @@ -1,5 +1,5 @@ #!/bin/sh -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory time=$1 resultsDir="postProcessing/sample1/$time" @@ -47,3 +47,5 @@ gnuplot<<EOF plot "$resultsDir/x40_U_UMean.xy" u (\$5/Ub):1 title "X/h = 4" w lines lc "black" lw 2 EOF + +# ------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/simpleFoam/bump2D/createPlots b/tutorials/incompressible/simpleFoam/bump2D/createPlots index 9ae5e39bb52..31c08adc247 100755 --- a/tutorials/incompressible/simpleFoam/bump2D/createPlots +++ b/tutorials/incompressible/simpleFoam/bump2D/createPlots @@ -1,8 +1,8 @@ #!/bin/sh # Note: CFL3D data available from: # https://turbmodels.larc.nasa.gov/bump_sa.html -cd ${0%/*} || exit 1 # run from this directory +cd ${0%/*} || exit 1 # Run from this directory . $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions #set -x @@ -102,3 +102,5 @@ then \rm -f Cx.$$ tau.$$ cp.$$ profiles.dat fi + +# ------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/compressibleInterDyMFoam/laminar/sloshingTank2D/Allclean b/tutorials/multiphase/compressibleInterDyMFoam/laminar/sloshingTank2D/Allclean index b2105c21b3e..aea3f0b970e 100755 --- a/tutorials/multiphase/compressibleInterDyMFoam/laminar/sloshingTank2D/Allclean +++ b/tutorials/multiphase/compressibleInterDyMFoam/laminar/sloshingTank2D/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz 0/T.air.gz 0/T.water.gz \ probes wallPressure pRefProbe diff --git a/tutorials/multiphase/interFoam/RAS/damBreak/Allclean b/tutorials/multiphase/interFoam/RAS/damBreak/Allclean index 050c71bde5f..a818e3ba0e8 100755 --- a/tutorials/multiphase/interFoam/RAS/damBreak/Allclean +++ b/tutorials/multiphase/interFoam/RAS/damBreak/Allclean @@ -5,14 +5,14 @@ cd ${0%/*} || exit 1 # Run from this directory keepCases="damBreak" loseCases="damBreakFine" -for case in $keepCases +for caseName in $keepCases do - (cd $case && foamCleanTutorials) + (cd $caseName && foamCleanTutorials) done -for case in $loseCases +for caseName in $loseCases do - removeCase $case + removeCase $caseName done #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/damBreak/Allclean b/tutorials/multiphase/interFoam/laminar/damBreak/Allclean index 050c71bde5f..a818e3ba0e8 100755 --- a/tutorials/multiphase/interFoam/laminar/damBreak/Allclean +++ b/tutorials/multiphase/interFoam/laminar/damBreak/Allclean @@ -5,14 +5,14 @@ cd ${0%/*} || exit 1 # Run from this directory keepCases="damBreak" loseCases="damBreakFine" -for case in $keepCases +for caseName in $keepCases do - (cd $case && foamCleanTutorials) + (cd $caseName && foamCleanTutorials) done -for case in $loseCases +for caseName in $loseCases do - removeCase $case + removeCase $caseName done #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingCylinder/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingCylinder/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingCylinder/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingCylinder/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank2D/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingTank2D/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingTank2D/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingTank2D/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank3D/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingTank3D/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingTank3D/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingTank3D/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/Allclean b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/Allclean +++ b/tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interIsoFoam/sloshingTank2D/Allclean b/tutorials/multiphase/interIsoFoam/sloshingTank2D/Allclean index dc74ee4df5c..e923a99f601 100755 --- a/tutorials/multiphase/interIsoFoam/sloshingTank2D/Allclean +++ b/tutorials/multiphase/interIsoFoam/sloshingTank2D/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf 0/alpha.water 0/alpha.water.gz probes wallPressure pRefProbe #------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allclean b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allclean index af7604fd467..af842959fd1 100755 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allclean +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -foamCleanTutorials cases +foamCleanTutorials -self rm -rf alpha.air alpha.other alpha.water \ alpha.air.gz alpha.other.gz alpha.water.gz -- GitLab