From 0ea366d2b27df00d12723075571494c2e069ce3a Mon Sep 17 00:00:00 2001
From: sergio <sergio>
Date: Wed, 1 Feb 2012 15:03:32 +0000
Subject: [PATCH] BUG: Bug fix on thermal buffers running in parallel

---
 ...emperatureThermoBaffleFvPatchScalarField.C | 37 +++++++++++--------
 ...emperatureThermoBaffleFvPatchScalarField.H |  3 ++
 2 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.C b/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.C
index ae7552ae156..cf339acd54d 100644
--- a/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.C
+++ b/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.C
@@ -46,7 +46,8 @@ temperatureThermoBaffleFvPatchScalarField
     turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(p, iF),
     owner_(false),
     baffle_(),
-    solidThermoType_("undefined")
+    solidThermoType_("undefined"),
+    dict_(dictionary::null)
 {}
 
 
@@ -68,7 +69,8 @@ temperatureThermoBaffleFvPatchScalarField
     ),
     owner_(ptf.owner_),
     baffle_(ptf.baffle_),
-    solidThermoType_(ptf.solidThermoType_)
+    solidThermoType_(ptf.solidThermoType_),
+    dict_(ptf.dict_)
 {}
 
 
@@ -83,7 +85,8 @@ temperatureThermoBaffleFvPatchScalarField
     turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(p, iF, dict),
     owner_(false),
     baffle_(),
-    solidThermoType_()
+    solidThermoType_(),
+    dict_(dict)
 {
     if (!isA<mappedPatchBase>(patch().patch()))
     {
@@ -133,7 +136,8 @@ temperatureThermoBaffleFvPatchScalarField
     turbulentTemperatureCoupledBaffleMixedFvPatchScalarField(ptf, iF),
     owner_(ptf.owner_),
     baffle_(ptf.baffle_),
-    solidThermoType_(ptf.solidThermoType_)
+    solidThermoType_(ptf.solidThermoType_),
+    dict_(ptf.dict_)
 {}
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
@@ -188,30 +192,33 @@ void temperatureThermoBaffleFvPatchScalarField::write(Ostream& os) const
 
     if (thisMesh.name() == polyMesh::defaultRegion && owner_)
     {
-        os.writeKeyword("thermoBaffleModel") <<  baffle_->modelName()
-            << token::END_STATEMENT << nl;
+        word thermoModel = dict_.lookup("thermoBaffleModel");
 
-        os.writeKeyword("regionName") <<  baffle_->regionMesh().name()
+        os.writeKeyword("thermoBaffleModel")
+            << thermoModel
             << token::END_STATEMENT << nl;
 
-        os.writeKeyword("infoOutput") <<  baffle_->infoOutput()
+        word regionName = dict_.lookup("regionName");
+        os.writeKeyword("regionName") << regionName
             << token::END_STATEMENT << nl;
 
-        os.writeKeyword("active") <<  baffle_->active()
+        bool infoOutput = readBool(dict_.lookup("infoOutput"));
+        os.writeKeyword("infoOutput") << infoOutput
             << token::END_STATEMENT << nl;
 
-        os.writeKeyword(word(baffle_->modelName() + "coeffs"));
+        bool active = readBool(dict_.lookup("active"));
+        os.writeKeyword("active") <<  active
+            << token::END_STATEMENT << nl;
 
-        os << baffle_->coeffs() << nl;
+        os.writeKeyword(word(thermoModel + "Coeffs"));
+        os << dict_.subDict(thermoModel + "Coeffs") << nl;
 
         os.writeKeyword("thermoType") << solidThermoType_
             << token::END_STATEMENT << nl;
 
-        os.writeKeyword(word(solidThermoType_ + "Coeffs")) << nl;
+        os.writeKeyword(word(solidThermoType_ + "Coeffs"));
 
-        os << indent << '{' << nl
-           << indent << baffle_->thermo() << nl
-           << indent << '}' << nl;
+        os << dict_.subDict(solidThermoType_ + "Coeffs") << nl;
     }
 }
 
diff --git a/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.H b/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.H
index 0b979f810de..83e3162c576 100644
--- a/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.H
+++ b/src/regionModels/thermoBaffleModels/derivedFvPatchFields/temperatureThermoBaffle/temperatureThermoBaffleFvPatchScalarField.H
@@ -112,6 +112,9 @@ class temperatureThermoBaffleFvPatchScalarField
         //- Solid thermo type
         word solidThermoType_;
 
+        //- Dictionary
+        dictionary dict_;
+
 
 public:
 
-- 
GitLab