diff --git a/README b/README
index c5b973448d0e1e618969e6cf3dad137fb52c2c3e..95ada195cb812003dd4859a20057834bbf49fe87 100644
--- a/README
+++ b/README
@@ -1,109 +1,85 @@
-           README for OpenFOAM: The Open Source CFD Toolbox
-           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#                            -*- mode: org; -*-
+#
+#+TITLE:             *OpenFOAM README for version 1.5*
+#+AUTHOR:                      OpenCFD Ltd.
+#+DATE:                        10 July 2008
+#+LINK:                  http://www.opencfd.co.uk
+#+OPTIONS: author:nil
 
-0. Copyright
-~~~~~~~~~~~~
-  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 2 of the License, or (at your option)
-  any later version.  See the file COPYING in this directory, for a
-  description of the GNU General Public License terms under which you can
-  copy the files.
+* Copyright
+  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 2 of the License, or (at your option) any later
+  version.  See the file COPYING in this directory, for a description of the GNU
+  General Public License terms under which you can copy the files.
 
+* System requirements
+  OpenFOAM is developed and tested on Linux, but should work with other Unix
+  style systems.  To check your system setup, execute the foamSystemCheck script
+  in the bin/ directory of the OpenFOAM installation. If no problems are
+  reported, proceed to "3. Installation"; otherwise contact your system
+  administrator.
 
-1. Contents
-~~~~~~~~~~~
-  0.  Copyright
-  1.  Contents
-  2.  System requirements
-  3.  Installation
-  4.  Building from Sources (Optional)
-  5.  Testing the installation
-  6.  Getting started
-  7.  Documentation
-  8.  Help
-  9.  Reporting Bugs
-  A.  Running OpenFOAM in 32-bit mode
+  If the user wishes to run OpenFOAM in 32/64-bit mode they should consult the
+  appendix "A. Running OpenFOAM in 32-bit mode".
 
+* Installation
+  Download and unpack the files in the $HOME/OpenFOAM directory as described in:
+  http://www.OpenFOAM.org/download.html
 
-2. System requirements
-~~~~~~~~~~~~~~~~~~~~~~
-  OpenFOAM is developed and tested on Linux, but should work with other
-  Unix style systems.  To check your system setup, execute the foamSystemCheck
-  script in the bin/ directory of the OpenFOAM installation. If no problems
-  are reported, proceed to "3. Installation"; otherwise contact your
-  system administrator.
+  The environment variable settings are contained in files in an etc/ directory
+  in the OpenFOAM release. e.g. in
 
-  If the user wishes to run OpenFOAM in 32/64-bit mode they should consult
-  the appendix "A. Running OpenFOAM in 32-bit mode".
+  + $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/
+  + where <VERSION> corresponds to the version 1.4, 1.5, ...
 
+  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
+    $HOME/.bashrc file:
 
-3. Installation
-~~~~~~~~~~~~~~~
-  Download and unpack the files in the $HOME/OpenFOAM directory as described
-  in:  http://www.OpenFOAM.org/download.html
+    + . $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/bashrc
 
-  The environment variable settings are contained in files in an etc/
-  directory in the OpenFOAM release. e.g. in
+    Then update the environment variables by sourcing the $HOME/.bashrc file by
+    typing in the terminal:
 
-      $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/
+	+ . $HOME/.bashrc
 
-      where <VERSION> corresponds to the version 1.4, 1.5, ...
-
-  a)
-    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 $HOME/.bashrc file:
-
-        . $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/bashrc
-
-    Then update the environment variables by sourcing the $HOME/.bashrc file
-    by typing in the terminal:
-
-        . $HOME/.bashrc
-
-  b)
-    OR, if running tcsh or csh, source the etc/cshrc file by adding the
+  2) OR, if running tcsh or csh, source the etc/cshrc file by adding the
     following line to the end of your $HOME/.cshrc file:
 
-        source $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/cshrc
-
-    Then update the environment variables by sourcing the $HOME/.cshrc file
-    by typing in the terminal:
+    + source $HOME/OpenFOAM/OpenFOAM-<VERSION>/etc/cshrc
 
-        source $HOME/.cshrc
+    Then update the environment variables by sourcing the $HOME/.cshrc file by
+    typing in the terminal:
 
+	+ source $HOME/.cshrc
 
-  3.1. Installation in alternative locations
-  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+*** Installation in alternative locations
     OpenFOAM may also be installed in alternative locations. However, the
-    installation directory should be network available (e.g., NFS) if
-    parallel calculations are planned.
+    installation directory should be network available (e.g., NFS) if parallel
+    calculations are planned.
 
-    The environment variable 'FOAM_INST_DIR' can be used to find and source
-    the appropriate resource file. Here is a bash/ksh/sh example:
+    The environment variable 'FOAM_INST_DIR' can be used to find and source the
+    appropriate resource file. Here is a bash/ksh/sh example:
 
-        export FOAM_INST_DIR=/data/app/OpenFOAM
-        foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc
-        [ -f $foamDotFile ] && . $foamDotFile
+	+ export FOAM_INST_DIR=/data/app/OpenFOAM
+    + foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc
+    + [ -f $foamDotFile ] && . $foamDotFile
 
     and a csh/tcsh example:
 
-        setenv FOAM_INST_DIR /data/app/OpenFOAM
-        foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc
-        if ( -f $foamDotFile ) source $foamDotFile
-
+	+ setenv FOAM_INST_DIR /data/app/OpenFOAM
+    + foamDotFile=$FOAM_INST_DIR/OpenFOAM-<VERSION>/etc/bashrc
+    + if ( -f $foamDotFile ) source $foamDotFile
 
-    The value set in '$FOAM_INST_DIR' will be used to locate the remaining
-    parts of the OpenFOAM installation.
+    The value set in '$FOAM_INST_DIR' will be used to locate the remaining parts
+    of the OpenFOAM installation.
 
-
-4. Building from Sources (Optional)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  If you cannot find an appropriate binary pack for your platform, you can
-  build the complete OpenFOAM from the source-pack.  You will first need to
-  compile or obtain a recent version of gcc (we recomend gcc-4.3.?) for
-  your platform, which may be obtained from http://gcc.gnu.org/.
+* Building from Sources (Optional)
+  If you cannot find an appropriate binary pack for your platform, you can build
+  the complete OpenFOAM from the source-pack.  You will first need to compile or
+  obtain a recent version of gcc (we recomend gcc-4.3.?) for your platform,
+  which may be obtained from http://gcc.gnu.org/.
 
   Install the compiler in
   $WM_PROJECT_INST_DIR/ThirdParty/gcc-<GCC_VERSION>/platforms/$WM_ARCH$WM_COMPILER_ARCH/
@@ -112,68 +88,54 @@
   environment variables as in section 3.
 
   Now go to the top-level source directory $WM_PROJECT_DIR and execute the
-  top-level build script './Allwmake'.  In principle this will build
-  everything, but if problems occur with the build order it may be necessary
-  to update the environment variables and re-execute 'Allwmake'. If you
-  experience difficulties with building the source-pack, or your platform is
-  not currently supported, please contact <enquiries@OpenCFD.co.uk> to
-  negotiate a support contract and we will do the port and maintain it for
-  future releases.
-
-
-5. Testing the installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-  To check your installation setup, execute the 'foamInstallationTest'
-  script (in the bin/ directory of the OpenFOAM installation). If no
-  problems are reported, proceed to getting started with OpenFOAM;
-  otherwise, go back and check you have installed the software correctly
-  and/or contact your system administrator.
-
-
-6. Getting Started
-~~~~~~~~~~~~~~~~~~
+  top-level build script './Allwmake'.  In principle this will build everything,
+  but if problems occur with the build order it may be necessary to update the
+  environment variables and re-execute 'Allwmake'. If you experience
+  difficulties with building the source-pack, or your platform is not currently
+  supported, please contact <enquiries@OpenCFD.co.uk> to negotiate a support
+  contract and we will do the port and maintain it for future releases.
+
+* Testing the installation
+  To check your installation setup, execute the 'foamInstallationTest' script
+  (in the bin/ directory of the OpenFOAM installation). If no problems are
+  reported, proceed to getting started with OpenFOAM; otherwise, go back and
+  check you have installed the software correctly and/or contact your system
+  administrator.
+
+* 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)
   and create a directory named 'run' within it, e.g. by typing:
 
-      mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
+  + mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
 
   Copy the 'tutorial' examples directory in the OpenFOAM distribution to the
   'run' directory.  If the OpenFOAM environment variables are set correctly,
   then the following command will be correct:
 
-      cp -r $WM_PROJECT_DIR/tutorials $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
+  + cp -r $WM_PROJECT_DIR/tutorials
+    $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
 
   Run the first example case of incompressible laminar flow in a cavity:
 
-      cd $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run/tutorials/icoFoam/cavity
-      blockMesh
-      icoFoam
-
+  + cd $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run/tutorials/icoFoam/cavity
+  + blockMesh
+  + icoFoam
 
-7. Documentation
-~~~~~~~~~~~~~~~~
+* Documentation
   http://www.OpenFOAM.org/doc
 
+* Help
+  http://www.OpenFOAM.org http://www.OpenFOAM.org/discussion.html
 
-8. Help
-~~~~~~~
-  http://www.OpenFOAM.org
-  http://www.OpenFOAM.org/discussion.html
-
-
-9. Reporting Bugs in OpenFOAM
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Reporting Bugs in OpenFOAM
   http://www.OpenFOAM.org/bugs.html
 
-
-A. Running OpenFOAM in 32-bit mode on 64-bit machines
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+* Running OpenFOAM in 32-bit mode on 64-bit machines
   Linux users with a 64-bit machine may install either the OpenFOAM 32-bit
