mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
RunFunctions: Added -append and -overwrite options
-append: append to log file -overwrite: overwrite log file Original patch provided by Timm Severin Resolves feature request http://www.openfoam.org/mantisbt/view.php?id=1919
This commit is contained in:
@ -40,40 +40,80 @@ getApplication()
|
|||||||
|
|
||||||
runApplication()
|
runApplication()
|
||||||
{
|
{
|
||||||
APP_RUN=$1
|
APP_RUN=
|
||||||
APP_NAME=${1##*/}
|
LOG_IGNORE=false
|
||||||
shift
|
LOG_APPEND=false
|
||||||
|
|
||||||
if [ -f log.$APP_NAME ]
|
# Parse options and executable
|
||||||
|
while [ $# -gt 0 ] && [ -z "$APP_RUN" ]; do
|
||||||
|
key="$1"
|
||||||
|
case "$key" in
|
||||||
|
-append)
|
||||||
|
LOG_IGNORE=true
|
||||||
|
LOG_APPEND=true
|
||||||
|
;;
|
||||||
|
-overwrite)
|
||||||
|
LOG_IGNORE=true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
APP_RUN="$key"
|
||||||
|
APP_NAME="${key##*/}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -f log.$APP_NAME ] && [ "$LOG_IGNORE" = "false" ]
|
||||||
then
|
then
|
||||||
echo "$APP_NAME already run on $PWD: remove log file to re-run"
|
echo "$APP_NAME already run on $PWD: remove log file to re-run"
|
||||||
else
|
else
|
||||||
echo "Running $APP_RUN on $PWD"
|
echo "Running $APP_RUN on $PWD"
|
||||||
$APP_RUN "$@" > log.$APP_NAME 2>&1
|
if [ "$LOG_APPEND" = "true" ]; then
|
||||||
|
$APP_RUN "$@" >> log.$APP_NAME 2>&1
|
||||||
|
else
|
||||||
|
$APP_RUN "$@" > log.$APP_NAME 2>&1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
runParallel()
|
runParallel()
|
||||||
{
|
{
|
||||||
APP_RUN=$1
|
APP_RUN=
|
||||||
APP_NAME=${1##*/}
|
LOG_IGNORE=false
|
||||||
shift
|
LOG_APPEND=false
|
||||||
|
|
||||||
if [ -f log.$APP_NAME ]
|
# Parse options and executable
|
||||||
|
while [ $# -gt 0 ] && [ -z "$APP_RUN" ]; do
|
||||||
|
key="$1"
|
||||||
|
case "$key" in
|
||||||
|
-append)
|
||||||
|
LOG_IGNORE=true
|
||||||
|
LOG_APPEND=true
|
||||||
|
;;
|
||||||
|
-overwrite)
|
||||||
|
LOG_IGNORE=true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
APP_RUN="$key"
|
||||||
|
APP_NAME="${key##*/}"
|
||||||
|
# also read number of processors
|
||||||
|
nProcs="$2"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -f log.$APP_NAME ] && [ "$LOG_IGNORE" = "false" ]
|
||||||
then
|
then
|
||||||
echo "$APP_NAME already run on $PWD: remove log file to re-run"
|
echo "$APP_NAME already run on $PWD: remove log file to re-run"
|
||||||
else
|
else
|
||||||
nProcs=$1
|
|
||||||
shift
|
|
||||||
echo "Running $APP_RUN in parallel on $PWD using $nProcs processes"
|
echo "Running $APP_RUN in parallel on $PWD using $nProcs processes"
|
||||||
|
if [ "$LOG_APPEND" = "true" ]; then
|
||||||
#if [ "$WM_SCHEDULER" ]
|
( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> log.$APP_NAME 2>&1 )
|
||||||
#then
|
else
|
||||||
# echo "$PWD: $WM_SCHEDULER -np $nProcs" 1>&2
|
|
||||||
# $WM_SCHEDULER -np $nProcs "( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )"
|
|
||||||
#else
|
|
||||||
( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )
|
( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$APP_NAME 2>&1 )
|
||||||
#fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user