diff --git a/.gitignore b/.gitignore
index 1b8ce3cde3..e2c6f9b41f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,8 @@ doc/[Dd]oxygen/man
# untracked configuration files
/etc/prefs.csh
/etc/prefs.sh
+/etc/config/*.csh
+/etc/config/*.sh
# source packages - anywhere
*.tar.bz2
diff --git a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
index b28d976832..c8beecc361 100644
--- a/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
+++ b/applications/utilities/miscellaneous/expandDictionary/expandDictionary.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -28,12 +28,33 @@ Description
Read the dictionary provided as an argument, expand the macros etc. and
write the resulting dictionary to standard output.
+Usage
+ - expandDictionary inputDict [OPTION]
+
+ \param -list \n
+ Report the #include/#includeIfPresent to stdout only.
+
+Note
+ The \c -list option can be useful when determining which files
+ are actually included by a directory. It can also be used to
+ determine which files may need to be copied when transferring
+ simulation to another environment. The following code snippet
+ could be a useful basis for such cases:
+
+ \verbatim
+ for i in . 0 constant system
+ do
+ find $i -maxdepth 1 -type f -exec expandDictionary -list '{}' \;
+ done | sed -ne '/^"\//!{ s/^"//; s/"$//; p }' | sort | uniq
+ \endverbatim
+
\*---------------------------------------------------------------------------*/
#include "argList.H"
#include "IFstream.H"
#include "IOobject.H"
#include "dictionary.H"
+#include "includeEntry.H"
using namespace Foam;
@@ -48,6 +69,12 @@ int main(int argc, char *argv[])
"the resulting dictionary to standard output."
);
+ argList::addBoolOption
+ (
+ "list",
+ "Report the #include/#includeIfPresent to stdout only"
+ );
+
argList::noBanner();
argList::noParallel();
argList::validArgs.append("inputDict");
@@ -55,12 +82,22 @@ int main(int argc, char *argv[])
const string dictName = args[1];
- IOobject::writeBanner(Info)
- <<"//\n// " << dictName << "\n//\n";
+ const bool listOpt = args.optionFound("list");
- dictionary(IFstream(dictName)(), true).write(Info, false);
+ if (listOpt)
+ {
+ Foam::functionEntries::includeEntry::report = true;
+ }
- IOobject::writeDivider(Info);
+ dictionary dict(IFstream(dictName)(), true);
+
+ if (!listOpt)
+ {
+ IOobject::writeBanner(Info)
+ <<"//\n// " << dictName << "\n//\n";
+ dict.write(Info, false);
+ IOobject::writeDivider(Info);
+ }
return 0;
}
diff --git a/applications/utilities/surface/surfaceMeshInfo/Make/files b/applications/utilities/surface/surfaceMeshInfo/Make/files
new file mode 100644
index 0000000000..a008b33fd2
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshInfo/Make/files
@@ -0,0 +1,3 @@
+surfaceMeshInfo.C
+
+EXE = $(FOAM_APPBIN)/surfaceMeshInfo
diff --git a/applications/utilities/surface/surfaceMeshInfo/Make/options b/applications/utilities/surface/surfaceMeshInfo/Make/options
new file mode 100644
index 0000000000..42b30c8652
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshInfo/Make/options
@@ -0,0 +1,5 @@
+EXE_INC = \
+ -I$(LIB_SRC)/meshTools/lnInclude \
+ -I$(LIB_SRC)/surfMesh/lnInclude
+
+EXE_LIBS = -lmeshTools -lsurfMesh
diff --git a/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C b/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C
new file mode 100644
index 0000000000..0e08e333fd
--- /dev/null
+++ b/applications/utilities/surface/surfaceMeshInfo/surfaceMeshInfo.C
@@ -0,0 +1,177 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+License
+ This file is part of OpenFOAM.
+
+ OpenFOAM is free software: you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with OpenFOAM. If not, see .
+
+Application
+ surfaceMeshInfo
+
+Description
+ Miscellaneous information about surface meshes
+
+Usage
+ - surfaceMeshInfo surfaceFile [OPTION]
+
+ \param -areas \n
+ Report area for each face.
+
+ \param -scale \ \n
+ Specify a scaling factor when reading files.
+
+ \param -xml \n
+ Write output in XML format.
+
+Note
+ The filename extensions are used to determine the file format type.
+
+ The XML-like output can be useful for extraction with other tools,
+ but either output format can be easily extracted with a simple sed
+ command:
+ \verbatim
+ surfaceMeshInfo surfaceFile -areas | \
+ sed -ne '/areas/,/:/{ /:/!p }'
+
+ surfaceMeshInfo surfaceFile -areas -xml | \
+ sed -ne '/::canRead(importName, true))
+ {
+ return 1;
+ }
+
+ const bool writeXML = args.optionFound("xml");
+ const bool writeAreas = args.optionFound("areas");
+
+
+ // use UnsortedMeshedSurface, not MeshedSurface to maintain ordering
+ UnsortedMeshedSurface surf(importName);
+
+ scalar scaling = 0;
+ if (args.optionReadIfPresent("scale", scaling) && scaling > 0)
+ {
+ Info<< " -scale " << scaling << endl;
+ surf.scalePoints(scaling);
+ }
+
+ scalar areaTotal = 0;
+
+ if (writeXML)
+ {
+ Info<<"" << nl
+ <<"" << nl
+ << "" << surf.nPoints() << "" << nl
+ << "" << surf.size() << "" << nl;
+
+ if (writeAreas)
+ {
+ Info<<"" << nl;
+ }
+ }
+ else
+ {
+ Info<< "nPoints : " << surf.nPoints() << nl
+ << "nFaces : " << surf.size() << nl;
+
+ if (writeAreas)
+ {
+ Info<< "areas : " << nl;
+ }
+ }
+
+ forAll(surf, faceI)
+ {
+ const scalar fArea(surf[faceI].mag(surf.points()));
+ areaTotal += fArea;
+
+ if (writeAreas)
+ {
+ Info<< fArea << nl;
+ }
+ }
+
+ if (writeXML)
+ {
+ if (writeAreas)
+ {
+ Info<<"" << nl;
+ }
+
+ Info<< "" << areaTotal << "" << nl
+ << "" << nl;
+ }
+ else
+ {
+ Info<< "area : " << areaTotal << nl;
+ }
+
+ return 0;
+}
+
+// ************************************************************************* //
diff --git a/bin/foamEtcFile b/bin/foamEtcFile
index a6859b6ae5..8a1f5d97e6 100755
--- a/bin/foamEtcFile
+++ b/bin/foamEtcFile
@@ -38,9 +38,13 @@
# && _foamSource $foamPrefs
# \endcode
#
+# Note
+# This script must exist in /OpenFOAM-/bin/
+# or /openfoam/bin/ (for the debian version)
+#
#-------------------------------------------------------------------------------
usage() {
- [ "$quietOpt" = true ] && exit 1
+ [ "${quietOpt:-$silentOpt}" = true ] && exit 1
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
@@ -53,6 +57,7 @@ options:
-mode any combination of u(user), g(group), o(other)
-prefix specify an alternative installation prefix
-quiet suppress all normal output
+ -silent suppress all stderr output
-version specify an alternative OpenFOAM version
in the form Maj.Min.Rev (eg, 1.7.0)
-help print the usage
@@ -72,13 +77,9 @@ USAGE
exit 1
}
-#
-# This script must exist in /OpenFOAM-/bin/
-# or /openfoam/bin/ (for the debian version)
-#
#-------------------------------------------------------------------------------
-# the bindir:
+# the bin dir:
binDir="${0%/*}"
# the project dir:
@@ -128,7 +129,7 @@ esac
# default mode is 'ugo'
mode=ugo
-unset listOpt quietOpt
+unset listOpt quietOpt silentOpt
# parse options
while [ "$#" -gt 0 ]
@@ -162,6 +163,9 @@ do
-q | -quiet)
quietOpt=true
;;
+ -s | -silent)
+ silentOpt=true
+ ;;
-v | -version)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
version="$2"
@@ -241,7 +245,7 @@ then
# list directories, or potential file locations
[ "$nArgs" -le 1 ] || usage
- # a silly combination, but -quiet has precedence
+ # a silly combination, but -quiet does have precedence
[ "$quietOpt" = true ] && exit 0
for dir
diff --git a/bin/foamExec b/bin/foamExec
index 26ad311349..fba65934cc 100755
--- a/bin/foamExec
+++ b/bin/foamExec
@@ -31,12 +31,21 @@
# Runs the version of executable
# with the rest of the arguments.
#
-# Can also be used for parallel runs e.g.
-# mpirun -np \
-# foamExec -v ... -parallel
+# Can also be used for parallel runs. For example,
+# \code
+# mpirun -np \
+# foamExec -version ... -parallel
+# \endcode
+#
+# Note
+# This script must exist in /OpenFOAM-/bin/
+# or /openfoam/bin/ (for the debian version)
+#
+# foamEtcFile must be found in the same directory as this script
#
# SeeAlso
# foamEtcFile
+#
#------------------------------------------------------------------------------
usage() {
exec 1>&2
@@ -46,9 +55,11 @@ usage() {
Usage: ${0##*/} [OPTION] ...
options:
+ -prefix specify an alternative installation prefix
+ pass through to foamEtcFile and set as FOAM_INST_DIR
-version specify an alternative OpenFOAM version
pass through to foamEtcFile
- -help this usage
+ -help print the usage
* run a particular OpenFOAM version of
@@ -56,13 +67,21 @@ USAGE
exit 1
}
-#
-# This script must exist in /OpenFOAM-/bin/
-# or /openfoam/bin/ (for the debian version)
-#
-# foamEtcFile must be found in the same directory as this script
#-------------------------------------------------------------------------------
+# the bin dir:
+binDir="${0%/*}"
+
+# the project dir:
+projectDir="${binDir%/bin}"
+
+# the prefix dir (same as foamInstall):
+prefixDir="${projectDir%/*}"
+
+# # the name used for the project directory
+# projectDirName="${projectDir##*/}"
+
+
unset etcOpts version
# parse options
while [ "$#" -gt 0 ]
@@ -71,15 +90,21 @@ do
-h | -help)
usage
;;
- -v | -version)
+ -m | -mode)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
- version="$2"
etcOpts="$etcOpts $1 $2" # pass-thru to foamEtcFile
shift
;;
- -m | -mode | -p | -prefix)
+ -p | -prefix)
[ "$#" -ge 2 ] || usage "'$1' option requires an argument"
etcOpts="$etcOpts $1 $2" # pass-thru to foamEtcFile
+ prefixDir="$2"
+ shift
+ ;;
+ -v | -version)
+ [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
+ etcOpts="$etcOpts $1 $2" # pass-thru to foamEtcFile
+ version="$2"
shift
;;
--)
@@ -96,22 +121,21 @@ do
shift
done
-
#
# Find and source OpenFOAM settings (bashrc)
# placed in function to preserve command-line arguments
#
sourceRc()
{
- # default is the current version
- : ${version:=${WM_PROJECT_VERSION:-unknown}}
-
- foamDotFile="$(${0%/*}/foamEtcFile $etcOpts bashrc)" || {
- echo "Error : bashrc file could not be found for OpenFOAM-$version" 1>&2
+ foamDotFile="$($binDir/foamEtcFile $etcOpts bashrc)" || {
+ echo "Error : bashrc file could not be found for OpenFOAM-${version:-${WM_PROJECT_VERSION:-???}}" 1>&2
exit 1
}
- . $foamDotFile
+ # set to consistent value before sourcing the bashrc
+ export FOAM_INST_DIR="$prefixDir"
+
+ . $foamDotFile $FOAM_SETTINGS
}
diff --git a/bin/foamJob b/bin/foamJob
index 4380b3e147..70e2c39f28 100755
--- a/bin/foamJob
+++ b/bin/foamJob
@@ -26,6 +26,8 @@
# foamJob
#
# Description
+# Run an OpenFOAM job in background.
+# Redirects the output to 'log' in the case directory.
#
#------------------------------------------------------------------------------
usage() {
@@ -36,9 +38,9 @@ usage() {
Usage: ${0##*/} [OPTION] ...
options:
-case specify alternative case directory, default is the cwd
- -p parallel run of processors
- -s also sends output to screen
- -v specify OpenFOAM version
+ -parallel parallel run of processors
+ -screen also sends output to screen
+ -version specify an alternative OpenFOAM version
-help print the usage
* run an OpenFOAM job in background.
@@ -95,23 +97,22 @@ do
usage
;;
-case)
- [ "$#" -ge 2 ] || usage "'-case' option requires an argument"
- caseDir=$2
+ [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
+ cd "$2" 2>/dev/null || usage "directory does not exist: '$2'"
shift 2
- cd "$caseDir" 2>/dev/null || usage "directory does not exist: '$caseDir'"
;;
- -p)
+ -p | -parallel)
parallelOpt=true
shift
;;
- -s)
+ -s | -screen)
screenOpt=true
shift
;;
- -v)
- shift
- version=$1
- shift
+ -v | -version)
+ [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
+ version="$2"
+ shift 2
;;
--)
shift
@@ -126,29 +127,32 @@ do
esac
done
-if [ "$#" -lt 1 ]
-then
- usage "No application specified"
-fi
+[ "$#" -ge 1 ] || usage "No application specified"
-# use foamExec for a specified version and for remote (parallel) runs
+
+# use foamExec for a specified version
+# also need foamExec for remote (parallel) runs
if [ -n "$version" -o "$parallelOpt" = true ]
then
- APPLICATION=`findExec foamExec`
- if [ $? -ne 0 ]
+ # when possible, determine if application even exists
+ if [ -z "$version" ]
then
- usage "'foamExec' not found"
+ findExec $1 >/dev/null || usage "Application '$1' not found"
fi
- if [ -n "$version" ]
+
+ # use foamExec for dispatching
+ APPLICATION=`findExec foamExec` || usage "'foamExec' not found"
+
+ [ -n "$version" ] && APPLICATION="$APPLICATION -version $version"
+
+ # attempt to preserve the installation directory 'FOAM_INST_DIR'
+ if [ -d "$FOAM_INST_DIR" ]
then
- APPLICATION="$APPLICATION -v $version"
+ APPLICATION="$APPLICATION -prefix $FOAM_INST_DIR"
fi
+
else
- APPLICATION=`findExec $1`
- if [ $? -ne 0 ]
- then
- usage "Application '$1' executable not found"
- fi
+ APPLICATION=`findExec $1` || usage "Application '$1' not found"
echo "Application : $1"
shift
fi
@@ -182,11 +186,7 @@ then
#
# locate mpirun
#
- mpirun=`findExec mpirun`
- if [ $? -ne 0 ]
- then
- usage "'mpirun' not found"
- fi
+ mpirun=`findExec mpirun` || usage "'mpirun' not found"
mpiopts="-np $NPROCS"
#
@@ -217,10 +217,10 @@ then
#
if [ "$screenOpt" = true ]
then
- echo "Executing: mpirun $mpiopts $APPLICATION $@ -parallel | tee log"
- $mpirun $mpiopts $APPLICATION $@ -parallel | tee log
+ echo "Executing: $mpirun $mpiopts $APPLICATION $@ -parallel | tee log"
+ $mpirun $mpiopts $APPLICATION $@ -parallel | tee log
else
- echo "Executing: mpirun $mpiopts $APPLICATION $@ -parallel > log 2>&1"
+ echo "Executing: $mpirun $mpiopts $APPLICATION $@ -parallel > log 2>&1"
$mpirun $mpiopts $APPLICATION $@ -parallel > log 2>&1 &
fi
diff --git a/doc/changes/inotify.txt b/doc/changes/inotify.txt
index 0f91d7c03b..74e2fc7bb4 100644
--- a/doc/changes/inotify.txt
+++ b/doc/changes/inotify.txt
@@ -55,15 +55,25 @@ timestamps as before or the (linux-specific) 'inotify' system framework
- the slave processor directories have no system directory and the
constant directory only contains the mesh.
- start the job in distributed mode by specifying the slave roots
- (so one less than the number of processors) with
- the -roots command line option:
+ (so one fewer than the number of processors) with
+ the -roots command-line option:
- mpirun -np 2 icoFoam -roots '("/tmp")' -parallel
+ mpirun -np 4 icoFoam -roots '("/tmp" "/tmp" "/tmp")' -parallel
- the alternative to the -roots option is to have a
cavity/system/decomposeParDict on the master with
distributed yes;
- roots ("/tmp");
+ roots ("/tmp" "/tmp" "/tmp");
+
+ - as a convenience for cases when the slave roots are identical,
+ a single root entry is interpreted as being the same for all slaves.
+ With the -roots command-line option, this can take one of two forms:
+
+ mpirun -np 4 icoFoam -roots '("/tmp")' -parallel
+
+ or simply
+
+ mpirun -np 4 icoFoam -roots '"/tmp"' -parallel
Details:
diff --git a/etc/apps/paraview3/bashrc b/etc/apps/paraview3/bashrc
index e0e6122946..1dd5386829 100644
--- a/etc/apps/paraview3/bashrc
+++ b/etc/apps/paraview3/bashrc
@@ -56,16 +56,22 @@ export ParaView_MAJOR=detect
# Evaluate command-line parameters for ParaView
-while [ $# -gt 0 ]
-do
- case "$1" in
- ParaView*=*)
- # name=value -> export name=value
- eval "export $1"
- ;;
- esac
- shift
-done
+_foamParaviewEval()
+{
+ while [ $# -gt 0 ]
+ do
+ case "$1" in
+ ParaView*=*)
+ # name=value -> export name=value
+ eval "export $1"
+ ;;
+ esac
+ shift
+ done
+}
+
+# Evaluate command-line parameters
+_foamParaviewEval $@
# set MAJOR version to correspond to VERSION
@@ -108,6 +114,7 @@ else
fi
+unset _foamParaviewEval
unset cleaned cmake paraviewInstDir paraviewPython
# -----------------------------------------------------------------------------
diff --git a/etc/bashrc b/etc/bashrc
index 2de27d0513..d2539c5b50 100644
--- a/etc/bashrc
+++ b/etc/bashrc
@@ -144,6 +144,10 @@ _foamEval()
while [ $# -gt 0 ]
do
case "$1" in
+ -*)
+ # stray option (not meant for us here) -> get out
+ break
+ ;;
*=)
# name= -> unset name
[ "$FOAM_VERBOSE" -a "$PS1" ] && echo "unset ${1%=}"
@@ -160,7 +164,7 @@ _foamEval()
then
_foamSource "$1"
else
- _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile "$1"`
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -silent "$1"`
fi
;;
esac
diff --git a/etc/config/compiler.csh-EXAMPLE b/etc/config/compiler.csh-EXAMPLE
new file mode 100644
index 0000000000..6d54edbd47
--- /dev/null
+++ b/etc/config/compiler.csh-EXAMPLE
@@ -0,0 +1,51 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM.
+#
+# OpenFOAM is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenFOAM. If not, see .
+#
+# File
+# config/compiler.csh
+#
+# Description
+# Fine tuning of ThirdParty compiler settings for OpenFOAM
+# Sourced from OpenFOAM-/etc/settings.csh
+#
+#------------------------------------------------------------------------------
+
+# Modified compiler settings
+switch ("$WM_COMPILER")
+case Gcc46:
+case Gcc46++0x:
+ set gcc_version=gcc-4.6.0
+ set gmp_version=gmp-5.0.1
+ set mpfr_version=mpfr-2.4.2
+ set mpc_version=mpc-0.8.1
+ breaksw
+case Gcc45:
+case Gcc45++0x:
+ set gcc_version=gcc-4.5.2
+ set gmp_version=gmp-5.0.1
+ set mpfr_version=mpfr-2.4.2
+ set mpc_version=mpc-0.8.1
+ breaksw
+endsw
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/etc/config/compiler.sh-EXAMPLE b/etc/config/compiler.sh-EXAMPLE
new file mode 100644
index 0000000000..bc6aada36e
--- /dev/null
+++ b/etc/config/compiler.sh-EXAMPLE
@@ -0,0 +1,49 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM.
+#
+# OpenFOAM is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenFOAM. If not, see .
+#
+# File
+# config/compiler.sh
+#
+# Description
+# Fine tuning of ThirdParty compiler settings for OpenFOAM
+# Sourced from OpenFOAM-/etc/settings.sh
+#
+#------------------------------------------------------------------------------
+
+# Modified compiler settings
+case "$WM_COMPILER" in
+Gcc46 | Gcc46++0x)
+ gcc_version=gcc-4.6.0
+ gmp_version=gmp-5.0.1
+ mpfr_version=mpfr-2.4.2
+ mpc_version=mpc-0.8.1
+ ;;
+Gcc45 | Gcc45++0x)
+ gcc_version=gcc-4.5.2
+ gmp_version=gmp-5.0.1
+ mpfr_version=mpfr-2.4.2
+ mpc_version=mpc-0.8.1
+ ;;
+esac
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/etc/config/openmpi.csh-EXAMPLE b/etc/config/openmpi.csh-EXAMPLE
new file mode 100644
index 0000000000..94be702e9d
--- /dev/null
+++ b/etc/config/openmpi.csh-EXAMPLE
@@ -0,0 +1,36 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM.
+#
+# OpenFOAM is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenFOAM. If not, see .
+#
+# File
+# config/openmpi.csh
+#
+# Description
+# Fine tuning of openmpi settings for OpenFOAM
+# Sourced from OpenFOAM-/etc/settings.csh
+#
+#------------------------------------------------------------------------------
+
+# Modified openmpi settings
+setenv FOAM_MPI openmpi-1.4.3
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/etc/config/openmpi.sh-EXAMPLE b/etc/config/openmpi.sh-EXAMPLE
new file mode 100644
index 0000000000..b7c5035b04
--- /dev/null
+++ b/etc/config/openmpi.sh-EXAMPLE
@@ -0,0 +1,36 @@
+#----------------------------------*-sh-*--------------------------------------
+# ========= |
+# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+# \\ / O peration |
+# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
+# \\/ M anipulation |
+#------------------------------------------------------------------------------
+# License
+# This file is part of OpenFOAM.
+#
+# OpenFOAM is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with OpenFOAM. If not, see .
+#
+# File
+# config/openmpi.sh
+#
+# Description
+# Fine tuning of openmpi settings for OpenFOAM
+# Sourced from OpenFOAM-/etc/settings.sh
+#
+#------------------------------------------------------------------------------
+
+# Modified openmpi settings
+export FOAM_MPI=openmpi-1.4.3
+
+# ----------------------------------------------------------------- end-of-file
diff --git a/etc/cshrc b/etc/cshrc
index a23a607fff..c2c1b12a9b 100644
--- a/etc/cshrc
+++ b/etc/cshrc
@@ -142,6 +142,10 @@ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile prefs.csh`
setenv FOAM_SETTINGS "${*}"
while ( $#argv > 0 )
switch ($argv[1])
+ case -*:
+ # stray option (not meant for us here) -> get out
+ break
+ breaksw
case *=:
# name= -> unsetenv name
if ($?FOAM_VERBOSE && $?prompt) echo "unsetenv $argv[1]:s/=//"
@@ -157,7 +161,7 @@ while ( $#argv > 0 )
if ( -f "$1" ) then
_foamSource "$1"
else
- _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile "$1"`
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile -silent "$1"`
endif
breaksw
endsw
diff --git a/etc/settings.csh b/etc/settings.csh
index 5b4c41df82..b3daf1e288 100644
--- a/etc/settings.csh
+++ b/etc/settings.csh
@@ -248,6 +248,9 @@ case ThirdParty:
breaksw
endsw
+ # optional configuration tweaks:
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/compiler.csh`
+
if ( $?gcc_version ) then
set gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version
set gmpDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gmp_version
@@ -367,8 +370,10 @@ unsetenv MPI_ARCH_PATH MPI_HOME FOAM_MPI_LIBBIN
switch ("$WM_MPLIB")
case OPENMPI:
- #setenv FOAM_MPI openmpi-1.4.3
setenv FOAM_MPI openmpi-1.5.3
+ # optional configuration tweaks:
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.csh`
+
setenv MPI_ARCH_PATH $WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI
# Tell OpenMPI where to find its install directory
diff --git a/etc/settings.sh b/etc/settings.sh
index 84c6fd0bc1..954868dad1 100644
--- a/etc/settings.sh
+++ b/etc/settings.sh
@@ -265,6 +265,9 @@ OpenFOAM | ThirdParty)
;;
esac
+ # optional configuration tweaks:
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/compiler.sh`
+
if [ -n "$gcc_version" ]
then
gccDir=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER_ARCH/$gcc_version
@@ -387,8 +390,10 @@ unset MPI_ARCH_PATH MPI_HOME FOAM_MPI_LIBBIN
case "$WM_MPLIB" in
OPENMPI)
- #export FOAM_MPI=openmpi-1.4.3
export FOAM_MPI=openmpi-1.5.3
+ # optional configuration tweaks:
+ _foamSource `$WM_PROJECT_DIR/bin/foamEtcFile config/openmpi.sh`
+
export MPI_ARCH_PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/$FOAM_MPI
# Tell OpenMPI where to find its install directory
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C
index ee20e33191..c45ef4f291 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -39,6 +39,9 @@ const Foam::word Foam::functionEntries::includeEntry::typeName
// might include includeEntry
int Foam::functionEntries::includeEntry::debug(0);
+bool Foam::functionEntries::includeEntry::report(false);
+
+
namespace Foam
{
namespace functionEntries
@@ -89,10 +92,15 @@ bool Foam::functionEntries::includeEntry::execute
Istream& is
)
{
- IFstream ifs(includeFileName(is));
+ const fileName fName(includeFileName(is));
+ IFstream ifs(fName);
if (ifs)
{
+ if (Foam::functionEntries::includeEntry::report)
+ {
+ Info<< fName << endl;
+ }
parentDict.read(ifs);
return true;
}
@@ -119,10 +127,15 @@ bool Foam::functionEntries::includeEntry::execute
Istream& is
)
{
- IFstream ifs(includeFileName(is));
+ const fileName fName(includeFileName(is));
+ IFstream ifs(fName);
if (ifs)
{
+ if (Foam::functionEntries::includeEntry::report)
+ {
+ Info<< fName << endl;
+ }
entry.read(parentDict, ifs);
return true;
}
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.H b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.H
index 5145b742ae..be99bf588a 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.H
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeEntry/includeEntry.H
@@ -82,6 +82,12 @@ protected:
public:
+ // Static data members
+
+ //- Report which file is included to stdout
+ static bool report;
+
+
//- Runtime type information
ClassName("include");
diff --git a/src/OpenFOAM/db/dictionary/functionEntries/includeIfPresentEntry/includeIfPresentEntry.C b/src/OpenFOAM/db/dictionary/functionEntries/includeIfPresentEntry/includeIfPresentEntry.C
index 86f1618163..8e1bc9b7f1 100644
--- a/src/OpenFOAM/db/dictionary/functionEntries/includeIfPresentEntry/includeIfPresentEntry.C
+++ b/src/OpenFOAM/db/dictionary/functionEntries/includeIfPresentEntry/includeIfPresentEntry.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -69,10 +69,15 @@ bool Foam::functionEntries::includeIfPresentEntry::execute
Istream& is
)
{
- IFstream ifs(includeFileName(is));
+ const fileName fName(includeFileName(is));
+ IFstream ifs(fName);
if (ifs)
{
+ if (Foam::functionEntries::includeEntry::report)
+ {
+ Info<< fName << endl;
+ }
parentDict.read(ifs);
}
@@ -87,10 +92,15 @@ bool Foam::functionEntries::includeIfPresentEntry::execute
Istream& is
)
{
- IFstream ifs(includeFileName(is));
+ const fileName fName(includeFileName(is));
+ IFstream ifs(fName);
if (ifs)
{
+ if (Foam::functionEntries::includeEntry::report)
+ {
+ Info<< fName << endl;
+ }
entry.read(parentDict, ifs);
}
diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C
index f055011bce..a020f3e5bd 100644
--- a/src/OpenFOAM/global/argList/argList.C
+++ b/src/OpenFOAM/global/argList/argList.C
@@ -548,10 +548,14 @@ Foam::argList::argList
if (options_.found("roots"))
{
- source = "'-roots' option";
- IStringStream str(options_["roots"]);
- str >> roots;
- dictNProcs = roots.size()+1;
+ source = "-roots";
+ IStringStream is(options_["roots"]);
+ roots = readList(is);
+
+ if (roots.size() != 1)
+ {
+ dictNProcs = roots.size()+1;
+ }
}
else
{
@@ -579,6 +583,21 @@ Foam::argList::argList
}
}
+ // convenience:
+ // when a single root is specified, use it for all processes
+ if (roots.size() == 1)
+ {
+ const fileName rootName(roots[0]);
+ roots.setSize(Pstream::nProcs()-1, rootName);
+
+ // adjust dictNProcs for command-line '-roots' option
+ if (dictNProcs < 0)
+ {
+ dictNProcs = roots.size()+1;
+ }
+ }
+
+
// Check number of processors.
// nProcs => number of actual procs
// dictNProcs => number of procs specified in decompositionDict
@@ -602,11 +621,6 @@ Foam::argList::argList
// distributed data
if (roots.size())
{
- forAll(roots, i)
- {
- roots[i].expand();
- }
-
if (roots.size() != Pstream::nProcs()-1)
{
FatalError
@@ -617,6 +631,11 @@ Foam::argList::argList
<< exit(FatalError);
}
+ forAll(roots, i)
+ {
+ roots[i].expand();
+ }
+
// Distribute the master's argument list (with new root)
bool hadCaseOpt = options_.found("case");
for
@@ -626,11 +645,7 @@ Foam::argList::argList
slave++
)
{
- options_.set
- (
- "case",
- fileName(roots[slave-1])/globalCase_
- );
+ options_.set("case", roots[slave-1]/globalCase_);
OPstream toSlave(Pstream::scheduled, slave);
toSlave << args_ << options_;
diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.C b/src/OpenFOAM/meshes/meshShapes/face/face.C
index 7dbd202335..4060404af7 100644
--- a/src/OpenFOAM/meshes/meshShapes/face/face.C
+++ b/src/OpenFOAM/meshes/meshShapes/face/face.C
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -491,51 +491,52 @@ void Foam::face::flip()
}
-Foam::point Foam::face::centre(const pointField& meshPoints) const
+Foam::point Foam::face::centre(const pointField& points) const
{
// Calculate the centre by breaking the face into triangles and
// area-weighted averaging their centres
+ const label nPoints = size();
+
// If the face is a triangle, do a direct calculation
- if (size() == 3)
+ if (nPoints)
{
return
(1.0/3.0)
*(
- meshPoints[operator[](0)]
- + meshPoints[operator[](1)]
- + meshPoints[operator[](2)]
+ points[operator[](0)]
+ + points[operator[](1)]
+ + points[operator[](2)]
);
}
- label nPoints = size();
point centrePoint = point::zero;
- for (register label pI=0; pI VSMALL)
{
- return sumAc/(3*sumA);
+ return sumAc/(3.0*sumA);
}
else
{
@@ -556,6 +557,8 @@ Foam::point Foam::face::centre(const pointField& meshPoints) const
Foam::vector Foam::face::normal(const pointField& p) const
{
+ const label nPoints = size();
+
// Calculate the normal by summing the face triangle normals.
// Changed to deal with small concavity by using a central decomposition
//
@@ -563,7 +566,7 @@ Foam::vector Foam::face::normal(const pointField& p) const
// If the face is a triangle, do a direct calculation to avoid round-off
// error-related problems
//
- if (size() == 3)
+ if (nPoints == 3)
{
return triPointRef
(
@@ -573,12 +576,10 @@ Foam::vector Foam::face::normal(const pointField& p) const
).normal();
}
- label nPoints = size();
-
register label pI;
point centrePoint = vector::zero;
- for (pI = 0; pI < nPoints; pI++)
+ for (pI = 0; pI < nPoints; ++pI)
{
centrePoint += p[operator[](pI)];
}
@@ -588,7 +589,7 @@ Foam::vector Foam::face::normal(const pointField& p) const
point nextPoint = centrePoint;
- for (pI = 0; pI < nPoints; pI++)
+ for (pI = 0; pI < nPoints; ++pI)
{
if (pI < nPoints - 1)
{
diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.H b/src/OpenFOAM/meshes/meshShapes/face/face.H
index 34a66b8524..723d9bbfb7 100644
--- a/src/OpenFOAM/meshes/meshShapes/face/face.H
+++ b/src/OpenFOAM/meshes/meshShapes/face/face.H
@@ -178,7 +178,7 @@ public:
void flip();
//- Return the points corresponding to this face
- inline pointField points(const pointField& meshPoints) const;
+ inline pointField points(const pointField&) const;
//- Centre point of face
point centre(const pointField&) const;
@@ -187,7 +187,7 @@ public:
template
Type average(const pointField&, const Field&) const;
- //- Scalar magnitude
+ //- Magnitude of face area
inline scalar mag(const pointField&) const;
//- Vector normal; magnitude is equal to area of face
@@ -228,8 +228,8 @@ public:
//- Return potential intersection with face with a ray starting
// at p, direction n (does not need to be normalized)
- // Does face-center decomposition and returns triangle intersection
- // point closest to p. Face-center is calculated from point average.
+ // Does face-centre decomposition and returns triangle intersection
+ // point closest to p. Face-centre is calculated from point average.
// For a hit, the distance is signed. Positive number
// represents the point in front of triangle
// In case of miss the point is the nearest point on the face
@@ -242,20 +242,20 @@ public:
(
const point& p,
const vector& n,
- const pointField& meshPoints,
+ const pointField&,
const intersection::algorithm alg = intersection::FULL_RAY,
const intersection::direction dir = intersection::VECTOR
) const;
//- Fast intersection with a ray.
- // Does face-center decomposition and returns triangle intersection
+ // Does face-centre decomposition and returns triangle intersection
// point closest to p. See triangle::intersection for details.
pointHit intersection
(
const point& p,
const vector& q,
const point& ctr,
- const pointField& meshPoints,
+ const pointField&,
const intersection::algorithm alg,
const scalar tol = 0.0
) const;
@@ -264,7 +264,7 @@ public:
pointHit nearestPoint
(
const point& p,
- const pointField& meshPoints
+ const pointField&
) const;
//- Return nearest point to face and classify it:
@@ -276,7 +276,7 @@ public:
pointHit nearestPointClassify
(
const point& p,
- const pointField& meshPoints,
+ const pointField&,
label& nearType,
label& nearLabel
) const;
@@ -286,13 +286,13 @@ public:
(
const point& p,
const vector& n,
- const pointField& meshPoints
+ const pointField&
) const;
//- Return area in contact, given the displacement in vertices
scalar areaInContact
(
- const pointField& points,
+ const pointField&,
const scalarField& v
) const;
diff --git a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H
index 03e992575f..933cb52239 100644
--- a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H
+++ b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H
@@ -103,7 +103,7 @@ public:
inline void flip();
//- Return the points corresponding to this face
- inline pointField points(const pointField& meshPoints) const;
+ inline pointField points(const pointField&) const;
//- Return triangle as a face
inline face triFaceFace() const;
@@ -118,10 +118,10 @@ public:
template
Type average(const pointField&, const Field&) const;
- //- Return scalar magnitude
+ //- Magnitude of face area
inline scalar mag(const pointField&) const;
- //- Return vector normal
+ //- Vector normal; magnitude is equal to area of face
inline vector normal(const pointField&) const;
//- Number of triangles after splitting
diff --git a/src/OpenFOAM/meshes/meshShapes/triFace/triFaceI.H b/src/OpenFOAM/meshes/meshShapes/triFace/triFaceI.H
index e12f175675..af62aa1aa3 100644
--- a/src/OpenFOAM/meshes/meshShapes/triFace/triFaceI.H
+++ b/src/OpenFOAM/meshes/meshShapes/triFace/triFaceI.H
@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
- \\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
+ \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@@ -176,6 +176,7 @@ inline Foam::scalar Foam::triFace::mag(const pointField& points) const
return ::Foam::mag(normal(points));
}
+
// could also delegate to triPointRef(...).normal()
inline Foam::vector Foam::triFace::normal(const pointField& points) const
{
diff --git a/src/Pstream/Allwmake b/src/Pstream/Allwmake
index 613263d7bc..50ccb5fe1d 100755
--- a/src/Pstream/Allwmake
+++ b/src/Pstream/Allwmake
@@ -1,8 +1,31 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
makeType=${1:-libso}
-set -x
+
+#
+# define how to create an mpi-versioned library of $makeType
+# compile into qualified directory
+# use sentinel file to handle version changes
+#
+wmakeMpiLib()
+{
+ set +x
+ for libName
+ do
+ (
+ WM_OPTIONS="$WM_OPTIONS$WM_MPLIB"
+ whichmpi="$libName/Make/$WM_OPTIONS/using:$FOAM_MPI"
+ [ -e "$whichmpi" ] || wclean $libName
+ echo "wmake $makeType $libName"
+ wmake $makeType $libName
+ touch "$whichmpi"
+ )
+ done
+ set -x
+}
+
+set -x
wmake $makeType dummy
case "$WM_MPLIB" in
@@ -11,9 +34,7 @@ case "$WM_MPLIB" in
echo
echo "Note: ignore spurious warnings about missing mpicxx.h headers"
echo
- set -x
- # force compilation into qualified directory
- WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB wmake $makeType mpi
+ wmakeMpiLib mpi
;;
#GAMMA)
diff --git a/src/parallel/decompose/Allwmake b/src/parallel/decompose/Allwmake
index 38898b1ea3..cded295a7e 100755
--- a/src/parallel/decompose/Allwmake
+++ b/src/parallel/decompose/Allwmake
@@ -3,8 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory
makeType=${1:-libso}
# get SCOTCH_VERSION, SCOTCH_ARCH_PATH
-settings=`$WM_PROJECT_DIR/bin/foamEtcFile apps/scotch/bashrc`
-if [ -f "$settings" ]
+if settings=`$WM_PROJECT_DIR/bin/foamEtcFile apps/scotch/bashrc`
then
. $settings
echo "using SCOTCH_ARCH_PATH=$SCOTCH_ARCH_PATH"
@@ -13,21 +12,45 @@ else
echo "Error: no apps/scotch/bashrc settings"
echo
fi
+
+
+#
+# define how to create an mpi-versioned library of $makeType
+# compile into qualified directory
+# use sentinel file to handle version changes
+#
+wmakeMpiLib()
+{
+ set +x
+ for libName
+ do
+ (
+ WM_OPTIONS="$WM_OPTIONS$WM_MPLIB"
+ whichmpi="$libName/Make/$WM_OPTIONS/using:$FOAM_MPI"
+ whichscotch="$libName/Make/$WM_OPTIONS/using:$SCOTCH_VERSION"
+ [ -e "$whichmpi" -a -e "$whichscotch" ] || wclean $libName
+ echo "wmake $makeType $libName"
+ wmake $makeType $libName
+ touch "$whichmpi" "$whichscotch"
+ )
+ done
+ set -x
+}
+
set -x
wmakeLnInclude decompositionMethods
-wmake $makeType scotchDecomp
-
-if [ -d "$FOAM_LIBBIN/$FOAM_MPI" ]
+if [ -n "$SCOTCH_ARCH_PATH" ]
then
-(
- WM_OPTIONS=${WM_OPTIONS}$WM_MPLIB
- wmake $makeType ptscotchDecomp
-)
+ wmake $makeType scotchDecomp
+ [ -d "$FOAM_LIBBIN/$FOAM_MPI" ] && wmakeMpiLib ptscotchDecomp
+else
+ echo
+ echo "Skipping scotchDecomp (ptscotchDecomp)"
+ echo
fi
wmake $makeType decompositionMethods
-
# ----------------------------------------------------------------- end-of-file
diff --git a/src/parallel/decompose/scotchDecomp/Make/options b/src/parallel/decompose/scotchDecomp/Make/options
index a198db40af..b2f7015e24 100644
--- a/src/parallel/decompose/scotchDecomp/Make/options
+++ b/src/parallel/decompose/scotchDecomp/Make/options
@@ -1,6 +1,7 @@
-# Note including of mplib compilation rules. This
-# is purely to avoid scotch.h including mpicxx.h
-# which causes problems.
+/*
+ * Note including of mplib compilation rules.
+ * This is purely to avoid scotch.h including mpicxx.h, which causes problems.
+ */
sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB)
sinclude $(RULES)/mplib$(WM_MPLIB)