diff --git a/README b/README index bcce7c5da9b06f3fe8d227d9f3002691990040ba..f6baf20491d5bb3ceaa88d47025efe72169fde23 100644 --- a/README +++ b/README @@ -1,8 +1,8 @@ # -*- mode: org; -*- # -#+TITLE: *OpenFOAM README for version 1.5* +#+TITLE: OpenFOAM README for version 1.6 #+AUTHOR: OpenCFD Ltd. -#+DATE: 26 August 2008 +#+DATE: July 2009 #+LINK: http://www.opencfd.co.uk #+OPTIONS: author:nil ^:{} @@ -62,7 +62,7 @@ in the OpenFOAM release. e.g. in + $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/ - + where <VERSION> corresponds to the version 1.4, 1.5, ... + + where <VERSION> corresponds to the version 1.5, 1.6, ... 1) EITHER, if running bash or ksh (if in doubt type 'echo $SHELL'), source the etc/bashrc file by adding the following line to the end of your @@ -135,7 +135,7 @@ * Getting Started Create a project directory within the $HOME/OpenFOAM directory named - <USER>-<VERSION> (e.g. 'chris-1.5' for user chris and OpenFOAM version 1.5) + <USER>-<VERSION> (e.g. 'chris-1.6' for user chris and OpenFOAM version 1.6) and create a directory named 'run' within it, e.g. by typing: + mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run @@ -156,12 +156,13 @@ * Compiling Paraview 3.3 and the PV3FoamReader module A version of Qt 4.3.x must be installed to compile ParaView. The compilation - is a fairly simple process using the supplied buildParaView3.3-cvs script that - has worked is our tests with other packages supplied in the ThirdParty - directory, namely cmake-2.4.6 and gcc-4.3.1. Execute the following: - + cd $FOAM_INST_DIR/ThirdParty - + rm -rf ParaView3.3-cvs/platforms - + buildParaView3.3-cvs + is a fairly simple process using the supplied buildParaView script that + has worked in our tests with other packages supplied in the ThirdParty + directory, namely cmake-2.6.4 and gcc-4.3.3. Execute the following: + + cd $WM_THIRD_PARTY_DIR + + rm -rf paraview-3.6/platforms + + buildParaView + The PV3FoamReader module is an OpenFOAM utility that can be compiled in the usual manner as follows: @@ -184,3 +185,4 @@ is the default mode on a 64-bit machine. To use an installed 32-bit version, the user must set the environment variable WM_ARCH_OPTION to 32 before sourcing the etc/bashrc (or etc/cshrc) file. + diff --git a/ReleaseNotes-1.6 b/ReleaseNotes-1.6 index 58955d33498c78a72a34d3378dc32163aa6c35b8..b18ce5659a32e047e4097de3af91809e12acac40 100644 --- a/ReleaseNotes-1.6 +++ b/ReleaseNotes-1.6 @@ -145,6 +145,8 @@ + The *new* =readList(Istream&)= can read a bracket-delimited list or handle a single value as a list of size 1. This can be a useful convenience when processing command-line options. + + Export *new* environment variable =FOAM_CASENAME= that contains the + name part of the =FOAM_CASE= environment variable *** Misc. improvements + Improved consistency and interoperability between =face= and =triFace= classes. diff --git a/applications/solvers/compressible/rhoCentralFoam/Allwclean b/applications/solvers/compressible/rhoCentralFoam/Allwclean index e90223203b165e297891befbdbded1c0c8aa5c8a..21ee42fadb6ea6accaf2d4a00bc92a0501bd6f73 100755 --- a/applications/solvers/compressible/rhoCentralFoam/Allwclean +++ b/applications/solvers/compressible/rhoCentralFoam/Allwclean @@ -1,5 +1,8 @@ #!/bin/sh +cd ${0%/*} || exit 1 # run from this directory +set -x wclean libso BCs wclean +# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean index c61cba1ad1df29efce336590a879776e00b3df39..cc138bc068e6882e24eb995668e00a0fc18d3e58 100755 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/Allwclean @@ -1,4 +1,10 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # run from this directory +set -x + wclean libso phaseModel wclean libso interfacialModels wclean libso kineticTheoryModels wclean + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/test/dictionary/dictionaryTest.C b/applications/test/dictionary/dictionaryTest.C index d958d81a1a6e82c335bf7871f2a61f31f0ec905f..2c2395e9fb956b769db5a48bec0798fd945ca2d5 100644 --- a/applications/test/dictionary/dictionaryTest.C +++ b/applications/test/dictionary/dictionaryTest.C @@ -29,6 +29,7 @@ Description \*---------------------------------------------------------------------------*/ +#include "argList.H" #include "IOstreams.H" #include "IOobject.H" #include "IFstream.H" @@ -41,6 +42,15 @@ using namespace Foam; int main(int argc, char *argv[]) { + argList::noParallel(); + argList args(argc, argv); + + Info<< nl + << "FOAM_CASE=" << getEnv("FOAM_CASE") << nl + << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl + << endl; + + { dictionary dict1(IFstream("testDict")()); Info<< "dict1: " << dict1 << nl diff --git a/applications/test/dictionary/testDict b/applications/test/dictionary/testDict index 6a0863a4547db87e7cf16d9a066f19f120e95523..42a473a52b2647c684e89220670b25ab2cecfb62 100644 --- a/applications/test/dictionary/testDict +++ b/applications/test/dictionary/testDict @@ -14,6 +14,9 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #inputMode merge +#includeIfPresent "someUnknownFile" +#includeIfPresent "$FOAM_CASE/someUnknownFile" +#includeIfPresent "$FOAM_CASE/someUnknownFile-$FOAM_CASENAME" internalField uniform 1; @@ -78,7 +81,6 @@ boundaryField // NB: the inputMode has a global scope #inputMode merge #include "testDict2" -#includeIfPresent "SomeUnknownFile" foo { diff --git a/applications/utilities/mesh/generation/extrudeMesh/Allwclean b/applications/utilities/mesh/generation/extrudeMesh/Allwclean index f7842e25d0d3647072023490f6ab1d7e238b6fa1..3ac620b1451f2b5a20c59747587eb24c173e162f 100755 --- a/applications/utilities/mesh/generation/extrudeMesh/Allwclean +++ b/applications/utilities/mesh/generation/extrudeMesh/Allwclean @@ -1,6 +1,8 @@ #!/bin/sh +cd ${0%/*} || exit 1 # run from this directory set -x wclean libso extrudeModel wclean +# ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C index 5e38986331d2b7a1c4edd86a30a0fe534b36bec3..7b61fabb2213ad0e6ead78cf38034c837818e686 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/foamToEnsightParts.C @@ -36,8 +36,8 @@ Usage @param -ascii \n Write Ensight data in ASCII format instead of "C Binary" - @param -zeroTime \n - Include the often incomplete initial conditions. + @param -noZero \n + Exclude the often incomplete initial conditions. @param -index \<start\>\n Ignore the time index contained in the time file and use a diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean index 80507fd289e08db8ef2f8c22208d460eb4ec1503..3fdbeae44cdc62199bcc1969d41b60a99574fac4 100755 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/Allwclean @@ -4,3 +4,5 @@ set -x rm -rf PV3FoamReader/Make wclean libso vtkPV3Foam + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C index 04518db985c1db2a5245f464b364613a456ed84b..34628ac9d1ed1a6afa49ef128625ba8b661c6bf6 100644 --- a/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C +++ b/applications/utilities/postProcessing/graphics/PV3FoamReader/vtkPV3Foam/vtkPV3Foam.C @@ -261,11 +261,15 @@ Foam::vtkPV3Foam::vtkPV3Foam // Set the case as an environment variable - some BCs might use this if (fullCasePath.name().find("processor", 0) == 0) { - setEnv("FOAM_CASE", fullCasePath.path(), true); + const fileName globalCase = fullCasePath.path(); + + setEnv("FOAM_CASE", globalCase, true); + setEnv("FOAM_CASENAME", globalCase.name(), true); } else { setEnv("FOAM_CASE", fullCasePath, true); + setEnv("FOAM_CASENAME", fullCasePath.name(), true); } // look for 'case{region}.OpenFOAM' @@ -299,6 +303,7 @@ Foam::vtkPV3Foam::vtkPV3Foam { Info<< "fullCasePath=" << fullCasePath << nl << "FOAM_CASE=" << getEnv("FOAM_CASE") << nl + << "FOAM_CASENAME=" << getEnv("FOAM_CASENAME") << nl << "region=" << meshRegion_ << endl; } diff --git a/bin/foamInstallationTest b/bin/foamInstallationTest index d669078ec5f3f71d0191c7406bafeddcf76b3f39..0175d026f7427083358df5bd9aab36b7ffd1346b 100755 --- a/bin/foamInstallationTest +++ b/bin/foamInstallationTest @@ -33,9 +33,9 @@ #------------------------------------------------------------------------------ # Base settings -FOAM_VERSION=1.5 -SUPPLIED_VERSION_GCC=4.3.1 -MIN_VERSION_GCC=4.2.0 +FOAM_VERSION=1.6 +SUPPLIED_VERSION_GCC=4.3.3 +MIN_VERSION_GCC=4.3.1 # General WIDTH=20 @@ -46,10 +46,8 @@ CRITICALERROR=0 SSHRSHOK=0 # System variables -USER_SHELL=`basename $SHELL` HOST_NAME=`uname -n` OS=`uname -s` -OS_VERSION=`uname -r` USER_NAME=$LOGNAME if [ ! -n $USER_NAME ]; then USER_NAME=$USER @@ -92,7 +90,7 @@ length () { stringLength () { -echo $1 | wc -m | tr -d " " + echo $1 | wc -m | tr -d " " } @@ -125,7 +123,7 @@ reportEnv () { SunOS) if /usr/bin/test -e $EXP_ENV ; then EXISTS=" yes " - if [ "$2" != "noPath" ]; then + if [ "$2" != noPath ]; then ON_PATH=" no " OLD_IFS=$IFS IFS=':' @@ -152,7 +150,7 @@ reportEnv () { *) if [ -e "$EXP_ENV" ] ; then EXISTS=" yes " - if [ "$2" != "noPath" ]; then + if [ "$2" != noPath ]; then ON_PATH=" no " OLD_IFS=$IFS IFS=':' @@ -182,10 +180,10 @@ reportEnv () { fi ERROR="false" - if [ "$EXISTS" = "no" ] || [ "$ON_PATH" = "no" ]; then + if [ "$EXISTS" = no ] || [ "$ON_PATH" = no ]; then ERROR="true" fi - if [ "$3" = "yes" ] && [ "$ERROR" = "true" ]; then + if [ "$3" = yes ] && [ "$ERROR" = true ]; then CRITICALERROR=`expr $CRITICALERROR + 1` echo "WARNING: CRITICAL ERROR" echo @@ -312,9 +310,9 @@ pingTest () { case $OS in SunOS) PINGTEST=`/usr/sbin/ping $1 2>&1` - if [ "`echo $PINGTEST | grep "alive"`" != "" ] ; then + if [ "`echo $PINGTEST | grep alive`" != "" ] ; then RESULT="Successful" - elif [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then + elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then RESULT="No_entry_for_\"$1\"_in_/etc/hosts" else RESULT="Networking_cannot_reach_$1" @@ -322,9 +320,9 @@ pingTest () { ;; *) PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1` - if [ "`echo $PINGTEST | grep "1 received"`" != "" ] ; then + if [ "`echo $PINGTEST | grep '1 received'`" != "" ] ; then RESULT="Successful" - elif [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then + elif [ "`echo $PINGTEST | grep 'unknown host'`" != "" ] ; then RESULT="No_entry_for_\"$1\"_in_/etc/hosts" else RESULT="Networking_cannot_reach_$1" @@ -334,7 +332,7 @@ pingTest () { echo "`fixlen "Pinging_$1" 25` `fixlen "$RESULT" 45` `fixlen "$2" 5`" - if [ "$2" = "yes" ] && [ "$RESULT" != "Successful" ]; then + if [ "$2" = yes ] && [ "$RESULT" != Successful ]; then CRITICALERROR=`expr $CRITICALERROR + 1` echo "WARNING: CRITICAL ERROR" echo @@ -351,7 +349,7 @@ EOF checkTelnetPort () { - if [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then + if [ -x "/usr/bin/telnet" ] || [ -x "/bin/telnet" ] ; then RESULT=`telnetPortTest $1 $2 2>&1 | egrep "onnect.* [t|r]"` if [ "`echo $RESULT | grep 'Connected to'`" ] ; then RESULT='Successful' @@ -361,7 +359,7 @@ checkTelnetPort () { RESULT="Not_active*" fi else - RESULT='No_telnet_running:_cannot_check*' + RESULT='No_telnet_installed:_cannot_check*' fi } @@ -369,7 +367,7 @@ checkTelnetPort () { checkRsh () { checkTelnetPort $HOST_NAME 222 echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes"" - if [ "$RESULT" != 'Successful' ]; then + if [ "$RESULT" != Successful ]; then SSHRSHOK=`expr $SSHRSHOK + 1` fi } @@ -378,14 +376,14 @@ checkRsh () { checkSsh () { checkTelnetPort $HOST_NAME 22 echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes"" - if [ "$RESULT" != 'Successful' ]; then + if [ "$RESULT" != Successful ]; then SSHRSHOK=`expr $SSHRSHOK + 1` fi } checkOpenFOAMEnvironment() { - if [ ! -d "$WM_PROJECT_INST_DIR" -o ! -d "$WM_THIRD_PARTY_DIR" ]; then + [ -d "$WM_PROJECT_INST_DIR" ] && [ -d "$WM_THIRD_PARTY_DIR" ] || { echo "" echo "FATAL ERROR: OpenFOAM environment not configured." echo "" @@ -394,22 +392,23 @@ checkOpenFOAMEnvironment() { echo " to source the OpenFOAM environment." echo "" exit 1 - fi + } } checkUserShell() { - case $USER_SHELL in - csh | tcsh) - USER_CONFIG_TYPE="cshrc" - echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}" + case $SHELL in + */csh | */tcsh) + # USER_CONFIG_TYPE="cshrc" + echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" ;; - bash | ksh) - USER_CONFIG_TYPE="bashrc" - echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}" + */bash | */ksh) + # USER_CONFIG_TYPE="bashrc" + echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" ;; - *) USER_CONFIG_TYPE="" - echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}" + *) + # USER_CONFIG_TYPE="" + echo "`fixlen "Shell:" $WIDTH` ${SHELL##*/}" echo "FATAL ERROR: Cannot identify the shell you are running." echo " OpenFOAM ${FOAM_VERSION} is compatible with " echo " csh, tcsh, ksh and bash." @@ -435,15 +434,18 @@ checkHostName() { checkOS () { - if [ "$OS" = "Linux" ] || [ "$OS" = "LinuxAMD64" ] || [ "$OS" = "SunOS" ]; then - echo "`fixlen "OS:" $WIDTH` ${OS} version ${OS_VERSION}" - else + case "$OS" in + Linux | LinuxAMD64 | SunOS ) + echo "`fixlen "OS:" $WIDTH` ${OS} version $(uname -r)" + ;; + *) echo "FATAL ERROR: Incompatible operating system \"$OS\"." echo " OpenFOAM ${FOAM_VERSION} is currently " echo " available for Linux and SunOS only." echo FATALERROR=`expr $FATALERROR + 1` - fi + ;; + esac } @@ -485,6 +487,7 @@ hline reportEnv '$WM_PROJECT_DIR' '$PATH' "yes" echo "" reportEnv '$FOAM_APPBIN' '$PATH' "yes" +reportEnv '$FOAM_SITE_APPBIN' '$PATH' "no" reportEnv '$FOAM_USER_APPBIN' '$PATH' "no" reportEnv '$WM_DIR' '$PATH' "yes" hline @@ -495,6 +498,7 @@ hline echo "$COL1 $COL2 $COL3 $COL4 $COL5" hline reportEnv '$FOAM_LIBBIN' '$LD_LIBRARY_PATH' "yes" +reportEnv '$FOAM_SITE_LIBBIN' '$LD_LIBRARY_PATH' "no" reportEnv '$FOAM_USER_LIBBIN' '$LD_LIBRARY_PATH' "no" reportEnv '$MPI_ARCH_PATH' '$LD_LIBRARY_PATH' "yes" hline @@ -509,7 +513,7 @@ echo "$COL1 $COL2 $COL3" hline reportExecutable gcc "${WM_COMPILER_DIR}/bin/gcc" reportExecutable gzip -if [ "$OS" = "Linux" ] ; then +if [ "$OS" = Linux ] ; then reportExecutable tar else reportExecutable gtar diff --git a/bin/foamSystemCheck b/bin/foamSystemCheck index 4f3d8a15dba976c3d10889e5c8893d86f3967591..63f0f51e16fd17d9f33e1733ba0fff1558167db0 100755 --- a/bin/foamSystemCheck +++ b/bin/foamSystemCheck @@ -34,7 +34,7 @@ # STATIC VARIABLES # ~~~~~~~~~~~~~~~~ -FOAM_VERSION=1.5 +FOAM_VERSION=1.6 HLINE="-----------------------------------------------------------------------" WIDTH=16 diff --git a/etc/settings.csh b/etc/settings.csh index 495c9324e97ff24347595afb0f203026883d18b7..4370744be4f380b150a35ebe10be96769f857ccb 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -45,15 +45,19 @@ setenv WM_LINK_LANGUAGE c++ setenv WM_OPTIONS $WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION # base configuration -setenv FOAM_SRC $WM_PROJECT_DIR/src -setenv FOAM_LIB $WM_PROJECT_DIR/lib -setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS setenv FOAM_APP $WM_PROJECT_DIR/applications setenv FOAM_APPBIN $WM_PROJECT_DIR/applications/bin/$WM_OPTIONS +setenv FOAM_LIB $WM_PROJECT_DIR/lib +setenv FOAM_LIBBIN $WM_PROJECT_DIR/lib/$WM_OPTIONS +setenv FOAM_SRC $WM_PROJECT_DIR/src + +# shared site configuration - similar naming convention as ~OpenFOAM expansion +setenv FOAM_SITE_APPBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS +setenv FOAM_SITE_LIBBIN $WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS # user configuration -setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS setenv FOAM_USER_APPBIN $WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS +setenv FOAM_USER_LIBBIN $WM_PROJECT_USER_DIR/lib/$WM_OPTIONS # convenience setenv FOAM_TUTORIALS $WM_PROJECT_DIR/tutorials @@ -65,8 +69,10 @@ setenv FOAM_RUN $WM_PROJECT_USER_DIR/run set path=($WM_DIR $WM_PROJECT_DIR/bin $path) _foamAddPath $FOAM_APPBIN +_foamAddPath $FOAM_SITE_APPBIN _foamAddPath $FOAM_USER_APPBIN _foamAddLib $FOAM_LIBBIN +_foamAddLib $FOAM_SITE_LIBBIN _foamAddLib $FOAM_USER_LIBBIN diff --git a/etc/settings.sh b/etc/settings.sh index 6d640d20686b4edc72be5972b3833f70855fe87c..9d39e1eb866d49359641f19be0c149556593bed4 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -61,15 +61,19 @@ export WM_LINK_LANGUAGE=c++ export WM_OPTIONS=$WM_ARCH$WM_COMPILER$WM_PRECISION_OPTION$WM_COMPILE_OPTION # base configuration -export FOAM_SRC=$WM_PROJECT_DIR/src -export FOAM_LIB=$WM_PROJECT_DIR/lib -export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS export FOAM_APP=$WM_PROJECT_DIR/applications export FOAM_APPBIN=$WM_PROJECT_DIR/applications/bin/$WM_OPTIONS +export FOAM_LIB=$WM_PROJECT_DIR/lib +export FOAM_LIBBIN=$WM_PROJECT_DIR/lib/$WM_OPTIONS +export FOAM_SRC=$WM_PROJECT_DIR/src + +# shared site configuration - similar naming convention as ~OpenFOAM expansion +export FOAM_SITE_APPBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/bin/$WM_OPTIONS +export FOAM_SITE_LIBBIN=$WM_PROJECT_INST_DIR/site/$WM_PROJECT_VERSION/lib/$WM_OPTIONS # user configuration -export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS export FOAM_USER_APPBIN=$WM_PROJECT_USER_DIR/applications/bin/$WM_OPTIONS +export FOAM_USER_LIBBIN=$WM_PROJECT_USER_DIR/lib/$WM_OPTIONS # convenience export FOAM_TUTORIALS=$WM_PROJECT_DIR/tutorials @@ -80,8 +84,8 @@ export FOAM_RUN=$WM_PROJECT_USER_DIR/run # add OpenFOAM scripts and wmake to the path export PATH=$WM_DIR:$WM_PROJECT_DIR/bin:$PATH -_foamAddPath $FOAM_APPBIN $FOAM_USER_APPBIN -_foamAddLib $FOAM_LIBBIN $FOAM_USER_LIBBIN +_foamAddPath $FOAM_APPBIN $FOAM_SITE_APPBIN $FOAM_USER_APPBIN +_foamAddLib $FOAM_LIBBIN $FOAM_SITE_LIBBIN $FOAM_USER_LIBBIN # Compiler settings diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 707d68b88f49a87f9a378c73228b2d8d9b429513..01feb13dfc0384adf99b98e8893842bd652d6df4 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -129,14 +129,18 @@ void Foam::argList::getRootCase() casePath = iter(); casePath.removeRepeated('/'); casePath.removeTrailing('/'); + + // handle degenerate form and '-case .' like no -case specified + if (casePath.empty() || casePath == ".") + { + casePath = cwd(); + options_.erase("case"); + } } else { // nothing specified, use the current dir casePath = cwd(); - - // we could add this back in as '-case'? - // options_.set("case", casePath); } rootPath_ = casePath.path(); @@ -522,8 +526,25 @@ Foam::argList::argList } jobInfo.write(); - // Set the case as an environment variable - setEnv("FOAM_CASE", rootPath_/globalCase_, true); + + // Set the case and case-name as an environment variable + if (rootPath_[0] == '/') + { + // absolute path + setEnv("FOAM_CASE", rootPath_/globalCase_, true); + } + else if (rootPath_ == ".") + { + // relative to the current working directory + setEnv("FOAM_CASE", cwd()/globalCase_, true); + } + else + { + // qualify relative path + setEnv("FOAM_CASE", cwd()/rootPath_/globalCase_, true); + } + setEnv("FOAM_CASENAME", globalCase_, true); + // Switch on signal trapping. We have to wait until after Pstream::init // since this sets up its own ones. diff --git a/src/OpenFOAM/global/argList/argList.H b/src/OpenFOAM/global/argList/argList.H index 9fdb0bb6d2224ceebdc76b53a66239849c5dd4e4..45c8de16ec338d21ed5b8f1d86f12e5f117b65f1 100644 --- a/src/OpenFOAM/global/argList/argList.H +++ b/src/OpenFOAM/global/argList/argList.H @@ -54,6 +54,8 @@ Description The environment variable @b FOAM_CASE is set to the path of the global case (same for serial and parallel jobs). + The environment variable @b FOAM_CASENAME is set to the name of the + global case. Note - Adjustment of the valid (mandatory) arguments diff --git a/src/topoChangerFvMesh/Make/files b/src/topoChangerFvMesh/Make/files index e51b8df1ee77620cc0587c17e04e210e22788001..838500fd8b295e7a691d51d294e445563d888a3f 100644 --- a/src/topoChangerFvMesh/Make/files +++ b/src/topoChangerFvMesh/Make/files @@ -5,6 +5,8 @@ linearValveFvMesh/linearValveFvMesh.C linearValveLayersFvMesh/linearValveLayersFvMesh.C */ movingConeTopoFvMesh/movingConeTopoFvMesh.C +/* mixerFvMesh/mixerFvMesh.C +*/ LIB = $(FOAM_LIBBIN)/libtopoChangerFvMesh