-  version (linux) or the OpenFOAM 64-bit version (linux64), or both.
-  The 64-bit is the default mode on a 64-bit machine.  To use an installed
-  32-bit version, the user must set the environment variable $WM_32 (to
-  anything, e.g. "on") before sourcing the etc/bashrc (or etc/cshrc) file.
-  Unsetting WM_32 and re-sourcing the etc/bashrc (or etc/cshrc) file will
-  set up the user to run in 64-bit mode.
-
+  version (linux) or the OpenFOAM 64-bit version (linux64), or both.  The 64-bit
+  is the default mode on a 64-bit machine.  To use an installed 32-bit version,
+  the user must set the environment variable $WM_32 (to anything, e.g. "on")
+  before sourcing the etc/bashrc (or etc/cshrc) file.  Unsetting WM_32 and
+  re-sourcing the etc/bashrc (or etc/cshrc) file will set up the user to run in
+  64-bit mode.
diff --git a/README.html b/README.html
new file mode 100644
index 0000000000000000000000000000000000000000..360c49a3a8420faa53b87e882c9912485db60445
--- /dev/null
+++ b/README.html
@@ -0,0 +1,341 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="en" xml:lang="en">
+<head>
+<title><b>OpenFOAM README for version 1.5</b></title>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="10 July 2008"/>
+<meta name="author" content="OpenCFD Ltd."/>
+<style type="text/css">
+  html {
+	font-family: Times, serif;
+	font-size: 12pt;
+  }
+  .title { text-align: center; }
+  .todo  { color: red; }
+  .done { color: green; }
+  .timestamp { color: grey }
+  .timestamp-kwd { color: CadetBlue }
+  .tag { background-color:lightblue; font-weight:normal }
+  .target { }
+  pre {
+	border: 1pt solid #AEBDCC;
+	background-color: #F3F5F7;
+	padding: 5pt;
+	font-family: courier, monospace;
+        font-size: 90%;
+  }
+  table { border-collapse: collapse; }
+  td, th {
+	vertical-align: top;
+	<!--border: 1pt solid #ADB9CC;-->
+  }
+  dt { font-weight: bold; }
+</style>
+</head><body>
+<h1 class="title"><b>OpenFOAM README for version 1.5</b></h1>
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#sec-1">1 Copyright</a></li>
+<li><a href="#sec-2">2 System requirements</a></li>
+<li><a href="#sec-3">3 Installation</a>
+<ul>
+<li><a href="#sec-3.1">3.1 Installation in alternative locations</a></li>
+</ul>
+</li>
+<li><a href="#sec-4">4 Building from Sources (Optional)</a></li>
+<li><a href="#sec-5">5 Testing the installation</a></li>
+<li><a href="#sec-6">6 Getting Started</a></li>
+<li><a href="#sec-7">7 Documentation</a></li>
+<li><a href="#sec-8">8 Help</a></li>
+<li><a href="#sec-9">9 Reporting Bugs in OpenFOAM</a></li>
+<li><a href="#sec-10">10 Running OpenFOAM in 32-bit mode on 64-bit machines</a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1">1 Copyright</h2>
+<div id="text-1">
+
+<p>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 2 of the License, or (at your option) any later
+version.  See the file COPYING in this directory, for a description of the GNU
+General Public License terms under which you can copy the files.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2">2 System requirements</h2>
+<div id="text-2">
+
+<p>OpenFOAM is developed and tested on Linux, but should work with other Unix
+style systems.  To check your system setup, execute the foamSystemCheck script
+in the bin/ directory of the OpenFOAM installation. If no problems are
+reported, proceed to "3. Installation"; otherwise contact your system
+administrator.
+</p>
+<p>
+If the user wishes to run OpenFOAM in 32/64-bit mode they should consult the
+appendix "A. Running OpenFOAM in 32-bit mode".
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3">3 Installation</h2>
+<div id="text-3">
+
+<p>Download and unpack the files in the $HOME/OpenFOAM directory as described in:
+<a href="http://www.OpenFOAM.org/download.html">http://www.OpenFOAM.org/download.html</a>
+</p>
+<p>
+The environment variable settings are contained in files in an etc/ directory
+in the OpenFOAM release. e.g. in
+</p>
+<ul>
+<li>
+$HOME/OpenFOAM/OpenFOAM-&lt;VERSION&gt;/etc/
+</li>
+<li>
+where &lt;VERSION&gt; corresponds to the version 1.4, 1.5, &hellip;
+
+</li>
+<li>
+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
+$HOME/.bashrc file:
+
+<ul>
+<li>
+. $HOME/OpenFOAM/OpenFOAM-&lt;VERSION&gt;/etc/bashrc
+
+</li>
+</ul>
+
+<p>Then update the environment variables by sourcing the $HOME/.bashrc file by
+typing in the terminal:
+</p>
+<ul>
+<li>
+. $HOME/.bashrc
+
+</li>
+</ul>
+</li>
+<li>
+OR, if running tcsh or csh, source the etc/cshrc file by adding the
+following line to the end of your $HOME/.cshrc file:
+
+<ul>
+<li>
+source $HOME/OpenFOAM/OpenFOAM-&lt;VERSION&gt;/etc/cshrc
+
+</li>
+</ul>
+
+<p>Then update the environment variables by sourcing the $HOME/.cshrc file by
+typing in the terminal:
+</p>
+<ul>
+<li>
+source $HOME/.cshrc
+
+</li>
+</ul>
+</li>
+</ul>
+
+</div>
+
+<div id="outline-container-3.1" class="outline-3">
+<h3 id="sec-3.1">3.1 Installation in alternative locations</h3>
+<div id="text-3.1">
+
+<p>OpenFOAM may also be installed in alternative locations. However, the
+installation directory should be network available (e.g., NFS) if parallel
+calculations are planned.
+</p>
+<p>
+The environment variable 'FOAM_INST_DIR' can be used to find and source the
+appropriate resource file. Here is a bash/ksh/sh example:
+</p>
+<ul>
+<li>
+export FOAM_INST_DIR=/data/app/OpenFOAM
+</li>
+<li>
+foamDotFile=$FOAM_INST_DIR/OpenFOAM-&lt;VERSION&gt;/etc/bashrc
+</li>
+<li>
+[ -f $foamDotFile ] &amp;&amp; . $foamDotFile
+
+</li>
+</ul>
+
+<p>and a csh/tcsh example:
+</p>
+<ul>
+<li>
+setenv FOAM_INST_DIR /data/app/OpenFOAM
+</li>
+<li>
+foamDotFile=$FOAM_INST_DIR/OpenFOAM-&lt;VERSION&gt;/etc/bashrc
+</li>
+<li>
+if ( -f $foamDotFile ) source $foamDotFile
+
+</li>
+</ul>
+
+<p>The value set in '$FOAM_INST_DIR' will be used to locate the remaining parts
+of the OpenFOAM installation.
+</p>
+</div>
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4">4 Building from Sources (Optional)</h2>
+<div id="text-4">
+
+<p>If you cannot find an appropriate binary pack for your platform, you can build
+the complete OpenFOAM from the source-pack.  You will first need to compile or
+obtain a recent version of gcc (we recomend gcc-4.3.?) for your platform,
+which may be obtained from <a href="http://gcc.gnu.org/">http://gcc.gnu.org/</a>.
+</p>
+<p>
+Install the compiler in
+$WM_PROJECT_INST_DIR/ThirdParty/gcc-&lt;GCC_VERSION&gt;/platforms/$WM_ARCH$WM_COMPILER_ARCH/
+and change the gcc version number in $WM_PROJECT_DIR/etc/settings.sh and
+$WM_PROJECT_DIR/etc/settings.csh appropriately and finally update the
+environment variables as in section 3.
+</p>
+<p>
+Now go to the top-level source directory $WM_PROJECT_DIR and execute the
+top-level build script './Allwmake'.  In principle this will build everything,
+but if problems occur with the build order it may be necessary to update the
+environment variables and re-execute 'Allwmake'. If you experience
+difficulties with building the source-pack, or your platform is not currently
+supported, please contact &lt;enquiries@OpenCFD.co.uk&gt; to negotiate a support
+contract and we will do the port and maintain it for future releases.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-5" class="outline-2">
+<h2 id="sec-5">5 Testing the installation</h2>
+<div id="text-5">
+
+<p>To check your installation setup, execute the 'foamInstallationTest' script
+(in the bin/ directory of the OpenFOAM installation). If no problems are
+reported, proceed to getting started with OpenFOAM; otherwise, go back and
+check you have installed the software correctly and/or contact your system
+administrator.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-6" class="outline-2">
+<h2 id="sec-6">6 Getting Started</h2>
+<div id="text-6">
+
+<p>Create a project directory within the $HOME/OpenFOAM directory named
+&lt;USER&gt;-&lt;VERSION&gt; (e.g. 'chris-1.5' for user chris and OpenFOAM version 1.5)
+and create a directory named 'run' within it, e.g. by typing:
+</p>
+<ul>
+<li>
+mkdir -p $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
+
+</li>
+</ul>
+
+<p>Copy the 'tutorial' examples directory in the OpenFOAM distribution to the
+'run' directory.  If the OpenFOAM environment variables are set correctly,
+then the following command will be correct:
+</p>
+<ul>
+<li>
+cp -r $WM_PROJECT_DIR/tutorials
+$HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run
+
+</li>
+</ul>
+
+<p>Run the first example case of incompressible laminar flow in a cavity:
+</p>
+<ul>
+<li>
+cd $HOME/OpenFOAM/${USER}-${WM_PROJECT_VERSION}/run/tutorials/icoFoam/cavity
+</li>
+<li>
+blockMesh
+</li>
+<li>
+icoFoam
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-7" class="outline-2">
+<h2 id="sec-7">7 Documentation</h2>
+<div id="text-7">
+
+<p><a href="http://www.OpenFOAM.org/doc">http://www.OpenFOAM.org/doc</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-8" class="outline-2">
+<h2 id="sec-8">8 Help</h2>
+<div id="text-8">
+
+<p><a href="http://www.OpenFOAM.org">http://www.OpenFOAM.org</a> <a href="http://www.OpenFOAM.org/discussion.html">http://www.OpenFOAM.org/discussion.html</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-9" class="outline-2">
+<h2 id="sec-9">9 Reporting Bugs in OpenFOAM</h2>
+<div id="text-9">
+
+<p><a href="http://www.OpenFOAM.org/bugs.html">http://www.OpenFOAM.org/bugs.html</a>
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-10" class="outline-2">
+<h2 id="sec-10">10 Running OpenFOAM in 32-bit mode on 64-bit machines</h2>
+<div id="text-10">
+
+<p>Linux users with a 64-bit machine may install either the OpenFOAM 32-bit
+version (linux) or the OpenFOAM 64-bit version (linux64), or both.  The 64-bit
+is the default mode on a 64-bit machine.  To use an installed 32-bit version,
+the user must set the environment variable $WM_32 (to anything, e.g. "on")
+before sourcing the etc/bashrc (or etc/cshrc) file.  Unsetting WM_32 and
+re-sourcing the etc/bashrc (or etc/cshrc) file will set up the user to run in
+64-bit mode.
+</p></div>
+</div>
+<div id="postamble"><p class="date"> Date: 10 July 2008</p>
+<p>HTML generated by org-mode 6.05a in emacs 23<p>
+</div></body>
+</html>
diff --git a/ReleaseNotes-1.5 b/ReleaseNotes-1.5
new file mode 100644
index 0000000000000000000000000000000000000000..f7c36ddcaef77ec8ec7055b35cbf71b25001687f
--- /dev/null
+++ b/ReleaseNotes-1.5
@@ -0,0 +1,176 @@
+#                            -*- mode: org; -*-
+#
+#+TITLE:          *OpenFOAM release notes for version 1.5*
+#+AUTHOR:                      OpenCFD Ltd.
+#+DATE:                        10 July 2008
+#+LINK:                  http://www.opencfd.co.uk
+#+OPTIONS: author:nil
+
+* Overview
+  OpenFOAM-1.5 is is a significant upgrade to version 1.4 in ways which are
+  outlined below.  This release passes all our standard tests and the tutorials
+  have been broadly checked.  If there are any bugs, please report them using
+  the instructions set out in: http://www.openfoam.org/bugs.html.
+
+  Most of the developments for this release are in: new applications, e.g. for
+  multiphase flow and cavitation, buoyancy-flow and heat transfer, high speed
+  flows and even molecular dynamics; new utilities, e.g. for meshing and case
+  monitoring; and, new modelling, e.g. in Lagrangian particle tracking,
+  radiation and rotating frames of reference.  With these new applications come
+  numerous new example cases.
+
+* GNU/Linux version
+  The 64bit binary packs of the OpenFOAM release were compiled on a machine
+  running SuSE GNU/Linux version 10.3 and the 32bit on a machine running Ubuntu
+  GNU/Linux version 7.1 and also tested on Ubuntu 8.04.  We recommend that
+  users run OpenFOAM on one of these or a similar recent version of GNU/Linux.
+  This release has also been successfully compiled and tested on older GNU/Linux
+  releases but this requires the installation of Qt 4.3.? for ParaView-3 to run.
+
+* C++ Compiler version
+  + Released compiled with GCC 4.3.1, the latest version.
+  + Built in support for the Intel C++ 10.? compiler (untested).
+  + The choice of the compiler is controlled by the setting of the $WM\_COMPILER
+    and $WM\_COMPILER\_ARCH environment variables in the OpenFOAM-1.5/etc/bashrc
+    (or cshrc) file.
+  + The location of the installation of the compiler is controlled by the
+    $WM\_COMPILER\_INST environment variable in the OpenFOAM-1.5/etc/settings.sh
+    (or settings.csh) file.
+
+* Developments to solvers (applications)
+  + New rhoCentralFoam solver for high-speed, viscous, compressible flows using
+    non-oscillatory, central-upwind schemes.
+  + New interDyMFoam solver for 2 incompressible, isothermal, immiscible fluids
+    using a VoF phase-fraction based interface capturing approach, with optional
+    mesh motion and mesh topology changes including adaptive mesh
+    (un)refinement.  Useful for simulations such as tank filling, sloshing ---
+    using solid body motion e.g. SDA or SKA (6DoF) --- and slamming (using the
+    mesh motion solver) and other large-scale applications that benefit from the
+    efficiency gain of adaptive mesh (un)refinement of the interface.
+  + New compressibleInterFoam solver for 2 compressible, isothermal, immiscible
+    fluids using a volume of fluid (VoF) phase-fraction approach for
+    interface-capturing.  The momentum and other fluid properties are of the
+    "mixture" and a single momentum equation is solved.  Turbulence is modelled
+    using a run-time selectable incompressible LES model.
+  + New interPhaseChangeFoam solver for 2 incompressible, isothermal, immiscible
+    fluids with phase-change, e.g. cavitation.  Uses VoF interface capturing,
+    with momentum and other fluid properties described for the ``mixture'' and a
+    single momentum equation is solved.  The set of phase-change models provided
+    are designed to simulate cavitation but other mechanisms of phase-change are
+    supported within this solver framework.
+  + New rasCavitatingFoam solver for transient cavitation using a barotropic
+    compressibility model, with RAS turbulence.
+  + New lesCavitatingFoam solver for transient cavitation using a barotropic
+    compressibility model, with LES turbulence.
+  + New chtMultiRegionFoam solver that couples conjugate heat transfer in a
+    solid to a buoyancy-driven flow simulation.
+  + New PDRFoam solver for compressible premixed/partially-premixed turbulent
+    combustion that includes porosity/distributed resistance (PDR) modelling to
+    handle regions containing solid blockages which cannot be resolved by the
+    mesh.  Requires the PDR fields.
+  + New lesBuoyantFoam solver for transient, buoyant, turbulent flow of
+    compressible fluids for ventilation and heat-transfer. Turbulence is
+    modelled using a run-time selectable compressible LES model.
+  + New rhoPimpleFoam solver for transient, turbulent flow of compressible
+    fluids for ventilation and heat-transfer. Uses the flexible PIMPLE
+    (PISO-SIMPLE) solution for time-resolved and pseudo-transient simulations.
+  + New buoyantSimpleRadiationFoam solver for steady-state, buoyant, turbulent
+    flow of compressible fluids with radiation, for ventilation and
+    heat-transfer.
+  + New rhoTurbTwinParcelFoam solver for transient for compressible, turbulent
+    flow with two thermo-clouds.
+  + New gnemdFOAM solver for general purpose molecular dynamics that simulates
+    atoms in arbitrary shaped domains and average atomic/molecular quantities to
+    the mesh to create field data.
+  + New mdEqulibrationFoam solver to equilibrates and/or preconditions molecular
+    dynamics systems.
+  + Demonstration SRFSimpleFoam solver based on simpleFoam that incorporates the
+    SRF extensions (see below) for rotating flows.
+
+* Automatic mesher
+  New snappyHexMesh utility that generates split-hex meshes automatically from
+  triangulated (STL) surface geometries.  The mesh approximately conforms to
+  the surface by iteratively refining a starting mesh and morphing the
+  resulting split-hex mesh to the surface.  An optional phase will shrink back
+  the resulting mesh and insert cell layers.  It has a flexible specification
+  of mesh refinement level and robust surface handling with a pre-specified
+  final mesh quality.  It runs in parallel with a load balancing step every
+  iteration.
+
+* Developments to utilities
+  + New extrude2DMesh utility that extrudes 2D meshes into a 3D mesh.  2D meshes
+    are described by faces with 2 points, so can be used in combination with 2D
+    meshes converted with ccm26ToFoam.
+  + New couplePatches functionality integrated into createPatch, which
+    optionally synchronises ("couples") points and faces of coupled (cyclic,
+    processor) patches.
+  + New applyBoundaryLayer pre-processing utility to apply 1/7th power-law
+    boundary layers at walls, starting from uniform or potential flow solutions.
+  + New execFlowFunctionObjects utility executes functionObjects as a
+    post-processing activity, e.g. probes, sampling, force calculation.
+  + New changeDictionary utility makes batch changes to OpenFOAM input files,
+    e.g. to change boundary conditions of field files.
+  + New foamCalc utility, a generic post-processing field calculator tool
+  + New molConfig pre-processing utility for molecular dynamics cases.  Fills
+    zones of a mesh with single crystal lattices of specified structure,
+    density, orientation, alignment and temperature.
+  + Extended splitMeshRegions utility to split multi-zone meshes, e.g. defined
+    through cellZones, into separate meshes.
+  + Extended the foamToVTK, decomposePar, reconstructPar and mapFields utilities
+    to include support for multiple particle clouds in parallel processing.
+
+* Migration from ParaView 2.4 to ParaView 3.x
+  + Rewritten OpenFOAM Reader Module for version 3, a major redesign of
+    ParaView.
+  + New features include viewing patch names, reading of Lagrangian data,
+    handling of cell, face and point sets, multiple views.
+
+* Model development
+  + Overhauled the lagrangian library to support multiple clouds.
+  + New lagrangianIntermediate library incorporating a hierarchy of parcel and
+    cloud types, accommodating kinematic, thermodynamic and reacting
+    applications, including coupling to the new radiation library. Sub-models
+    are added at the relevant level of physics, e.g.:
+	- kinematic: injection, wall interaction, drag, dispersion;
+	- thermo: heat transfer;
+	- reacting: reacting composition, mass transfer, surface reactions.
+  + New single rotating frame of reference (SRF) library for rotating flow
+    applications, e.g. turbo-machinery.
+  + New radiation library including the P1 model and associated Marshak boundary
+    conditions for incident radiation.
+  + New displacementInterpolation motion solver for flexible mesh scaling.
+  + New molecularDynamics Lagrangian library to calculate intermolecular forces
+    between spherically symmetrical monatomic species in arbitrary geometries.
+
+* New functionObjects
+  To aid common monitoring and post-processing activities.
+  + forces: calculate the force and moment on a patch or set of patches, e.g. to
+    calculate the lift, drag and moment of an object in the flow.
+  + forceCoeffs: calculate the normalised force and moment on a patch or set of
+    patches, e.g. to calculate the lift, drag and moment coefficients of an
+    object in the flow.
+  + fieldAverage: calculate field arithmetic mean and prime-squared averages for
+    a list of fields.
+  + foamCalcFunctions: calculate field components, div, mag, magGrad or magSqr.
+
+* Improvements to boundary conditions
+  + Generalised jumpCyclic type: cyclic condition with an additional prescribed
+    jump in value.
+  + fan type: specialisation of jumpCyclic, applying a prescribed jump in
+    pressure to simulate a fan within a mesh.
+  + Generalised advective outflow boundary condition based on solving D/Dt(psi,
+    U) = 0 at the boundary.
+  + Additional turbulent flow inlet to specify mixing length and frequency.
+  + Generalisation of time varying set of boundary conditions.
+
+* Other
+  + New argument-free command execution, e.g typing "icoFoam" without root and
+    case directory arguments.
+  + Extended time command line options.
+  + Many enhancements to dictionary including macro substitution, optional
+    merging and default/overwrite behaviour, enhanced "#include" file handling
+    and the framework to support function evaluation.
+  + Cross-links between applications and Doxygen documentation with the "-doc"
+    argument.
+  + Non-blocking, non-buffered, parallel transfers with potential scaling
+    benefits for larger number of processors.
diff --git a/ReleaseNotes-1.5.html b/ReleaseNotes-1.5.html
new file mode 100644
index 0000000000000000000000000000000000000000..987d179a023b51de5b4312286c7ad47937204a83
--- /dev/null
+++ b/ReleaseNotes-1.5.html
@@ -0,0 +1,429 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+lang="en" xml:lang="en">
+<head>
+<title><b>OpenFOAM release notes for version 1.5</b></title>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="generator" content="Org-mode"/>
+<meta name="generated" content="10 July 2008"/>
+<meta name="author" content="OpenCFD Ltd."/>
+<style type="text/css">
+  html {
+	font-family: Times, serif;
+	font-size: 12pt;
+  }
+  .title { text-align: center; }
+  .todo  { color: red; }
+  .done { color: green; }
+  .timestamp { color: grey }
+  .timestamp-kwd { color: CadetBlue }
+  .tag { background-color:lightblue; font-weight:normal }
+  .target { }
+  pre {
+	border: 1pt solid #AEBDCC;
+	background-color: #F3F5F7;
+	padding: 5pt;
+	font-family: courier, monospace;
+        font-size: 90%;
+  }
+  table { border-collapse: collapse; }
+  td, th {
+	vertical-align: top;
+	<!--border: 1pt solid #ADB9CC;-->
+  }
+  dt { font-weight: bold; }
+</style>
+</head><body>
+<h1 class="title"><b>OpenFOAM release notes for version 1.5</b></h1>
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#sec-1">1 Overview</a></li>
+<li><a href="#sec-2">2 GNU/Linux version</a></li>
+<li><a href="#sec-3">3 C++ Compiler version</a></li>
+<li><a href="#sec-4">4 Developments to solvers (applications)</a></li>
+<li><a href="#sec-5">5 Automatic mesher</a></li>
+<li><a href="#sec-6">6 Developments to utilities</a></li>
+<li><a href="#sec-7">7 Migration from ParaView 2.4 to ParaView 3.x</a></li>
+<li><a href="#sec-8">8 Model development</a></li>
+<li><a href="#sec-9">9 New functionObjects</a></li>
+<li><a href="#sec-10">10 Improvements to boundary conditions</a></li>
+<li><a href="#sec-11">11 Other</a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-1" class="outline-2">
+<h2 id="sec-1">1 Overview</h2>
+<div id="text-1">
+
+<p>OpenFOAM-1.5 is is a significant upgrade to version 1.4 in ways which are
+outlined below.  This release passes all our standard tests and the tutorials
+have been broadly checked.  If there are any bugs, please report them using
+the instructions set out in: <a href="http://www.openfoam.org/bugs.html">http://www.openfoam.org/bugs.html</a>.
+</p>
+<p>
+Most of the developments for this release are in: new applications, e.g. for
+multiphase flow and cavitation, buoyancy-flow and heat transfer, high speed
+flows and even molecular dynamics; new utilities, e.g. for meshing and case
+monitoring; and, new modelling, e.g. in Lagrangian particle tracking,
+radiation and rotating frames of reference.  With these new applications come
+numerous new example cases.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-2" class="outline-2">
+<h2 id="sec-2">2 GNU/Linux version</h2>
+<div id="text-2">
+
+<p>The 64bit binary packs of the OpenFOAM release were compiled on a machine
+running SuSE GNU/Linux version 10.3 and the 32bit on a machine running Ubuntu
+GNU/Linux version 7.1 and also tested on Ubuntu 8.04.  We recommend that
+users run OpenFOAM on one of these or a similar recent version of GNU/Linux.
+This release has also been successfully compiled and tested on older GNU/Linux
+releases but this requires the installation of Qt 4.3.? for ParaView-3 to run.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-3" class="outline-2">
+<h2 id="sec-3">3 C++ Compiler version</h2>
+<div id="text-3">
+
+<ul>
+<li>
+Released compiled with GCC 4.3.1, the latest version.
+</li>
+<li>
+Built in support for the Intel C++ 10.? compiler (untested).
+</li>
+<li>
+The choice of the compiler is controlled by the setting of the $WM_COMPILER
+and $WM_COMPILER_ARCH environment variables in the OpenFOAM-1.5/etc/bashrc
+(or cshrc) file.
+</li>
+<li>
+The location of the installation of the compiler is controlled by the
+$WM_COMPILER_INST environment variable in the OpenFOAM-1.5/etc/settings.sh
+(or settings.csh) file.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-4" class="outline-2">
+<h2 id="sec-4">4 Developments to solvers (applications)</h2>
+<div id="text-4">
+
+<ul>
+<li>
+New rhoCentralFoam solver for high-speed, viscous, compressible flows using
+non-oscillatory, central-upwind schemes.
+</li>
+<li>
+New interDyMFoam solver for 2 incompressible, isothermal, immiscible fluids
+using a VoF phase-fraction based interface capturing approach, with optional
+mesh motion and mesh topology changes including adaptive mesh
+(un)refinement.  Useful for simulations such as tank filling, sloshing ---
+using solid body motion e.g. SDA or SKA (6DoF) &mdash; and slamming (using the
+mesh motion solver) and other large-scale applications that benefit from the
+efficiency gain of adaptive mesh (un)refinement of the interface.
+</li>
+<li>
+New compressibleInterFoam solver for 2 compressible, isothermal, immiscible
+fluids using a volume of fluid (VoF) phase-fraction approach for
+interface-capturing.  The momentum and other fluid properties are of the
+"mixture" and a single momentum equation is solved.  Turbulence is modelled
+using a run-time selectable incompressible LES model.
+</li>
+<li>
+New interPhaseChangeFoam solver for 2 incompressible, isothermal, immiscible
+fluids with phase-change, e.g. cavitation.  Uses VoF interface capturing,
+with momentum and other fluid properties described for the ``mixture'' and a
+single momentum equation is solved.  The set of phase-change models provided
+are designed to simulate cavitation but other mechanisms of phase-change are
+supported within this solver framework.
+</li>
+<li>
+New rasCavitatingFoam solver for transient cavitation using a barotropic
+compressibility model, with RAS turbulence.
+</li>
+<li>
+New lesCavitatingFoam solver for transient cavitation using a barotropic
+compressibility model, with LES turbulence.
+</li>
+<li>
+New chtMultiRegionFoam solver that couples conjugate heat transfer in a
+solid to a buoyancy-driven flow simulation.
+</li>
+<li>
+New PDRFoam solver for compressible premixed/partially-premixed turbulent
+combustion that includes porosity/distributed resistance (PDR) modelling to
+handle regions containing solid blockages which cannot be resolved by the
+mesh.  Requires the PDR fields.
+</li>
+<li>
+New lesBuoyantFoam solver for transient, buoyant, turbulent flow of
+compressible fluids for ventilation and heat-transfer. Turbulence is
+modelled using a run-time selectable compressible LES model.
+</li>
+<li>
+New rhoPimpleFoam solver for transient, turbulent flow of compressible
+fluids for ventilation and heat-transfer. Uses the flexible PIMPLE
+(PISO-SIMPLE) solution for time-resolved and pseudo-transient simulations.
+</li>
+<li>
+New buoyantSimpleRadiationFoam solver for steady-state, buoyant, turbulent
+flow of compressible fluids with radiation, for ventilation and
+heat-transfer.
+</li>
+<li>
+New rhoTurbTwinParcelFoam solver for transient for compressible, turbulent
+flow with two thermo-clouds.
+</li>
+<li>
+New gnemdFOAM solver for general purpose molecular dynamics that simulates
+atoms in arbitrary shaped domains and average atomic/molecular quantities to
+the mesh to create field data.
+</li>
+<li>
+New mdEqulibrationFoam solver to equilibrates and/or preconditions molecular
+dynamics systems.
+</li>
+<li>
+Demonstration SRFSimpleFoam solver based on simpleFoam that incorporates the
+SRF extensions (see below) for rotating flows.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-5" class="outline-2">
+<h2 id="sec-5">5 Automatic mesher</h2>
+<div id="text-5">
+
+<p>New snappyHexMesh utility that generates split-hex meshes automatically from
+triangulated (STL) surface geometries.  The mesh approximately conforms to
+the surface by iteratively refining a starting mesh and morphing the
+resulting split-hex mesh to the surface.  An optional phase will shrink back
+the resulting mesh and insert cell layers.  It has a flexible specification
+of mesh refinement level and robust surface handling with a pre-specified
+final mesh quality.  It runs in parallel with a load balancing step every
+iteration.
+</p>
+</div>
+
+</div>
+
+<div id="outline-container-6" class="outline-2">
+<h2 id="sec-6">6 Developments to utilities</h2>
+<div id="text-6">
+
+<ul>
+<li>
+New extrude2DMesh utility that extrudes 2D meshes into a 3D mesh.  2D meshes
+are described by faces with 2 points, so can be used in combination with 2D
+meshes converted with ccm26ToFoam.
+</li>
+<li>
+New couplePatches functionality integrated into createPatch, which
+optionally synchronises ("couples") points and faces of coupled (cyclic,
+processor) patches.
+</li>
+<li>
+New applyBoundaryLayer pre-processing utility to apply 1/7th power-law
+boundary layers at walls, starting from uniform or potential flow solutions.
+</li>
+<li>
+New execFlowFunctionObjects utility executes functionObjects as a
+post-processing activity, e.g. probes, sampling, force calculation.
+</li>
+<li>
+New changeDictionary utility makes batch changes to OpenFOAM input files,
+e.g. to change boundary conditions of field files.
+</li>
+<li>
+New foamCalc utility, a generic post-processing field calculator tool
+</li>
+<li>
+New molConfig pre-processing utility for molecular dynamics cases.  Fills
+zones of a mesh with single crystal lattices of specified structure,
+density, orientation, alignment and temperature.
+</li>
+<li>
+Extended splitMeshRegions utility to split multi-zone meshes, e.g. defined
+through cellZones, into separate meshes.
+</li>
+<li>
+Extended the foamToVTK, decomposePar, reconstructPar and mapFields utilities
+to include support for multiple particle clouds in parallel processing.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-7" class="outline-2">
+<h2 id="sec-7">7 Migration from ParaView 2.4 to ParaView 3.x</h2>
+<div id="text-7">
+
+<ul>
+<li>
+Rewritten OpenFOAM Reader Module for version 3, a major redesign of
+ParaView.
+</li>
+<li>
+New features include viewing patch names, reading of Lagrangian data,
+handling of cell, face and point sets, multiple views.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-8" class="outline-2">
+<h2 id="sec-8">8 Model development</h2>
+<div id="text-8">
+
+<ul>
+<li>
+Overhauled the lagrangian library to support multiple clouds.
+</li>
+<li>
+New lagrangianIntermediate library incorporating a hierarchy of parcel and
+cloud types, accommodating kinematic, thermodynamic and reacting
+applications, including coupling to the new radiation library. Sub-models
+are added at the relevant level of physics, e.g.:
+<ul>
+<li>
+kinematic: injection, wall interaction, drag, dispersion;
+</li>
+<li>
+thermo: heat transfer;
+</li>
+<li>
+reacting: reacting composition, mass transfer, surface reactions.
+</li>
+</ul>
+</li>
+<li>
+New single rotating frame of reference (SRF) library for rotating flow
+applications, e.g. turbo-machinery.
+</li>
+<li>
+New radiation library including the P1 model and associated Marshak boundary
+conditions for incident radiation.
+</li>
+<li>
+New displacementInterpolation motion solver for flexible mesh scaling.
+</li>
+<li>
+New molecularDynamics Lagrangian library to calculate intermolecular forces
+between spherically symmetrical monatomic species in arbitrary geometries.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-9" class="outline-2">
+<h2 id="sec-9">9 New functionObjects</h2>
+<div id="text-9">
+
+<p>To aid common monitoring and post-processing activities.
+</p><ul>
+<li>
+forces: calculate the force and moment on a patch or set of patches, e.g. to
+calculate the lift, drag and moment of an object in the flow.
+</li>
+<li>
+forceCoeffs: calculate the normalised force and moment on a patch or set of
+patches, e.g. to calculate the lift, drag and moment coefficients of an
+object in the flow.
+</li>
+<li>
+fieldAverage: calculate field arithmetic mean and prime-squared averages for
+a list of fields.
+</li>
+<li>
+foamCalcFunctions: calculate field components, div, mag, magGrad or magSqr.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-10" class="outline-2">
+<h2 id="sec-10">10 Improvements to boundary conditions</h2>
+<div id="text-10">
+
+<ul>
+<li>
+Generalised jumpCyclic type: cyclic condition with an additional prescribed
+jump in value.
+</li>
+<li>
+fan type: specialisation of jumpCyclic, applying a prescribed jump in
+pressure to simulate a fan within a mesh.
+</li>
+<li>
+Generalised advective outflow boundary condition based on solving D/Dt(psi,
+U) = 0 at the boundary.
+</li>
+<li>
+Additional turbulent flow inlet to specify mixing length and frequency.
+</li>
+<li>
+Generalisation of time varying set of boundary conditions.
+
+</li>
+</ul>
+</div>
+
+</div>
+
+<div id="outline-container-11" class="outline-2">
+<h2 id="sec-11">11 Other</h2>
+<div id="text-11">
+
+<ul>
+<li>
+New argument-free command execution, e.g typing "icoFoam" without root and
+case directory arguments.
+</li>
+<li>
+Extended time command line options.
+</li>
+<li>
+Many enhancements to dictionary including macro substitution, optional
+merging and default/overwrite behaviour, enhanced "#include" file handling
+and the framework to support function evaluation.
+</li>
+<li>
+Cross-links between applications and Doxygen documentation with the "-doc"
+argument.
+</li>
+<li>
+Non-blocking, non-buffered, parallel transfers with potential scaling
+benefits for larger number of processors.
+</li>
+</ul>
+</div>
+</div>
+<div id="postamble"><p class="date"> Date: 10 July 2008</p>
+<p>HTML generated by org-mode 6.05a in emacs 23<p>
+</div></body>
+</html>
diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/Make/files b/applications/solvers/compressible/rhoCentralFoam/BCs/Make/files
index ed40a642ae889e5abce25989ae11138035a466d9..c666b0975147cdecbb0567f08743c08779e644a8 100644
--- a/applications/solvers/compressible/rhoCentralFoam/BCs/Make/files
+++ b/applications/solvers/compressible/rhoCentralFoam/BCs/Make/files
@@ -3,4 +3,4 @@ U/maxwellSlipUFvPatchVectorField.C
 T/smoluchowskiJumpTFvPatchScalarField.C
 rho/fixedRhoFvPatchScalarField.C
 
-LIB = $(FOAM_USER_LIBBIN)/librhoCentralFoam
+LIB = $(FOAM_LIBBIN)/librhoCentralFoam
diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H b/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H
index 12eea31127e74f8a38b9ce7f0eab662ff3b1d9f4..819cd0f538b6a87d0448618482caf75c52e3c793 100644
--- a/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H
+++ b/applications/solvers/multiphase/compressibleLesInterFoam/alphaEqns.H
@@ -28,7 +28,7 @@
             ),
             // Divergence term is handled explicitly to be
             // consistent with the explicit transport solution
-            divU*min(alpha1, 1.0)
+            divU*min(alpha1, scalar(1))
         );
 
         forAll(dgdt, celli)
diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H b/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H
index c6dd6c0f48a62b428e9748e8cfee5447652150a1..6fa5049de47edfa4053792ba6015990e627e1a36 100644
--- a/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H
+++ b/applications/solvers/multiphase/compressibleLesInterFoam/createFields.H
@@ -140,7 +140,7 @@
     );
 
     volScalarField dgdt =
-        pos(alpha2)*fvc::div(phi)/max(alpha2, 0.0001);
+        pos(alpha2)*fvc::div(phi)/max(alpha2, scalar(0.0001));
 
     // Construct interface from alpha1 distribution
     interfaceProperties interface(alpha1, U, twoPhaseProperties);
diff --git a/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H b/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H
index b794d4df2d57dfeb3e78e2eeef2016055a080d7a..ebf24498ade0bd1d1572d6055da8b5bccd369ffa 100644
--- a/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H
+++ b/applications/solvers/multiphase/compressibleLesInterFoam/pEqn.H
@@ -40,7 +40,10 @@
 
         solve
         (
-            (max(alpha1, 0.0)*(psi1/rho1) + max(alpha2, 0.0)*(psi2/rho2))
+            (
+                max(alpha1, scalar(0))*(psi1/rho1)
+              + max(alpha2, scalar(0))*(psi2/rho2)
+            )
            *pdEqnComp()
           + pdEqnIncomp
         );
diff --git a/applications/test/router/routerDict b/applications/test/router/routerDict
index a1fce32c48a1ce6257160237a53948097907267b..0d349d5f8b38783b39d690e44531d3c46fd62139 100644
--- a/applications/test/router/routerDict
+++ b/applications/test/router/routerDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          routeDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      routeDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -33,10 +26,3 @@ paths
 );
 
 // ************************************************************************* //
-
-
-
-
-
-
-
diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
index e6a15b2d5bbfc0e69e6a573b1b3b1080cb54e536..1edf2946d6c4a64b8b2e0f841b21cd289b20966d 100644
--- a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
+++ b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMeshDict
@@ -1,33 +1,26 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          autoRefineMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      autoRefineMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 
 // Surface to keep to
-surface "plexi.ftr";
+surface         "plexi.ftr";
 
 // What is outside. These points have to be inside a cell (so not on a face!)
-outsidePoints       ((-0.99001 -0.99001 -0.99001));
+outsidePoints   ((-0.99001 -0.99001 -0.99001));
 
 
 //
@@ -51,11 +44,11 @@ curvature           0.9;
 nCutLayers 2;
 
 // Refine until smallest edge of mesh < minEdgeLen
-minEdgeLen          0.1;
+minEdgeLen      0.1;
 
 // Or until the number of cells would become more than (stops one level before
 // this)
-cellLimit           2500000;
+cellLimit       2500000;
 
 
 //
@@ -111,16 +104,16 @@ directions
 
 // refinement level difference between neighbouring cells. Set to large if
 // there is no need for a limit.
-splitLevel 2;
+splitLevel      2;
 
 // Cut purely geometric (will cut hexes through vertices) or take topology
 // into account.
-geometricCut false;
+geometricCut    false;
 
 // Whether to use hex topology. This will never cut hex through vertices.
-useHexTopology yes;
+useHexTopology  yes;
 
 // Write meshes from intermediate steps
-writeMesh true;
+writeMesh       true;
 
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict b/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict
index 7ddbdf55505a10af550299049b5522dd0c3157c1..00cba81e43b9ccfda0c6e3267c64ffe8266bff4f 100644
--- a/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict
+++ b/applications/utilities/mesh/advanced/modifyMesh/modifyMeshDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          modifyMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      modifyMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/mesh/advanced/selectCells/selectCellsDict b/applications/utilities/mesh/advanced/selectCells/selectCellsDict
index ca1a66730d6e0e074d8a53d0c933ea9402e61c33..6211d4c8f071e19784653870f7889978d3451ee4 100644
--- a/applications/utilities/mesh/advanced/selectCells/selectCellsDict
+++ b/applications/utilities/mesh/advanced/selectCells/selectCellsDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          selectCellsDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      selectCellsDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -25,13 +18,13 @@ FoamFile
 
 // Whether to use surface. If false no surface will be read and only
 // outsidePoints/selectOutside will be used to determine cells to keep.
-useSurface false;
+useSurface      false;
 
 // Surface to keep to
-surface "plexi.ftr";
+surface         "plexi.ftr";
 
 // What is outside
