From 2107c10f3bdaeae86e5fc6052bafbe864a66abbe Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Sat, 5 Jun 2021 14:19:55 +0100
Subject: [PATCH] ENH: RanzMarshall: generalises the Nusselt-number correlation

---
 .../HeatTransferModel/RanzMarshall/RanzMarshall.C | 15 ++++++++++++---
 .../HeatTransferModel/RanzMarshall/RanzMarshall.H | 15 +++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C
index c45e0968fa7..9a3015164b6 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.C
@@ -6,6 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011 OpenFOAM Foundation
+    Copyright (C) 2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -36,14 +37,22 @@ Foam::RanzMarshall<CloudType>::RanzMarshall
     CloudType& cloud
 )
 :
-    HeatTransferModel<CloudType>(dict, cloud, typeName)
+    HeatTransferModel<CloudType>(dict, cloud, typeName),
+    a_(this->coeffDict().template getOrDefault<scalar>("a", 2.0)),
+    b_(this->coeffDict().template getOrDefault<scalar>("b", 0.6)),
+    m_(this->coeffDict().template getOrDefault<scalar>("m", 1.0/2.0)),
+    n_(this->coeffDict().template getOrDefault<scalar>("n", 1.0/3.0))
 {}
 
 
 template<class CloudType>
 Foam::RanzMarshall<CloudType>::RanzMarshall(const RanzMarshall<CloudType>& htm)
 :
-    HeatTransferModel<CloudType>(htm)
+    HeatTransferModel<CloudType>(htm),
+    a_(htm.a_),
+    b_(htm.b_),
+    m_(htm.m_),
+    n_(htm.n_)
 {}
 
 
@@ -63,7 +72,7 @@ Foam::scalar Foam::RanzMarshall<CloudType>::Nu
     const scalar Pr
 ) const
 {
-    return 2.0 + 0.6*sqrt(Re)*cbrt(Pr);
+    return a_ + b_*pow(Re, m_)*pow(Pr, n_);
 }
 
 
diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H
index 6377a335270..7cdaf14ca9f 100644
--- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H
+++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/RanzMarshall/RanzMarshall.H
@@ -6,6 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011-2016 OpenFOAM Foundation
+    Copyright (C) 2021 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -53,6 +54,20 @@ class RanzMarshall
 :
     public HeatTransferModel<CloudType>
 {
+    // Private Data
+
+        //- Correlation coefficient
+        const scalar a_;
+
+        //- Correlation coefficient
+        const scalar b_;
+
+        //- Correlation exponent of particle Reynolds number
+        const scalar m_;
+
+        //- Correlation exponent of Prandtl number
+        const scalar n_;
+
 
 public:
 
-- 
GitLab