Merge branch 'upstream' into master
[freefoam.git] / bin / paraFoam.in
blobd385de3e81378a30bcdd970ed23cb6805d2d733c
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 1991-2008 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 FreeFOAM libraries
32 #------------------------------------------------------------------------------
33 usage() {
34 while [ "$#" -ge 1 ]; do echo "$1"; shift; done
35 cat<<USAGE
37 usage: ${0##*/} [-case dir]
39 * start paraview $ParaView_VERSION with the FreeFOAM libraries
41 USAGE
42 exit 1
45 # parse options
46 while [ "$#" -gt 0 ]
48 case "$1" in
49 -h | -help)
50 usage
52 -case)
53 [ "$#" -ge 2 ] || usage "'-case' option requires an argument"
54 caseDir=$2
55 shift 2
56 cd "$caseDir" 2>/dev/null || usage "directory does not exist: '$caseDir'"
59 usage "unknown option/argument: '$*'"
61 esac
62 done
64 # get a sensible caseName
65 caseName=${PWD##*/}
66 caseFile="$caseName.OpenFOAM"
68 # parent directory for normal or parallel results
69 case "$caseName" in
70 processor*) parentDir=".." ;;
71 *) parentDir="." ;;
72 esac
74 # check existence of essential files
75 for check in system/controlDict system/fvSchemes system/fvSolution
77 [ -s "$parentDir/$check" ] || usage "file does not exist: '$parentDir/$check'"
78 done
81 case "$ParaView_VERSION" in
82 2*)
83 # Clean up on termination and on Ctrl-C
84 trap "rm -f paraFoam.pvs $caseFile 2>/dev/null; exit 0" EXIT TERM INT
85 touch $caseFile
87 # since we are now in the cwd, %CASE% is '$PWD/$caseFile'
88 sed -e s@%CASE%@$PWD/$caseFile@g \
89 @FF_DATA_DIR@/paraFoam.pvs > paraFoam.pvs
91 paraview paraFoam.pvs
95 # Clean up on termination and on Ctrl-C
96 trap "rm -f $caseFile 2>/dev/null; exit 0" EXIT TERM INT
98 # Try to find ParaView:
99 unset PARAVIEW
100 if [ -x "$FREEFOAM_PV3_APP" ]; then
101 # Using a environment variable the user can set...
102 PARAVIEW="$FREEFOAM_PV3_APP"
103 elif [ -x "@FF_PARAVIEW3_APP@" ]; then
104 # Using the CMake configure value...
105 PARAVIEW="@FF_PARAVIEW3_APP@"
107 if [ -z "$PARAVIEW" -a "`uname -s`" == Darwin ]; then
108 # On Darwin it might also be an app-bundle
109 if [ -x "$FREEFOAM_PV3_APP/Contents/MacOS/paraview" ]; then
110 PARAVIEW="$FREEFOAM_PV3_APP/Contents/MacOS/paraview"
111 elif [ -x "@FF_PARAVIEW3_APP@/Contents/MacOS/paraview" ]; then
112 PARAVIEW="@FF_PARAVIEW3_APP@/Contents/MacOS/paraview"
115 if [ -z "$PARAVIEW" ]; then
116 # Otherwise notify the user
117 echo " Error: Could not find ParaView 3. Either compile it or point" >&2
118 echo " FREEFOAM_PV3_APP to the full path of the paraview application bundle." >&2
119 exit 1;
121 export PV_PLUGIN_PATH="@FF_LIB_DIR@/plugins/PV3FoamReader:$PV_PLUGIN_PATH"
122 $PARAVIEW --data=$caseFile
125 esac
126 #------------------------------------------------------------------------------