diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
index ebf14d47f03be4a99109f3bd95cd1ae470a72022..3bbb078c869bcca89c8051f926900711d48ae6f2 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.C
@@ -50,7 +50,7 @@ namespace Foam
     const char* Foam::NamedEnum
     <
         Foam::fieldValues::cellSource::operationType,
-        7
+        8
     >::names[] =
     {
         "none",
@@ -59,7 +59,8 @@ namespace Foam
         "volIntegrate",
         "weightedAverage",
         "min",
-        "max"
+        "max",
+        "CoV"
     };
 }
 
@@ -67,7 +68,7 @@ namespace Foam
 const Foam::NamedEnum<Foam::fieldValues::cellSource::sourceType, 2>
     Foam::fieldValues::cellSource::sourceTypeNames_;
 
-const Foam::NamedEnum<Foam::fieldValues::cellSource::operationType, 7>
+const Foam::NamedEnum<Foam::fieldValues::cellSource::operationType, 8>
     Foam::fieldValues::cellSource::operationTypeNames_;
 
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
index b3231481f674831c875d30205597b9257fc52682..259c2aff88eea38066c11479f0999dddc9c5040a 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSource.H
@@ -52,6 +52,7 @@ Description
       - volAverage
       - volIntegrate
       - weightedAverage
+      - CoV (Coefficient of variation: standard deviation/mean)
 
 SourceFiles
     cellSource.C
@@ -106,11 +107,12 @@ public:
             opVolIntegrate,
             opWeightedAverage,
             opMin,
-            opMax
+            opMax,
+            opCoV
         };
 
         //- Operation type names
-        static const NamedEnum<operationType, 7> operationTypeNames_;
+        static const NamedEnum<operationType, 8> operationTypeNames_;
 
 
 private:
diff --git a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
index 6c3fe94438d1e1d4785c47f51247f63208cd75bd..9a3263465cfdd4f06a1a2e0dd25af0d815f409f3 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/cellSource/cellSourceTemplates.C
@@ -115,6 +115,23 @@ Type Foam::fieldValues::cellSource::processValues
             result = max(values);
             break;
         }
+        case opCoV:
+        {
+            Type meanValue = sum(values*V)/sum(V);
+
+            const label nComp = pTraits<Type>::nComponents;
+
+            for (direction d=0; d<nComp; ++d)
+            {
+                scalarField vals(values.component(d));
+                scalar mean = component(meanValue, d);
+                scalar& res = setComponent(result, d);
+
+                res = sqrt(sum(V*sqr(vals - mean))/(V.size()*sum(V)))/mean;
+            }
+
+            break;
+        }
         default:
         {
             // Do nothing
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
index 5141604eed0e8094f75b549f5a02c8495cd1d686..98a45084bfd3190df8a4f2575dd6658c26131740 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C
@@ -53,7 +53,7 @@ namespace Foam
     const char* Foam::NamedEnum
     <
         Foam::fieldValues::faceSource::operationType,
-        7
+        8
     >::names[] =
     {
         "none",
@@ -62,7 +62,8 @@ namespace Foam
         "areaIntegrate",
         "weightedAverage",
         "min",
-        "max"
+        "max",
+        "CoV"
     };
 
 }
@@ -71,7 +72,7 @@ namespace Foam
 const Foam::NamedEnum<Foam::fieldValues::faceSource::sourceType, 3>
     Foam::fieldValues::faceSource::sourceTypeNames_;
 
-const Foam::NamedEnum<Foam::fieldValues::faceSource::operationType, 7>
+const Foam::NamedEnum<Foam::fieldValues::faceSource::operationType, 8>
     Foam::fieldValues::faceSource::operationTypeNames_;
 
 
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
index 4ff40c837d98feeaba742e9d8fc4578a2d56c494..90f972c57434f6dd7416e68ea47aca591f638e3e 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H
@@ -62,6 +62,7 @@ Description
       - weightedAverage
       - min
       - max
+      - CoV (Coefficient of variation: standard deviation/mean)
 
     Notes:
     - faces on empty patches get ignored
@@ -132,11 +133,12 @@ public:
             opAreaIntegrate,
             opWeightedAverage,
             opMin,
-            opMax
+            opMax,
+            opCoV
         };
 
         //- Operation type names
-        static const NamedEnum<operationType, 7> operationTypeNames_;
+        static const NamedEnum<operationType, 8> operationTypeNames_;
 
 
 private:
diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
index 47fb3a61e10e460ef461b85b487435a3dddb45fa..821fda5f6a937e1b18a4013b460b0a190e2a7147 100644
--- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
+++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSourceTemplates.C
@@ -134,6 +134,25 @@ Type Foam::fieldValues::faceSource::processValues
             result = max(values);
             break;
         }
+        case opCoV:
+        {
+            Type meanValue = sum(values*magSf)/sum(magSf);
+
+            const label nComp = pTraits<Type>::nComponents;
+
+            for (direction d=0; d<nComp; ++d)
+            {
+                scalarField vals(values.component(d));
+                scalar mean = component(meanValue, d);
+                scalar& res = setComponent(result, d);
+
+                res =
+                    sqrt(sum(magSf*sqr(vals - mean))/(magSf.size()*sum(magSf)))
+                   /mean;
+            }
+
+            break;
+        }
         default:
         {
             // Do nothing