-outsidePoints       ((-1 -1 -1));
+outsidePoints   ((-1 -1 -1));
 
 
 //
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
index 15be3f9c1d0e5c195602f49549f69e4e1950729b..1df11e06da1770d31a921d349cf9a0d863297d1c 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
+++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2007 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict
index e97b1ee9a756bc9d0e42de449a28e596566f60a6..5777ae8a8a3680e6b502ba363731541fba9d1074 100644
--- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict
+++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMeshDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          autoHexMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      autoHexMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -129,7 +122,7 @@ castellatedMeshControls
         {
             // Surface-wise min and max refinement level
             level (2 2);
-        
+
             // Optional region-wise level specification
             regions
             {
@@ -231,7 +224,7 @@ addLayersControls
     //  is the
     //  thickness of the layer furthest away from the wall.
     //  Relative to undistorted size of cell outside layer.
-    finalLayerRatio 0.3; 
+    finalLayerRatio 0.3;
 
     //- Minimum thickness of cell layer. If for any reason layer
     //  cannot be above minThickness do not add layer.
@@ -254,20 +247,20 @@ addLayersControls
     //  before upon reaching a correct mesh.
     nRelaxIter 5;
 
-    // Number of smoothing iterations of surface normals 
+    // Number of smoothing iterations of surface normals
     nSmoothSurfaceNormals 1;
 
-    // Number of smoothing iterations of interior mesh movement direction  
+    // Number of smoothing iterations of interior mesh movement direction
     nSmoothNormals 3;
 
     // Smooth layer thickness over surface patches
     nSmoothThickness 10;
 
-    // Stop layer growth on highly warped cells 
+    // Stop layer growth on highly warped cells
     maxFaceThicknessRatio 0.5;
 
-    // Reduce layer growth where ratio thickness to medial 
-    // distance is large 
+    // Reduce layer growth where ratio thickness to medial
+    // distance is large
     maxThicknessToMedialRatio 0.3;
 
     // Angle used to pick up medial axis points
@@ -313,7 +306,7 @@ meshQualityControls
     //- 1 = hex, <= 0 = folded or flattened illegal cell
     minDeterminant 0.001;
 
-    //- minFaceWeight (0 -> 0.5) 
+    //- minFaceWeight (0 -> 0.5)
     minFaceWeight 0.05;
 
     //- minVolRatio (0 -> 1)
diff --git a/applications/utilities/mesh/manipulation/cellSet/cellSetDict b/applications/utilities/mesh/manipulation/cellSet/cellSetDict
index ef169f5055700fbca9f8c4226af8eaf705c37b78..3bda8ccd01a733b0809115b75dd237fb7a23671c 100644
--- a/applications/utilities/mesh/manipulation/cellSet/cellSetDict
+++ b/applications/utilities/mesh/manipulation/cellSet/cellSetDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          cellSetDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      cellSetDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -36,7 +29,7 @@ topoSetSources
     // Copy elements from cellSet
     cellToCell
     {
-        set c1;     
+        set c1;
     }
 
     // Select based on faceSet
@@ -51,7 +44,7 @@ topoSetSources
     }
 
     // Select based on pointSet
-    pointToCell     
+    pointToCell
     {
         set p0;
         option any;         // cell with any point in pointSet
diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatch.C b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
index e1e428471279431e6157f18f734aa4971bd36cef..9ba825083ff51b896bdaac5db3f1914a3da7dce5 100644
--- a/applications/utilities/mesh/manipulation/createPatch/createPatch.C
+++ b/applications/utilities/mesh/manipulation/createPatch/createPatch.C
@@ -26,8 +26,15 @@ Description
     Utility to create patches out of selected boundary faces. Faces come either
     from existing patches or from a faceSet.
 
+    More specifically it:
+    - creates new patches (from selected boundary faces). Synchronise faces
+      on coupled patches.
+    - synchronises points on coupled boundaries
+    - remove patches with 0 faces in them
+
 \*---------------------------------------------------------------------------*/
 
+#include "syncTools.H"
 #include "argList.H"
 #include "polyMesh.H"
 #include "Time.H"
@@ -48,6 +55,23 @@ namespace Foam
     defineTemplateTypeNameAndDebug(IOPtrList<dictionary>, 0);
 }
 
+// Combine operator to synchronise points. We choose point nearest to origin so
+// we can use e.g. great,great,great as null value.
+class nearestEqOp
+{
+
+public:
+
+    void operator()(vector& x, const vector& y) const
+    {
+        if (magSqr(y) < magSqr(x))
+        {
+            x = y;
+        }
+    }
+};
+
+
 
 label getPatch(const polyBoundaryMesh& patches, const word& patchName)
 {
@@ -55,7 +79,7 @@ label getPatch(const polyBoundaryMesh& patches, const word& patchName)
 
     if (patchI == -1)
     {
-        FatalErrorIn("createPatch")
+        FatalErrorIn("createPatch(const polyBoundaryMesh&, const word&)")
             << "Cannot find source patch " << patchName
             << endl << "Valid patch names are " << patches.names()
             << exit(FatalError);
@@ -105,47 +129,174 @@ void changePatchID
 // Filter out the empty patches.
 void filterPatches(polyMesh& mesh)
 {
-    Info<< "Filtering empty patches." << endl;
-
     const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
-    // Old patches.
+    // Patches to keep
     DynamicList<polyPatch*> allPatches(patches.size());
 
-    labelList compactPatchMap(patches.size());
+    label nOldPatches = returnReduce(patches.size(), sumOp<label>());
 
     // Copy old patches.
     forAll(patches, patchI)
     {
         const polyPatch& pp = patches[patchI];
 
-        if (pp.size() > 0)
+        // Note: reduce possible since non-proc patches guaranteed in same order
+        if (!isA<processorPolyPatch>(pp))
         {
-            compactPatchMap[patchI] = allPatches.size();
+            if (returnReduce(pp.size(), sumOp<label>()) > 0)
+            {
+                allPatches.append
+                (
+                    pp.clone
+                    (
+                        patches,
+                        allPatches.size(),
+                        pp.size(),
+                        pp.start()
+                    ).ptr()
+                );
+            }
+            else
+            {
+                Info<< "Removing empty patch " << pp.name() << " at position "
+                    << patchI << endl;
+            }
+        }
+    }
+    // Copy non-empty processor patches
+    forAll(patches, patchI)
+    {
+        const polyPatch& pp = patches[patchI];
 
-            allPatches.append
-            (
-                pp.clone
+        if (isA<processorPolyPatch>(pp))
+        {
+            if (pp.size() > 0)
+            {
+                allPatches.append
                 (
-                    patches,
-                    allPatches.size(),
-                    pp.size(),
-                    pp.start()
-                ).ptr()
-            );
+                    pp.clone
+                    (
+                        patches,
+                        allPatches.size(),
+                        pp.size(),
+                        pp.start()
+                    ).ptr()
+                );
+            }
+            else
+            {
+                Info<< "Removing empty processor patch " << pp.name()
+                    << " at position " << patchI << endl;
+            }
         }
-        else
+    }
+
+    label nAllPatches = returnReduce(allPatches.size(), sumOp<label>());
+    if (nAllPatches != nOldPatches)
+    {
+        Info<< "Removing patches." << endl;
+        allPatches.shrink();
+        mesh.removeBoundary();
+        mesh.addPatches(allPatches);
+    }
+    else
+    {
+        Info<< "No patches removed." << endl;
+    }
+}
+
+
+// Dump for all patches the current match
+void dumpCyclicMatch(const fileName& prefix, const polyMesh& mesh)
+{
+    const polyBoundaryMesh& patches = mesh.boundaryMesh();
+
+    forAll(patches, patchI)
+    {
+        if (isA<cyclicPolyPatch>(patches[patchI]))
         {
-            Info<< "Removing empty patch " << pp.name() << " at position "
-                << patchI << endl;
+            const cyclicPolyPatch& cycPatch =
+                refCast<const cyclicPolyPatch>(patches[patchI]);
 
-            compactPatchMap[patchI] = -1;
+            label halfSize = cycPatch.size()/2;
+
+            // Dump halves
+            {
+                OFstream str(prefix+cycPatch.name()+"_half0.obj");
+                meshTools::writeOBJ
+                (
+                    str,
+                    static_cast<faceList>
+                    (
+                        SubList<face>
+                        (
+                            cycPatch,
+                            halfSize
+                        )
+                    ),
+                    cycPatch.points()
+                );
+            }
+            {
+                OFstream str(prefix+cycPatch.name()+"_half1.obj");
+                meshTools::writeOBJ
+                (
+                    str,
+                    static_cast<faceList>
+                    (
+                        SubList<face>
+                        (
+                            cycPatch,
+                            halfSize,
+                            halfSize
+                        )
+                    ),
+                    cycPatch.points()
+                );
+            }
+
+//            cycPatch.writeOBJ
+//            (
+//                prefix+cycPatch.name()+"_half0.obj",
+//                SubList<face>
+//                (
+//                    cycPatch,
+//                    halfSize
+//                ),
+//                cycPatch.points()
+//            );
+//            cycPatch.writeOBJ
+//            (
+//                prefix+cycPatch.name()+"_half1.obj",
+//                SubList<face>
+//                (
+//                    cycPatch,
+//                    halfSize,
+//                    halfSize
+//                ),
+//                cycPatch.points()
+//            );
+
+            // Lines between corresponding face centres
+            OFstream str(prefix+cycPatch.name()+"_match.obj");
+            label vertI = 0;
+
+            for (label faceI = 0; faceI < halfSize; faceI++)
+            {
+                const point& fc0 = mesh.faceCentres()[cycPatch.start()+faceI];
+                meshTools::writeOBJ(str, fc0);
+                vertI++;
+
+                label nbrFaceI = halfSize + faceI;
+                const point& fc1 = mesh.faceCentres()[cycPatch.start()+nbrFaceI];
+                meshTools::writeOBJ(str, fc1);
+                vertI++;
+
+                str<< "l " << vertI-1 << ' ' << vertI << nl;
+            }
         }
     }
-    allPatches.shrink();
-
-    mesh.removeBoundary();
-    mesh.addPatches(allPatches);
 }
 
 
@@ -153,99 +304,147 @@ void filterPatches(polyMesh& mesh)
 
 int main(int argc, char *argv[])
 {
-    argList::noParallel();
     argList::validOptions.insert("overwrite", "");
 
 #   include "setRootCase.H"
 #   include "createTime.H"
-#   include "createPolyMesh.H"
 
-    bool overwrite = args.options().found("overwrite");
+    const bool overwrite = args.options().found("overwrite");
 
-    Info<< "Reading createPatchDict\n" << endl;
+    Info<< "Reading createPatchDict." << nl << endl;
 
-    PtrList<dictionary> patchSources
+    IOdictionary dict
     (
-        IOdictionary
+        IOobject
         (
-            IOobject
-            (
-                "createPatchDict",
-                runTime.system(),
-                runTime,
-                IOobject::MUST_READ,
-                IOobject::NO_WRITE,
-                false
-            )
-        ).lookup("patches")
+            "createPatchDict",
+            runTime.system(),
+            runTime,
+            IOobject::MUST_READ,
+            IOobject::NO_WRITE,
+            false
+        )
     );
 
+
+    // Whether to synchronise points
+    const Switch pointSync(dict.lookup("pointSync"));
+
+
+    // Set the matching tolerance so we can read illegal meshes
+    scalar tol = readScalar(dict.lookup("matchTolerance"));
+    Info<< "Using relative tolerance " << tol
+        << " to match up faces and points" << nl << endl;
+    coupledPolyPatch::matchTol = tol;
+
+
+#   include "createPolyMesh.H"
+
     const polyBoundaryMesh& patches = mesh.boundaryMesh();
 
+    // If running parallel check same patches everywhere
+    patches.checkParallelSync(true);
 
-    // 1. All all new patches
-    // ~~~~~~~~~~~~~~~~~~~~~~
 
-    // Old and new patches.
-    DynamicList<polyPatch*> allPatches(patches.size() + patchSources.size());
+    dumpCyclicMatch("initial_", mesh);
 
-    // Copy old patches.
-    forAll(patches, patchI)
-    {
-        const polyPatch& pp = patches[patchI];
+    // Read patch construct info from dictionary
+    PtrList<dictionary> patchSources(dict.lookup("patches"));
 
-        Info<< "Copying patch " << pp.name() << " at position "
-            << patchI << endl;
 
-        allPatches.append
-        (
-            pp.clone
-            (
-                patches,
-                patchI,
-                pp.size(),
-                pp.start()
-            ).ptr()
-        );
-    }
 
-    forAll(patchSources, addedI)
+    // 1. Add all new patches
+    // ~~~~~~~~~~~~~~~~~~~~~~
+
+    if (patchSources.size() > 0)
     {
-        const dictionary& dict = patchSources[addedI];
+        // Old and new patches.
+        DynamicList<polyPatch*> allPatches(patches.size()+patchSources.size());
 
-        word patchName(dict.lookup("name"));
+        label startFaceI = mesh.nInternalFaces();
 
-        label destPatchI = patches.findPatchID(patchName);
+        // Copy old patches.
+        forAll(patches, patchI)
+        {
+            const polyPatch& pp = patches[patchI];
 
-        word patchType(dict.lookup("type"));
+            if (!isA<processorPolyPatch>(pp))
+            {
+                allPatches.append
+                (
+                    pp.clone
+                    (
+                        patches,
+                        patchI,
+                        pp.size(),
+                        startFaceI
+                    ).ptr()
+                );
+                startFaceI += pp.size();
+            }
+        }
 
-        if (destPatchI == -1)
+        forAll(patchSources, addedI)
         {
-            destPatchI = allPatches.size();
+            const dictionary& dict = patchSources[addedI];
 
-            Info<< "Adding new patch " << patchName << " of type " << patchType
-                << " as patch " << destPatchI << endl;
+            word patchName(dict.lookup("name"));
 
-            // Add an empty patch.
-            allPatches.append
-            (
-                polyPatch::New
+            label destPatchI = patches.findPatchID(patchName);
+
+            word patchType(dict.lookup("type"));
+
+            if (destPatchI == -1)
+            {
+                destPatchI = allPatches.size();
+
+                Info<< "Adding new patch " << patchName
+                    << " of type " << patchType
+                    << " as patch " << destPatchI << endl;
+
+                // Add an empty patch.
+                allPatches.append
                 (
-                    patchType,
-                    patchName,
-                    0,
-                    mesh.nFaces(),
-                    destPatchI,
-                    patches
-                ).ptr()
-            );
+                    polyPatch::New
+                    (
+                        patchType,
+                        patchName,
+                        0,              // size
+                        startFaceI,     // start
+                        destPatchI,
+                        patches
+                    ).ptr()
+                );
+            }
+        }
+
+        // Copy old patches.
+        forAll(patches, patchI)
+        {
+            const polyPatch& pp = patches[patchI];
+
+            if (isA<processorPolyPatch>(pp))
+            {
+                allPatches.append
+                (
+                    pp.clone
+                    (
+                        patches,
+                        patchI,
+                        pp.size(),
+                        startFaceI
+                    ).ptr()
+                );
+                startFaceI += pp.size();
+            }
         }
-    }
 
-    allPatches.shrink();
+        allPatches.shrink();
+        mesh.removeBoundary();
+        mesh.addPatches(allPatches);
 
-    mesh.removeBoundary();
-    mesh.addPatches(allPatches);
+        Info<< endl;
+    }
 
 
 
@@ -303,8 +502,8 @@ int main(int argc, char *argv[])
 
             faceSet faces(mesh, setName);
 
-            Info<< "Read " << faces.size() << " faces from faceSet "
-                << faces.name() << endl;
+            Info<< "Read " << returnReduce(faces.size(), sumOp<label>())
+                << " faces from faceSet " << faces.name() << endl;
 
             // Sort (since faceSet contains faces in arbitrary order)
             labelList faceLabels(faces.toc());
@@ -341,15 +540,45 @@ int main(int argc, char *argv[])
                 << "Valid source types are 'patches' 'set'" << exit(FatalError);
         }
     }
+    Info<< endl;
 
-    // Change mesh, no inflation
-    meshMod.changeMesh(mesh, false);
 
+    // Change mesh, use inflation to reforce calculation of transformation
+    // tensors.
+    Info<< "Doing topology modification to order faces." << nl << endl;
+    autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, true);
+    mesh.movePoints(map().preMotionPoints());
 
+    // Synchronise points.
+    if (!pointSync)
+    {
+        Info<< "Not synchronising points." << nl << endl;
+    }
+    else
+    {
+        Info<< "Synchronising points." << endl;
+
+        pointField newPoints(mesh.points());
+        syncTools::syncPointList
+        (
+            mesh,
+            newPoints,
+            nearestEqOp(),              // cop
+            point(GREAT, GREAT, GREAT), // nullValue
+            true                        // applySeparation
+        );
+
+        scalarField diff(mag(newPoints-mesh.points()));
+        Info<< "Points changed by average:" << gAverage(diff)
+            << " max:" << gMax(diff) << nl << endl;
+
+        mesh.movePoints(newPoints);
+    }
 
     // 3. Remove zeros-sized patches
     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+    Info<< "Removing patches with no faces in them." << nl<< endl;
     filterPatches(mesh);
 
 
@@ -363,7 +592,7 @@ int main(int argc, char *argv[])
     }
 
     // Write resulting mesh
-    Info<< "Writing repatched mesh to " << runTime.timeName() << endl;
+    Info<< "Writing repatched mesh to " << runTime.timeName() << nl << endl;
     mesh.write();
 
     Info<< "End\n" << endl;
diff --git a/applications/utilities/mesh/manipulation/createPatch/createPatchDict b/applications/utilities/mesh/manipulation/createPatch/createPatchDict
index f11d33a0ea769e1af74ff70e9227beb1d7cccc4c..1153d0204d7db267d52ed8830556e52fe1010032 100644
--- a/applications/utilities/mesh/manipulation/createPatch/createPatchDict
+++ b/applications/utilities/mesh/manipulation/createPatch/createPatchDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          createPatcheDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      createPatchDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -26,6 +19,11 @@ FoamFile
 // face times this factor.
 matchTolerance 1E-3;
 
+// Do a synchronisation of coupled points.
+pointSync true;
+
+// Patches to create.
+// If no patches does a coupled point and face synchronisation anyway.
 patches
 (
     {
diff --git a/applications/utilities/mesh/manipulation/faceSet/faceSetDict b/applications/utilities/mesh/manipulation/faceSet/faceSetDict
index 4121a0001870dbbef85e19ccd89e475e938b68fb..4f6c0d15096bae504a4a63231c3444ddaea5e151 100644
--- a/applications/utilities/mesh/manipulation/faceSet/faceSetDict
+++ b/applications/utilities/mesh/manipulation/faceSet/faceSetDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          faceSetDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      faceSetDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -86,5 +79,4 @@ topoSetSources
     }
 );
 
-
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict
index cfa3e68d5f751e9f3058c944b3f20f41bb18e0c8..bb6cfe7a1e28becca801e96913654cd69d0feaab 100644
--- a/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict
+++ b/applications/utilities/mesh/manipulation/mirrorMesh/mirrorMeshDict
@@ -1,36 +1,28 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version  1.0;
-    format   ascii;
-
-    root     "";
-    case     "";
-    instance "system";
-    local    "";
-
-    class    dictionary;
-    object   mirrorMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      mirrorMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-planeType                       pointAndNormal;
+planeType           pointAndNormal;
 
 pointAndNormalDict
 {
-    basePoint                   (0 0 0);
-    normalVector                (0 1 0);
+    basePoint       (0 0 0);
+    normalVector    (0 1 0);
 }
 
-planeTolerance                  1e-3;
-
+planeTolerance      1e-3;
 
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/manipulation/pointSet/pointSetDict b/applications/utilities/mesh/manipulation/pointSet/pointSetDict
index cb1c8b2d15b4f007146e6cb948ead7471f77a55f..27a43d3ad9b6f76897b388b15e575c410220f921 100644
--- a/applications/utilities/mesh/manipulation/pointSet/pointSetDict
+++ b/applications/utilities/mesh/manipulation/pointSet/pointSetDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          pointSetDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      pointSetDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -33,9 +26,9 @@ action new;
 topoSetSources
 (
     // Copy elements from pointSet
-    pointToPoint     
+    pointToPoint
     {
-        set p1;     
+        set p1;
     }
 
     // Select based on cellSet
@@ -76,5 +69,4 @@ topoSetSources
     }
 );
 
-
 // ************************************************************************* //
diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict
index 67c49c13d5ef482527b1f94af258587711a9a324..f05502b755ca3e3d1db38c2b1b077f6efbc26bb2 100644
--- a/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict
+++ b/applications/utilities/mesh/manipulation/refineMesh/refineMeshDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          refineMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      refineMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -59,13 +52,13 @@ directions
 // Whether to use hex topology. This will
 // - if patchLocal: all cells on selected patch should be hex
 // - split all hexes in 2x2x2 through the middle of edges.
