From c233961d454b50ecdaf076edff636060a2ee4598 Mon Sep 17 00:00:00 2001
From: Andrew Heather <>
Date: Fri, 19 Nov 2021 11:30:08 +0000
Subject: [PATCH] ENH: function objects - apply scoped name when registering
 objects

---
 .../functionObject/functionObject.C           | 23 +++++++++++++---
 .../functionObject/functionObject.H           | 18 ++++++++++---
 .../field/DESModelRegions/DESModelRegions.C   |  2 +-
 .../field/XiReactionRate/XiReactionRate.C     | 13 ++++------
 .../field/columnAverage/columnAverage.C       |  4 +--
 .../field/fieldAverage/fieldAverage.C         |  6 +++++
 .../fieldAverageItem/fieldAverageItem.H       |  6 +++++
 .../fieldAverageItem/fieldAverageItemI.H      | 21 ++++++++++++++-
 .../field/fieldExpression/fieldExpression.C   |  2 ++
 .../fieldExtents/fieldExtentsTemplates.C      |  3 +--
 .../heatTransferCoeff/heatTransferCoeff.C     |  2 +-
 .../particleDistribution.C                    |  2 +-
 src/functionObjects/field/pressure/pressure.C |  2 +-
 .../field/randomise/randomise.C               |  2 +-
 .../regionSizeDistribution.C                  |  4 +--
 .../field/wallHeatFlux/wallHeatFlux.C         |  7 ++---
 .../field/wallShearStress/wallShearStress.C   | 10 +++----
 src/functionObjects/field/yPlus/yPlus.C       |  8 +++---
 .../field/zeroGradient/zeroGradient.C         |  3 ++-
 .../forces/forceCoeffs/forceCoeffs.C          | 16 ++++++------
 src/functionObjects/forces/forces/forces.C    | 26 +++++++------------
 src/functionObjects/forces/forces/forces.H    |  3 ---
 .../reactingEulerHtcModel.C                   |  2 +-
 23 files changed, 116 insertions(+), 69 deletions(-)

diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C
index 2229135ae3f..1357a3348c4 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.C
@@ -48,15 +48,25 @@ Foam::word Foam::functionObject::outputPrefix("postProcessing");
 
 Foam::word Foam::functionObject::scopedName(const word& name) const
 {
-    return name_ + ":" + name;
+    if (scopedNames_)
+    {
+        return IOobject::scopedName(name_, name);
+    }
+
+    return name_;
 }
 
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::functionObject::functionObject(const word& name)
+Foam::functionObject::functionObject
+(
+    const word& name,
+    const bool scopedNames
+)
 :
     name_(name),
+    scopedNames_(scopedNames),
     log(postProcess)
 {}
 
@@ -128,16 +138,23 @@ Foam::autoPtr<Foam::functionObject> Foam::functionObject::New
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-const Foam::word& Foam::functionObject::name() const
+const Foam::word& Foam::functionObject::name() const noexcept
 {
     return name_;
 }
 
 
