Merge branch 'upstream/OpenFOAM' into master
[freefoam.git] / data / utilities / foamUpgradeTurbulenceProperties
blob846d8d6cda580f7443517f3e4cde1d7c57b35ea4
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 # foamUpgradeTurbulenceProperties
29 # Description
30 # Upgrade the turbulenceProperties dictionary to the new format employed
31 # in OpenFOAM version 1.5
32 # - RAS turbulence models now defined by the RASProperties dictionary,
33 # and RASModel keyword.
34 # - LES turbulence models now defined by the LESProperties dictionary,
35 # and LESModel keyword.
37 #------------------------------------------------------------------------------
39 usage() {
40 cat<<USAGE
42 usage: ${0##*/} <turbulenceProperties>
44 Where <turbulenceProperties> is the full path to the
45 turbulenceProperties dictionary
47 Note: can upgrade several files at once
49 USAGE
50 exit 1
54 # $1: turbulence model
55 # $2: new properties type
56 # $3: original dictionary
58 convertDict()
60 echo "Identified $1 turbulence model in '$3'"
61 outputPath=`dirname $3`
63 if [ -e "$outputPath/$1Properties" ]
64 then
65 echo "Error: file already exists $outputPath/$1Properties'" 1>&2
66 else
67 sed -e "s/turbulenceProperties/$1Properties/" \
68 -e "s/$2/$1Model/" \
69 -e "s/[a-zA-Z0-9]* [ ]*\[[0-9 ]*\]//" \
70 $3 > "$outputPath/$1Properties"
72 echo " wrote $outputPath/$1Properties"
76 [ $# -ge 1 ] || usage
78 for turbDict
80 # Identify type of turbulence model and convert
81 if [ -f $turbDict ]
82 then
83 if grep turbulenceModel $turbDict >/dev/null 2>&1
84 then
85 convertDict RAS turbulenceModel $turbDict
86 elif grep LESmodel $turbDict >/dev/null 2>&1
87 then
88 convertDict LES LESmodel $turbDict
89 else
90 echo "Unable to determine turbulence model type in '$turbDict'" 1>&2
91 echo " - nothing changed" 1>&2
93 else
94 echo "Error: file '$turbDict' does not exist" 1>&2
96 done
98 #------------------------------------------------------------------------------