#---------------------------------*- sh -*------------------------------------- # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2011-2016 OpenFOAM Foundation # Copyright (C) 2015-2022 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # Script # CleanFunctions # # Description # Miscellaneous cleanup functions for tutorial cases # #------------------------------------------------------------------------------ cleanTimeDirectories() { echo "Cleaning case $PWD" zeros="" while [ ${#zeros} -lt 8 ] do 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 \ ./log ./log.* ./log-* ./logSummary.* \ ./.fxLock ./*.xml ./ParaView* ./paraFoam* \ ./*.blockMesh ./*.foam ./*.OpenFOAM \ ./.setSet } cleanAdiosOutput() { if [ -d adiosData ] && [ -d system ] then rm -rf adiosData fi } cleanDynamicCode() { if [ -d dynamicCode ] && [ -d system ] then rm -rf dynamicCode fi } cleanSnappyFiles() { rm -f \ constant/polyMesh/cellLevel \ constant/polyMesh/pointLevel \ constant/polyMesh/refinementHistory \ constant/polyMesh/level0Edge \ constant/polyMesh/surfaceIndex rm -f \ processor*/constant/polyMesh/cellLevel \ processor*/constant/polyMesh/pointLevel \ processor*/constant/polyMesh/refinementHistory \ processor*/constant/polyMesh/level0Edge \ processor*/constant/polyMesh/surfaceIndex rm -f \ constant/cellLevel \ constant/pointLevel \ 0/cellLevel \ 0/pointLevel rm -f \ processor*/constant/cellLevel \ processor*/constant/pointLevel \ processor*/0/cellLevel \ processor*/0/pointLevel } cleanOptimisation() { rm -rf optimisation rm -rf constant/controlPoints } cleanPostProcessing() { rm -rf Ensight EnSight ensightWrite insitu VTK rm -rf postProcessing rm -rf postProcessing-* rm -rf cuttingPlane rm -rf surfaceSampling } cleanFaMesh() { if [ -e constant/faMesh ] then if [ -e constant/faMesh/faMeshDefinition ] then # Old constant/faMesh location for faMeshDefinition still in use: # - warn but don't remove anything echo echo "Warning: not removing constant/faMesh/" echo " It contains a 'faMeshDefinition' file" echo " Relocate the file(s) to system/ to avoid this warning" echo else # Can remove constant/faMesh/ entirely (no faMeshDefinition) rm -rf constant/faMesh fi fi } cleanPolyMesh() { if [ -e constant/polyMesh ] then if [ -e constant/polyMesh/blockMeshDict ] \ || [ -e constant/polyMesh/blockMeshDict.m4 ] then # Old constant/polyMesh location for blockMeshDict still in use: # - warn but don't remove anything echo echo "Warning: not removing constant/polyMesh/" echo " It contains a 'blockMeshDict' or 'blockMeshDict.m4' file" echo " Relocate the file(s) to system/ to avoid this warning" echo else # Can remove constant/polyMesh/ entirely (no blockMeshDict) rm -rf constant/polyMesh fi fi if [ -e system/blockMeshDict.m4 ] then rm -f system/blockMeshDict fi } cleanCase() { cleanTimeDirectories cleanAdiosOutput cleanAuxiliary cleanDynamicCode cleanOptimisation cleanPostProcessing cleanFaMesh cleanPolyMesh cleanSnappyFiles rm -rf processor* rm -rf TDAC rm -rf probes* rm -rf forces* rm -rf graphs* rm -rf sets rm -rf system/machines # Debug output (blockMesh, decomposePar) rm -f \ blockTopology.vtu blockFaces.vtp blockTopology.obj blockCentres.obj \ cellDist.vtu \ 0/cellDist # From mpirunDebug rm -f gdbCommands mpirun.schema ( cd constant 2>/dev/null || exit 0 rm -rf \ cellDecomposition cellToRegion cellLevel* pointLevel* \ tetDualMesh \ ; ) } # Frequently used - cleanCase and rm -rf 0/ cleanCase0() { cleanCase rm -rf 0 } removeCase() { echo "Removing case ${1:-unknown}" [ "$#" -ge 1 ] && rm -rf "$1" } cleanSamples() { rm -rf sets samples sampleSurfaces } cleanUcomponents() { rm -rf 0/Ux 0/Uy 0/Uz } cleanApplication() { echo "Cleaning application $PWD" wclean } #------------------------------------------------------------------------------