+bool Foam::functionObject::scopedNames() const noexcept
+{
+    return scopedNames_;
+}
+
+
 bool Foam::functionObject::read(const dictionary& dict)
 {
     if (!postProcess)
     {
+        scopedNames_ = dict.getOrDefault("scopedNames", true);
         log = dict.getOrDefault("log", true);
     }
 
diff --git a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
index e22b4dfa099..acef941c7d9 100644
--- a/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
+++ b/src/OpenFOAM/db/functionObjects/functionObject/functionObject.H
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011-2016 OpenFOAM Foundation
-    Copyright (C) 2017-2020 OpenCFD Ltd.
+    Copyright (C) 2017-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -221,6 +221,9 @@ class functionObject
         //- Name
         const word name_;
 
+        //- Flag to indicate that names should be scoped
+        bool scopedNames_;
+
 
 protected:
 
@@ -266,7 +269,11 @@ public:
     // Constructors
 
         //- Construct from components
-        functionObject(const word& name);
+        explicit functionObject
+        (
+            const word& name,
+            const bool scopedNames = true
+        );
 
         //- Return clone
         autoPtr<functionObject> clone() const
@@ -294,7 +301,10 @@ public:
     // Member Functions
 
         //- Return the name of this functionObject
-        const word& name() const;
+        const word& name() const noexcept;
+
+        //- Return the scoped names flag
+        bool scopedNames() const noexcept;
 
         //- Read and set the function object if its data have changed
         virtual bool read(const dictionary& dict);
@@ -347,7 +357,7 @@ class functionObject::unavailableFunctionObject
 protected:
 
     //- Construct with name
-    unavailableFunctionObject(const word& name);
+    explicit unavailableFunctionObject(const word& name);
 
     //- Report it is unavailable, emitting a FatalError for try/catch
     //- in the caller
diff --git a/src/functionObjects/field/DESModelRegions/DESModelRegions.C b/src/functionObjects/field/DESModelRegions/DESModelRegions.C
index 965bc86970a..07bc912eda9 100644
--- a/src/functionObjects/field/DESModelRegions/DESModelRegions.C
+++ b/src/functionObjects/field/DESModelRegions/DESModelRegions.C
@@ -68,7 +68,7 @@ Foam::functionObjects::DESModelRegions::DESModelRegions
 :
     fvMeshFunctionObject(name, runTime, dict),
     writeFile(obr_, name, typeName, dict),
-    resultName_(name)
+    resultName_(scopedName("regions"))
 {
     read(dict);
 
diff --git a/src/functionObjects/field/XiReactionRate/XiReactionRate.C b/src/functionObjects/field/XiReactionRate/XiReactionRate.C
index 6ec82a9dc78..8f97fecff37 100644
--- a/src/functionObjects/field/XiReactionRate/XiReactionRate.C
+++ b/src/functionObjects/field/XiReactionRate/XiReactionRate.C
@@ -74,20 +74,17 @@ bool Foam::functionObjects::XiReactionRate::execute()
 
 bool Foam::functionObjects::XiReactionRate::write()
 {
-    const volScalarField& b =
-        mesh_.lookupObject<volScalarField>("b");
+    const volScalarField& b = mesh_.lookupObject<volScalarField>("b");
 
-    const volScalarField& Su =
-        mesh_.lookupObject<volScalarField>("Su");
+    const volScalarField& Su = mesh_.lookupObject<volScalarField>("Su");
 
-    const volScalarField& Xi =
-        mesh_.lookupObject<volScalarField>("Xi");
+    const volScalarField& Xi = mesh_.lookupObject<volScalarField>("Xi");
 
     const volScalarField St
     (
         IOobject
         (
-            "St",
+            scopedName("St"),
             time_.timeName(),
             mesh_
         ),
@@ -103,7 +100,7 @@ bool Foam::functionObjects::XiReactionRate::write()
     (
         IOobject
         (
-            "wdot",
+            scopedName("wdot"),
             time_.timeName(),
             mesh_
         ),
diff --git a/src/functionObjects/field/columnAverage/columnAverage.C b/src/functionObjects/field/columnAverage/columnAverage.C
index 0ef1f074c9d..599246d873d 100644
--- a/src/functionObjects/field/columnAverage/columnAverage.C
+++ b/src/functionObjects/field/columnAverage/columnAverage.C
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2018-2020 OpenCFD Ltd.
+    Copyright (C) 2018-2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -113,7 +113,7 @@ const Foam::word Foam::functionObjects::columnAverage::averageName
     const word& fieldName
 ) const
 {
-    return name() + ":columnAverage(" + fieldName + ")";
+    return scopedName("columnAverage(" + fieldName + ")");
 }
 
 
diff --git a/src/functionObjects/field/fieldAverage/fieldAverage.C b/src/functionObjects/field/fieldAverage/fieldAverage.C
index b51e52559ae..ab2cf923bcf 100644
--- a/src/functionObjects/field/fieldAverage/fieldAverage.C
+++ b/src/functionObjects/field/fieldAverage/fieldAverage.C
@@ -310,6 +310,12 @@ bool Foam::functionObjects::fieldAverage::read(const dictionary& dict)
     dict.readIfPresent("periodicRestart",  periodicRestart_);
     dict.readEntry("fields", faItems_);
 
+    for (auto& item : faItems_)
+    {
+        item.setMeanFieldName(scopedName(item.meanFieldName()));
+        item.setPrime2MeanFieldName(scopedName(item.prime2MeanFieldName()));
+    }
+
     const scalar currentTime = obr().time().value();
 
     if (periodicRestart_)
diff --git a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
index 46cdf4b9c7e..4ad0ea958e3 100644
--- a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
+++ b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItem.H
@@ -236,6 +236,9 @@ public:
             //- Return const access to the mean field name
             inline const word& meanFieldName() const;
 
+            //- Set the mean field name
+            inline void setMeanFieldName(const word& name);
+
             //- Return const access to the prime-squared mean flag
             inline bool prime2Mean() const;
 
@@ -245,6 +248,9 @@ public:
             //- Return const access to the prime-squared mean field name
             inline const word& prime2MeanFieldName() const;
 
+            //- Set the prime-squared mean field name
+            inline void setPrime2MeanFieldName(const word& name);
+
             //- Return averaging base type name
             inline const word& base() const;
 
diff --git a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemI.H b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemI.H
index 8f67815e13d..68b862be2db 100644
--- a/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemI.H
+++ b/src/functionObjects/field/fieldAverage/fieldAverageItem/fieldAverageItemI.H
@@ -64,6 +64,15 @@ Foam::functionObjects::fieldAverageItem::meanFieldName() const
 }
 
 
+void Foam::functionObjects::fieldAverageItem::setMeanFieldName
+(
+    const word& name
+)
+{
+    meanFieldName_ = name;
+}
+
+
 bool Foam::functionObjects::fieldAverageItem::prime2Mean() const
 {
     return prime2Mean_;
@@ -76,12 +85,22 @@ bool& Foam::functionObjects::fieldAverageItem::prime2Mean()
 }
 
 
-const Foam::word& Foam::functionObjects::fieldAverageItem::prime2MeanFieldName() const
+const Foam::word&
+Foam::functionObjects::fieldAverageItem::prime2MeanFieldName() const
 {
     return prime2MeanFieldName_;
 }
 
 
+void Foam::functionObjects::fieldAverageItem::setPrime2MeanFieldName
+(
+    const word& name
+)
+{
+    prime2MeanFieldName_ = name;
+}
+
+
 const Foam::word& Foam::functionObjects::fieldAverageItem::base() const
 {
     return baseTypeNames_[base_];
diff --git a/src/functionObjects/field/fieldExpression/fieldExpression.C b/src/functionObjects/field/fieldExpression/fieldExpression.C
index 53b22aba1e6..870363d462a 100644
--- a/src/functionObjects/field/fieldExpression/fieldExpression.C
+++ b/src/functionObjects/field/fieldExpression/fieldExpression.C
@@ -63,6 +63,8 @@ void Foam::functionObjects::fieldExpression::setResultName
         {
             resultName_ = typeName;
         }
+
+        resultName_ = scopedName(resultName_);
     }
 }
 
diff --git a/src/functionObjects/field/fieldExtents/fieldExtentsTemplates.C b/src/functionObjects/field/fieldExtents/fieldExtentsTemplates.C
index 75b46895741..c568fc59be9 100644
--- a/src/functionObjects/field/fieldExtents/fieldExtentsTemplates.C
+++ b/src/functionObjects/field/fieldExtents/fieldExtentsTemplates.C
@@ -55,8 +55,7 @@ void Foam::functionObjects::fieldExtents::calcFieldExtents
 {
     typedef GeometricField<Type, fvPatchField, volMesh> VolFieldType;
 
-    const VolFieldType* fieldPtr =
-        obr_.findObject<VolFieldType>(fieldName);
+    const VolFieldType* fieldPtr = obr_.findObject<VolFieldType>(fieldName);
 
     if (!fieldPtr)
     {
diff --git a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C
index d2ba2d10f74..16e0e78e853 100644
--- a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C
+++ b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeff.C
@@ -71,7 +71,7 @@ Foam::functionObjects::heatTransferCoeff::heatTransferCoeff
 {
     read(dict);
 
-    setResultName(typeName, name + ":htc:" + htcModelPtr_->type());
+    setResultName(typeName, "htc:" + htcModelPtr_->type());
 
     auto* heatTransferCoeffPtr =
         new volScalarField
diff --git a/src/functionObjects/field/particleDistribution/particleDistribution.C b/src/functionObjects/field/particleDistribution/particleDistribution.C
index 491c1f20a07..7d77828aa39 100644
--- a/src/functionObjects/field/particleDistribution/particleDistribution.C
+++ b/src/functionObjects/field/particleDistribution/particleDistribution.C
@@ -120,7 +120,7 @@ bool Foam::functionObjects::particleDistribution::write()
     (
         IOobject
         (
-            name() & "CloudRegistry",
+            scopedName("CloudRegistry"),
             mesh_.time().timeName(),
             cloud::prefix,
             mesh_.time(),
diff --git a/src/functionObjects/field/pressure/pressure.C b/src/functionObjects/field/pressure/pressure.C
index f4bd0ba3e91..f254c3815d1 100644
--- a/src/functionObjects/field/pressure/pressure.C
+++ b/src/functionObjects/field/pressure/pressure.C
@@ -236,7 +236,7 @@ Foam::tmp<Foam::volScalarField> Foam::functionObjects::pressure::calcPressure
         (
             IOobject
             (
-                name() + ":p",
+                scopedName("p"),
                 mesh_.time().timeName(),
                 mesh_,
                 IOobject::NO_READ
diff --git a/src/functionObjects/field/randomise/randomise.C b/src/functionObjects/field/randomise/randomise.C
index acdc1aea875..a83eab7af61 100644
--- a/src/functionObjects/field/randomise/randomise.C
+++ b/src/functionObjects/field/randomise/randomise.C
@@ -56,7 +56,7 @@ bool Foam::functionObjects::randomise::calcTemplate()
     {
         const auto& field = *fieldPtr;
 
-        resultName_ = fieldName_ & "Random";
+        resultName_ = scopedName(fieldName_ & "Random");
 
         auto trfield = tmp<VolFieldType>::New(field);
         auto& rfield = trfield.ref();
diff --git a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
index bb0f702dc5f..c391923fc37 100644
--- a/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
+++ b/src/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C
@@ -95,7 +95,7 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields
     (
         IOobject
         (
-            alphaName_ + "_liquidCore",
+            scopedName(alphaName_ + "_liquidCore"),
             obr_.time().timeName(),
             obr_,
             IOobject::NO_READ
@@ -108,7 +108,7 @@ void Foam::functionObjects::regionSizeDistribution::writeAlphaFields
     (
         IOobject
         (
-            alphaName_ + "_background",
+            scopedName(alphaName_ + "_background"),
             obr_.time().timeName(),
             obr_,
             IOobject::NO_READ
diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C
index dc4b82ca70c..c7dcf4a8877 100644
--- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C
+++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C
@@ -114,7 +114,7 @@ Foam::functionObjects::wallHeatFlux::wallHeatFlux
         (
             IOobject
             (
-                type(),
+                scopedName(typeName),
                 mesh_.time().timeName(),
                 mesh_,
                 IOobject::NO_READ,
@@ -194,7 +194,7 @@ bool Foam::functionObjects::wallHeatFlux::read(const dictionary& dict)
 
 bool Foam::functionObjects::wallHeatFlux::execute()
 {
-    volScalarField& wallHeatFlux = lookupObjectRef<volScalarField>(type());
+    auto& wallHeatFlux = lookupObjectRef<volScalarField>(scopedName(typeName));
 
     if
     (
@@ -284,7 +284,8 @@ bool Foam::functionObjects::wallHeatFlux::execute()
 
 bool Foam::functionObjects::wallHeatFlux::write()
 {
-    const volScalarField& wallHeatFlux = lookupObject<volScalarField>(type());
+    const auto& wallHeatFlux =
+        lookupObject<volScalarField>(scopedName(typeName));
 
     Log << type() << " " << name() << " write:" << nl
         << "    writing field " << wallHeatFlux.name() << endl;
diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C
index f88cd749456..8f9ee5b7515 100644
--- a/src/functionObjects/field/wallShearStress/wallShearStress.C
+++ b/src/functionObjects/field/wallShearStress/wallShearStress.C
@@ -102,7 +102,7 @@ Foam::functionObjects::wallShearStress::wallShearStress
         (
             IOobject
             (
-                typeName,
+                scopedName(typeName),
                 mesh_.time().timeName(),
                 mesh_,
                 IOobject::NO_READ,
@@ -176,8 +176,8 @@ bool Foam::functionObjects::wallShearStress::read(const dictionary& dict)
 
 bool Foam::functionObjects::wallShearStress::execute()
 {
-    volVectorField& wallShearStress =
-        mesh_.lookupObjectRef<volVectorField>(type());
+    auto& wallShearStress =
+        mesh_.lookupObjectRef<volVectorField>(scopedName(typeName));
 
     // Compressible
     {
@@ -217,8 +217,8 @@ bool Foam::functionObjects::wallShearStress::execute()
 
 bool Foam::functionObjects::wallShearStress::write()
 {
-    const volVectorField& wallShearStress =
-        obr_.lookupObject<volVectorField>(type());
+    const auto& wallShearStress =
+        obr_.lookupObject<volVectorField>(scopedName(typeName));
 
     Log << type() << " " << name() << " write:" << nl
         << "    writing field " << wallShearStress.name() << endl;
diff --git a/src/functionObjects/field/yPlus/yPlus.C b/src/functionObjects/field/yPlus/yPlus.C
index 99895924eb0..b17622fa7f7 100644
--- a/src/functionObjects/field/yPlus/yPlus.C
+++ b/src/functionObjects/field/yPlus/yPlus.C
@@ -83,7 +83,7 @@ Foam::functionObjects::yPlus::yPlus
         (
             IOobject
             (
-                typeName,
+                scopedName(typeName),
                 mesh_.time().timeName(),
                 mesh_,
                 IOobject::NO_READ,
@@ -115,8 +115,7 @@ bool Foam::functionObjects::yPlus::read(const dictionary& dict)
 
 bool Foam::functionObjects::yPlus::execute()
 {
-    volScalarField& yPlus =
-        lookupObjectRef<volScalarField>(typeName);
+    auto& yPlus = lookupObjectRef<volScalarField>(scopedName(typeName));
 
     if (foundObject<turbulenceModel>(turbulenceModel::propertiesName))
     {
@@ -192,8 +191,7 @@ bool Foam::functionObjects::yPlus::execute()
 
 bool Foam::functionObjects::yPlus::write()
 {
-    const volScalarField& yPlus =
-        obr_.lookupObject<volScalarField>(type());
+    const auto& yPlus = obr_.lookupObject<volScalarField>(scopedName(typeName));
 
     Log << type() << " " << name() << " write:" << nl
         << "    writing field " << yPlus.name() << endl;
diff --git a/src/functionObjects/field/zeroGradient/zeroGradient.C b/src/functionObjects/field/zeroGradient/zeroGradient.C
index 766f1283fe0..cdcb08667f0 100644
--- a/src/functionObjects/field/zeroGradient/zeroGradient.C
+++ b/src/functionObjects/field/zeroGradient/zeroGradient.C
@@ -113,7 +113,8 @@ bool Foam::functionObjects::zeroGradient::read(const dictionary& dict)
 
     Info<< type() << " fields: " << selectFields_ << nl;
 
-    resultName_ = dict.getOrDefault<word>("result", type() + "(@@)");
+    resultName_ =
+        dict.getOrDefault<word>("result", scopedName(type() + "(@@)"));
 
     // Require '@@' token for result, unless a single (non-regex) source field
     return
diff --git a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
index 5b5e2b2d7cf..b57bf9d2b8e 100644
--- a/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
+++ b/src/functionObjects/forces/forceCoeffs/forceCoeffs.C
@@ -287,7 +287,7 @@ bool Foam::functionObjects::forceCoeffs::read(const dictionary& dict)
             (
                 IOobject
                 (
-                    fieldName("forceCoeff"),
+                    scopedName("forceCoeff"),
                     mesh_.time().timeName(),
                     mesh_,
                     IOobject::NO_READ,
@@ -306,7 +306,7 @@ bool Foam::functionObjects::forceCoeffs::read(const dictionary& dict)
             (
                 IOobject
                 (
-                    fieldName("momentCoeff"),
+                    scopedName("momentCoeff"),
                     mesh_.time().timeName(),
                     mesh_,
                     IOobject::NO_READ,
@@ -467,16 +467,16 @@ bool Foam::functionObjects::forceCoeffs::execute()
     if (writeFields_)
     {
         const volVectorField& force =
-            lookupObject<volVectorField>(fieldName("force"));
+            lookupObject<volVectorField>(scopedName("force"));
 
         const volVectorField& moment =
-            lookupObject<volVectorField>(fieldName("moment"));
+            lookupObject<volVectorField>(scopedName("moment"));
 
         volVectorField& forceCoeff =
-            lookupObjectRef<volVectorField>(fieldName("forceCoeff"));
+            lookupObjectRef<volVectorField>(scopedName("forceCoeff"));
 
         volVectorField& momentCoeff =
-            lookupObjectRef<volVectorField>(fieldName("momentCoeff"));
+            lookupObjectRef<volVectorField>(scopedName("momentCoeff"));
 
         dimensionedScalar f0("f0", dimForce, Aref_*pDyn);
         dimensionedScalar m0("m0", dimForce*dimLength, Aref_*lRef_*pDyn);
@@ -494,10 +494,10 @@ bool Foam::functionObjects::forceCoeffs::write()
     if (writeFields_)
     {
         const volVectorField& forceCoeff =
-            lookupObject<volVectorField>(fieldName("forceCoeff"));
+            lookupObject<volVectorField>(scopedName("forceCoeff"));
 
         const volVectorField& momentCoeff =
-            lookupObject<volVectorField>(fieldName("momentCoeff"));
+            lookupObject<volVectorField>(scopedName("momentCoeff"));
 
         forceCoeff.write();
         momentCoeff.write();
diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C
index 70a34aba187..dbf2abe1e48 100644
--- a/src/functionObjects/forces/forces/forces.C
+++ b/src/functionObjects/forces/forces/forces.C
@@ -48,12 +48,6 @@ namespace functionObjects
 
 // * * * * * * * * * * * * Protected Member Functions  * * * * * * * * * * * //
 
-Foam::word Foam::functionObjects::forces::fieldName(const word& name) const
-{
-    return this->name() + ":" + name;
-}
-
-
 void Foam::functionObjects::forces::createFiles()
 {
     // Note: Only possible to create bin files after bins have been initialised
@@ -332,12 +326,12 @@ void Foam::functionObjects::forces::resetFields()
     if (writeFields_)
     {
         volVectorField& force =
-            lookupObjectRef<volVectorField>(fieldName("force"));
+            lookupObjectRef<volVectorField>(scopedName("force"));
 
         force == dimensionedVector(force.dimensions(), Zero);
 
         volVectorField& moment =
-            lookupObjectRef<volVectorField>(fieldName("moment"));
+            lookupObjectRef<volVectorField>(scopedName("moment"));
 
         moment == dimensionedVector(moment.dimensions(), Zero);
     }
@@ -526,11 +520,11 @@ void Foam::functionObjects::forces::addToFields
         return;
     }
 
-    auto& force = lookupObjectRef<volVectorField>(fieldName("force"));
+    auto& force = lookupObjectRef<volVectorField>(scopedName("force"));
     vectorField& pf = force.boundaryFieldRef()[patchi];
     pf += fN + fT + fP;
 
-    auto& moment = lookupObjectRef<volVectorField>(fieldName("moment"));
+    auto& moment = lookupObjectRef<volVectorField>(scopedName("moment"));
     vectorField& pm = moment.boundaryFieldRef()[patchi];
     pm = Md^pf;
 }
@@ -550,8 +544,8 @@ void Foam::functionObjects::forces::addToFields
         return;
     }
 
-    auto& force = lookupObjectRef<volVectorField>(fieldName("force"));
-    auto& moment = lookupObjectRef<volVectorField>(fieldName("moment"));
+    auto& force = lookupObjectRef<volVectorField>(scopedName("force"));
+    auto& moment = lookupObjectRef<volVectorField>(scopedName("moment"));
 
     forAll(cellIDs, i)
     {
@@ -913,7 +907,7 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
             (
                 IOobject
                 (
-                    fieldName("force"),
+                    scopedName("force"),
                     time_.timeName(),
                     mesh_,
                     IOobject::NO_READ,
@@ -932,7 +926,7 @@ bool Foam::functionObjects::forces::read(const dictionary& dict)
             (
                 IOobject
                 (
-                    fieldName("moment"),
+                    scopedName("moment"),
                     time_.timeName(),
                     mesh_,
                     IOobject::NO_READ,
@@ -1120,8 +1114,8 @@ bool Foam::functionObjects::forces::write()
 {
     if (writeFields_)
     {
-        lookupObject<volVectorField>(fieldName("force")).write();
-        lookupObject<volVectorField>(fieldName("moment")).write();
+        lookupObject<volVectorField>(scopedName("force")).write();
+        lookupObject<volVectorField>(scopedName("moment")).write();
     }
 
     return true;
diff --git a/src/functionObjects/forces/forces/forces.H b/src/functionObjects/forces/forces/forces.H
index b92c9089a1c..6abb8cec658 100644
--- a/src/functionObjects/forces/forces/forces.H
+++ b/src/functionObjects/forces/forces/forces.H
@@ -256,9 +256,6 @@ protected:
 
     // Protected Member Functions
 
-        //- Create a field name
-        word fieldName(const word& name) const;
-
         //- Create the output files
         void createFiles();
 
diff --git a/src/phaseSystemModels/reactingEuler/functionObjects/reactingEulerHtcModel/reactingEulerHtcModel.C b/src/phaseSystemModels/reactingEuler/functionObjects/reactingEulerHtcModel/reactingEulerHtcModel.C
index 85eb2500ba5..be169e7fb22 100644
--- a/src/phaseSystemModels/reactingEuler/functionObjects/reactingEulerHtcModel/reactingEulerHtcModel.C
+++ b/src/phaseSystemModels/reactingEuler/functionObjects/reactingEulerHtcModel/reactingEulerHtcModel.C
@@ -137,7 +137,7 @@ Foam::functionObjects::reactingEulerHtcModel::reactingEulerHtcModel
 {
     read(dict);
 
-    setResultName(typeName, name + ":htc:" + htcModelPtr_->type());
+    setResultName(typeName, "htc:" + htcModelPtr_->type());
 
     volScalarField* htcPtr =
         new volScalarField
-- 
GitLab