diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files
index 9e1d2eec87..ac70390ecd 100644
--- a/src/functionObjects/field/Make/files
+++ b/src/functionObjects/field/Make/files
@@ -60,6 +60,7 @@ ddt/ddt.C
mag/mag.C
magSqr/magSqr.C
vorticity/vorticity.C
+lambVector/lambVector.C
enstrophy/enstrophy.C
Q/Q.C
Lambda2/Lambda2.C
diff --git a/src/functionObjects/field/lambVector/lambVector.C b/src/functionObjects/field/lambVector/lambVector.C
new file mode 100644
index 0000000000..d7e0513bc9
--- /dev/null
+++ b/src/functionObjects/field/lambVector/lambVector.C
@@ -0,0 +1,70 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2019 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 .
+
+\*---------------------------------------------------------------------------*/
+
+#include "lambVector.H"
+#include "fvcCurl.H"
+#include "fvcDiv.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+ defineTypeNameAndDebug(lambVector, 0);
+ addToRunTimeSelectionTable(functionObject, lambVector, dictionary);
+}
+}
+
+// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
+
+bool Foam::functionObjects::lambVector::calc()
+{
+ if (foundObject(fieldName_))
+ {
+ const volVectorField& U = lookupObject(fieldName_);
+ return store(resultName_, fvc::curl(U)^U);
+ }
+
+ return false;
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::functionObjects::lambVector::lambVector
+(
+ const word& name,
+ const Time& runTime,
+ const dictionary& dict
+)
+:
+ fieldExpression(name, runTime, dict, "U")
+{
+ setResultName(typeName, fieldName_);
+}
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/lambVector/lambVector.H b/src/functionObjects/field/lambVector/lambVector.H
new file mode 100644
index 0000000000..73c51e4967
--- /dev/null
+++ b/src/functionObjects/field/lambVector/lambVector.H
@@ -0,0 +1,121 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | Copyright (C) 2019 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 .
+
+Class
+ Foam::functionObjects::lambVector
+
+Group
+ grpFieldFunctionObjects
+
+Description
+ Calculates Lamb vector, i.e. the cross product of vorticity and velocity.
+ Calculation of the divergence of the Lamb vector can be performed by using
+ 'div' functionObject on this 'lambVector' functionObject.
+
+ The field is stored on the mesh database so that it can be retrieved
+ and used for other applications.
+
+Usage
+ \verbatim
+ lambVector1
+ {
+ type lambVector;
+ libs ("libfieldFunctionObjects.so");
+ field UMean;
+ ... Base options of fieldExpression ...
+ }
+ \endverbatim
+
+ Where the entries comprise:
+ \table
+ Property | Description | Required | Default value
+ type | Type name: lambVector | yes |
+ field | Name of volVectorField | no | U
+ \endtable
+
+See also
+ Foam::functionObjects::fieldExpression
+
+SourceFiles
+ lambVector.C
+
+\*---------------------------------------------------------------------------*/
+
+#ifndef functionObjects_lambVector_H
+#define functionObjects_lambVector_H
+
+#include "fieldExpression.H"
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+
+/*---------------------------------------------------------------------------*\
+ Class lambVector Declaration
+\*---------------------------------------------------------------------------*/
+
+class lambVector
+:
+ public fieldExpression
+{
+ // Private Member Functions
+
+ //- Calculate the lambVector field and return true if successful
+ virtual bool calc();
+
+
+public:
+
+ //- Runtime type information
+ TypeName("lambVector");
+
+
+ // Constructors
+
+ //- Construct from Time and dictionary
+ lambVector
+ (
+ const word& name,
+ const Time& runTime,
+ const dictionary& dict
+ );
+
+
+ //- Destructor
+ virtual ~lambVector() = default;
+};
+
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+} // End namespace functionObjects
+} // End namespace Foam
+
+// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+
+#endif
+
+// ************************************************************************* //