From e0a0f94e6fca9e53f9c8f2be93725bac2c110524 Mon Sep 17 00:00:00 2001 From: Prashant <prashantS.sonakar@esi-group.com> Date: Fri, 6 May 2016 11:25:11 +0530 Subject: [PATCH] ENH: added -decomposeParDict as argument to getNumberOfProcessors() --- bin/tools/RunFunctions | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) mode change 100644 => 100755 bin/tools/RunFunctions diff --git a/bin/tools/RunFunctions b/bin/tools/RunFunctions old mode 100644 new mode 100755 index 66a1d7b118d..407800e7917 --- a/bin/tools/RunFunctions +++ b/bin/tools/RunFunctions @@ -3,7 +3,7 @@ # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation -# \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. +# \\/ M anipulation | Copyright (C) 2015-2016 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM. @@ -41,8 +41,10 @@ isTest() getNumberOfProcessors() { - expandDictionary system/decomposeParDict \ - | sed -ne 's/^numberOfSubdomains\s*\(.*\);/\1/p' + if [ -f $1 ] + then + expandDictionary $1 | sed -ne 's/^numberOfSubdomains\s*\(.*\);/\1/p' + fi } getApplication() @@ -100,13 +102,16 @@ runParallel() { LOG_NAME= APP_RUN= + # Store any parsed additional arguments e.g. decomposeParDict + APP_PARARGS= LOG_IGNORE=false LOG_APPEND=false LOG_SUFFIX= - nProcs=$(getNumberOfProcessors) + # Check the default decomposeParDict if available + nProcs=$(getNumberOfProcessors "system/decomposeParDict") # Parse options and executable - while [ $# -gt 0 ] && [ -z "$APP_RUN" ]; do + while [ $# -gt 0 ] && [ -z "$APP_RUN" ] ; do key="$1" case "$key" in -append|-a) @@ -124,6 +129,11 @@ runParallel() nProcs="$2" shift ;; + -decomposeParDict) + nProcs=$(getNumberOfProcessors "$2") + APP_PARARGS="$APP_PARARGS -decomposeParDict $2" + shift + ;; *) APP_RUN="$key" APP_NAME="${key##*/}" @@ -141,9 +151,9 @@ runParallel() else echo "Running $APP_RUN in parallel on $PWD using $nProcs processes" if [ "$LOG_APPEND" = "true" ]; then - ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null >> log.$LOG_SUFFIX 2>&1 ) + ( mpirun -np $nProcs $APP_RUN $APP_PARARGS -parallel "$@" < /dev/null >> log.$LOG_SUFFIX 2>&1 ) else - ( mpirun -np $nProcs $APP_RUN -parallel "$@" < /dev/null > log.$LOG_SUFFIX 2>&1 ) + ( mpirun -np $nProcs $APP_RUN $APP_PARARGS -parallel "$@" < /dev/null > log.$LOG_SUFFIX 2>&1 ) fi fi } -- GitLab