Incorrect boundary condition
[foam-extend-3.2.git] / bin / tools / RunFunctions
blob50ddc1ed3f04868715e64931e7c467448f12ef0a
1 #---------------------------------*- sh -*-------------------------------------
2 # =========                 |
3 # \\      /  F ield         | foam-extend: Open Source CFD
4 #  \\    /   O peration     |
5 #   \\  /    A nd           | For copyright notice see file Copyright
6 #    \\/     M anipulation  |
7 #------------------------------------------------------------------------------
8 # License
9 #     This file is part of foam-extend.
11 #     foam-extend is free software: you can redistribute it and/or modify it
12 #     under the terms of the GNU General Public License as published by the
13 #     Free Software Foundation, either version 3 of the License, or (at your
14 #     option) any later version.
16 #     foam-extend is distributed in the hope that it will be useful, but
17 #     WITHOUT ANY WARRANTY; without even the implied warranty of
18 #     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19 #     General Public License for more details.
21 #     You should have received a copy of the GNU General Public License
22 #     along with foam-extend.  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     LOG_NAME=
39     while getopts "l:" OPTFLAG ; do
40         LOG_NAME=$OPTARG
41         shift $((OPTIND-1)) ; OPTIND=1
42     done
44     APP_RUN=$1; shift
45     APP_NAME=${APP_RUN##*/}
47     if [ -z $LOG_NAME ] ; then
48         LOG_NAME=log.$APP_NAME
49     fi
51     if [ -f $LOG_NAME ] ; then
52         echo "$APP_NAME already run on $PWD: remove log file to run"
53     else
54         echo "Running $APP_NAME on $PWD"
55         $APP_RUN $* > $LOG_NAME 2>&1
56     fi
59 runParallel ()
61     LOG_NAME=
62     while getopts "l:" OPTFLAG ; do
63         LOG_NAME=$OPTARG
64         shift $((OPTIND-1)) ; OPTIND=1
65     done
67     APP_RUN=$1; shift
68     APP_NAME=${APP_RUN##*/}
70     if [ -z $LOG_NAME ] ; then
71         LOG_NAME=log.$APP_NAME
72     fi
74     if [ -f $LOG_NAME ] ; then
75         echo "$APP_NAME already run on $PWD: remove log file to run"
76     else
77         echo "Running $APP_NAME in parallel on $PWD using $1 processes"
78         if [ -z "$WM_MPIRUN_PROG" ]
79         then
80             mpirunProg=mpirun
81         else
82             # Allow exceentric systems to override the hardcoded mpirun
83             mpirunProg=$WM_MPIRUN_PROG
84         fi
85         ( $mpirunProg -np $1 $APP_RUN -parallel < /dev/null > $LOG_NAME 2>&1 )
86     fi
89 compileApplication ()
91     echo "Compiling $1 application"
92     wmake $1
95 compileLibrary ()
97     echo "Compiling $1 application"
98     wmake libso $1
101 cloneCase ()
103     if [ -d $2 ] ; then
104         echo "Case already cloned: remove case directory $2 to clone"
105     else
106         echo "Cloning $2 case from $1"
107         mkdir $2
108         cpfiles="0 system constant"
109         for f in $cpfiles
110         do
111             cp -r $1/$f $2
112         done
113     fi
116 makeFsiCaseLinks ()
118     cd $1
119     cd system
120     ln -s ../../$2/system $2
121     cd ../constant
122     ln -s ../../$2/constant $2
123     cd ../0
124     ln -s ../../$2/0 $2
125     cd ../..
128 makeFsiResultsLinks ()
130     cd $1
131     TIME_DIRS=`foamInfoExec -times | sed '1,/constant/d'`
132     echo "makeFsiResultsLinks for" $TIME_DIRS
133     cd ../$2
134     for T in $TIME_DIRS
135     do
136         ln -s ../$1/${T}/solid ${T}
137     done
138     cd ..
141 #------------------------------------------------------------------------------