#!/bin/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) 2022 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # Script # foamCleanPolyMesh # # Description # Remove the contents of the constant/polyMesh directory # as per the Foam::polyMesh::removeFiles() method. # #------------------------------------------------------------------------------ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat < specify alternative case directory, default is the cwd -region specify alternative mesh region -help print the usage Remove the contents of the constant/polyMesh directory as per the Foam::polyMesh::removeFiles() method. USAGE exit 1 } unset caseDir regionName # Parse a single option while [ "$#" -gt 0 ] do case "$1" in -h | -help*) usage ;; -case) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" cd "$2" 2>/dev/null || usage "directory does not exist: '$2'" caseDir=$2 shift 2 ;; -region) [ "$#" -ge 2 ] || usage "'$1' option requires an argument" regionName=$2 shift 2 ;; *) usage "unknown option/argument: '$*'" ;; esac done meshDir=polyMesh if [ -n "$regionName" ] then meshDir="$regionName/$meshDir" fi # If -case was specified: insist upon 'constant/polyMesh' if [ -n "$caseDir" ] then if [ -d constant/"$meshDir" ] then # Use constant/polyMesh meshDir=constant/"$meshDir" else echo "Error: no 'constant/$meshDir' in $caseDir" 1>&2 exit 1 fi else if [ -d constant/"$meshDir" ] then # Use constant/polyMesh meshDir=constant/"$meshDir" elif [ -d "$meshDir" ] then # Likely already in constant/ - do not adjust anything : elif [ "${PWD##*/}" = polyMesh ] && [ -z "$regionName" ] then # Apparently already within polyMesh/ meshDir=. fi fi # Remove files (mesh itself, modifiers, snappyHexMesh ones) and subdirectories # also remove .gz versions of the same files echo "Cleaning ${caseDir:-.}/$meshDir" 1>&2 for i in \ points \ faces \ owner \ neighbour \ cells \ boundary \ pointZones \ faceZones \ cellZones \ meshModifiers \ parallelData \ sets \ cellLevel \ pointLevel \ level0Edge \ refinementHistory \ surfaceIndex \ ; do rm -rf "$meshDir/$i" "$meshDir/$i.gz" done #------------------------------------------------------------------------------