From b0cd2ea991f1c1076ef1a9c82fe0569f08b2d552 Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Tue, 2 Aug 2022 17:18:25 +0100
Subject: [PATCH] BUG: binModels: read and use writeFile settings (fixes #2553)

---
 .../field/binField/binModels/binModel/binModel.C             | 5 +++++
 .../singleDirectionUniformBinTemplates.C                     | 4 ++--
 .../binField/binModels/uniformBin/uniformBinTemplates.C      | 4 ++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/functionObjects/field/binField/binModels/binModel/binModel.C b/src/functionObjects/field/binField/binModels/binModel/binModel.C
index 5e351b07837..6670a4b2ee1 100644
--- a/src/functionObjects/field/binField/binModels/binModel/binModel.C
+++ b/src/functionObjects/field/binField/binModels/binModel/binModel.C
@@ -148,6 +148,11 @@ Foam::binModel::binModel
 
 bool Foam::binModel::read(const dictionary& dict)
 {
+    if (!functionObjects::writeFile::read(dict))
+    {
+        return false;
+    }
+
     patchSet_ = mesh_.boundaryMesh().patchSet(dict.get<wordRes>("patches"));
     fieldNames_ = dict.get<wordHashSet>("fields").sortedToc();
 
diff --git a/src/functionObjects/field/binField/binModels/singleDirectionUniformBin/singleDirectionUniformBinTemplates.C b/src/functionObjects/field/binField/binModels/singleDirectionUniformBin/singleDirectionUniformBinTemplates.C
index 5fedd25a114..04714fe74db 100644
--- a/src/functionObjects/field/binField/binModels/singleDirectionUniformBin/singleDirectionUniformBinTemplates.C
+++ b/src/functionObjects/field/binField/binModels/singleDirectionUniformBin/singleDirectionUniformBinTemplates.C
@@ -104,7 +104,7 @@ bool Foam::binModels::singleDirectionUniformBin::processField
         return false;
     }
 
-    if (Pstream::master() && !writtenHeader_)
+    if (writeToFile() && !writtenHeader_)
     {
         writeFileHeader<Type>(filePtrs_[fieldi]);
     }
@@ -183,7 +183,7 @@ bool Foam::binModels::singleDirectionUniformBin::processField
         }
     }
 
-    if (Pstream::master())
+    if (writeToFile())
     {
         writeBinnedData(data, filePtrs_[fieldi]);
     }
diff --git a/src/functionObjects/field/binField/binModels/uniformBin/uniformBinTemplates.C b/src/functionObjects/field/binField/binModels/uniformBin/uniformBinTemplates.C
index 8f7c1c103e1..12d7e9c1cea 100644
--- a/src/functionObjects/field/binField/binModels/uniformBin/uniformBinTemplates.C
+++ b/src/functionObjects/field/binField/binModels/uniformBin/uniformBinTemplates.C
@@ -98,7 +98,7 @@ bool Foam::binModels::uniformBin::processField(const label fieldi)
         return false;
     }
 
-    if (Pstream::master() && !writtenHeader_)
+    if (writeToFile() && !writtenHeader_)
     {
         writeFileHeader<Type>(filePtrs_[fieldi]);
     }
@@ -166,7 +166,7 @@ bool Foam::binModels::uniformBin::processField(const label fieldi)
         }
     }
 
-    if (Pstream::master())
+    if (writeToFile())
     {
         writeBinnedData(data, filePtrs_[fieldi]);
     }
-- 
GitLab