-useHexTopology true;
+useHexTopology  true;
 
 // Cut purely geometric (will cut hexes through vertices) or take topology
 // into account. Incompatible with useHexTopology
-geometricCut false;
+geometricCut    false;
 
 // Write meshes from intermediate steps
-writeMesh false;
+writeMesh       false;
 
 // ************************************************************************* //
diff --git a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluentDict b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluentDict
index 32ca5ceb856a7d11419d209a2edaa3c2e1970fd2..469257e90a53c32c2b4837de779246c9e0f27d4f 100644
--- a/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluentDict
+++ b/applications/utilities/postProcessing/dataConversion/foamDataToFluent/foamDataToFluentDict
@@ -1,25 +1,17 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    note            "FOAM to Fluent interface control dictionary";
-
-    class           dictionary;
-    object          foamDataToFluentDict;
+    version     2.0;
+    format      ascii;
+    note        "OpenFOAM to Fluent interface control dictionary";
+    class       dictionary;
+    object      foamDataToFluentDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
index a1b459c4a18b7c5d5840d0d7fbfbcffed56c278f..007fb1f6a2e521430cf36515297e73f75b4e698c 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2007 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.H
index e2f5ef2860102d50ef6dbe39ccbad8951a2d0f3c..70f5d33d73d2b225af1e262e9f8153621d7487a4 100644
--- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.H
+++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/ensightOutputFunctions.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 1991-2007 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 1991-2008 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannelDict b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannelDict
index cf5aedac3661d2330db82727573e3737448fc9bc..1785207adc50cfd66ffb6d0eb1fcfe4660b4d437 100644
--- a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannelDict
+++ b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannelDict
@@ -1,31 +1,24 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          postChannelDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      postChannelDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 Nx    40;
-Ny    
+Ny
 (
-	50
+    50
 );
 Nz    30;
 
diff --git a/applications/utilities/preProcessing/mapFields/mapFieldsDict b/applications/utilities/preProcessing/mapFields/mapFieldsDict
index d44eff5cbae919b1269a4297bdc0a718e04b9174..3f78955a0558da2b88ab5328ad8ce02758ae000a 100644
--- a/applications/utilities/preProcessing/mapFields/mapFieldsDict
+++ b/applications/utilities/preProcessing/mapFields/mapFieldsDict
@@ -1,39 +1,31 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.3                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          mapFieldsDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      mapFieldsDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 // List of pairs of source/target patches for mapping
-patchMap        
+patchMap
 (
     lid movingWall
 );
 
 // List of target patches cutting the source domain (these need to be
 // handled specially e.g. interpolated from internal values)
-cuttingPatches  
+cuttingPatches
 (
     fixedWalls
 );
 
-
 // ************************************************************************* //
diff --git a/applications/utilities/preProcessing/setFields/setFieldsDict b/applications/utilities/preProcessing/setFields/setFieldsDict
index 4867e4f3bfd1e3f3510516e181cbe41788d1aacd..13521c54731e909114fdb9ea0e09594bfea00f9a 100644
--- a/applications/utilities/preProcessing/setFields/setFieldsDict
+++ b/applications/utilities/preProcessing/setFields/setFieldsDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          setFieldsDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      setFieldsDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -41,5 +34,4 @@ regions
     }
 );
 
-
 // ************************************************************************* //
diff --git a/applications/utilities/surface/surfaceSubset/surfaceSubsetDict b/applications/utilities/surface/surfaceSubset/surfaceSubsetDict
index 5ca59575f8a7411095a3be01aebaa7305b8cd7f0..70879af6f428700fe0b8d8f9dcd7cbd325732327 100644
--- a/applications/utilities/surface/surfaceSubset/surfaceSubsetDict
+++ b/applications/utilities/surface/surfaceSubset/surfaceSubsetDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.2/run/icoFoam";
-    case            "cavityTut";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          surfaceSubsetDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      surfaceSubsetDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -32,9 +25,10 @@ localPoints ( );
 edges ();
 
 // Select triangles (with face centre) inside box
-zone (
-(0      -10000  125)
-(10000   10000  10000)
+zone
+(
+    (0      -10000  125)
+    (10000   10000  10000)
 );
 
 // Select triangles (with face centre) inside or outside of another surface.
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/Hydrogen.log b/applications/utilities/thermophysical/adiabaticFlameT/Hydrogen.log
index f3e81b294e589b241001391ecb35c43166709152..954e40b6b75cf949e8f5b9c465000ec6bf9a29f1 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/Hydrogen.log
+++ b/applications/utilities/thermophysical/adiabaticFlameT/Hydrogen.log
@@ -1,19 +1,19 @@
 /*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.3.2                                 |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
-Exec   : adiabaticFlameT controlDict 
-Date   : Aug 20 2006
-Time   : 12:23:19
-Host   : dm
-PID    : 28866
-Root   : 
-Case   : 
-Nprocs : 1
+Exec   : adiabaticFlameT -case . controlDict
+Date   : Jul 14 2008
+Time   : 14:35:28
+Host   : auglx106
+PID    : 21193
+Case   : ./.
+nProcs : 1
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 Reading Burcat data dictionary
 stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 34.0752;
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/Methane.log b/applications/utilities/thermophysical/adiabaticFlameT/Methane.log
index f61db76d64f2b792783ceafd6e465e5631d9b5fa..c27fa56c2ebeea133231b78e9dcaca86931a4282 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/Methane.log
+++ b/applications/utilities/thermophysical/adiabaticFlameT/Methane.log
@@ -1,19 +1,19 @@
 /*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.2.1                                 |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
-Exec   : adiabaticFlameT controlDict 
-Date   : Dec 06 2005
-Time   : 15:25:54
-Host   : dm
-PID    : 19011
-Root   : 
-Case   : 
-Nprocs : 1
+Exec   : adiabaticFlameT -case . controlDict
+Date   : Jul 14 2008
+Time   : 14:36:14
+Host   : auglx106
+PID    : 21199
+Case   : ./.
+nProcs : 1
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 Reading Burcat data dictionary
 stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 17.1271;
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/Propane.log b/applications/utilities/thermophysical/adiabaticFlameT/Propane.log
index edab3b35ba7fc75e2c691fe3bc6a8890e30ed5a5..37aa406a656531bb3f24fa9e61be21fc45b7da65 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/Propane.log
+++ b/applications/utilities/thermophysical/adiabaticFlameT/Propane.log
@@ -1,39 +1,21 @@
 /*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
+Exec   : adiabaticFlameT -case . controlDict
+Date   : Jul 14 2008
+Time   : 14:36:39
+Host   : auglx106
+PID    : 21203
+Case   : ./.
+nProcs : 1
 
-Exec   : adiabaticFlameT controlDict 
-Date   : Dec 01 2004
-Time   : 14:24:02
-Host   : dm
-PID    : 8154
-Root   : 
-Case   : 
-Nprocs : 1
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 Reading Burcat data dictionary
---> FOAM Warning : dictionary::read(Istream&, const word&) :  could not add entry
-    CH3             ) 2 N-NO2 CH3 ) 2 N-NO2 1 90.0819 200 6000 1000 12.4704 0.0186035 -6.89302e-06 1.13155e-09 -6.84339e-14 -6246.84 -39.5039 4.2251 0.0224382 3.20606e-05 -5.84889e-08 2.50091e-11 -3013.8 7.7452;
-    on line 1067 of dictionary "/home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData"
-    entry already in dictionary : 
-ITstream : /home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData::CH3, lines 553-555, IOstream: Version 2.0, format ASCII, line 553, OPENED, GOOD
-
---> FOAM Warning : dictionary::read(Istream&, const word&) :  could not add entry
-    CH3             ) 2 CHOH CH3 ) 2 CHOH 1 60.0959 200 6000 1000 9.64268 0.0200225 -7.11954e-06 1.14138e-09 -6.79937e-14 -37484 -25.6345 4.30799 0.0102502 6.19844e-05 -9.03296e-08 3.7406e-11 -34924.9 7.5584;
-    on line 1387 of dictionary "/home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData"
-    entry already in dictionary : 
-ITstream : /home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData::CH3, lines 553-555, IOstream: Version 2.0, format ASCII, line 553, OPENED, GOOD
-
---> FOAM Warning : dictionary::read(Istream&, const word&) :  could not add entry
-    NH2             NH2 1 16.0226 200 6000 1000 2.84766 0.00314285 -8.98666e-07 1.30324e-10 -7.48854e-15 21823.9 6.47181 4.20556 -0.00213553 7.2682e-06 -5.93028e-09 1.80672e-12 21535.2 -0.146632;
-    on line 3411 of dictionary "/home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData"
-    entry already in dictionary : 
-ITstream : /home/dm2/henry/OpenFOAM/OpenFOAM-1.0/.OpenFOAM-1.0/thermoData/BurcatCpData::NH2, lines 637-639, IOstream: Version 2.0, format ASCII, line 637, OPENED, GOOD
-
 stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.5776;
 phi = 0.01
 ft = 0.000641534
diff --git a/applications/utilities/thermophysical/adiabaticFlameT/controlDict b/applications/utilities/thermophysical/adiabaticFlameT/controlDict
index 5d9621792c125f995cd4de808e9ad29dc7ea6adb..e7970f8e6ddd691422df3a24b61bf14bcbd012ce 100644
--- a/applications/utilities/thermophysical/adiabaticFlameT/controlDict
+++ b/applications/utilities/thermophysical/adiabaticFlameT/controlDict
@@ -1,36 +1,69 @@
-T0 300.0;
-
-fuel H2;
-n    0;
-m    2;
-
-
-/*
-fuel CH4(ANHARMONIC);
-n    1;
-m    4;
-*/
-
-/*
-fuel ETHYLENE;
-n    2;
-m    4;
-*/
-
-/*
-fuel PROPANE;
-n    3;
-m    8;
-*/
-
-/*
-fuel ISO-OCTANE(I-P);
-n    8;
-m    18;
-*/
-
-/*
-fuel C7H16;
-n    7;
-m    16;
-*/
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    note        "settings for calculating the adiabatic flame temperature";
+    class       dictionary;
+    object      controlDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+T0      300.0;
+
+H2
+{
+    fuel H2;
+    n    0;
+    m    2;
+}
+
+CH4
+{
+    fuel CH4(ANHARMONIC);
+    n    1;
+    m    4;
+}
+
+ETHYLENE
+{
+    fuel ETHYLENE;
+    n    2;
+    m    4;
+}
+
+PROPANE
+{
+    fuel PROPANE;
+    n    3;
+    m    8;
+}
+
+OCTANE
+{
+    fuel ISO-OCTANE(I-P);
+    n    8;
+    m    18;
+}
+
+C7H16
+{
+    fuel C7H16;
+    n    7;
+    m    16;
+}
+
+
+$H2;
+// $CH4;
+// $PROPANE;
+
+
+// ************************************************************************* //
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/Hydrogen.log b/applications/utilities/thermophysical/equilibriumFlameT/Hydrogen.log
index bc84afd42d320bb57fc49d8896dc91776e9f0c08..8884bc24996dd0dd6d39b9fd60f57dd4b8f5f3ff 100644
--- a/applications/utilities/thermophysical/equilibriumFlameT/Hydrogen.log
+++ b/applications/utilities/thermophysical/equilibriumFlameT/Hydrogen.log
@@ -1,19 +1,19 @@
 /*---------------------------------------------------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.3.2                                 |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
+Exec   : equilibriumFlameT -case . controlDict
+Date   : Jul 14 2008
+Time   : 14:42:27
+Host   : auglx106
+PID    : 21318
+Case   : ./.
+nProcs : 1
 
-Exec   : equilibriumFlameT controlDict 
-Date   : Aug 20 2006
-Time   : 12:29:44
-Host   : dm
-PID    : 28934
-Root   : 
-Case   : 
-Nprocs : 1
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 Reading Burcat data dictionary
 
diff --git a/applications/utilities/thermophysical/equilibriumFlameT/controlDict b/applications/utilities/thermophysical/equilibriumFlameT/controlDict
index 51f670d439052e7731a8d7d6ec75edb61291d0d2..65893bfd38f2b0bfeff4a6776f31d3c2d83fba0d 100644
--- a/applications/utilities/thermophysical/equilibriumFlameT/controlDict
+++ b/applications/utilities/thermophysical/equilibriumFlameT/controlDict
@@ -1,30 +1,69 @@
-P    1e5;
-
-fuel H2;
-n    0;
-m    2;
-
-/*
-fuel CH4ANHARMONIC;
-n    1;
-m    4;
-*/
-/*
-fuel ETHYLENE;
-n    2;
-m    4;
-*/
-
-/*
-fuel PROPANE;
-n    3;
-m    8;
-*/
-
-/*
-fuel ISOOCTANE;
-n    8;
-m    18;
-*/
-
-end;
+/*--------------------------------*- C++ -*----------------------------------*\
+| =========                 |                                                 |
+| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
+|    \\/     M anipulation  |                                                 |
+\*---------------------------------------------------------------------------*/
+FoamFile
+{
+    version     2.0;
+    format      ascii;
+    note        "settings for calculating the equilibrium flame temperature";
+    class       dictionary;
+    object      controlDict;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+P       1e5;
+
+H2
+{
+    fuel H2;
+    n    0;
+    m    2;
+}
+
+CH4
+{
+    fuel CH4(ANHARMONIC);
+    n    1;
+    m    4;
+}
+
+ETHYLENE
+{
+    fuel ETHYLENE;
+    n    2;
+    m    4;
+}
+
+PROPANE
+{
+    fuel PROPANE;
+    n    3;
+    m    8;
+}
+
+OCTANE
+{
+    fuel ISOOCTANE;
+    n    8;
+    m    18;
+}
+
+C7H16
+{
+    fuel C7H16;
+    n    7;
+    m    16;
+}
+
+
+$H2;
+// $CH4;
+// $PROPANE;
+
+
+// ************************************************************************* //
diff --git a/bin/tools/buildParaView3.3-cvs b/bin/buildParaView3.3-cvs
similarity index 78%
rename from bin/tools/buildParaView3.3-cvs
rename to bin/buildParaView3.3-cvs
index aadd851dbbf6fc641f207d5c16f04fe009e9df33..0327402419e01ed85ddbcdd89e0942b3b61250a8 100755
--- a/bin/tools/buildParaView3.3-cvs
+++ b/bin/buildParaView3.3-cvs
@@ -24,7 +24,7 @@
 #     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
 # Script
-#     buildParaView
+#     buildParaView3.3-cvs
 #
 # Description
 #     Build and install ParaView
@@ -38,32 +38,57 @@
 
 PARAVIEW_SRC="ParaView3.3-cvs"
 PARAVIEW_MAJOR_VERSION="3.3"
-
 VERBOSE=OFF
-INCLUDE_MPI=ON
+
+
+# User options
+# ~~~~~~~~~~~~
+
+# MPI suport
+INCLUDE_MPI=OFF
 MPI_MAX_PROCS=32
-INCLUDE_PYTHON=ON
+
+# Python
+# note: script will try to determine python library. If it fails, specify the
+#       path using the PYTHON_LIBRARY variable
+INCLUDE_PYTHON=OFF
 #PYTHON_LIBRARY="/usr/lib64/libpython2.5.so.1.0"
 PYTHON_LIBRARY=""
+
+# MESA graphics
 INCLUDE_MESA=OFF
 
+
+# No further editing should be required below this line
+#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 set +x
 
-# provide a shortcut for repeated builds - use with caution
+# Provide a shortcut for repeated builds - use with caution
 if [ "$#" -gt 0 ]
 then
    CMAKE_SKIP=YES
 fi
 
+
+# Initialisation
+#~~~~~~~~~~~~~~~
 initialiseVariables
 
+
+# Set configure options
+#~~~~~~~~~~~~~~~~~~~~~~
 addMpiSupport       # set MPI specific options
 addPythonSupport    # set python specific options
 addMesaSupport      # set MESA specific options
 
+
+# Build and install
+# ~~~~~~~~~~~~~~~~~
 buildParaView
 installParaView
 
+
 echo "done"
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamAllHC b/bin/foamAllHC
index e57d43dd27819bfcbb803e76c46fb7cf2a40249f..b42ab672d5e9c12d0373d01e6462d8d748e3d43c 100755
--- a/bin/foamAllHC
+++ b/bin/foamAllHC
@@ -27,9 +27,12 @@
 #     foamAllHC
 #
 # Description
-#     
+#
 #------------------------------------------------------------------------------
 
-find . -name "*.[HCL]" -exec $1 {} \; -print
+if [ "$#" -gt 0 ]
+then
+   find . -name "*.[HCL]" -exec $1 {} \; -print
+fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamClearPolyMesh b/bin/foamClearPolyMesh
index f54f148569ec6d6a5d9571fe39aa31bf9f808062..07531f68bf467ccdc41f02b78632e8d61d3a7288 100755
--- a/bin/foamClearPolyMesh
+++ b/bin/foamClearPolyMesh
@@ -27,20 +27,94 @@
 #     foamClearPolyMesh
 #
 # Description
-#     
+#    Remove the contents of the constant/polyMesh directory
+#    as per the Foam::polyMesh::removeFiles() method.
+#
 #------------------------------------------------------------------------------
+usage() {
+   while [ "$#" -ge 1 ]; do echo "$1" 1>&2; shift; done
+   cat <<USAGE 1>&2
+
+usage: ${0##*/} [-case dir]
+
+    Remove the contents of the constant/polyMesh directory
+    as per the Foam::polyMesh::removeFiles() method.
+
+USAGE
+   exit 1
+}
+
+unset caseDir
+unset meshDir
 
-if [ -d constant/polyMesh ]; then
-    echo "there is constant/polyMesh";
-    cd constant/polyMesh
+# parse options
+if [ "$#" -gt 0 ]; then
+   case "$1" in
+   -h | -help)
+      usage
+      ;;
+   -case)
+      shift
+      caseDir=$1
+      [ "$#" -ge 1 ] || usage "'-case' option requires an argument"
+      cd "$caseDir" 2>/dev/null || usage "directory does not exist:  '$caseDir'"
+      meshDir="constant/polyMesh"
+      ;;
+   *)
+      usage "unknown option/argument: '$*'"
+      ;;
+   esac
+fi
 
