diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/files b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/files
new file mode 100644
index 0000000000000000000000000000000000000000..dfa118ab003350d41ce64ecd738596b3506d3dcc
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/files
@@ -0,0 +1,3 @@
+temporalInterpolate.C
+
+EXE = $(FOAM_APPBIN)/temporalInterpolate
diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options
new file mode 100644
index 0000000000000000000000000000000000000000..89e52b6d520dc088e6516df08f0f521f188a6353
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/Make/options
@@ -0,0 +1,6 @@
+EXE_INC = \
+    -I$(LIB_SRC)/finiteVolume/lnInclude
+
+EXE_LIBS = \
+    -lfiniteVolume
+
diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C
new file mode 100644
index 0000000000000000000000000000000000000000..f7526c0628d59dc2d699d46611a8bc54947b8e67
--- /dev/null
+++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C
@@ -0,0 +1,253 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2010-2011 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Description
+    Interpolate fields between time-steps e.g. for animation.
+
+\*---------------------------------------------------------------------------*/
+
+#include "argList.H"
+#include "timeSelector.H"
+
+#include "fvMesh.H"
+#include "Time.H"
+#include "volMesh.H"
+#include "surfaceMesh.H"
+#include "volFields.H"
+#include "surfaceFields.H"
+#include "pointFields.H"
+#include "ReadFields.H"
+
+using namespace Foam;
+
+class fieldInterpolator
+{
+    Time& runTime_;
+    const fvMesh& mesh_;
+    const IOobjectList& objects_;
+    const HashSet<word>& selectedFields_;
+    instant ti_;
+    instant ti1_;
+    int divisions_;
+
+public:
+
+    fieldInterpolator
+    (
+        Time& runTime,
+        const fvMesh& mesh,
+        const IOobjectList& objects,
+        const HashSet<word>& selectedFields,
+        const instant& ti,
+        const instant& ti1,
+        int divisions
+    )
+    :
+        runTime_(runTime),
+        mesh_(mesh),
+        objects_(objects),
+        selectedFields_(selectedFields),
+        ti_(ti),
+        ti1_(ti1),
+        divisions_(divisions)
+    {}
+
+    template<class GeoFieldType>
+    void interpolate();
+};
+
+
+template<class GeoFieldType>
+void fieldInterpolator::interpolate()
+{
+    const word& fieldClassName = GeoFieldType::typeName;
+
+    IOobjectList fields = objects_.lookupClass(fieldClassName);
+
+    if (fields.size())
+    {
+        Info<< "    " << fieldClassName << "s:";
+
+        forAllConstIter(IOobjectList, fields, fieldIter)
+        {
+            if
+            (
+                selectedFields_.empty()
+             || selectedFields_.found(fieldIter()->name())
+            )
+            {
+                Info<< " " << fieldIter()->name() << '(';
+
+                GeoFieldType fieldi
+                (
+                    IOobject
+                    (
+                        fieldIter()->name(),
+                        ti_.name(),
+                        fieldIter()->db(),
+                        IOobject::MUST_READ,
+                        IOobject::NO_WRITE,
+                        false
+                    ),
+                    mesh_
+                );
+
+                GeoFieldType fieldi1
+                (
+                    IOobject
+                    (
+                        fieldIter()->name(),
+                        ti1_.name(),
+                        fieldIter()->db(),
+                        IOobject::MUST_READ,
+                        IOobject::NO_WRITE,
+                        false
+                    ),
+                    mesh_
+                );
+
+                scalar deltaT = (ti1_.value() - ti_.value())/(divisions_ + 1);
+
+                for (int j=0; j<divisions_; j++)
+                {
+                    instant timej = instant(ti_.value() + (j + 1)*deltaT);
+
+                    runTime_.setTime(timej.name(), 0);
+
+                    Info<< timej.name();
+
+                    if (j < divisions_-1)
+                    {
+                        Info<< " ";
+                    }
+
+                    scalar lambda = scalar(j + 1)/scalar(divisions_ + 1);
+
+                    GeoFieldType fieldj
+                    (
+                        IOobject
+                        (
+                            fieldIter()->name(),
+                            timej.name(),
+                            fieldIter()->db(),
+                            IOobject::NO_READ,
+                            IOobject::NO_WRITE,
+                            false
+                        ),
+                        (1.0 - lambda)*fieldi + lambda*fieldi1
+                    );
+
+                    fieldj.write();
+                }
+
+                Info<< ')';
+            }
+        }
+
+        Info<< endl;
+    }
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+// Main program:
+int main(int argc, char *argv[])
+{
+    timeSelector::addOptions();
+    argList::addOption
+    (
+        "fields",
+        "list",
+        "specify a list of fields to be interpolated. Eg, '(U T p)' - "
+        "regular expressions not currently supported"
+    );
+    argList::addOption
+    (
+        "divisions",
+        "integer",
+        "specify number of temporal sub-divisions to create (default = 1)."
+    );
+
+    #include "setRootCase.H"
+    #include "createTime.H"
+    runTime.functionObjects().off();
+
+    HashSet<word> selectedFields;
+    if (args.optionFound("fields"))
+    {
+        args.optionLookup("fields")() >> selectedFields;
+    }
+
+    int divisions = 1;
+    if (args.optionFound("divisions"))
+    {
+        args.optionLookup("divisions")() >> divisions;
+    }
+
+    instantList timeDirs = timeSelector::select0(runTime, args);
+
+    #include "createMesh.H"
+
+    Info<< "Interpolating fields for times:" << endl;
+
+    for (label timei = 0; timei < timeDirs.size() - 1; timei++)
+    {
+        runTime.setTime(timeDirs[timei], timei);
+
+        // Read objects in time directory
+        IOobjectList objects(mesh, runTime.timeName());
+
+        fieldInterpolator interpolator
+        (
+            runTime,
+            mesh,
+            objects,
+            selectedFields,
+            timeDirs[timei],
+            timeDirs[timei+1],
+            divisions
+        );
+
+        // Interpolate vol fields
+        interpolator.interpolate<volScalarField>();
+        interpolator.interpolate<volVectorField>();
+        interpolator.interpolate<volSphericalTensorField>();
+        interpolator.interpolate<volSymmTensorField>();
+        interpolator.interpolate<volTensorField>();
+
+        // Interpolate surface fields
+        interpolator.interpolate<surfaceScalarField>();
+        interpolator.interpolate<surfaceVectorField>();
+        interpolator.interpolate<surfaceSphericalTensorField>();
+        interpolator.interpolate<surfaceSymmTensorField>();
+        interpolator.interpolate<surfaceTensorField>();
+    }
+
+    Info<< "End\n" << endl;
+
+    return 0;
+}
+
+
+// ************************************************************************* //
diff --git a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
index a35b62474b93a655c98c0964ffecb999fafe0e43..0bd6828ed78509d0a592f8032bee866eb20f8618 100644
--- a/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
+++ b/src/OpenFOAM/algorithms/indexedOctree/indexedOctree.C
@@ -2520,7 +2520,7 @@ Foam::pointIndexHit Foam::indexedOctree<Type>::findNearest
 {
     scalar nearestDistSqr = startDistSqr;
     label nearestShapeI = -1;
-    point nearestPoint;
+    point nearestPoint = vector::zero;
 
     if (nodes_.size())
     {
@@ -2534,10 +2534,6 @@ Foam::pointIndexHit Foam::indexedOctree<Type>::findNearest
             nearestPoint
         );
     }
-    else
-    {
-        nearestPoint = vector::zero;
-    }
 
     return pointIndexHit(nearestShapeI != -1, nearestPoint, nearestShapeI);
 }
diff --git a/src/finiteVolume/Make/files b/src/finiteVolume/Make/files
index 783518dfe5b2270c070740679422a93f3c8c4779..360ecc6b0725713a59f2992301b63e074f183fec 100644
--- a/src/finiteVolume/Make/files
+++ b/src/finiteVolume/Make/files
@@ -122,6 +122,7 @@ $(derivedFvPatchFields)/directMappedFixedValue/directMappedFixedValueFvPatchFiel
 $(derivedFvPatchFields)/directMappedVelocityFluxFixedValue/directMappedVelocityFluxFixedValueFvPatchField.C
 $(derivedFvPatchFields)/directMappedFlowRate/directMappedFlowRateFvPatchVectorField.C
 $(derivedFvPatchFields)/fan/fanFvPatchFields.C
+$(derivedFvPatchFields)/fanPressure/fanPressureFvPatchScalarField.C
 $(derivedFvPatchFields)/buoyantPressure/buoyantPressureFvPatchScalarField.C
 $(derivedFvPatchFields)/fixedFluxPressure/fixedFluxPressureFvPatchScalarField.C
 $(derivedFvPatchFields)/fixedInternalValueFvPatchField/fixedInternalValueFvPatchFields.C
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
new file mode 100644
index 0000000000000000000000000000000000000000..db585345f17f85c048ae0468cd21073a11ee0a33
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.C
@@ -0,0 +1,237 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+\*---------------------------------------------------------------------------*/
+
+#include "fanPressureFvPatchScalarField.H"
+#include "addToRunTimeSelectionTable.H"
+#include "volFields.H"
+#include "surfaceFields.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    template<>
+    const char* Foam::NamedEnum
+    <
+        Foam::fanPressureFvPatchScalarField::fanFlowDirection,
+        2
+    >::names[] =
+    {
+        "in",
+        "out"
+    };
+}
+
+const Foam::NamedEnum
+<
+    Foam::fanPressureFvPatchScalarField::fanFlowDirection,
+    2
+> Foam::fanPressureFvPatchScalarField::fanFlowDirectionNames_;
+
+
+// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
+
+Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(p, iF),
+    phiName_("phi"),
+    rhoName_("rho"),
+    p0_(p.size(), 0.0),
+    fanCurve_(),
+    direction_(ffdOut)
+{}
+
+
+Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
+(
+    const fanPressureFvPatchScalarField& ptf,
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const fvPatchFieldMapper& mapper
+)
+:
+    fixedValueFvPatchScalarField(ptf, p, iF, mapper),
+    phiName_(ptf.phiName_),
+    rhoName_(ptf.rhoName_),
+    p0_(ptf.p0_, mapper),
+    fanCurve_(ptf.fanCurve_),
+    direction_(ptf.direction_)
+{}
+
+
+Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
+(
+    const fvPatch& p,
+    const DimensionedField<scalar, volMesh>& iF,
+    const dictionary& dict
+)
+:
+    fixedValueFvPatchScalarField(p, iF),
+    phiName_(dict.lookupOrDefault<word>("phi", "phi")),
+    rhoName_(dict.lookupOrDefault<word>("rho", "rho")),
+    p0_("p0", dict, p.size()),
+    fanCurve_(dict),
+    direction_(fanFlowDirectionNames_.read(dict.lookup("direction")))
+{
+    // Assign initial pressure by "value"
+    fvPatchField<scalar>::operator==(scalarField("value", dict, p.size()));
+}
+
+
+Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
+(
+    const fanPressureFvPatchScalarField& pfopsf
+)
+:
+    fixedValueFvPatchScalarField(pfopsf),
+    phiName_(pfopsf.phiName_),
+    rhoName_(pfopsf.rhoName_),
+    p0_(pfopsf.p0_),
+    fanCurve_(pfopsf.fanCurve_),
+    direction_(pfopsf.direction_)
+{}
+
+
+Foam::fanPressureFvPatchScalarField::fanPressureFvPatchScalarField
+(
+    const fanPressureFvPatchScalarField& pfopsf,
+    const DimensionedField<scalar, volMesh>& iF
+)
+:
+    fixedValueFvPatchScalarField(pfopsf, iF),
+    phiName_(pfopsf.phiName_),
+    rhoName_(pfopsf.rhoName_),
+    p0_(pfopsf.p0_),
+    fanCurve_(pfopsf.fanCurve_),
+    direction_(pfopsf.direction_)
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
+
+void Foam::fanPressureFvPatchScalarField::updateCoeffs()
+{
+    if (updated())
+    {
+        return;
+    }
+
+    // Retrieve flux field
+    const surfaceScalarField& phi =
+        db().lookupObject<surfaceScalarField>(phiName_);
+
+    const fvsPatchField<scalar>& phip =
+        patch().patchField<surfaceScalarField, scalar>(phi);
+
+    int dir = 2*direction_ - 1;
+
+    // Average volumetric flow rate
+    scalar aveFlowRate = 0;
+
+    if (phi.dimensions() == dimVelocity*dimArea)
+    {
+        aveFlowRate = dir*gSum(phip)/gSum(patch().magSf());
+    }
+    else if (phi.dimensions() == dimVelocity*dimArea*dimDensity)
+    {
+        const scalarField& rhop =
+            patch().lookupPatchField<volScalarField, scalar>(rhoName_);
+        aveFlowRate = dir*gSum(phip/rhop)/gSum(patch().magSf());
+    }
+    else
+    {
+        FatalErrorIn("fanPressureFvPatchScalarField::updateCoeffs()")
+            << "dimensions of phi are not correct"
+                << "\n    on patch " << patch().name()
+                << " of field " << dimensionedInternalField().name()
+                << " in file " << dimensionedInternalField().objectPath() << nl
+                << exit(FatalError);
+    }
+
+    // Normal flow through fan
+    if (aveFlowRate >= 0.0)
+    {
+        // Pressure drop for this flow rate
+        const scalar pdFan = fanCurve_(aveFlowRate);
+
+        operator==(p0_ - dir*pdFan);
+    }
+    // Reverse flow
+    else
+    {
+        // Assume that fan has stalled if flow reversed
+        // i.e. apply dp for zero flow rate
+        const scalar pdFan = fanCurve_(0);
+
+        // Flow speed across patch
+        scalarField Up = phip/(patch().magSf());
+
+        // Pressure drop associated withback flow = dynamic pressure
+        scalarField pdBackFlow = 0.5*magSqr(Up);
+
+        if (phi.dimensions() == dimVelocity*dimArea*dimDensity)
+        {
+            const scalarField& rhop =
+                patch().lookupPatchField<volScalarField, scalar>(rhoName_);
+            pdBackFlow /= rhop;
+        }
+
+        operator==(p0_ - dir*(pdBackFlow + pdFan));
+    }
+
+    fixedValueFvPatchScalarField::updateCoeffs();
+}
+
+
+void Foam::fanPressureFvPatchScalarField::write(Ostream& os) const
+{
+    fvPatchScalarField::write(os);
+    os.writeKeyword("phi") << phiName_ << token::END_STATEMENT << nl;
+    os.writeKeyword("rho") << rhoName_ << token::END_STATEMENT << nl;
+    fanCurve_.write(os);
+    os.writeKeyword("direction")
+        << fanFlowDirectionNames_[direction_] << token::END_STATEMENT << nl;
+    p0_.writeEntry("p0", os);
+    writeEntry("value", os);
+}
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+    makePatchTypeField
+    (
+        fvPatchScalarField,
+        fanPressureFvPatchScalarField
+    );
+};
+
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H
new file mode 100644
index 0000000000000000000000000000000000000000..7c3d9ff4116cf48f9fe98017a9ea6e0737e334b2
--- /dev/null
+++ b/src/finiteVolume/fields/fvPatchFields/derived/fanPressure/fanPressureFvPatchScalarField.H
@@ -0,0 +1,205 @@
+/*---------------------------------------------------------------------------*\
+  =========                 |
+  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
+   \\    /   O peration     |
+    \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
+     \\/     M anipulation  |
+-------------------------------------------------------------------------------
+License
+    This file is part of OpenFOAM.
+
+    OpenFOAM is free software: you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+    for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
+
+Class
+    Foam::fanPressureFvPatchScalarField
+
+Description
+    Assigns pressure inlet or outlet condition for a fan.
+
+    User specifies:
+    - pressure drop vs volumetric flow rate table (fan curve) file name;
+    - direction of normal flow through the fan, in or out;
+    - total pressure of the environment.
+
+    Example of the boundary condition specification:
+    \verbatim
+        inlet
+        {
+            type            fanPressure;
+            fileName        "fanCurve"; // Fan curve file name
+            outOfBounds     clamp;      // (error|warn|clamp|repeat)
+            direction       in;         // Direction of flow through fan
+            p0              uniform 0;  // Environmental total pressure
+            value           uniform 0;  // Initial pressure
+        }
+
+        outlet
+        {
+            type            fanPressure;
+            fileName        "fanCurve"; // Fan curve file name
+            outOfBounds     clamp;      // (error|warn|clamp|repeat)
+            direction       out;        // Direction of flow through fan
+            p0              uniform 0;  // Environmental total pressure
+            value           uniform 0;  // Initial pressure
+        }
+    \endverbatim
+
+See Also
+    Foam::interpolationTable and
+    Foam::timeVaryingFlowRateInletVelocityFvPatchVectorField
+
+SourceFiles
+    fanPressureFvPatchScalarField.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef fanPressureFvPatchScalarField_H
+#define fanPressureFvPatchScalarField_H
+
+#include "fvPatchFields.H"
+#include "fixedValueFvPatchFields.H"
+#include "interpolationTable.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+/*---------------------------------------------------------------------------*\
+              Class fanPressureFvPatchScalarField Declaration
+\*---------------------------------------------------------------------------*/
+
+class fanPressureFvPatchScalarField
+:
+    public fixedValueFvPatchScalarField
+{
+    // Private data
+
+        //- Name of the flux transporting the field
+        word phiName_;
+
+        //- Name of the density field
+        word rhoName_;
+
+        //- Total pressure
+        scalarField p0_;
+
+        //- Tabulated fan curve
+        interpolationTable<scalar> fanCurve_;
+
+        //- Fan flow direction
+        enum fanFlowDirection
+        {
+            ffdIn,
+            ffdOut
+        };
+
+        static const NamedEnum<fanFlowDirection, 2> fanFlowDirectionNames_;
+
+        //- Direction of flow through the fan relative to patch
+        fanFlowDirection direction_;
+
+
+public:
+
+    //- Runtime type information
+    TypeName("fanPressure");
+
+
+    // Constructors
+
+        //- Construct from patch and internal field
+        fanPressureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct from patch, internal field and dictionary
+        fanPressureFvPatchScalarField
+        (
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const dictionary&
+        );
+
+        //- Construct by mapping given
+        //  fanPressureFvPatchScalarField
+        //  onto a new patch
+        fanPressureFvPatchScalarField
+        (
+            const fanPressureFvPatchScalarField&,
+            const fvPatch&,
+            const DimensionedField<scalar, volMesh>&,
+            const fvPatchFieldMapper&
+        );
+
+        //- Construct as copy
+        fanPressureFvPatchScalarField
+        (
+            const fanPressureFvPatchScalarField&
+        );
+
+        //- Construct and return a clone
+        virtual tmp<fvPatchScalarField> clone() const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new fanPressureFvPatchScalarField(*this)
+            );
+        }
+
+        //- Construct as copy setting internal field reference
+        fanPressureFvPatchScalarField
+        (
+            const fanPressureFvPatchScalarField&,
+            const DimensionedField<scalar, volMesh>&
+        );
+
+        //- Construct and return a clone setting internal field reference
+        virtual tmp<fvPatchScalarField> clone
+        (
+            const DimensionedField<scalar, volMesh>& iF
+        ) const
+        {
+            return tmp<fvPatchScalarField>
+            (
+                new fanPressureFvPatchScalarField
+                (
+                    *this,
+                    iF
+                )
+            );
+        }
+
+
+    // Member functions
+
+        //- Update the coefficients associated with the patch field
+        virtual void updateCoeffs();
+
+        //- Write
+        virtual void write(Ostream&) const;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/limiterBlended/limiterBlended.H b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/limiterBlended/limiterBlended.H
index 9717c0a32695e98da1dd83455e022281a8628451..fd8f3269bbb86a53b965eef8de79d3a65f95694e 100644
--- a/src/finiteVolume/interpolation/surfaceInterpolation/schemes/limiterBlended/limiterBlended.H
+++ b/src/finiteVolume/interpolation/surfaceInterpolation/schemes/limiterBlended/limiterBlended.H
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2004-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2011-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -29,7 +29,9 @@ Description
     limitedSurfaceInterpolationScheme.
 
     The limited scheme is specified first followed by the scheme to be scaled
