From fe66afddbcc9802f3d2e1a197da27adc4d3a48ce Mon Sep 17 00:00:00 2001
From: andy <andy>
Date: Tue, 13 Dec 2011 18:35:14 +0000
Subject: [PATCH] ENH: Added API for droplet boiling

---
 .../ReactingMultiphaseParcel.C                         |  1 +
 .../parcels/Templates/ReactingParcel/ReactingParcel.C  |  5 +++++
 .../parcels/Templates/ReactingParcel/ReactingParcel.H  |  1 +
 .../LiquidEvaporation/LiquidEvaporation.C              | 10 +++++-----
 .../LiquidEvaporation/LiquidEvaporation.H              |  3 +++
 .../PhaseChangeModel/PhaseChangeModel.C                |  6 ++++++
 .../PhaseChangeModel/PhaseChangeModel.H                |  3 +++
 7 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
index e6fafaa46d4..740aa3f0b8c 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C
@@ -240,6 +240,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
         dt,
         cellI,
         Res,
+        Prs,
         Ts,
         mus/rhos,
         d0,
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
index 44fc4c1a86e..68567ba0bca 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C
@@ -329,6 +329,7 @@ void Foam::ReactingParcel<ParcelType>::calc
         dt,
         cellI,
         Res,
+        Prs,
         Ts,
         mus/rhos,
         d0,
@@ -464,6 +465,7 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
     const scalar dt,
     const label cellI,
     const scalar Re,
+    const scalar Pr,
     const scalar Ts,
     const scalar nus,
     const scalar d,
@@ -500,11 +502,14 @@ void Foam::ReactingParcel<ParcelType>::calcPhaseChange
         dt,
         cellI,
         Re,
+        Pr,
         d,
         nus,
         T,
         Ts,
         pc_,
+        this->Tc_,
+        YComponents,
         dMassPC
     );
 
diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
index c69c7e3d302..4c794615872 100644
--- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
+++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.H
@@ -210,6 +210,7 @@ protected:
             const scalar dt,           // timestep
             const label cellI,         // owner cell
             const scalar Re,           // Reynolds number
+            const scalar Pr,           // Prandtl number
             const scalar Ts,           // Surface temperature
             const scalar nus,          // Surface kinematic viscosity
             const scalar d,            // diameter
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
index 93e237be499..d2825055bad 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
@@ -140,20 +140,20 @@ void Foam::LiquidEvaporation<CloudType>::calculate
     const scalar dt,
     const label cellI,
     const scalar Re,
+    const scalar Pr,
     const scalar d,
     const scalar nu,
     const scalar T,
     const scalar Ts,
     const scalar pc,
+    const scalar Tc,
+    const scalarField& Yl,
     scalarField& dMassPC
 ) const
 {
     // construct carrier phase species volume fractions for cell, cellI
     const scalarField Xc(calcXc(cellI));
 
-    // droplet surface area
-    const scalar A = pi*sqr(d);
-
     // calculate mass transfer of each specie in liquid
     forAll(activeLiquids_, i)
     {
@@ -180,7 +180,7 @@ void Foam::LiquidEvaporation<CloudType>::calculate
         // mass transfer coefficient [m/s]
         const scalar kc = Sh*Dab/(d + ROOTVSMALL);
 
-        // vapour concentration at droplet surface [kmol/m3] at film temperature
+        // vapour concentration at surface [kmol/m3] at film temperature
         const scalar Cs = pSat/(specie::RR*Ts);
 
         // vapour concentration in bulk gas [kmol/m3] at film temperature
@@ -190,7 +190,7 @@ void Foam::LiquidEvaporation<CloudType>::calculate
         const scalar Ni = max(kc*(Cs - Cinf), 0.0);
 
         // mass transfer [kg]
-        dMassPC[lid] += Ni*A*liquids_.properties()[lid].W()*dt;
+        dMassPC[lid] += Ni*pi*sqr(d)*liquids_.properties()[lid].W()*dt;
     }
 }
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H
index 6978b60fb3d..60db6c63a5d 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.H
@@ -111,11 +111,14 @@ public:
             const scalar dt,
             const label cellI,
             const scalar Re,
+            const scalar Pr,
             const scalar d,
             const scalar nu,
             const scalar T,
             const scalar Ts,
             const scalar pc,
+            const scalar Tc,
+            const scalarField& Yl,
             scalarField& dMassPC
         ) const;
 
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
index f531c3ecce3..1b79c4e08b7 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.C
@@ -135,6 +135,9 @@ void Foam::PhaseChangeModel<CloudType>::calculate
     const scalar,
     const scalar,
     const scalar,
+    const scalar,
+    const scalar,
+    const scalarField&,
     scalarField&
 ) const
 {
@@ -150,6 +153,9 @@ void Foam::PhaseChangeModel<CloudType>::calculate
             "const scalar, "
             "const scalar, "
             "const scalar, "
+            "const scalar, "
+            "const scalar, "
+            "const scalarField&,"
             "scalarField&"
         ") const"
     );
diff --git a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H
index 09f1386bc1b..9447d1cccc6 100644
--- a/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H
+++ b/src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/PhaseChangeModel/PhaseChangeModel.H
@@ -158,11 +158,14 @@ public:
             const scalar dt,
             const label cellI,
             const scalar Re,
+            const scalar Pr,
             const scalar d,
             const scalar nu,
             const scalar T,
             const scalar Ts,
             const scalar pc,
+            const scalar Tc,
+            const scalarField& Yl,
             scalarField& dMassPC
         ) const;
 
-- 
GitLab