Reversed order of checks so linux64 takes precedence
[OpenFOAM-1.6.x.git] / bin / foamClearPolyMesh
blobce3e563d31f504257dad6567a946028e5dde7a11
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
7 # \\/ M anipulation |
8 #-------------------------------------------------------------------------------
9 # License
10 # This file is part of OpenFOAM.
12 # OpenFOAM is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by the
14 # Free Software Foundation; either version 2 of the License, or (at your
15 # option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
20 # for more details.
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM; if not, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 # Script
27 # foamClearPolyMesh
29 # Description
30 # Remove the contents of the constant/polyMesh directory
31 # as per the Foam::polyMesh::removeFiles() method.
33 #------------------------------------------------------------------------------
34 usage() {
35 while [ "$#" -ge 1 ]; do echo "$1" 1>&2; shift; done
36 cat <<USAGE 1>&2
38 usage: ${0##*/} [-case dir] [-region name]
40 Remove the contents of the constant/polyMesh directory
41 as per the Foam::polyMesh::removeFiles() method.
43 USAGE
44 exit 1
47 unset caseDir regionName
49 # parse a single option
50 while [ "$#" -gt 0 ]
52 case "$1" in
53 -h | -help)
54 usage
56 -case)
57 [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
58 cd "$2" 2>/dev/null || usage "directory does not exist: '$2'"
59 caseDir=$2
60 shift 2
62 -region)
63 [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
64 regionName=$2
65 shift 2
68 usage "unknown option/argument: '$*'"
70 esac
71 done
73 if [ -n "$regionName" ]
74 then
75 meshDir=$regionName/polyMesh
76 else
77 meshDir=polyMesh
80 # if -case was specified: insist upon 'constant/polyMesh'
81 if [ -n "$caseDir" ]
82 then
83 if [ -d constant/$meshDir ]
84 then
85 # use constant/polyMesh
86 meshDir=constant/$meshDir
87 else
88 echo "Error: no 'constant/$meshDir' in $caseDir" 1>&2
89 exit 1
91 else
92 if [ -d constant/$meshDir ]
93 then
94 # use constant/polyMesh
95 meshDir=constant/$meshDir
96 elif [ -d $meshDir ]
97 then
98 # likely already in constant/ - do not adjust anything
100 elif [ "${PWD##*/}" = polyMesh -a -z "$regionName" ]
101 then
102 # apparently already within polyMesh/
103 meshDir=.
104 else
105 echo "Error: no appropriate 'polyMesh/' directory found" 1>&2
106 exit 1
112 # remove files (mesh itself, modifiers, snappyHexMesh ones) and subdirectories
114 echo "Clearing ${caseDir:-.}/$meshDir" 1>&2
116 for i in \
117 points \
118 faces \
119 owner \
120 neighbour \
121 cells \
122 boundary \
123 pointZones \
124 faceZones \
125 cellZones \
126 meshModifiers \
127 parallelData \
128 sets \
129 cellLevel \
130 pointLevel \
131 refinementHistory \
132 surfaceIndex \
133 points.gz \
134 faces.gz \
135 owner.gz \
136 neighbour.gz \
137 cells.gz \
138 boundary.gz \
139 pointZones.gz \
140 faceZones.gz \
141 cellZones.gz \
142 meshModifiers.gz \
143 parallelData.gz \
144 sets.gz \
145 cellLevel.gz \
146 pointLevel.gz \
147 refinementHistory.gz \
148 surfaceIndex.gz \
151 rm -rf $meshDir/$i
152 done
154 #------------------------------------------------------------------------------