diff --git a/src/functionObjects/field/Make/files b/src/functionObjects/field/Make/files
index 714b476232..fecf17a751 100644
--- a/src/functionObjects/field/Make/files
+++ b/src/functionObjects/field/Make/files
@@ -80,6 +80,7 @@ MachNo/MachNo.C
Curle/Curle.C
reference/reference.C
log/log.C
+pow/pow.C
fieldsExpression/fieldsExpression.C
add/add.C
diff --git a/src/functionObjects/field/pow/pow.C b/src/functionObjects/field/pow/pow.C
new file mode 100644
index 0000000000..6315653f93
--- /dev/null
+++ b/src/functionObjects/field/pow/pow.C
@@ -0,0 +1,117 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | www.openfoam.com
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+ Copyright (C) 2020 OpenCFD Ltd.
+------------------------------------------------------------------------------
+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 "pow.H"
+#include "volFields.H"
+#include "addToRunTimeSelectionTable.H"
+
+// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
+
+namespace Foam
+{
+namespace functionObjects
+{
+ defineTypeNameAndDebug(pow, 0);
+ addToRunTimeSelectionTable(functionObject, pow, dictionary);
+}
+}
+
+
+// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
+
+bool Foam::functionObjects::pow::calc()
+{
+ if (foundObject(fieldName_))
+ {
+ const volScalarField& x = lookupObject(fieldName_);
+
+ // Cache the current debug setting for dimensionSet
+ const bool dimensionSetDebug = dimensionSet::debug;
+
+ // Switch-off dimension checking if requested
+ if (!checkDimensions_)
+ {
+ dimensionSet::debug = 0;
+ }
+
+ bool stored = store
+ (
+ resultName_,
+ scale_*Foam::pow(x, n_) + offset_
+ );
+
+ // Reinstate dimension checking
+ if (!checkDimensions_)
+ {
+ dimensionSet::debug = dimensionSetDebug;
+ }
+
+ return stored;
+ }
+
+ return false;
+}
+
+
+// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
+
+Foam::functionObjects::pow::pow
+(
+ const word& name,
+ const Time& runTime,
+ const dictionary& dict
+)
+:
+ fieldExpression(name, runTime, dict, typeName),
+ checkDimensions_(true),
+ n_(0.0),
+ scale_(1.0),
+ offset_(0.0)
+{
+ read(dict);
+}
+
+
+// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
+
+bool Foam::functionObjects::pow::read(const dictionary& dict)
+{
+ if (fvMeshFunctionObject::read(dict) && fieldExpression::read(dict))
+ {
+ checkDimensions_ = dict.getOrDefault("checkDimensions", true);
+ n_ = dict.get("n");
+ scale_ = dict.getOrDefault("scale", 1.0);
+ offset_ = dict.getOrDefault("offset", 0.0);
+
+ return true;
+ }
+
+ return false;
+}
+
+
+// ************************************************************************* //
diff --git a/src/functionObjects/field/pow/pow.H b/src/functionObjects/field/pow/pow.H
new file mode 100644
index 0000000000..8820a60b20
--- /dev/null
+++ b/src/functionObjects/field/pow/pow.H
@@ -0,0 +1,197 @@
+/*---------------------------------------------------------------------------*\
+ ========= |
+ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
+ \\ / O peration |
+ \\ / A nd | www.openfoam.com
+ \\/ M anipulation |
+-------------------------------------------------------------------------------
+ Copyright (C) 2020 OpenCFD Ltd.
+-------------------------------------------------------------------------------
+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::pow
+
+Group
+ grpFieldFunctionObjects
+
+Description
+ Computes the power of an input \c volScalarField.
+
+ \f[
+ f = s f_0^n + t
+ \f]
+
+ where
+ \vartable
+ f | Output volScalarField
+ f_0 | Input volScalarField
+ n | Exponent
+ s | Scaling factor
+ t | Offset factor
+ \endvartable
+
+ \table
+ Operand | Type | Location
+ input | volScalarField | $FOAM_CASE/\