diff --git a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake b/applications/utilities/mesh/manipulation/renumberMesh/Allwmake index ee135cc373cc65c1ab261367fc5aa474f7e36975..59db39f970dea36e76f456a392f3e56c343be304 100755 --- a/applications/utilities/mesh/manipulation/renumberMesh/Allwmake +++ b/applications/utilities/mesh/manipulation/renumberMesh/Allwmake @@ -4,20 +4,35 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for compilation (at least for error catching) . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -export COMPILE_FLAGS='' -export LINK_FLAGS='' +unset COMP_FLAGS LINK_FLAGS if [ -f "${FOAM_LIBBIN}/libSloanRenumber.so" ] then - echo "Found libSloanRenumber.so -- enabling Sloan renumbering support." + echo " found libSloanRenumber -- enabling sloan renumbering support." export LINK_FLAGS="${LINK_FLAGS} -lSloanRenumber" fi -if [ -f "${ZOLTAN_ARCH_PATH}/lib/libzoltan.a" -a -f "${FOAM_LIBBIN}/libzoltanRenumber.so" ] +if [ -f "${FOAM_LIBBIN}/libzoltanRenumber.so" ] then - echo "Found libzoltanRenumber.so -- enabling zoltan renumbering support." - export COMPILE_FLAGS="-DFOAM_USE_ZOLTAN" - export LINK_FLAGS="${LINK_FLAGS} -lzoltanRenumber -L${ZOLTAN_ARCH_PATH}/lib -lzoltan" + if [ -z "$ZOLTAN_ARCH_PATH" ] + then + # Optional: get ZOLTAN_ARCH_PATH + if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan) + then + . $settings + fi + fi + + for libdir in lib "lib${WM_COMPILER_LIB_ARCH}" + do + if [ -f "$ZOLTAN_ARCH_PATH/$libdir/libzoltan.a" ] + then + echo " found libzoltanRenumber -- enabling zoltan renumbering support." + export COMP_FLAGS="-DFOAM_USE_ZOLTAN" + export LINK_FLAGS="${LINK_FLAGS} -lzoltanRenumber -L$ZOLTAN_ARCH_PATH/$libdir -lzoltan" + break + fi + done fi wmake $targetType diff --git a/etc/bashrc b/etc/bashrc index d9c253492bb4ffbc2e40a15fb3013812fcf768a8..613ced698f683c754e9faeedd677b30cf4c60a4e 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -42,7 +42,8 @@ export WM_PROJECT_VERSION=plus # # Please set to the appropriate path if the default is not correct. # -[ $BASH_SOURCE ] && FOAM_INST_DIR=$(\cd ${BASH_SOURCE%/*/*/*} && \pwd -P) || \ +rc="${BASH_SOURCE:-${ZSH_NAME:+$0}}" +[ -n "$rc" ] && FOAM_INST_DIR=$(\cd $(dirname $rc)/../.. && \pwd -L) || \ FOAM_INST_DIR=$HOME/$WM_PROJECT # FOAM_INST_DIR=~$WM_PROJECT # FOAM_INST_DIR=/opt/$WM_PROJECT @@ -135,8 +136,10 @@ export WM_PROJECT_USER_DIR=$HOME/$WM_PROJECT/$USER-$WM_PROJECT_VERSION # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ . $WM_PROJECT_DIR/etc/config.sh/functions -# Add in preset user or site preferences: -_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile prefs.sh` +# Override definitions via prefs, with 'other' first so the sys-admin +# can provide base values independent of WM_PROJECT_SITE +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode o prefs.sh` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode ug prefs.sh` # Evaluate command-line parameters and record settings for later # these can be used to set/unset values, or specify alternative pref files diff --git a/etc/config.csh/mpi b/etc/config.csh/mpi index c56bbab3f922557f2a2013b88bc4b0560ead9da5..a7ffdcee893feb642adee2d641b493084ecfa2bf 100644 --- a/etc/config.csh/mpi +++ b/etc/config.csh/mpi @@ -71,8 +71,15 @@ case OPENMPI: _foamAddMan $MPI_ARCH_PATH/share/man breaksw +case USERMPI: + # Use an arbitrary, user-specified mpi implementation + setenv FOAM_MPI mpi-user + _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi-user` + breaksw + case SYSTEMMPI: setenv FOAM_MPI mpi-system + _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.csh/mpi-system` if ( ! ($?MPI_ROOT) ) then echo diff --git a/etc/config.csh/settings b/etc/config.csh/settings index 659b4c5ae22ae09995ba6f7f1f20558060f421e5..52f682dd4951200b23415b53ad5b73634bf9d12b 100644 --- a/etc/config.csh/settings +++ b/etc/config.csh/settings @@ -137,7 +137,7 @@ endsw #------------------------------------------------------------------------------ # Location of the jobControl directory -setenv FOAM_JOB_DIR $WM_PROJECT_INST_DIR/jobControl +setenv FOAM_JOB_DIR "$HOME/.OpenFOAM/jobControl" # wmake configuration setenv WM_DIR $WM_PROJECT_DIR/wmake @@ -196,8 +196,11 @@ endif unset siteDir _foamAddPath ${FOAM_USER_APPBIN}:${FOAM_SITE_APPBIN}:${FOAM_APPBIN} -# Make sure to pick up dummy versions of external libraries last -_foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN}:${FOAM_EXT_LIBBIN}:${FOAM_LIBBIN}/dummy +_foamAddLib $FOAM_LIBBIN/dummy # Dummy versions of external libraries last +if ( $?FOAM_EXT_LIBBIN ) then # External libraries (allowed to be unset) + _foamAddLib $FOAM_EXT_LIBBIN +endif +_foamAddLib ${FOAM_USER_LIBBIN}:${FOAM_SITE_LIBBIN}:${FOAM_LIBBIN} # Compiler settings # ~~~~~~~~~~~~~~~~~ diff --git a/etc/config.sh/mpi b/etc/config.sh/mpi index 757aef05ee2e8903698569980f25b2a85b2227f0..50b08ffdb7ad553444cdac25132375812de8f1fe 100644 --- a/etc/config.sh/mpi +++ b/etc/config.sh/mpi @@ -75,8 +75,15 @@ OPENMPI) _foamAddMan $MPI_ARCH_PATH/share/man ;; +USERMPI) + # Use an arbitrary, user-specified mpi implementation + export FOAM_MPI=mpi-user + _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/mpi-user` + ;; + SYSTEMMPI) export FOAM_MPI=mpi-system + _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config.sh/mpi-system` if [ -z "$MPI_ROOT" ] then diff --git a/etc/config.sh/settings b/etc/config.sh/settings index 4e457c15c0022356bcf923c4da0ed1d1bccbf097..6281be6a48ac4dc1e02c95bd933029f423c71061 100644 --- a/etc/config.sh/settings +++ b/etc/config.sh/settings @@ -141,7 +141,7 @@ esac #------------------------------------------------------------------------------ # Location of the jobControl directory -export FOAM_JOB_DIR=$WM_PROJECT_INST_DIR/jobControl +export FOAM_JOB_DIR="$HOME/.OpenFOAM/jobControl" # wmake configuration export WM_DIR=$WM_PROJECT_DIR/wmake @@ -198,8 +198,12 @@ fi unset siteDir _foamAddPath $FOAM_USER_APPBIN:$FOAM_SITE_APPBIN:$FOAM_APPBIN -# Make sure to pick up dummy versions of external libraries last -_foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN:$FOAM_EXT_LIBBIN:$FOAM_LIBBIN/dummy +_foamAddLib $FOAM_LIBBIN/dummy # Dummy versions of external libraries last +if [ -n "$FOAM_EXT_LIBBIN" ] # External libraries (allowed to be unset) +then + _foamAddLib $FOAM_EXT_LIBBIN +fi +_foamAddLib $FOAM_USER_LIBBIN:$FOAM_SITE_LIBBIN:$FOAM_LIBBIN # Compiler settings # ~~~~~~~~~~~~~~~~~ diff --git a/etc/cshrc b/etc/cshrc index 9928e0073fbd35e5e2d4a4f68c513aa124d0e18f..0bee1478685133e66e544331f50c23cd49879865 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -148,8 +148,10 @@ setenv WM_PROJECT_USER_DIR $HOME/$WM_PROJECT/$LOGNAME-$WM_PROJECT_VERSION # Source files, possibly with some verbosity alias _foamSource 'if ($?FOAM_VERBOSE && $?prompt) echo "Sourcing: \!*"; if (\!* != "") source \!*' -# Add in preset user or site preferences: -_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile prefs.csh` +# Override definitions via prefs, with 'other' first so the sys-admin +# can provide base values independent of WM_PROJECT_SITE +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode o prefs.csh` +_foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -mode ug prefs.csh` # Evaluate command-line parameters and record settings for later # these can be used to set/unset values, or specify alternative pref files diff --git a/src/fvAgglomerationMethods/Allwmake b/src/fvAgglomerationMethods/Allwmake index dcef4328c21f652e15f5793cb48fc400a22e364d..ba1c5ee1a7c39cd74b98d2e560c8019ffebbcd05 100755 --- a/src/fvAgglomerationMethods/Allwmake +++ b/src/fvAgglomerationMethods/Allwmake @@ -4,9 +4,13 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for library compilation . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -export ParMGridGen=$WM_THIRD_PARTY_DIR/ParMGridGen-1.0 +unset MGRIDGEN_ARCH_PATH +if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/mgridgen) +then + . $settings +fi -if [ -e "$FOAM_LIBBIN/libMGridGen.so" ] +if [ -e "$MGRIDGEN_ARCH_PATH/include/mgridgen.h" ] then wmake $targetType MGridGenGamgAgglomeration fi diff --git a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options index a58b65fb790b6afb05b6a09610b30a70a7c33ce7..8f7b5aedc667eefc34f16377b49df3fd4463b0ed 100644 --- a/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options +++ b/src/fvAgglomerationMethods/MGridGenGamgAgglomeration/Make/options @@ -1,15 +1,9 @@ -/* Needs ParMGridGen environment variable set. (see Allwmake script) */ - -TYPE_REAL= -#if defined(WM_SP) -TYPE_REAL=-DTYPE_REAL -#endif - EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(ParMGridGen)/MGridGen/Lib/lnInclude \ - -I$(ParMGridGen)/MGridGen/IMlib/lnInclude \ - $(TYPE_REAL) + -I$(MGRIDGEN_ARCH_PATH)/include LIB_LIBS = \ - -L$(FOAM_EXT_LIBBIN) -lMGridGen + -L$(FOAM_EXT_LIBBIN) \ + -L$(MGRIDGEN_ARCH_PATH)/lib \ + -L$(MGRIDGEN_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \ + -lmgrid diff --git a/src/parallel/decompose/Allwmake b/src/parallel/decompose/Allwmake index 6bddc475ea6edb07ff5ea5dea1ba4b5ca8fea444..33634f7d77b33f9b97404cf6656a25bcbb260785 100755 --- a/src/parallel/decompose/Allwmake +++ b/src/parallel/decompose/Allwmake @@ -36,6 +36,7 @@ hasMetis() # Library [ -r $FOAM_EXT_LIBBIN/libmetis.so ] || \ + [ -r $METIS_ARCH_PATH/lib/libmetis.so ] || \ [ -r $METIS_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libmetis.so ] || \ [ "${METIS_ARCH_PATH##*-}" = system ] || { echo "$warning (missing library)" @@ -90,6 +91,7 @@ hasScotch() # Library [ -r $FOAM_EXT_LIBBIN/libscotch.so ] || \ + [ -r $SCOTCH_ARCH_PATH/lib/libscotch.so ] || \ [ -r $SCOTCH_ARCH_PATH/lib$WM_COMPILER_LIB_ARCH/libscotch.so ] || \ [ "${SCOTCH_ARCH_PATH##*-}" = system ] || { echo "$warning (missing library)" diff --git a/src/parallel/decompose/metisDecomp/Make/options b/src/parallel/decompose/metisDecomp/Make/options index b1cce000a224b0c26b948b45f8f2ff35b76083ba..a832e26823f731868fbc1044b18d1c7694068735 100644 --- a/src/parallel/decompose/metisDecomp/Make/options +++ b/src/parallel/decompose/metisDecomp/Make/options @@ -8,6 +8,7 @@ EXE_INC = \ * to support central, non-thirdparty installations */ LIB_LIBS = \ + -L$(METIS_ARCH_PATH)/lib \ -L$(METIS_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \ -L$(FOAM_EXT_LIBBIN) \ -lmetis diff --git a/src/parallel/decompose/ptscotchDecomp/Make/options b/src/parallel/decompose/ptscotchDecomp/Make/options index 9dab60dab532e6a17060875beb81a7fe6f6316a8..51ae4a6662c6b8511af08b1d29ec0a51961b88d0 100644 --- a/src/parallel/decompose/ptscotchDecomp/Make/options +++ b/src/parallel/decompose/ptscotchDecomp/Make/options @@ -16,6 +16,7 @@ EXE_INC = \ * to support central, non-thirdparty installations */ LIB_LIBS = \ + -L$(SCOTCH_ARCH_PATH)/lib \ -L$(SCOTCH_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \ -L$(FOAM_EXT_LIBBIN) \ -L$(FOAM_EXT_LIBBIN)/$(FOAM_MPI) \ diff --git a/src/parallel/decompose/scotchDecomp/Make/options b/src/parallel/decompose/scotchDecomp/Make/options index 5cc3e25d8c19332e66727b17a67ee5b1d7cacca3..1ca71f6a6838c717694e731b6e7d6990e0d4b087 100644 --- a/src/parallel/decompose/scotchDecomp/Make/options +++ b/src/parallel/decompose/scotchDecomp/Make/options @@ -16,6 +16,7 @@ EXE_INC = \ * to support central, non-thirdparty installations */ LIB_LIBS = \ + -L$(SCOTCH_ARCH_PATH)/lib \ -L$(SCOTCH_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \ -L$(FOAM_EXT_LIBBIN) \ -lscotch \ diff --git a/src/renumber/Allwmake b/src/renumber/Allwmake index e1fcc89e6621d45edba75ec404a35c7f070f5ede..aef86c64506332e9dad1664c59ee51fd755d689c 100755 --- a/src/renumber/Allwmake +++ b/src/renumber/Allwmake @@ -5,14 +5,11 @@ cd ${0%/*} || exit 1 # Run from this directory targetType=libso . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -## Get ZOLTAN_ARCH_PATH -#if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan) -#then -# . $settings -# echo "using ZOLTAN_ARCH_PATH=$ZOLTAN_ARCH_PATH" -#else -# echo "Error: no config.sh/zoltan settings" -#fi +# Optional: get ZOLTAN_ARCH_PATH +if settings=$($WM_PROJECT_DIR/bin/foamEtcFile config.sh/zoltan) +then + . $settings +fi wmake $targetType renumberMethods diff --git a/src/renumber/zoltanRenumber/Make/options b/src/renumber/zoltanRenumber/Make/options index c637f39ba9699a5457258d834f3c91c4aa852a4a..ed93f8b2b87c6b2d75c449c0edcc8b057d803b0b 100644 --- a/src/renumber/zoltanRenumber/Make/options +++ b/src/renumber/zoltanRenumber/Make/options @@ -4,10 +4,13 @@ sinclude $(RULES)/mplib$(WM_MPLIB) EXE_INC = \ /* -DFULLDEBUG -g -O0 */ \ $(PFLAGS) $(PINC) \ + ${c++LESSWARN} \ -I$(FOAM_SRC)/renumber/renumberMethods/lnInclude \ -I$(ZOLTAN_ARCH_PATH)/include/ \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - /* -L$(ZOLTAN_ARCH_PATH)/lib -lzoltan */ \ + -L$(ZOLTAN_ARCH_PATH)/lib \ + -L$(ZOLTAN_ARCH_PATH)/lib$(WM_COMPILER_LIB_ARCH) \ + -lzoltan \ -lmeshTools