- include constant/faMesh cleanup (cleanFaMesh) as part of standard cleanCase - simplify cleanPolyMesh function to now just warn about old constant/polyMesh/blockMeshDict but not try to remove anything - cleanup cellDist.vtu (decomposePar -dry-run) as well ENH: foamRunTutorials - fallback to Allrun-parallel, Allrun-serial TUT: call m4 with file argument instead of redirected stdin TUT: adjust suffixes on decomposeParDict variants
232 lines
5.0 KiB
Bash
232 lines
5.0 KiB
Bash
#---------------------------------*- 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
|
|
}
|
|
|
|
|
|
#------------------------------------------------------------------------------
|