From 27ea73f905c332119756c65922660d26298aad36 Mon Sep 17 00:00:00 2001
From: Vaggelis Papoutsis <vaggelisp@gmail.com>
Date: Tue, 1 Dec 2020 15:29:24 +0200
Subject: [PATCH] ENH: added a default word to the IOMRFZoneList constructor

to allow for constructing different MRF zones for multi-point
optimisation runs
---
 .../cfdTools/general/MRF/IOMRFZoneList.C            | 11 +++++++----
 .../cfdTools/general/MRF/IOMRFZoneList.H            | 13 +++++++++++--
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.C b/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.C
index fbadce37d1f..4d6e77f5c32 100644
--- a/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.C
+++ b/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.C
@@ -7,6 +7,7 @@
 -------------------------------------------------------------------------------
     Copyright (C) 2012-2017 OpenFOAM Foundation
     Copyright (C) 2019 OpenCFD Ltd.
+    Copyright (C) 2020 PCOpt/NTUA
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -34,12 +35,13 @@ License
 
 Foam::IOobject Foam::IOMRFZoneList::createIOobject
 (
-    const fvMesh& mesh
+    const fvMesh& mesh,
+    const word& solverName
 ) const
 {
     IOobject io
     (
-        "MRFProperties",
+        "MRFProperties" + solverName,
         mesh.time().constant(),
         mesh,
         IOobject::MUST_READ,
@@ -67,10 +69,11 @@ Foam::IOobject Foam::IOMRFZoneList::createIOobject
 
 Foam::IOMRFZoneList::IOMRFZoneList
 (
-    const fvMesh& mesh
+    const fvMesh& mesh,
+    const word& solverName
 )
 :
-    IOdictionary(createIOobject(mesh)),
+    IOdictionary(createIOobject(mesh, solverName)),
     MRFZoneList(mesh, *this)
 {}
 
diff --git a/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.H b/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.H
index 9c9ca6fea8a..2c4ff9245d2 100644
--- a/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.H
+++ b/src/finiteVolume/cfdTools/general/MRF/IOMRFZoneList.H
@@ -7,6 +7,7 @@
 -------------------------------------------------------------------------------
     Copyright (C) 2012 OpenFOAM Foundation
     Copyright (C) 2019 OpenCFD Ltd.
+    Copyright (C) 2020 PCOpt/NTUA
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -77,7 +78,11 @@ private:
     // Private Member Functions
 
         //- Create IO object if dictionary is present
-        IOobject createIOobject(const fvMesh& mesh) const;
+        IOobject createIOobject
+        (
+            const fvMesh& mesh,
+            const word& solverName
+        ) const;
 
         //- No copy construct
         IOMRFZoneList(const IOMRFZoneList&) = delete;
@@ -91,7 +96,11 @@ public:
     // Constructors
 
         //- Construct from mesh
-        IOMRFZoneList(const fvMesh& mesh);
+        IOMRFZoneList
+        (
+            const fvMesh& mesh,
+            const word& solverName = word::null
+        );
 
 
         //- Destructor
-- 
GitLab