-    by the limiter and then the scheme scaled by 1 - limiter.
+    by the limiter and then the scheme scaled by 1 - limiter e.g.
+
+    div(phi,U)      Gauss limiterBlended vanLeer linear linearUpwind grad(U);
 
 SourceFiles
     limiterBlended.C
diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
index 37d82f4ccb0509214ca598a884fb43a5f42dad9e..9fea19fe8ef2b86ad0fb612a26260a396da631bd 100644
--- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
+++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H
@@ -25,14 +25,23 @@ Class
     Foam::incompressible::LESModels::kOmegaSSTSAS
 
 Description
-    kOmegaSSTSAS LES turbulence model for incompressible flows
+     kOmegaSSTSAS LES turbulence model for incompressible flows
+    based on:
 
+    "Evaluation of the SST-SAS model: channel flow, asymmetric diffuser
+    and axi-symmetric hill".
+    European Conference on Computational Fluid Dynamics ECCOMAS CFD 2006.
+    Lars Davidson
+
+
+    The first term of the Qsas expression is corrected following:
 
     DESider A European Effort on Hybrid RANS-LES Modelling:
     Results of the European-Union Funded Project, 2004 - 2007
     (Notes on Numerical Fluid Mechanics and Multidisciplinary Design).
-    Chapter 8 Formulation of the Scale-Adaptive Simulation (SAS) Model during
-    the DESIDER Project. Published in Springer-Verlag Berlin Heidelberg 2009.
+    Chapter 2, section 8 Formulation of the Scale-Adaptive Simulation (SAS)
+    Model during the DESIDER Project. Published in Springer-Verlag Berlin
+    Heidelberg 2009.
     F. R. Menter and Y. Egorov.
 
 SourceFiles
