From ec5cc92d376a734907b918dec869a53d6bd3492e Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 27 Apr 2016 12:46:38 +0100
Subject: [PATCH] geometricOneField: Added support for DimensionedInternalField

---
 .../fields/Fields/oneField/oneField.H         |  7 ++-
 .../fields/Fields/oneField/oneFieldI.H        | 20 +++++++
 .../geometricOneField/geometricOneField.H     | 29 +++++++++-
 .../geometricOneField/geometricOneFieldI.H    | 53 +++++++++++++++++++
 4 files changed, 107 insertions(+), 2 deletions(-)

diff --git a/src/OpenFOAM/fields/Fields/oneField/oneField.H b/src/OpenFOAM/fields/Fields/oneField/oneField.H
index 8c6fb16b7a4..4bce84b203d 100644
--- a/src/OpenFOAM/fields/Fields/oneField/oneField.H
+++ b/src/OpenFOAM/fields/Fields/oneField/oneField.H
@@ -70,13 +70,18 @@ public:
 };
 
 
+inline const oneField& operator*(const oneField&, const oneField&);
+
+inline const oneField& operator/(const oneField&, const oneField&);
+
+
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
 } // End namespace Foam
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-    #include "oneFieldI.H"
+#include "oneFieldI.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/fields/Fields/oneField/oneFieldI.H b/src/OpenFOAM/fields/Fields/oneField/oneFieldI.H
index bcd8edf6634..3bb94fc0366 100644
--- a/src/OpenFOAM/fields/Fields/oneField/oneFieldI.H
+++ b/src/OpenFOAM/fields/Fields/oneField/oneFieldI.H
@@ -39,4 +39,24 @@ inline Foam::oneField Foam::oneField::field() const
 }
 
 
+inline const Foam::oneField& Foam::operator*
+(
+    const oneField& of,
+    const oneField&
+)
+{
+    return of;
+}
+
+
+inline const Foam::oneField& Foam::operator/
+(
+    const oneField& of,
+    const oneField&
+)
+{
+    return of;
+}
+
+
 // ************************************************************************* //
diff --git a/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneField.H b/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneField.H
index 23c368b3008..bca45d065ef 100644
--- a/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneField.H
+++ b/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneField.H
@@ -59,6 +59,7 @@ public:
 
     // Public typedefs
 
+        typedef oneField DimensionedInternalField;
         typedef oneField InternalField;
         typedef oneField PatchFieldType;
         typedef oneFieldField GeometricBoundaryField;
@@ -83,6 +84,8 @@ public:
 
         inline InternalField internalField() const;
 
+        inline DimensionedInternalField v() const;
+
         inline GeometricBoundaryField boundaryField() const;
 };
 
@@ -93,12 +96,36 @@ inline const geometricOneField& operator*
     const geometricOneField&
 );
 
+inline const geometricOneField::DimensionedInternalField& operator*
+(
+    const geometricOneField::DimensionedInternalField&,
+    const geometricOneField&
+);
+
+inline const geometricOneField::DimensionedInternalField& operator*
+(
+    const geometricOneField&,
+    const geometricOneField::DimensionedInternalField&
+);
+
 inline const geometricOneField& operator/
 (
     const geometricOneField&,
     const geometricOneField&
 );
 
+inline const geometricOneField::DimensionedInternalField& operator/
+(
+    const geometricOneField::DimensionedInternalField&,
+    const geometricOneField&
+);
+
+inline const geometricOneField::DimensionedInternalField& operator/
+(
+    const geometricOneField&,
+    const geometricOneField::DimensionedInternalField&
+);
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
@@ -106,7 +133,7 @@ inline const geometricOneField& operator/
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
-    #include "geometricOneFieldI.H"
+#include "geometricOneFieldI.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 
diff --git a/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneFieldI.H b/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneFieldI.H
index 7fdbd063ee6..59a739684c9 100644
--- a/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneFieldI.H
+++ b/src/OpenFOAM/fields/GeometricFields/geometricOneField/geometricOneFieldI.H
@@ -32,27 +32,39 @@ inline const Foam::dimensionSet& Foam::geometricOneField::dimensions() const
     return dimless;
 }
 
+
 inline Foam::one Foam::geometricOneField::operator[](const label) const
 {
     return one();
 }
 
+
 inline Foam::oneField Foam::geometricOneField::field() const
 {
     return oneField();
 }
 
+
 inline Foam::oneField Foam::geometricOneField::oldTime() const
 {
     return oneField();
 }
 
+
 inline Foam::geometricOneField::InternalField
 Foam::geometricOneField::internalField() const
 {
     return InternalField();
 }
 
+
+inline Foam::geometricOneField::DimensionedInternalField
+Foam::geometricOneField::v() const
+{
+    return DimensionedInternalField();
+}
+
+
 inline Foam::geometricOneField::GeometricBoundaryField
 Foam::geometricOneField::boundaryField() const
 {
@@ -69,6 +81,27 @@ inline const Foam::geometricOneField& Foam::operator*
     return gof;
 }
 
+
+inline const Foam::geometricOneField::DimensionedInternalField& Foam::operator*
+(
+    const geometricOneField::DimensionedInternalField& of,
+    const geometricOneField&
+)
+{
+    return of;
+}
+
+
+inline const Foam::geometricOneField::DimensionedInternalField& Foam::operator*
+(
+    const geometricOneField&,
+    const geometricOneField::DimensionedInternalField& of
+)
+{
+    return of;
+}
+
+
 inline const Foam::geometricOneField& Foam::operator/
 (
     const geometricOneField& gof,
@@ -79,4 +112,24 @@ inline const Foam::geometricOneField& Foam::operator/
 }
 
 
+inline const Foam::geometricOneField::DimensionedInternalField& Foam::operator/
+(
+    const geometricOneField::DimensionedInternalField& of,
+    const geometricOneField&
+)
+{
+    return of;
+}
+
+
+inline const Foam::geometricOneField::DimensionedInternalField& Foam::operator/
+(
+    const geometricOneField&,
+    const geometricOneField::DimensionedInternalField& of
+)
+{
+    return of;
+}
+
+
 // ************************************************************************* //
-- 
GitLab