From bb048ae1716a12135f0545fb3a79205ae6f5ed4b Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Mon, 12 Aug 2013 15:51:28 +0100
Subject: [PATCH] ENH: lagrangian - renamed Tvap->TDevol in constant properties
 and moved to      reacting multiphase variant

---
 .../ReactingMultiphaseParcel.C                |  2 +-
 .../ReactingMultiphaseParcel.H                | 26 +++++++++
 .../ReactingMultiphaseParcelI.H               | 56 +++++++++++++++++++
 .../Templates/ReactingParcel/ReactingParcel.H |  9 +--
 .../ReactingParcel/ReactingParcelI.H          | 24 ++------
 5 files changed, 89 insertions(+), 28 deletions(-)

diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
index aab07b4d7dd..9b4beff0eee 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
@@ -511,7 +511,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calcDevolatilisation
     if
     (
         !td.cloud().devolatilisation().active()
-     || T < td.cloud().constProps().Tvap()
+     || T < td.cloud().constProps().TDevol()
      || canCombust == -1
     )
     {
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H
index ff13d240b9a..5f1093b36d5 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.H
@@ -81,6 +81,9 @@ public:
     {
         // Private data
 
+            //- Devolatilisation activation temperature [K]
+            scalar TDevol_;
+
             //- Latent heat of devolatilisation [J/kg]
             scalar LDevol_;
 
@@ -106,9 +109,32 @@ public:
                 const bool readFields = true
             );
 
+            //- Construct from components
+            constantProperties
+            (
+                const label parcelTypeId,
+                const scalar rhoMin,
+                const scalar rho0,
+                const scalar minParticleMass,
+                const scalar youngsModulus,
+                const scalar poissonsRatio,
+                const scalar T0,
+                const scalar TMin,
+                const scalar TMax,
+                const scalar Cp0,
+                const scalar epsilon0,
+                const scalar f0,
+                const scalar Pr,
+                const scalar pMin,
+                const Switch& constantVolume,
+                const scalar TDevol
+            );
 
         // Access
 
+            //- Return const access to the devolatilisation temperature
+            inline scalar TDevol() const;
+
             //- Return const access to the latent heat of devolatilisation
             inline scalar LDevol() const;
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
index 4a4a97eddfa..0b062a64262 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcelI.H
@@ -30,6 +30,7 @@ inline Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::
 constantProperties()
 :
     ParcelType::constantProperties(),
+    TDevol_(0.0),
     LDevol_(0.0),
     hRetentionCoeff_(0.0)
 {}
@@ -43,6 +44,7 @@ constantProperties
 )
 :
     ParcelType::constantProperties(cp),
+    TDevol_(cp.TDevol_),
     LDevol_(cp.LDevol_),
     hRetentionCoeff_(cp.hRetentionCoeff_)
 {}
@@ -57,11 +59,13 @@ constantProperties
 )
 :
     ParcelType::constantProperties(parentDict, readFields),
+    TDevol_(0.0),
     LDevol_(0.0),
     hRetentionCoeff_(0.0)
 {
     if (readFields)
     {
+        this->dict().lookup("TDevol") >> TDevol_;
         this->dict().lookup("LDevol") >> LDevol_;
         this->dict().lookup("hRetentionCoeff") >> hRetentionCoeff_;
 
@@ -80,6 +84,50 @@ constantProperties
 }
 
 
+template<class ParcelType>
+inline Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::
+constantProperties
+(
+    const label parcelTypeId,
+    const scalar rhoMin,
+    const scalar rho0,
+    const scalar minParticleMass,
+    const scalar youngsModulus,
+    const scalar poissonsRatio,
+    const scalar T0,
+    const scalar TMin,
+    const scalar TMax,
+    const scalar Cp0,
+    const scalar epsilon0,
+    const scalar f0,
+    const scalar Pr,
+    const scalar pMin,
+    const Switch& constantVolume,
+    const scalar TDevol
+)
+:
+    ParcelType::constantProperties
+    (
+        parcelTypeId,
+        rhoMin,
+        rho0,
+        minParticleMass,
+        youngsModulus,
+        poissonsRatio,
+        T0,
+        TMin,
+        TMax,
+        Cp0,
+        epsilon0,
+        f0,
+        Pr,
+        pMin,
+        constantVolume
+    ),
+    TDevol_(TDevol)
+{}
+
+
 template<class ParcelType>
 inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
 (
@@ -148,6 +196,14 @@ inline Foam::ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel
 
 // * * * * * * * * * constantProperties Member Functions * * * * * * * * * * //
 
+template<class ParcelType>
+inline Foam::scalar
+Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::TDevol() const
+{
+    return TDevol_;
+}
+
+
 template<class ParcelType>
 inline Foam::scalar
 Foam::ReactingMultiphaseParcel<ParcelType>::constantProperties::LDevol() const
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
index 854e2f57301..2edffd92beb 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
@@ -80,9 +80,6 @@ public:
             //- Constant volume flag - e.g. during mass transfer
             Switch constantVolume_;
 
-            //- Vaporisation temperature [K]
-            scalar Tvap_;
-
 
     public:
 
@@ -118,8 +115,7 @@ public:
                 const scalar f0,
                 const scalar Pr,
                 const scalar pMin,
-                const Switch& constantVolume,
-                const scalar Tvap
+                const Switch& constantVolume
             );
 
 
@@ -130,9 +126,6 @@ public:
 
             //- Return const access to the constant volume flag
             inline Switch constantVolume() const;
-
-            //- Return const access to the vaporisation temperature
-            inline scalar Tvap() const;
     };
 
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H
index 1329741c455..fd5700f05b7 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcelI.H
@@ -31,8 +31,7 @@ Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties()
 :
     ParcelType::constantProperties(),
     pMin_(0.0),
-    constantVolume_(false),
-    Tvap_(0.0)
+    constantVolume_(false)
 {}
 
 
@@ -44,8 +43,7 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
 :
     ParcelType::constantProperties(cp),
     pMin_(cp.pMin_),
-    constantVolume_(cp.constantVolume_),
-    Tvap_(cp.Tvap_)
+    constantVolume_(cp.constantVolume_)
 {}
 
 
@@ -58,8 +56,7 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
 :
     ParcelType::constantProperties(parentDict, readFields),
     pMin_(1000.0),
-    constantVolume_(false),
-    Tvap_(0.0)
+    constantVolume_(false)
 {
     if (readFields)
     {
@@ -69,7 +66,6 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
         }
 
         this->dict().lookup("constantVolume") >> constantVolume_;
-        this->dict().lookup("Tvap") >> Tvap_;
     }
 }
 
@@ -91,8 +87,7 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
     const scalar f0,
     const scalar Pr,
     const scalar pMin,
-    const Switch& constantVolume,
-    const scalar Tvap
+    const Switch& constantVolume
 )
 :
     ParcelType::constantProperties
@@ -112,8 +107,7 @@ inline Foam::ReactingParcel<ParcelType>::constantProperties::constantProperties
         Pr
     ),
     pMin_(pMin),
-    constantVolume_(constantVolume),
-    Tvap_(Tvap)
+    constantVolume_(constantVolume)
 {}
 
 
@@ -198,14 +192,6 @@ Foam::ReactingParcel<ParcelType>::constantProperties::constantVolume() const
 }
 
 
-template<class ParcelType>
-inline Foam::scalar
-Foam::ReactingParcel<ParcelType>::constantProperties::Tvap() const
-{
-    return Tvap_;
-}
-
-
 // * * * * * * * * * * ThermoParcel Member Functions * * * * * * * * * * * * //
 
 template<class ParcelType>
-- 
GitLab