diff --git a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
index ae53653faa373895e5c55c08070127365a133e34..026f614b53623028cfabc159623d6e6392fa55f4 100755
--- a/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
+++ b/tutorials/combustion/fireFoam/les/oppositeBurningPanels/Allrun
@@ -32,4 +32,8 @@ decomposePar -region panelRegion > log.decomposParPanelRegion.log 2>&1
 
 runParallel `getApplication` 6
 
+paraFoam -touch
+paraFoam -touch -region panelRegion
+
+
 # ----------------------------------------------------------------- end-of-file
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre
index 747433b184cd7c4e4f4813cbc0ff1f43757ea9d2..bd6fc4f90f93c116105bd5bd534fcf3a42212481 100755
--- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/Allrun.pre
@@ -8,3 +8,6 @@ runApplication setSet -batch wallFilmRegion.setSet
 mv log.setSet log.wallFilmRegion.setSet
 
 runApplication extrudeToRegionMesh -overwrite
+
+paraFoam -touch
+paraFoam -touch -region wallFilmRegion
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
index 55834022011a73d1e1e9d86dbc86df1e234db9e7..b5423180b6ab7fd33db08e26a3e36d8ff2145b5f 100755
--- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/Allrun.pre
@@ -32,3 +32,6 @@ cp -r system/wallFilmRegion.org system/wallFilmRegion
 
 find ./0 -maxdepth 1 -type f -exec \
     sed -i "s/wallFilm/\"(region0_to.*)\"/g" {} \;
+
+paraFoam -touch
+paraFoam -touch -region wallFilmRegion
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre
index 0e3c1209c5bc981b7e0be9cfaf2192a70b2b46dd..d9b17ad0979f5a80eabeaabbb0d3cdbc402d3c88 100755
--- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/Allrun.pre
@@ -10,3 +10,5 @@ mv log.setSet log.wallFilmRegion.setSet
 
 runApplication extrudeToRegionMesh -overwrite
 
+paraFoam -touch
+paraFoam -touch -region wallFilmRegion
diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre
index 14da52453ed735ef3b94371277f95c0421540811..bbae3db32c4fa9e323206b4901aa7a27c0526603 100755
--- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/Allrun.pre
@@ -14,3 +14,6 @@ runApplication setSet -region wallFilmRegion -batch createWallFilmRegionPatches.
 mv log.setSet log.createWallFilmRegionPatches.setSet
 
 runApplication createPatch -region wallFilmRegion -overwrite
+
+paraFoam -touch
+paraFoam -touch -region wallFilmRegion