02cbf7a668fa7aa6af78dbd26e3af584add482b6
[OpenFOAM-1.6.x.git] / bin / paraFoam
blob02cbf7a668fa7aa6af78dbd26e3af584add482b6
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 # paraFoam
29 # Description
30 # start paraview with the OpenFOAM libraries
32 #------------------------------------------------------------------------------
33 usage() {
34 while [ "$#" -ge 1 ]; do echo "$1"; shift; done
35 cat<<USAGE
37 usage: ${0##*/} [OPTION]
38 options:
39 -case dir specify alternative case directory
40 -region name specify mesh region name
41 -touch only create the .OpenFOAM file
43 * start paraview $ParaView_VERSION with the OpenFOAM libraries
45 USAGE
46 exit 1
49 unset regionName touchOnly
51 # parse options
52 while [ "$#" -gt 0 ]
54 case "$1" in
55 -h | -help)
56 usage
58 -case)
59 [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
60 cd "$2" 2>/dev/null || usage "directory does not exist: '$2'"
61 shift 2
63 -region)
64 [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
65 regionName=$2
66 shift 2
68 -touch)
69 touchOnly=true
70 shift
73 usage "unknown option/argument: '$*'"
75 esac
76 done
78 # get a sensible caseName
79 caseName=${PWD##*/}
80 caseFile="$caseName.OpenFOAM"
81 fvControls="system"
83 if [ -n "$regionName" ]
84 then
85 caseFile="$caseName{$regionName}.OpenFOAM"
86 fvControls="$fvControls/$regionName"
89 if [ -n "$touchOnly" ]
90 then
91 touch "$caseFile"
92 echo "created '$caseFile'"
93 exit 0
96 # parent directory for normal or parallel results
97 case "$caseName" in
98 processor*) parentDir=".." ;;
99 *) parentDir="." ;;
100 esac
102 # check existence of essential files
103 for check in system/controlDict $fvControls/fvSchemes $fvControls/fvSolution
105 [ -s "$parentDir/$check" ] || usage "file does not exist: '$parentDir/$check'"
106 done
109 case "$ParaView_VERSION" in
111 trap "rm -f paraFoam.pvs $caseFile 2>/dev/null; exit 0" EXIT TERM INT
112 touch "$caseFile"
114 # since we are now in the cwd, %CASE% is '$PWD/$caseFile'
115 sed -e s@%CASE%@$PWD/$caseFile@g \
116 $WM_PROJECT_DIR/bin/tools/paraFoam.pvs > paraFoam.pvs
118 paraview paraFoam.pvs
122 # only create/remove caseFile if it didn't already exist
123 [ -e $caseFile ] || {
124 trap "rm -f $caseFile 2>/dev/null; exit 0" EXIT TERM INT
125 touch "$caseFile"
126 echo "created temporary '$caseFile'"
129 paraview --data="$caseFile"
132 esac
133 #------------------------------------------------------------------------------