-elif [ -d polyMesh ]; then
-    echo "there is polyMesh";
-    cd polyMesh
+# meshDir is only set if -case was specified: insist upon 'constant/polyMesh'
+if [ -n "$meshDir" ]
+then
+   if [ ! -d "$meshDir" ]
+   then
+      echo "Error: no '$meshDir' in $caseDir" 1>&2
+      exit 1
+   fi
 else
-    echo "in polyMesh directory";
+   if [ -d constant/polyMesh ]
+   then
+      # use constant/polyMesh
+      meshDir=constant/polyMesh
+   elif [ -d polyMesh ]
+   then
+      # likely already in constant/
+      meshDir=polyMesh
+   elif [ "${PWD##*/}" = polyMesh ]
+   then
+      # apparently already within polyMesh/
+      meshDir=.
+   else
+      echo "Error: no appropriate 'polyMesh/' directory found" 1>&2
+      exit 1
+   fi
 fi
 
-rm -f pointFaces pointEdges pointCells faceEdges edges edgeFaces edgeCells cellEdges cellCells owner neighbour losort faceCentres faceAreas cellVolumes cellCentres
+
+#
+# remove files and subdirectories
+#
+echo "Clearing ${caseDir:-.}/$meshDir" 1>&2
+
+for i in \
+   points \
+   faces \
+   owner \
+   neighbour \
+   cells \
+   boundary \
+   pointZones \
+   faceZones \
+   cellZones \
+   meshModifiers \
+   parallelData \
+   sets \
+;
+do
+   rm -rf $meshDir/$i
+done
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamCopySettings b/bin/foamCopySettings
new file mode 100755
index 0000000000000000000000000000000000000000..22c7a6b32a023f74f9358c011570a9bf593ca78a
--- /dev/null
+++ b/bin/foamCopySettings
@@ -0,0 +1,100 @@
+#!/bin/sh
+#------------------------------------------------------------------------------
+# =========                 |
+# \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+#  \\    /   O peration     |
+#   \\  /    A nd           | Copyright (C) 1991-2008 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 2 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, write to the Free Software Foundation,
+#     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# Script
+#     foamCopySettings
+#
+# Description
+#     Usage: foamCopySettings srcDir dstDir
+#
+#     Copy OpenFOAM settings from one case to another, without copying
+#     the mesh or results
+#     - requires rsync
+#------------------------------------------------------------------------------
+if [ "$1" = "-h" -o "$1" = "-help" -o "$#" -ne 2 ]
+then
+   cat <<USAGE 1>&2
+Usage: ${0##*/} srcDir dstDir
+
+    Copy OpenFOAM settings from one case to another, without copying
+    the mesh or results.
+    - requires rsync
+
+USAGE
+   exit 1
+fi
+
+srcDir=$1
+dstDir=$2
+
+if [ ! -d $srcDir ]
+then
+   echo "Error: directory '$srcDir' does not exist"
+   exit 1
+fi
+
+if [ ! -d $dstDir ]
+then
+   echo "Error: directory '$dstDir' does not exist"
+   exit 1
+fi
+
+# check that the srcDir looks okay
+for i in $srcDir/constant $srcDir/system
+do
+   if [ ! -d $i ]
+   then
+      echo "Error: no '${i##*/}' directory in '$srcDir'"
+      echo "       does not appear to be an OpenFOAM case"
+      exit 1
+   fi
+done
+
+# files and directories to copy
+# avoid processor directories
+fileList=$(find -H $srcDir -mindepth 1 -maxdepth 1 -not -name "processor*")
+
+# TODO:
+#  - verify that it works with multiple mesh regions
+#  - special treatment for starting with negative crank angles
+
+for i in $fileList
+do
+   name="${i##*/}"
+   # skip numerical (results) directories (except 0)
+   # and things that look like queuing system output
+   case "$name" in
+   [1-9] | [0-9]?* | foam.[eo][1-9]*)
+      echo "$i  [skipped]"
+      continue
+      ;;
+   *)
+      echo "$i -> $dstDir/$name"
+      rsync --exclude polyMesh --exclude "processor*" -a $i $dstDir
+      ;;
+   esac
+done
+
+# --------------------------------------------------------------- end-of-file
diff --git a/bin/foamEbrowse b/bin/foamEbrowse
index 70fa6cf585de681cac6a37cc19f1547350aa375f..aea1cd16f62ef8cea4cb19fd1b985978aa7cdac0 100755
--- a/bin/foamEbrowse
+++ b/bin/foamEbrowse
@@ -41,12 +41,12 @@ if [ $# -ne 0 ]; then
    exit 1
 fi
 
+# Clean up on termination and on Ctrl-C
+trap 'rm -f $headersFile $sourcesFile 2>/dev/null; exit 0' EXIT TERM INT
+
 cd $WM_PROJECT_DIR
 find -H . -name "*.H" | fgrep -v "lnInclude" > $headersFile
 find -H . -name "*.C" | fgrep -v "lnInclude" > $sourcesFile
 ebrowse --files=$headersFile --files=$sourcesFile --output-file=.ebrowse
 
-# Clean up on termination and on Ctrl-C
-trap 'rm -f $headersFile $sourcesFile 2>/dev/null; exit 0' EXIT TERM INT
-
 #------------------------------------------------------------------------------
diff --git a/bin/foamInstallationTest b/bin/foamInstallationTest
index 746060d7e169ba3ccd998f5053a57268f3d55124..e7d8a6eaaed6f44c38c6d393ff70f45041c61cd2 100755
--- a/bin/foamInstallationTest
+++ b/bin/foamInstallationTest
@@ -27,51 +27,60 @@
 #     foamInstallationTest
 #
 # Description
-#     Checks the machine system, the installation of FOAM, and the user's
-#     personal configuration for running FOAM.
+#     Checks the machine system, the installation of OpenFOAM, and the user's
+#     personal configuration for running OpenFOAM.
 #
 #------------------------------------------------------------------------------
 
-# SETTINGS
-#~~~~~~~~~
-FOAM_VERSION=1.4.2
-GCC_VERSION=4.2.2
-GZIP_VERSION=1.3.5
-GTAR_VERSION=1.13.25
-JAVA_VERSION=1.4.2+
+# Base settings
+FOAM_VERSION=1.5
+SUPPLIED_VERSION_GCC=4.3.1
+MIN_VERSION_GCC=4.2.0
 
-#GLOBAL VARIABLES
+# General
+WIDTH=20
+
+# Global variables
 FATALERROR=0
 CRITICALERROR=0
 SSHRSHOK=0
 
-#SYSTEM VARIABLES
+# 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
+fi
+
+#==============================================================================
+#                             HELPER FUNCTIONS
+#==============================================================================
 
-# FUNCTIONS
-#~~~~~~~~~~
 hline () {
     echo "-------------------------------------------------------------------------------"
 }
 
+
 expenv () {
     eval "echo $1"
 }
 
+
 heading () {
     echo ""
     echo ""
     echo "$1"
 }
 
+
 lenBase () {
-echo $1 | tr -d " " | wc -m | tr -d " "
+    echo $1 | tr -d " " | wc -m | tr -d " "
 }
 
+
 length () {
     NOCHAR=`lenBase $1`
     NOCHAR=`expr $NOCHAR - 1`
@@ -81,10 +90,12 @@ length () {
     echo $NOCHAR
 }
 
+
 stringLength () {
 echo $1 | wc -m | tr -d " "
 }
 
+
 fixlen () {
     WORD=$1
     ONELEN=`stringLength $1`
@@ -102,6 +113,7 @@ fixlen () {
     fi
 }
 
+
 reportEnv () {
     EXP_ENV=`eval "echo $1"`
     EXP_PATH=`eval "echo $2"`
@@ -119,7 +131,12 @@ reportEnv () {
                     IFS=':'
                     for e in $EXP_PATH
                     do
-                        if [  "$e" = "$EXP_ENV" -o "$e" = "${EXP_ENV}/bin" -o "${EXP_ENV}/lib" = "$e"  ] ; then
+                        if                                \
+                        [                                 \
+                            "$e" = "$EXP_ENV"             \
+                         -o "$e" = "${EXP_ENV}/bin"       \
+                         -o "${EXP_ENV}/lib" = "$e"       \
+                        ] ; then
                             ON_PATH="yes "
                         fi
                     done
@@ -141,7 +158,12 @@ reportEnv () {
                     IFS=':'
                     for e in $EXP_PATH
                     do
-                        if [  "$e" = "$EXP_ENV" -o "$e" = "${EXP_ENV}/bin" -o "${EXP_ENV}/lib" = "$e"  ] ; then
+                        if                                \
+                        [                                 \
+                            "$e" = "$EXP_ENV"             \
+                         -o "$e" = "${EXP_ENV}/bin"       \
+                         -o "${EXP_ENV}/lib" = "$e"       \
+                        ] ; then
                             ON_PATH="yes "
                         fi
                     done
@@ -171,6 +193,7 @@ reportEnv () {
 
 }
 
+
 findExec() {
     OLD_IFS=$IFS
     IFS=':'
@@ -197,140 +220,117 @@ findExec() {
     return 1
 }
 
+
 reportExecutable () {
     APP_PATH=""
     APP_PATH=`findExec $PATH $1`
     APP_SPEC="$2"
-    if [ `length $APP_PATH` -eq 0 ];then
+    if [ ! -n $APP_PATH ];then
         echo "`fixlen "$1" 9`" "*** not installed ***"
         VERSION=""
         case $1 in
-            icoFoam) echo "          CRITICAL ERROR"
-            CRITICALERROR=`expr $CRITICALERROR + 1` ;;
-            gcc) echo "          CRITICAL ERROR"
-            CRITICALERROR=`expr $CRITICALERROR + 1`;;
+            icoFoam)
+                echo "          CRITICAL ERROR"
+                CRITICALERROR=`expr $CRITICALERROR + 1`
+                ;;
+            gcc)
+                echo "          CRITICAL ERROR"
+                CRITICALERROR=`expr $CRITICALERROR + 1`
+                ;;
+            tar) ;;
             gtar) ;;
             gzip) ;;
             dx) ;;
-            java) ;;
         esac
         echo
         return 1
     fi
     case $1 in
-        icoFoam) VERSION=`$1 2>&1 | grep ' Version:' | sed -e 's/.*Version:/Version:/' | cut -d" " -f2`;;
-        gcc) VERSION=`$1 -v 2>&1 | grep 'version' | cut -d" " -f3`;;
-        gtar) VERSION=`$APP_PATH --version | head -1`;;
+        icoFoam)
+            VERSION=`$1 2>&1                      \
+                | \grep ' Version:'               \
+                | sed -e 's/.*Version:/Version:/' \
+                | cut -d" " -f3`
+            ;;
+        gcc)
+            VERSION=`$1 -v 2>&1                  \
+                | grep 'version'                 \
+                | cut -d" " -f3`
+            if [ ! "$VERSION" = "$SUPPLIED_VERSION_GCC" ]; then
+                echo "WARNING: gcc version does not match gcc supplied" \
+                     "with this release of OpenFOAM"
+                echo "         Supplied version: $SUPPLIED_VERSION_GCC"
+                echo "         User version    : $VERSION"
+                echo "         Minimum required: $MIN_VERSION_GCC"
+                echo ""
+            fi
+            ;;
+        gtar)
+            VERSION=`$APP_PATH --version | head -1`
+            ;;
+        tar)
+            VERSION=`$APP_PATH --version | head -1 | cut -d" " -f4`
+            ;;
         gzip)
             case $OS in
-            SunOS) VERSION=`$1 --version 2>&1 | grep gzip | cut -d" " -f2`;;
-            *) VERSION=`$1 --version | head -1 | cut -d" " -f2`;;
+                SunOS)
+                    VERSION=`$1 --version 2>&1 | grep gzip | cut -d" " -f2`
+                    ;;
+                *)
+                    VERSION=`$1 --version | head -1 | cut -d" " -f2`
+                    ;;
             esac
             ;;
-        dx) unset DXEXEC; VERSION=`$1 -version 2>&1 | grep 'Open ' | grep 'Script' | cut -d" " -f6`;;
-        java) VERSION=`$1 -version 2>&1 | grep 'version' | cut -d" " -f3 | tr -d "\""`;;
     esac
     if [ "$APP_PATH" = "$APP_SPEC" ] || [ ! "$2" ]; then
         echo "`fixlen "$1" 9` `fixlen "$VERSION" 10` `fixlen "$APP_PATH" 58`"
     else
         echo "`fixlen "$1" 9` `fixlen "$VERSION" 10`"
         echo "WARNING:  Conflicting installations:"
-        echo "          foam settings: $APP_SPEC"
-        echo "          current path : $APP_PATH"
+        echo "          OpenFOAM settings        : $APP_SPEC"
+        echo "          current path             : $APP_PATH"
         case $1 in
-            icoFoam) echo "          CRITICAL ERROR"
-            CRITICALERROR=`expr $CRITICALERROR + 1` ;;
-            gcc) echo "          CRITICAL ERROR"
-            CRITICALERROR=`expr $CRITICALERROR + 1`;;
+            icoFoam)
+                echo "          CRITICAL ERROR"
+                CRITICALERROR=`expr $CRITICALERROR + 1`
+                ;;
+            gcc)
+                echo "          CRITICAL ERROR"
+                CRITICALERROR=`expr $CRITICALERROR + 1`
+                ;;
             gtar) ;;
             gzip) ;;
             dx) ;;
-            java) ;;
         esac
-        echo
+        echo ""
     fi
 }
 
-checkPermissions () {
-    PERMISSIONS=""
+
+pingTest () {
+    RESULT=""
     case $OS in
-    SunOS)
-        if /usr/bin/test -e "$1"  ; then
-            if /usr/bin/test -r $1  ; then
-                PERMISSIONS="${PERMISSIONS}r"
-            else
-                PERMISSIONS="${PERMISSIONS} "
-            fi
-            if /usr/bin/test -w $1  ; then
-                PERMISSIONS="${PERMISSIONS}w"
-            else
-                PERMISSIONS="${PERMISSIONS} "
-            fi
-            if /usr/bin/test -w $1  ; then
-                PERMISSIONS="${PERMISSIONS}x"
-            else
-                PERMISSIONS="${PERMISSIONS} "
-            fi
-            echo "`fixlen "$1" 50` `fixlen "$PERMISSIONS" 5` `fixlen "$2" 5` `fixlen "$3" 6`"
-        else
-            echo "`fixlen "$1" 50` does not exist `fixlen "" 10` `fixlen "$3" 6`"
-        fi
-        ;;
-    *)
-        if [ -e "$1" ] ; then
-            if [ -r $1 ] ; then
-                PERMISSIONS="${PERMISSIONS}r"
-            else
-                PERMISSIONS="${PERMISSIONS} "
-            fi
-            if [ -w $1 ] ; then
-                PERMISSIONS="${PERMISSIONS}w"
+        SunOS)
+            PINGTEST=`/usr/sbin/ping $1 2>&1`
+            if  [ "`echo $PINGTEST | grep "alive"`" != "" ] ; then
+                RESULT="Successful"
+            elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
+                RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
             else
-                PERMISSIONS="${PERMISSIONS} "
+                RESULT="Networking_cannot_reach_$1"
             fi
