diff --git a/src/postProcessing/functionObjects/utilities/Make/files b/src/postProcessing/functionObjects/utilities/Make/files
index 43b161e634..0b54906168 100644
--- a/src/postProcessing/functionObjects/utilities/Make/files
+++ b/src/postProcessing/functionObjects/utilities/Make/files
@@ -33,6 +33,9 @@ timeActivatedFileUpdate/timeActivatedFileUpdateFunctionObject.C
turbulenceFields/turbulenceFields.C
turbulenceFields/turbulenceFieldsFunctionObject.C
+vorticity/vorticity.C
+vorticity/vorticityFunctionObject.C
+
wallShearStress/wallShearStress.C
wallShearStress/wallShearStressFunctionObject.C
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/IOvorticity.H b/src/postProcessing/functionObjects/utilities/vorticity/IOvorticity.H
new file mode 100644
index 0000000000..c2ac753b1f
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/vorticity/IOvorticity.H
@@ -0,0 +1,49 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
+ \\/ 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 .
+
+Typedef
+ Foam::IOvorticity
+
+Description
+ Instance of the generic IOOutputFilter for vorticity.
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef IOvorticity_H
+#define IOvorticity_H
+
+#include "vorticity.H"
+#include "IOOutputFilter.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+ typedef IOOutputFilter IOvorticity;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
new file mode 100644
index 0000000000..ac9c5e392c
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.C
@@ -0,0 +1,169 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
+ \\/ 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 .
+
+\*---------------------------------------------------------------------------*/
+
+#include "vorticity.H"
+#include "volFields.H"
+#include "dictionary.H"
+#include "fvcCurl.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+ defineTypeNameAndDebug(vorticity, 0);
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::vorticity::vorticity
+(
+ const word& name,
+ const objectRegistry& obr,
+ const dictionary& dict,
+ const bool loadFromFiles
+)
+:
+ name_(name),
+ obr_(obr),
+ active_(true),
+ UName_("U"),
+ outputName_(typeName)
+{
+ // Check if the available mesh is an fvMesh, otherwise deactivate
+ if (!isA(obr_))
+ {
+ active_ = false;
+ WarningIn
+ (
+ "vorticity::vorticity"
+ "("
+ "const word&, "
+ "const objectRegistry&, "
+ "const dictionary&, "
+ "const bool"
+ ")"
+ ) << "No fvMesh available, deactivating " << name_ << nl
+ << endl;
+ }
+
+ read(dict);
+
+ if (active_)
+ {
+ const fvMesh& mesh = refCast(obr_);
+
+ volVectorField* vorticityPtr
+ (
+ new volVectorField
+ (
+ IOobject
+ (
+ outputName_,
+ mesh.time().timeName(),
+ mesh,
+ IOobject::NO_READ,
+ IOobject::NO_WRITE
+ ),
+ mesh,
+ dimensionedVector("0", dimless/dimTime, vector::zero)
+ )
+ );
+
+ mesh.objectRegistry::store(vorticityPtr);
+ }
+}
+
+
+// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
+
+Foam::vorticity::~vorticity()
+{}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+void Foam::vorticity::read(const dictionary& dict)
+{
+ if (active_)
+ {
+ UName_ = dict.lookupOrDefault("UName", "U");
+ if (UName_ != "U")
+ {
+ outputName_ = typeName + "(" + UName_ + ")";
+ }
+ }
+}
+
+
+void Foam::vorticity::execute()
+{
+ if (active_)
+ {
+ const volVectorField& U = obr_.lookupObject(UName_);
+
+ volVectorField& vorticity =
+ const_cast
+ (
+ obr_.lookupObject(outputName_)
+ );
+
+ vorticity = fvc::curl(U);
+ }
+}
+
+
+void Foam::vorticity::end()
+{
+ if (active_)
+ {
+ execute();
+ }
+}
+
+
+void Foam::vorticity::timeSet()
+{
+ // Do nothing
+}
+
+
+void Foam::vorticity::write()
+{
+ if (active_)
+ {
+ const volVectorField& vorticity =
+ obr_.lookupObject(outputName_);
+
+ Info<< type() << " " << name_ << " output:" << nl
+ << " writing field " << vorticity.name() << nl
+ << endl;
+
+ vorticity.write();
+ }
+}
+
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H
new file mode 100644
index 0000000000..bce5d943eb
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticity.H
@@ -0,0 +1,152 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
+ \\/ 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 .
+
+Class
+ Foam::vorticity
+
+Group
+ grpUtilitiesFunctionObjects
+
+Description
+ This function object calculates the vorticity, the curl of the velocity.
+
+SourceFiles
+ vorticity.C
+ IOvorticity.H
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef vorticity_H
+#define vorticity_H
+
+#include "volFieldsFwd.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+
+// Forward declaration of classes
+class objectRegistry;
+class dictionary;
+class polyMesh;
+class mapPolyMesh;
+
+/*---------------------------------------------------------------------------*\
+ Class vorticity Declaration
+\*---------------------------------------------------------------------------*/
+
+class vorticity
+{
+ // Private data
+
+ //- Name of this set of vorticity objects
+ word name_;
+
+ //- Reference to the database
+ const objectRegistry& obr_;
+
+ //- On/off switch
+ bool active_;
+
+ //- Name of velocity field, default is "U"
+ word UName_;
+
+ //- Name of vorticity field
+ word outputName_;
+
+
+ // Private Member Functions
+
+ //- Disallow default bitwise copy construct
+ vorticity(const vorticity&);
+
+ //- Disallow default bitwise assignment
+ void operator=(const vorticity&);
+
+
+public:
+
+ //- Runtime type information
+ TypeName("vorticity");
+
+
+ // Constructors
+
+ //- Construct for given objectRegistry and dictionary.
+ // Allow the possibility to load fields from files
+ vorticity
+ (
+ const word& name,
+ const objectRegistry&,
+ const dictionary&,
+ const bool loadFromFiles = false
+ );
+
+
+ //- Destructor
+ virtual ~vorticity();
+
+
+ // Member Functions
+
+ //- Return name of the set of vorticity
+ virtual const word& name() const
+ {
+ return name_;
+ }
+
+ //- Read the vorticity data
+ virtual void read(const dictionary&);
+
+ //- Execute, currently does nothing
+ virtual void execute();
+
+ //- Execute at the final time-loop, currently does nothing
+ virtual void end();
+
+ //- Called when time was set at the end of the Time::operator++
+ virtual void timeSet();
+
+ //- Calculate the vorticity and write
+ virtual void write();
+
+ //- Update for changes of mesh
+ virtual void updateMesh(const mapPolyMesh&)
+ {}
+
+ //- Update for changes of mesh
+ virtual void movePoints(const polyMesh&)
+ {}
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.C b/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.C
new file mode 100644
index 0000000000..51b7c2f1e3
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.C
@@ -0,0 +1,42 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
+ \\/ 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 .
+
+\*---------------------------------------------------------------------------*/
+
+#include "vorticityFunctionObject.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+ defineNamedTemplateTypeNameAndDebug(vorticityFunctionObject, 0);
+
+ addToRunTimeSelectionTable
+ (
+ functionObject,
+ vorticityFunctionObject,
+ dictionary
+ );
+}
+
+// ************************************************************************* //
diff --git a/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.H b/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.H
new file mode 100644
index 0000000000..765ec1e6f9
--- /dev/null
+++ b/src/postProcessing/functionObjects/utilities/vorticity/vorticityFunctionObject.H
@@ -0,0 +1,53 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation
+ \\/ 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 .
+
+Typedef
+ Foam::vorticityFunctionObject
+
+Description
+ FunctionObject wrapper around vorticity to allow it to be created
+ via the functions entry within controlDict.
+
+SourceFiles
+ vorticityFunctionObject.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef vorticityFunctionObject_H
+#define vorticityFunctionObject_H
+
+#include "vorticity.H"
+#include "OutputFilterFunctionObject.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+ typedef OutputFilterFunctionObject vorticityFunctionObject;
+}
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //