diff --git a/bin/foamExec b/bin/foamExec
index 509ed5d83..7a93bfb61 100755
--- a/bin/foamExec
+++ b/bin/foamExec
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
diff --git a/bin/foamJob b/bin/foamJob
index 20793c3d5..7fa5c8174 100755
--- a/bin/foamJob
+++ b/bin/foamJob
@@ -40,6 +40,7 @@ options:
-case
specify alternative case directory, default is the cwd
-parallel parallel run of processors
-screen also sends output to screen
+ -wait wait for execution to complete (when not using -screen)
-version specify an alternative OpenFOAM version
-help print the usage
@@ -108,7 +109,7 @@ findExec() {
# MAIN SCRIPT
#~~~~~~~~~~~~
-unset parallelOpt screenOpt
+unset parallelOpt screenOpt waitOpt
# parse options
@@ -131,6 +132,10 @@ do
screenOpt=true
shift
;;
+ -w | -wait)
+ waitOpt=true
+ shift
+ ;;
-v | -version)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
version="$2"
@@ -231,6 +236,13 @@ then
break
fi
done
+
+ #
+ # Send FOAM_SETTINGS to parallel processes, so that the proper
+ # definitions are sent as well.
+ #
+ mpiopts="$mpiopts -x FOAM_SETTINGS"
+
;;
esac
@@ -244,6 +256,12 @@ then
else
echo "Executing: $mpirun $mpiopts $APPLICATION $(echoArgs "$@") -parallel > log 2>&1"
$mpirun $mpiopts $APPLICATION "$@" -parallel > log 2>&1 &
+
+ pid=$!
+ if [ "$waitOpt" = true ]
+ then
+ wait $pid
+ fi
fi
else
@@ -258,6 +276,12 @@ else
else
echo "Executing: $APPLICATION $(echoArgs "$@") > log 2>&1 &"
$APPLICATION "$@" > log 2>&1 &
+
+ pid=$!
+ if [ "$waitOpt" = true ]
+ then
+ wait $pid
+ fi
fi
fi
diff --git a/etc/config/aliases.csh b/etc/config/aliases.csh
index 1d8b0e837..a006be18c 100644
--- a/etc/config/aliases.csh
+++ b/etc/config/aliases.csh
@@ -38,8 +38,11 @@ alias wm32 'wmSET WM_ARCH_OPTION=32'
alias wmSP 'wmSET WM_PRECISION_OPTION=SP'
alias wmDP 'wmSET WM_PRECISION_OPTION=DP'
+# refresh the environment
+alias wmREFRESH 'wmSET $FOAM_SETTINGS'
+
# clear env
-alias wmUNSET='source $WM_PROJECT_DIR/etc/config/unset.csh'
+alias wmUNSET 'source $WM_PROJECT_DIR/etc/config/unset.csh'
# Toggle wmakeScheduler on/off
# - also need to set WM_HOSTS
diff --git a/etc/config/aliases.sh b/etc/config/aliases.sh
index ea5a25a82..6efa8e10f 100644
--- a/etc/config/aliases.sh
+++ b/etc/config/aliases.sh
@@ -38,6 +38,9 @@ alias wm32='wmSET WM_ARCH_OPTION=32'
alias wmSP='wmSET WM_PRECISION_OPTION=SP'
alias wmDP='wmSET WM_PRECISION_OPTION=DP'
+# refresh the environment
+alias wmREFRESH='wmSET $FOAM_SETTINGS'
+
# clear env
alias wmUNSET='. $WM_PROJECT_DIR/etc/config/unset.sh'