-            if [ -w $1 ] ; then
-                PERMISSIONS="${PERMISSIONS}x"
+            ;;
+        *)
+            PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1`
+            if  [ "`echo $PINGTEST | grep "1 received"`" != "" ] ; then
+                RESULT="Successful"
+            elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
+                RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
             else
-                PERMISSIONS="${PERMISSIONS} "
+                RESULT="Networking_cannot_reach_$1"
             fi
-            echo "`fixlen "$1" 50` `fixlen "$PERMISSIONS" 5` `fixlen "$2" 5` `fixlen "$3" 6`"
-        else
-            echo "`fixlen "$1" 50` does not exist `fixlen "" 10` `fixlen "$3" 6`"
-        fi
-    ;;
+            ;;
     esac
-    if [ "$3" = "yes" ] && [ ! "$PERMISSIONS" = "$2" ]; then
-        CRITICALERROR=`expr $CRITICALERROR + 1`
-        echo "WARNING: CRITICAL ERROR"
-        echo
-    fi
-}
-
-pingTest () {
-RESULT=""
-case $OS in
-    SunOS)
-        PINGTEST=`/usr/sbin/ping $1 2>&1`
-        if  [ "`echo $PINGTEST | grep "alive"`" != "" ] ; then
-            RESULT="Successful"
-        elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
-            RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
-        else
-            RESULT="Networking_cannot_reach_$1"
-        fi
-        ;;
-    *)
-        PINGTEST=`/bin/ping -w 3 -c 1 $1 2>&1`
-            if  [ "`echo $PINGTEST | grep "1 received"`" != "" ] ; then
-            RESULT="Successful"
-        elif  [ "`echo $PINGTEST | grep "unknown host"`" != "" ] ; then
-            RESULT="No_entry_for_\"$1\"_in_/etc/hosts"
-        else
-            RESULT="Networking_cannot_reach_$1"
-        fi
-        ;;
-esac
-#   echo "inna pingtest2 $1  $RESULT" 1>&2
 
     echo "`fixlen "Pinging_$1" 25` `fixlen "$RESULT" 45` `fixlen "$2" 5`"
 
@@ -341,6 +341,7 @@ esac
     fi
 }
 
+
 telnetPortTest () {
 telnet -e A $1 $2 <<EOF
 A
@@ -348,213 +349,165 @@ quit
 EOF
 }
 
+
 checkTelnetPort () {
-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'
-    elif [ "`echo $RESULT | grep 'Connection refused'`" ] ; then
-        RESULT='Unsuccessful_connection_refused*'
+    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'
+        elif [ "`echo $RESULT | grep 'Connection refused'`" ] ; then
+            RESULT='Unsuccessful_connection_refused*'
+        else
+            RESULT="Not_active*"
+        fi
     else
-        RESULT="Not_active*"
+        RESULT='No_telnet_running:_cannot_check*'
     fi
-else
-    RESULT='No_telnet_running:_cannot_check*'
-fi
 }
 
+
 checkRsh () {
-checkTelnetPort $HOST_NAME 222
-echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes""
-if [ "$RESULT" != 'Successful' ]; then
-    SSHRSHOK=`expr $SSHRSHOK + 1`
-fi
+    checkTelnetPort $HOST_NAME 222
+    echo "`fixlen "Test_rsh:" 25` `fixlen "$RESULT" 45` "yes""
+    if [ "$RESULT" != 'Successful' ]; then
+        SSHRSHOK=`expr $SSHRSHOK + 1`
+    fi
 }
 
+
 checkSsh () {
-checkTelnetPort $HOST_NAME 22
-echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes""
-if [ "$RESULT" != 'Successful' ]; then
-    SSHRSHOK=`expr $SSHRSHOK + 1`
-fi
+    checkTelnetPort $HOST_NAME 22
+    echo "`fixlen "Test_ssh:" 25` `fixlen "$RESULT" 45` "yes""
+    if [ "$RESULT" != 'Successful' ]; then
+        SSHRSHOK=`expr $SSHRSHOK + 1`
+    fi
+}
+
+
+checkOpenFOAMEnvironment() {
+    if [ ! -d "$WM_PROJECT_INST_DIR" -o ! -d "$WM_THIRD_PARTY_DIR" ]; then
+        echo ""
+        echo "FATAL ERROR: OpenFOAM environment not configured."
+        echo ""
+        echo "    Please refer to the installation section of the README file:"
+        echo "    <OpenFOAM installation dir>/OpenFOAM-${FOAM_VERSION}/README"
+        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}"
+            ;;
+        bash | ksh)
+            USER_CONFIG_TYPE="bashrc"
+            echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
+            ;;
+        *) USER_CONFIG_TYPE=""
+            echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
+            echo "FATAL ERROR: Cannot identify the shell you are running."
+            echo "             OpenFOAM ${FOAM_VERSION} is compatible with "
+            echo "             csh, tcsh, ksh and bash."
+            echo
+            FATALERROR=`expr $FATALERROR + 1`;;
+    esac
+}
 
-# REMAINING ARGUMENTS
-#~~~~~~~~~~~~~~~~~~~~
-#
-#------------
-# MAIN SCRIPT
-#------------
+
+checkHostName() {
+    if [ ! "$HOST_NAME" ]; then
+        echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}"
+        echo "FATAL ERROR: Cannot stat hostname."
+        echo "             Contact your system administrator, "
+        echo "             OpenFOAM ${FOAM_VERSION} needs a valid "
+        echo "             hostname to function."
+        echo
+        FATALERROR=`expr $FATALERROR + 1`
+    else
+        echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}"
+    fi
+}
+
+
+checkOS () {
+    if [ "$OS" = "Linux" ] || [ "$OS" = "LinuxAMD64" ] || [ "$OS" = "SunOS" ]; then
+        echo "`fixlen "OS:" $WIDTH` ${OS} version ${OS_VERSION}"
+    else
+        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
+}
+
+
+#==============================================================================
+#                                MAIN SCRIPT
+#==============================================================================
 #
 echo "Executing $0:"
-#
+
+#------------------------------------------------------------------------------
 heading "Checking basic setup..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-hline #----------
-USER_SHELL=`basename $SHELL`
-HOST_NAME=`uname -n`
-OS=`uname -s`
-OS_VERSION=`uname -r`
-USER_NAME=$LOGNAME
-WIDTH=20
-if [ `length $USER_NAME` -eq 0 ] ; then
-    USER_NAME=$USER
-fi
-#
-case $USER_SHELL in
-    csh | tcsh)
-        USER_CONFIG_TYPE="cshrc"
-        echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
-        ;;
-    bash | ksh)
-        USER_CONFIG_TYPE="bashrc"
-        echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
-        ;;
-    *) USER_CONFIG_TYPE=""
-       echo "`fixlen "Shell:" $WIDTH` ${USER_SHELL}"
-       echo "FATAL ERROR: Cannot identify the shell you are running."
-       echo "             Fam ${FOAM_VERSION} is compatible with "
-       echo "             csh, tcsh, ksh and bash."
-       echo
-       FATALERROR=`expr $FATALERROR + 1`;;
-esac
-#
-if [ ! "$HOST_NAME" ]; then
-    echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}"
-    echo "FATAL ERROR: Cannot stat hostname."
-    echo "             Contact your system administrator, "
-    echo "             Foam ${FOAM_VERSION} needs a valid "
-    echo "             hostname to function."
-    echo
-    FATALERROR=`expr $FATALERROR + 1`
-else
-    echo "`fixlen "Host:" $WIDTH` ${HOST_NAME}"
-fi
-#
-if [ "$OS" = "Linux" ] || [ "$OS" = "LinuxAMD64" ] || [ "$OS" = "SunOS" ]; then
-    echo "`fixlen "OS:" $WIDTH` ${OS} version ${OS_VERSION}"
-else
-    echo "FATAL ERROR: Incompatible operating system \"$OS\"."
-    echo "             Foam${FOAM_VERSION} is currently "
-    echo "             available for Linux and SunOS only."
-    echo
-    FATALERROR=`expr $FATALERROR + 1`
-fi
-#
-if [ `length $USER_NAME` -eq 0 ]; then
-    echo "`fixlen "User:" $WIDTH` ${USER_NAME}"
-    echo "FATAL ERROR: Cannot stat user name ${USER_NAME}."
-    echo ""
-    echo "             Contact your system administrator, "
-    echo "             Foam${FOAM_VERSION} needs a valid "
-    echo "             user name to function."
-    echo
-    FATALERROR=`expr $FATALERROR + 1`
-else
-    echo "`fixlen "User:" $WIDTH` ${USER_NAME}"
-fi
-#
-USER_CONFIG_FILE="${HOME}/.${USER_CONFIG_TYPE}"
-if [ -f ${USER_CONFIG_FILE} ] ; then
-    echo "`fixlen "User_config:" $WIDTH` ${USER_CONFIG_FILE}"
-else
-    echo "`fixlen "User_config:" $WIDTH` ${USER_CONFIG_FILE}"
-    echo "FATAL ERROR: User config file: *** not located ***"
-    echo "             Create a user config file $USER_CONFIG_FILE"
-    echo
-    FATALERROR=`expr $FATALERROR + 1`
-fi
-#
-# heading "Checking if user config file sources the foam config file..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-FOAM_CONFIG_FILE=`echo $HOME/.OpenFOAM-${FOAM_VERSION}/${USER_CONFIG_TYPE}`
-case ${USER_CONFIG_TYPE} in
-    cshrc) SRC_STR="source";;
-    bashrc) SRC_STR=".";;
-esac
-#
-SOURCE_FOAM_CONFIG=`grep "^${SRC_STR}.*OpenFOAM-${FOAM_VERSION}/${USER_CONFIG_TYPE}" ${USER_CONFIG_FILE}`
-#
-if [ ! "$SOURCE_FOAM_CONFIG" = "" ] ; then
-    echo "`fixlen "Foam_config:" $WIDTH` "$FOAM_CONFIG_FILE sourced correctly.""
-else
-    echo "FATAL ERROR: $FOAM_CONFIG_FILE does not appear to be sourced from:"
-    echo "    $USER_CONFIG_FILE"
-    echo ""
-    echo "You need the following at the end of your $USER_CONFIG_FILE file:"
-    echo "${SRC_STR} $HOME/OpenFOAM/OpenFOAM-${FOAM_VERSION}/etc/${USER_CONFIG_TYPE}"
-    echo "or equivalent depending on the location of the OpenFOAM installation."
-    echo
-    FATALERROR=`expr $FATALERROR + 1`
-fi
-#
-if [ ! "$WM_PROJECT_INST_DIR" ]; then
-    echo
-    echo "FATAL ERROR Foam install directory not set."
-    echo
-    echo "Set correct path to installation 'WM_PROJECT_INST_DIR' in $HOME/.foam2.3/bashrc"
-elif [ ! -d $WM_PROJECT_INST_DIR ]; then
-    echo
-    echo "FATAL ERROR Cannot find FOAM installation at: $WM_PROJECT_INST_DIR"
-    echo
-    echo "Set correct path to installation 'WM_PROJECT_INST_DIR' in $HOME/.foam2.3/bashrc"
-    FATALERROR=`expr $FATALERROR + 1`
-fi
-hline #--------------------
-#
-heading "Checking main FOAM env variables..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+hline
+checkOpenFOAMEnvironment
+checkUserShell
+checkHostName
+checkOS
+hline
+
+#------------------------------------------------------------------------------
+heading "Checking main OpenFOAM env variables..."
 COL1=`fixlen "Environment_variable" 21`
 COL2=`fixlen "Set_to_file_or_directory" 40`
 COL3="Valid"
 COL4="Path"
 COL5="Crit"
-hline #--------------------
+hline
 echo "$COL1 $COL2 $COL3      $COL5"
-hline #--------------------
+hline
 reportEnv '$WM_PROJECT_INST_DIR' 'noPath' "yes"
 reportEnv '$WM_PROJECT_USER_DIR' 'noPath' "no"
-reportEnv '$FOAM_JOB_DIR'        'noPath' "yes"
-hline #--------------------
-#
-heading "Checking the FOAM env variables set on the PATH..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-hline #--------------------
+reportEnv '$WM_THIRD_PARTY_DIR'  'noPath' "yes"
+hline
+
+#------------------------------------------------------------------------------
+heading "Checking the OpenFOAM env variables set on the PATH..."
+hline
 echo "$COL1 $COL2 $COL3 $COL4 $COL5"
-hline #--------------------
+hline
 reportEnv '$WM_PROJECT_DIR'   '$PATH' "yes"
 echo ""
-reportEnv '$FOAM_USER_APPBIN' '$PATH' "no"
 reportEnv '$FOAM_APPBIN'      '$PATH' "yes"
+reportEnv '$FOAM_USER_APPBIN' '$PATH' "no"
 reportEnv '$WM_DIR'           '$PATH' "yes"
-reportEnv '$CEI_HOME'         '$PATH' "no"
-echo ""
-reportEnv '$JAVA_PATH'        '$PATH' "no"
-reportEnv '$MPI_ARCH_PATH'    '$PATH' "yes"
-hline #--------------------
-#
-heading "Checking the FOAM env variables set on the LD_LIBRARY_PATH..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-hline #--------------------
+hline
+
+#------------------------------------------------------------------------------
+heading "Checking the OpenFOAM env variables set on the LD_LIBRARY_PATH..."
+hline
 echo "$COL1 $COL2 $COL3 $COL4 $COL5"
-hline #--------------------
+hline
 reportEnv '$FOAM_LIBBIN'      '$LD_LIBRARY_PATH' "yes"
 reportEnv '$FOAM_USER_LIBBIN' '$LD_LIBRARY_PATH' "no"
 reportEnv '$MPI_ARCH_PATH'    '$LD_LIBRARY_PATH' "yes"
-hline #--------------------
-#
-heading "Software versions"
-#~~~~~~~~~~~~~~~~~~~~~~~~~~
+hline
+
+#------------------------------------------------------------------------------
+heading "Third party software"
 COL1=`fixlen "Software" 9`
 COL2=`fixlen "Version" 10`
 COL3=`fixlen "Location" 10`
-hline #--------------------
+hline
 echo "$COL1 $COL2 $COL3"
-hline #--------------------
+hline
 reportExecutable gcc "${WM_COMPILER_DIR}/bin/gcc"
-reportExecutable java "${JAVA_HOME}/bin/java"
 reportExecutable gzip
 if [ "$OS" = "Linux" ]  ; then
     reportExecutable tar
@@ -562,44 +515,35 @@ else
     reportExecutable gtar
 fi
 reportExecutable icoFoam "${FOAM_APPBIN}/icoFoam"
-hline #--------------------
-#
-heading "Checking file/directory permissions..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-COL1=`fixlen "File/directory" 50`
-COL2=`fixlen "Set" 5`
-COL3=`fixlen "Reqd" 5`
-COL4=`fixlen "Crit" 5`
-hline #--------------------
-echo "$COL1 $COL2 $COL3 $COL4"
-hline #--------------------
 
-#
+hline
+
+#------------------------------------------------------------------------------
 heading "Checking networking..."
-#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 COL1=`fixlen "Action" 25`
 COL2=`fixlen "Result" 45`
 COL3=`fixlen "Crit" 5`
 
-hline #--------------------
+hline
 echo "$COL1 $COL2 $COL3"
-hline #--------------------
+hline
+
 pingTest "$HOST_NAME" "yes"
 pingTest "localHost" "yes"
 checkRsh
 checkSsh
 
 if [ $SSHRSHOK -eq 1 ]; then
-    echo "(*) Only one of rsh or ssh is required by the Foam enviroment."
+    echo "(*) Only one of rsh or ssh is required by the OpenFOAM enviroment."
 elif [ $SSHRSHOK -gt 1  ]; then
     echo "FATAL ERROR: No remote shell available."
-    echo "             Foam${FOAM_VERSION} enviroment requires either ssh and/or rsh."
+    echo "             OpenFOAM ${FOAM_VERSION} enviroment requires either ssh and/or rsh."
     echo "             Contact your system administrator."
     echo ""
     FATALERROR=`expr $FATALERROR + 1`
 fi
 echo ""
-hline #--------------------
+hline
 echo ""
 if [ $FATALERROR -gt 0 ] ; then
     echo "The system test has evoked $FATALERROR fatal error(s)."
@@ -619,4 +563,10 @@ if [ $CRITICALERROR -gt 0 ] || [ $FATALERROR -gt 0 ]; then
 fi
 echo ""
 
+echo "done."
+
+echo ""
+
+exit 0
+
 #------------------------------------------------------------------------------
diff --git a/bin/foamNew b/bin/foamNew
index f0f202a98411f1e4d3530846d5dd521e0eeaf639..3900c3c74c08192d3ce1aeba2441600cabfe7d52 100755
--- a/bin/foamNew
+++ b/bin/foamNew
@@ -46,19 +46,23 @@ USAGE
     exit 1
 }
 
-if [ "$#" -lt 1 ]; then
+if [ "$#" -lt 2 ]
+then
    usage "wrong number of arguments, expected 2 (or more)"
 fi
 
 case "$1" in
-    source)
-        shift
-        $WM_PROJECT_DIR/bin/foamTemplates/source/newSource $*
-        ;;
-    template)
-        shift
-        $WM_PROJECT_DIR/bin/foamTemplates/sourceTemplate/newSourceTemplate $*
-        ;;
+-h | -help)
+   usage
+   ;;
+source)
+   shift
+   $WM_PROJECT_DIR/bin/foamTemplates/source/newSource $*
+   ;;
+template)
+   shift
+   $WM_PROJECT_DIR/bin/foamTemplates/sourceTemplate/newSourceTemplate $*
+   ;;
 *)
    usage "unknown type"
    ;;
diff --git a/bin/tools/buildParaViewFunctions b/bin/tools/buildParaViewFunctions
index 5d70681343ea8f52db6e43234fe19a5e10667efa..cf04183f80bdd5ddc849cc897bc14ba186ff3e91 100644
--- a/bin/tools/buildParaViewFunctions
+++ b/bin/tools/buildParaViewFunctions
@@ -232,6 +232,18 @@ installParaView ()
                 -print
         fi
 
+        # Replace local CMAKE_HOME path with CMAKE_HOME
+        # environment variables
+        find . -iname '*cmake*' -execdir sed -i \
+            "s,$CMAKE_HOME,\$ENV{CMAKE_HOME},g" {} ';' \
+            -print
+
+        # Replace local WM_COMPILER_DIR path with WM_COMPILER_DIR
+        # environment variables
+        find . -iname '*cmake*' -execdir sed -i \
+            "s,$WM_COMPILER_DIR,\$ENV{WM_COMPILER_DIR},g" {} ';' \
+            -print
+
         # create a softlink to the $PARAVIEW_OBJ_DIR/bin folder
         # - workaround for chosen install location
         echo "    Creating paraview $PARAVIEW_MAJOR_VERSION soft link to /bin"
diff --git a/etc/bashrc b/etc/bashrc
index 6fdd3305d07ad4e6d23d93e5da265af27051ebff..aff71726e007a72c927a9e862bb7763c82ffb808 100644
--- a/etc/bashrc
+++ b/etc/bashrc
@@ -32,8 +32,8 @@
 #------------------------------------------------------------------------------
 
 export WM_PROJECT=OpenFOAM
-export WM_PROJECT_VERSION=1.5
-#: ${WM_PROJECT_VERSION:=dev}; export WM_PROJECT_VERSION
+#export WM_PROJECT_VERSION=1.5
+: ${WM_PROJECT_VERSION:=dev}; export WM_PROJECT_VERSION
 
 
 #!!User:
diff --git a/etc/cshrc b/etc/cshrc
index 0ca1478569ac114bd8a755b29730f0e29ed39137..ace795241c27ec66c59cae2c4e6e43cfc816efcd 100644
--- a/etc/cshrc
+++ b/etc/cshrc
@@ -32,8 +32,8 @@
 #------------------------------------------------------------------------------
 
 setenv WM_PROJECT OpenFOAM
-setenv WM_PROJECT_VERSION 1.5
-#if ( ! $?WM_PROJECT_VERSION ) setenv WM_PROJECT_VERSION dev
+#setenv WM_PROJECT_VERSION 1.5
+if ( ! $?WM_PROJECT_VERSION ) setenv WM_PROJECT_VERSION dev
 
 #!!User:
 #    either setenv FOAM_INST_DIR before sourcing this file or set
diff --git a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict
index 48d9bfcedff58bc41acb79e014577baae7d84038..177824b65ce862784f00034c34f0d8b6c4d15052 100644
--- a/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict
+++ b/src/dynamicFvMesh/dynamicRefineFvMesh/dynamicMeshDict
@@ -1,27 +1,16 @@
-
-
-
-
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.4                                   |
+|  \\    /   O peration     | Version:  1.5                                   |
 |   \\  /    A nd           | Web:      http://www.openfoam.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          dynamicMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      dynamicMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/lagrangian/basic/polyMeshInfo/polyMeshInfo.C b/src/lagrangian/basic/polyMeshInfo/polyMeshInfo.C
index 6333aef8f657f0b2c07acc00958d59e646997855..5442abc990777a21d098a68735626551be99cba0 100644
--- a/src/lagrangian/basic/polyMeshInfo/polyMeshInfo.C
+++ b/src/lagrangian/basic/polyMeshInfo/polyMeshInfo.C
@@ -137,7 +137,6 @@ void Foam::polyMeshInfo::queryWedge()
 
 void Foam::polyMeshInfo::queryDirections()
 {
-
     vector dirVec = vector::zero;
 
     forAll(mesh_.boundaryMesh(), patchi)
@@ -147,7 +146,8 @@ void Foam::polyMeshInfo::queryDirections()
             if (mesh_.boundaryMesh()[patchi].size())
             {
                 nEmpty_++;
-                dirVec += sum(cmptMag(mesh_.boundaryMesh()[patchi].faceAreas()));
+                dirVec +=
+                    sum(cmptMag(mesh_.boundaryMesh()[patchi].faceAreas()));
             }
         }
     }
@@ -226,12 +226,6 @@ Foam::polyMeshInfo::~polyMeshInfo()
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-const Foam::Vector<Foam::label>& Foam::polyMesh::directions() const
-{
-    return directions_;
-}
-
-
 Foam::label Foam::polyMeshInfo::nGeometricD() const
 {
     return nGeometricD_;
diff --git a/src/lagrangian/molecularDynamics/molecule/mdTools/temperatureAndPressure.H b/src/lagrangian/molecularDynamics/molecule/mdTools/temperatureAndPressure.H
index 8d64460d55135adade822015886198a6b33e53b3..24d6fb88e577a7575bdb727b5569ecb7dd85439c 100644
--- a/src/lagrangian/molecularDynamics/molecule/mdTools/temperatureAndPressure.H
+++ b/src/lagrangian/molecularDynamics/molecule/mdTools/temperatureAndPressure.H
@@ -86,8 +86,6 @@ if (runTime.outputTime())
                 << " m/s" << nl
             << "Average temperature = "
                 << averageTemperature << " K" << nl
-            << "accumulatedTotalrDotfSum = "
-                << accumulatedTotalrDotfSum << nl
             << "Average pressure = "
                 << averagePressure << " N/m^2" << nl
             << "----------------------------------------" << endl;
diff --git a/src/postProcessing/fieldAverage/controlDict b/src/postProcessing/fieldAverage/controlDict
index 5dc2b007f9b137c57075a4d5473e74a52b15e8ab..40e3a2d4a72b3948c2ed2615bbd7d9344a1b8ac5 100644
--- a/src/postProcessing/fieldAverage/controlDict
+++ b/src/postProcessing/fieldAverage/controlDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.4                                   |
+|  \\    /   O peration     | Version:  1.5                                   |
 |   \\  /    A nd           | Web:      http://www.openfoam.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          controlDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/src/turbulenceModels/LES/compressible/wallFunc/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C b/src/turbulenceModels/LES/compressible/wallFunc/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C
index ce0437f72661cc9491c748333c8094bd0e961a35..fb493237bf529a236192d40faa990b7aefd8a642 100644
--- a/src/turbulenceModels/LES/compressible/wallFunc/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/LES/compressible/wallFunc/muSgsWallFunction/muSgsWallFunctionFvPatchScalarField.C
@@ -114,12 +114,9 @@ void muSgsWallFunctionFvPatchScalarField::evaluate
     const LESModel& sgsModel
         = db().lookupObject<LESModel>("LESProperties");
 
-    scalar kappa = dimensionedScalar(sgsModel.lookup("kappa")).value();
+    scalar kappa = readScalar(sgsModel.lookup("kappa"));
 
-    scalar E = dimensionedScalar
-    (
-        sgsModel.subDict("wallFunctionCoeffs").lookup("E")
-    ).value();
+    scalar E = readScalar(sgsModel.subDict("wallFunctionCoeffs").lookup("E"));
 
     const scalarField& ry = patch().deltaCoeffs();
 
diff --git a/src/turbulenceModels/LES/incompressible/wallFunc/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C b/src/turbulenceModels/LES/incompressible/wallFunc/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C
index f19a0def2289c474703f15ffd998ec613741373b..d7be3cf9f0dd75170373026df325589bf7f6a88c 100644
--- a/src/turbulenceModels/LES/incompressible/wallFunc/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C
+++ b/src/turbulenceModels/LES/incompressible/wallFunc/nuSgsWallFunction/nuSgsWallFunctionFvPatchScalarField.C
@@ -103,12 +103,9 @@ void nuSgsWallFunctionFvPatchScalarField::evaluate
     const LESModel& sgsModel
         = db().lookupObject<LESModel>("LESProperties");
 
-    scalar kappa = dimensionedScalar(sgsModel.lookup("kappa")).value();
+    scalar kappa = readScalar(sgsModel.lookup("kappa"));
 
-    scalar E = dimensionedScalar
-    (
-        sgsModel.subDict("wallFunctionCoeffs").lookup("E")
-    ).value();
+    scalar E = readScalar(sgsModel.subDict("wallFunctionCoeffs").lookup("E"));
 
     const scalarField& ry = patch().deltaCoeffs();
 
diff --git a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict b/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict
index 56eb2294e88b288eff3d7f4f8668a2302f03b6ba..5bf94e70a20343ef85e4b65e297b6a15a774de9a 100644
--- a/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict
+++ b/tutorials/interDyMFoam/sloshingTank3D6DoF/constant/dynamicMeshDict
@@ -1,23 +1,16 @@
 /*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.4                                   |
+|  \\    /   O peration     | Version:  1.5                                   |
 |   \\  /    A nd           | Web:      http://www.openfoam.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          motionProperties;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      motionProperties;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -38,5 +31,4 @@ solidBodyMotionFvMeshCoeffs
     }
 }
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict b/tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict
index f842cbb8fd29fd29913aae1120473ae99b977a35..d97dbb8e268c425f32326827a59e880e05e07eda 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict
+++ b/tutorials/snappyHexMesh/iglooWithFridges/constant/polyMesh/blockMeshDict
@@ -1,31 +1,23 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          blockMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-
 convertToMeters 1;
 
-vertices        
+vertices
 (
     (-2.03 -2.0  0)
     ( 8.03 -2.0  0)
@@ -37,18 +29,18 @@ vertices
     (-2.03  8.0  5)
 );
 
-blocks          
+blocks
 (
     hex (0 1 2 3 4 5 6 7) (20 20 20) simpleGrading (1 1 1)
 );
 
-edges           
+edges
 (
 );
 
-patches         
+patches
 (
-    patch maxY 
+    patch maxY
     (
         (3 7 6 2)
     )
@@ -74,9 +66,8 @@ patches
     )
 );
 
-mergePatchPairs 
+mergePatchPairs
 (
 );
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/constant/transportProperties b/tutorials/snappyHexMesh/iglooWithFridges/constant/transportProperties
index 285cbf44dec66cfb171fb6d49ef207c07c9c171c..c61d913dc87facb60d833066bdcf1e2697c3a87e 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/constant/transportProperties
+++ b/tutorials/snappyHexMesh/iglooWithFridges/constant/transportProperties
@@ -1,28 +1,20 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          transportProperties;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      transportProperties;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 nu              nu [0 2 -1 0 0 0 0] 0.01;
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/controlDict b/tutorials/snappyHexMesh/iglooWithFridges/system/controlDict
index 3303982fb7c5012c5ff147639b9f5ef100ff65b8..36315909db259dc47a42ff0abf1d85da1f4dedfb 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/system/controlDict
+++ b/tutorials/snappyHexMesh/iglooWithFridges/system/controlDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          controlDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -53,5 +46,4 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes b/tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes
index b89a35be1338774431bb3d182528a0a97c25cfb3..51ebb81a9da7ee1d671f1bdf6351da21d6c12cd7 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes
+++ b/tutorials/snappyHexMesh/iglooWithFridges/system/fvSchemes
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          fvSchemes;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -67,5 +60,4 @@ fluxRequired
     p;
 }
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution b/tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution
index da311c99cdeb045c606d68d29bbbd1b30844fee8..9e9998642e78ea59c1aef2bbb95c799fffef6501 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution
+++ b/tutorials/snappyHexMesh/iglooWithFridges/system/fvSolution
@@ -1,30 +1,23 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          fvSolution;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 solvers
 {
-    //p               ICCG 1e-06 0;
+    // p               ICCG 1e-06 0;
     p               AMG 1e-06 0 10;
     U               BICCG 1e-05 0;
 
@@ -41,5 +34,4 @@ PISO
     pRefValue       0;
 }
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict b/tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict
index 3286958275ba390ebf05c410a66003cc6d3a7a64..4b547f7a5137e62caa5a2c6571cd56635c9f5d6c 100644
--- a/tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict
+++ b/tutorials/snappyHexMesh/iglooWithFridges/system/snappyHexMeshDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          autoHexMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      autoHexMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -219,7 +212,7 @@ addLayersControls
     //  is the
     //  thickness of the layer furthest away from the wall.
     //  Relative to undistorted size of cell outside layer.
-    finalLayerRatio 0.5; 
+    finalLayerRatio 0.5;
 
     //- Minimum thickness of cell layer. If for any reason layer
     //  cannot be above minThickness do not add layer.
@@ -242,20 +235,20 @@ addLayersControls
     //  before upon reaching a correct mesh.
     nRelaxIter 5;
 
-    // Number of smoothing iterations of surface normals 
+    // Number of smoothing iterations of surface normals
     nSmoothSurfaceNormals 1;
 
-    // Number of smoothing iterations of interior mesh movement direction  
+    // Number of smoothing iterations of interior mesh movement direction
     nSmoothNormals 3;
 
     // Smooth layer thickness over surface patches
     nSmoothThickness 10;
 
-    // Stop layer growth on highly warped cells 
+    // Stop layer growth on highly warped cells
     maxFaceThicknessRatio 0.5;
 
-    // Reduce layer growth where ratio thickness to medial 
-    // distance is large 
+    // Reduce layer growth where ratio thickness to medial
+    // distance is large
     maxThicknessToMedialRatio 0.3;
 
     // Angle used to pick up medial axis points
@@ -301,7 +294,7 @@ meshQualityControls
     //- 1 = hex, <= 0 = folded or flattened illegal cell
     minDeterminant 0.001;
 
-    //- minFaceWeight (0 -> 0.5) 
+    //- minFaceWeight (0 -> 0.5)
     minFaceWeight 0.05;
 
     //- minVolRatio (0 -> 1)
@@ -334,5 +327,4 @@ debug 0;
 // Note: the write tolerance needs to be higher than this.
 mergeTolerance 1E-6;
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict b/tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict
index ec09ef5e88716142e00b669e4438a3a42f17e5f4..c618a0a9acd6509dad6d3d6e988cdf7b8530850a 100644
--- a/tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict
+++ b/tutorials/snappyHexMesh/motorBike/constant/polyMesh/blockMeshDict
@@ -1,31 +1,23 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          blockMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      blockMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-
 convertToMeters 1;
 
-vertices        
+vertices
 (
     (-20.29 -10  -4.232e-05)
     ( 41.71 -10  -4.232e-05)
@@ -37,18 +29,18 @@ vertices
     (-20.29  10   20)
 );
 
-blocks          
+blocks
 (
     hex (0 1 2 3 4 5 6 7) (60 20 20) simpleGrading (1 1 1)
 );
 
-edges           
+edges
 (
 );
 
-patches         
+patches
 (
-    patch maxY 
+    patch maxY
     (
         (3 7 6 2)
     )
@@ -74,7 +66,7 @@ patches
     )
 );
 
-mergePatchPairs 
+mergePatchPairs
 (
 );
 
diff --git a/tutorials/snappyHexMesh/motorBike/constant/transportProperties b/tutorials/snappyHexMesh/motorBike/constant/transportProperties
index 285cbf44dec66cfb171fb6d49ef207c07c9c171c..c61d913dc87facb60d833066bdcf1e2697c3a87e 100644
--- a/tutorials/snappyHexMesh/motorBike/constant/transportProperties
+++ b/tutorials/snappyHexMesh/motorBike/constant/transportProperties
@@ -1,28 +1,20 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          transportProperties;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      transportProperties;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 nu              nu [0 2 -1 0 0 0 0] 0.01;
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/motorBike/system/controlDict b/tutorials/snappyHexMesh/motorBike/system/controlDict
index 3303982fb7c5012c5ff147639b9f5ef100ff65b8..36315909db259dc47a42ff0abf1d85da1f4dedfb 100644
--- a/tutorials/snappyHexMesh/motorBike/system/controlDict
+++ b/tutorials/snappyHexMesh/motorBike/system/controlDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          controlDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      controlDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -53,5 +46,4 @@ timePrecision   6;
 
 runTimeModifiable yes;
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/motorBike/system/fvSchemes b/tutorials/snappyHexMesh/motorBike/system/fvSchemes
index b89a35be1338774431bb3d182528a0a97c25cfb3..51ebb81a9da7ee1d671f1bdf6351da21d6c12cd7 100644
--- a/tutorials/snappyHexMesh/motorBike/system/fvSchemes
+++ b/tutorials/snappyHexMesh/motorBike/system/fvSchemes
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          fvSchemes;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSchemes;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -67,5 +60,4 @@ fluxRequired
     p;
 }
 
-
 // ************************************************************************* //
diff --git a/tutorials/snappyHexMesh/motorBike/system/fvSolution b/tutorials/snappyHexMesh/motorBike/system/fvSolution
index da311c99cdeb045c606d68d29bbbd1b30844fee8..242f5524a281abb08f508c60ce47a0b3d4624647 100644
--- a/tutorials/snappyHexMesh/motorBike/system/fvSolution
+++ b/tutorials/snappyHexMesh/motorBike/system/fvSolution
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          fvSolution;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      fvSolution;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict b/tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict
index 5e206f019fbcf678879318406b14e14f58e5492a..e3d24a69219cfb53bbcb51cb9d2e02bc7ed434f5 100644
--- a/tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict
+++ b/tutorials/snappyHexMesh/motorBike/system/snappyHexMeshDict
@@ -1,23 +1,16 @@
-/*---------------------------------------------------------------------------*\
+/*--------------------------------*- C++ -*----------------------------------*\
 | =========                 |                                                 |
 | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  1.0                                   |
-|   \\  /    A nd           | Web:      http://www.openfoam.org               |
+|  \\    /   O peration     | Version:  1.5                                   |
+|   \\  /    A nd           | Web:      http://www.OpenFOAM.org               |
 |    \\/     M anipulation  |                                                 |
 \*---------------------------------------------------------------------------*/
-
 FoamFile
 {
-    version         2.0;
-    format          ascii;
-
-    root            "/home/penfold/mattijs/foam/mattijs2.1/run/icoFoam";
-    case            "cavity";
-    instance        "system";
-    local           "";
-
-    class           dictionary;
-    object          autoHexMeshDict;
+    version     2.0;
+    format      ascii;
+    class       dictionary;
+    object      autoHexMeshDict;
 }
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -466,7 +459,7 @@ addLayersControls
     //  is the
     //  thickness of the layer furthest away from the wall.
     //  Relative to undistorted size of cell outside layer.
-    finalLayerRatio 0.3; 
+    finalLayerRatio 0.3;
 
     //- Minimum thickness of cell layer. If for any reason layer
     //  cannot be above minThickness do not add layer.
@@ -489,20 +482,20 @@ addLayersControls
     //  before upon reaching a correct mesh.
     nRelaxIter 3;
 
-    // Number of smoothing iterations of surface normals 
+    // Number of smoothing iterations of surface normals
     nSmoothSurfaceNormals 1;
 
-    // Number of smoothing iterations of interior mesh movement direction  
+    // Number of smoothing iterations of interior mesh movement direction
     nSmoothNormals 3;
 
     // Smooth layer thickness over surface patches
     nSmoothThickness 10;
 
-    // Stop layer growth on highly warped cells 
+    // Stop layer growth on highly warped cells
     maxFaceThicknessRatio 0.5;
 
-    // Reduce layer growth where ratio thickness to medial 
-    // distance is large 
+    // Reduce layer growth where ratio thickness to medial
+    // distance is large
     maxThicknessToMedialRatio 0.3;
 
     // Angle used to pick up medial axis points
@@ -548,7 +541,7 @@ meshQualityControls
     //- 1 = hex, <= 0 = folded or flattened illegal cell
     minDeterminant 0.001;
 
-    //- minFaceWeight (0 -> 0.5) 
+    //- minFaceWeight (0 -> 0.5)
     minFaceWeight 0.02;
 
     //- minVolRatio (0 -> 1)
@@ -581,5 +574,4 @@ debug 0;
 // Note: the write tolerance needs to be higher than this.
 mergeTolerance 1E-6;
 
-
 // ************************************************************************* //