STYLE: updated license version in header
[OpenFOAM-1.7.x.git] / bin / tools / RunFunctions
blob99bf3a351be744ae726b5d28048fd9fe560f48b3
1 #---------------------------------*- sh -*-------------------------------------
2 # =========                 |
3 # \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4 #  \\    /   O peration     |
5 #   \\  /    A nd           | Copyright (C) 1991-2010 OpenCFD Ltd.
6 #    \\/     M anipulation  |
7 #------------------------------------------------------------------------------
8 # License
9 #     This file is part of OpenFOAM.
11 #     OpenFOAM is free software: you can redistribute it and/or modify it
12 #     under the terms of the GNU General Public License as published by
13 #     the Free Software Foundation, either version 3 of the License, or
14 #     (at your option) any later version.
16 #     OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 #     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 #     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19 #     for more details.
21 #     You should have received a copy of the GNU General Public License
22 #     along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
24 # Script
25 #     RunFunctions
27 # Description
29 #------------------------------------------------------------------------------
31 getApplication ()
33     grep application system/controlDict | sed "s/application *\([a-zA-Z]*\);/\1/"
36 runApplication ()
38     APP_RUN=$1; shift
39     APP_NAME=${APP_RUN##*/}
41     if [ -f log.$APP_NAME ] ; then
42         echo "$APP_NAME already run on $PWD: remove log file to run"
43     else
44         echo "Running $APP_RUN on $PWD"
45         $APP_RUN $* > log.$APP_NAME 2>&1
46     fi
49 runParallel ()
51     APP_RUN=$1; shift
53     if [ -f $log.$APP_RUN ] ; then
54         echo "$APP_RUN already run on $PWD: remove log file to run"
55     else
56         echo "Running $APP_RUN in parallel on $PWD using $1 processes"
57         ( mpirun -np $1 $APP_RUN -parallel < /dev/null > log.$APP_RUN 2>&1 )
58     fi
61 compileApplication ()
63     echo "Compiling $1 application"
64     wmake $1
67 cloneCase ()
69     if [ -d $2 ] ; then
70         echo "Case already cloned: remove case directory $2 to clone"
71     else
72         echo "Cloning $2 case from $1"
73         mkdir $2
74         cpfiles="0 system constant"
75         for f in $cpfiles
76         do
77             cp -r $1/$f $2
78         done
79     fi
82 #------------------------------------------------------------------------------