#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | Website: https://openfoam.org # \\ / A nd | Copyright (C) 2011-2021 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 # foamCleanTutorials # # Description # Run either Allwclean, Allclean or default cleanCase in current directory # and all its subdirectories. # #------------------------------------------------------------------------------ Script=$0 [ "/${Script#/}" != "$Script" ] && Script="$PWD/$Script" # Source tutorial clean functions . "$WM_PROJECT_DIR/bin/tools/CleanFunctions" usage() { cat< options: -help | -h print the usage Script to clean tutorial cases called by the Allclean scripts in the OpenFOAM tutorials. The script executes recursively on sub-directories to clean all cases. Recursive execution is disabled for the top level Allclean or Allwclean scripts by supplying a dummy argument when executing, e.g. ./${0##*/} cases USAGE } # Parse options while [ "$#" -gt 0 ] do case "$1" in -h | -help) usage && exit 0 ;; *) break ;; esac done # Specialised ./Allwclean script, do not execute if argument is supplied if [ $# -eq 0 ] && [ -f Allwclean ] then ./Allwclean # Specialised ./Allclean script, do not execute if argument is supplied elif [ $# -eq 0 ] && [ -f Allclean ] then ./Allclean # For a case directory without Allclean, use the cleanCase function elif [ -d system ] then cleanCase # For a code directory without Allwclean, use the cleanApplication function elif [ -d Make ] then cleanApplication # Otherwise loop over sub-directories and execute script within each one else for caseName in * do ( cd "$caseName" 2>/dev/null && $Script ) done fi #------------------------------------------------------------------------------