Rationalize foamJob and foamExec

Patches provided by Bruno Santos
Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=231
This commit is contained in:
Henry 2015-02-06 10:13:17 +00:00
parent 993cd4ee12
commit 369605c630
4 changed files with 37 additions and 7 deletions

View file

@ -1,9 +1,9 @@
#!/bin/sh
#!/bin/bash
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
# \\/ M anipulation |
#-------------------------------------------------------------------------------
# License

View file

@ -3,7 +3,7 @@
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
# \\/ M anipulation |
#-------------------------------------------------------------------------------
# License
@ -40,6 +40,7 @@ options:
-case <dir> 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 <ver> 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

View file

@ -2,7 +2,7 @@
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
@ -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

View file

@ -2,7 +2,7 @@
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
@ -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'