From a8243b83770005bd33d17501cac958298a6b6b75 Mon Sep 17 00:00:00 2001
From: Kutalmis Bercin <kutalmis.bercin@esi-group.com>
Date: Tue, 21 Sep 2021 21:07:06 +0100
Subject: [PATCH] STYLE: PilchErdman: modernise code for constness and
 constructs

---
 .../BreakupModel/PilchErdman/PilchErdman.C    | 28 ++++-------
 .../BreakupModel/PilchErdman/PilchErdman.H    | 46 ++++++++++++-------
 2 files changed, 40 insertions(+), 34 deletions(-)

diff --git a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
index a3febaf29d2..e7462493bcd 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
+++ b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.C
@@ -58,13 +58,6 @@ Foam::PilchErdman<CloudType>::PilchErdman(const PilchErdman<CloudType>& bum)
 {}
 
 
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-template<class CloudType>
-Foam::PilchErdman<CloudType>::~PilchErdman()
-{}
-
-
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
 template<class CloudType>
@@ -94,13 +87,13 @@ bool Foam::PilchErdman<CloudType>::update
 )
 {
     // Weber number - eq (1)
-    scalar We = rhoc*sqr(Urmag)*d/sigma;
+    const scalar We = rhoc*sqr(Urmag)*d/sigma;
 
     // Ohnesorge number - eq (2)
-    scalar Oh = mu/sqrt(rho*d*sigma);
+    const scalar Oh = mu/sqrt(rho*d*sigma);
 
     // Critical Weber number - eq (5)
-    scalar Wec = 12.0*(1.0 + 1.077*pow(Oh, 1.6));
+    const scalar Wec = 12.0*(1.0 + 1.077*pow(Oh, 1.6));
 
     if (We > Wec)
     {
@@ -136,15 +129,14 @@ bool Foam::PilchErdman<CloudType>::update
             }
         }
 
-        scalar rho12 = sqrt(rhoc/rho);
+        const scalar rho12 = sqrt(rhoc/rho);
 
         // velocity of fragmenting drop - eq (20)
-        scalar Vd = Urmag*rho12*(B1_*taubBar + B2_*sqr(taubBar));
+        const scalar Vd = Urmag*rho12*(B1_*taubBar + B2_*sqr(taubBar));
 
         // maximum stable diameter - eq (33)
-        scalar Vd1 = sqr(1.0 - Vd/Urmag);
-        Vd1 = max(Vd1, SMALL);
-        scalar dStable = Wec*sigma/(Vd1*rhoc*sqr(Urmag));
+        const scalar Vd1 = max(sqr(1.0 - Vd/Urmag), SMALL);
+        const scalar dStable = Wec*sigma/(Vd1*rhoc*sqr(Urmag));
 
         if (d < dStable)
         {
@@ -154,13 +146,13 @@ bool Foam::PilchErdman<CloudType>::update
         }
         else
         {
-            scalar semiMass = nParticle*pow3(d);
+            const scalar semiMass = nParticle*pow3(d);
 
             // invert eq (3) to create a dimensional break-up time
-            scalar taub = taubBar*d/(Urmag*rho12);
+            const scalar taub = taubBar*d/(Urmag*rho12);
 
             // update droplet diameter according to the rate eq (implicitly)
-            scalar frac = dt/taub;
+            const scalar frac = dt/taub;
             d = (d + frac*dStable)/(1.0 + frac);
 
             // correct the number of particles to conserve mass
diff --git a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.H b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.H
index 587de9022a3..e300667b40b 100644
--- a/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.H
+++ b/src/lagrangian/spray/submodels/BreakupModel/PilchErdman/PilchErdman.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.
@@ -30,33 +31,42 @@ Group
     grpLagrangianIntermediateBreakupSubModels
 
 Description
-    Particle secondary breakup model, based on the reference:
+    Particle secondary breakup model based on
+    Pilch-Erdman total droplet breakup model.
 
+    Reference:
     \verbatim
-    Pilch, M. and Erdman, C.A.
-    "Use of breakup time data and velocity history data
-     to predict the maximum size of stable fragments for acceleration
-     induced breakup of a liquid drop."
-    Int. J. Multiphase Flows 13 (1987), 741-757
+        Pilch, M., & Erdman, C. A. (1987).
+        Use of breakup time data and velocity history data
+        to predict the maximum size of stable fragments for
+        acceleration-induced breakup of a liquid drop.
+        International journal of multiphase flow, 13(6), 741-757.
+        DOI:10.1016/0301-9322(87)90063-2
     \endverbatim
 
     The droplet fragment velocity is described by the equation:
 
     \f[
-        V_d = V sqrt(epsilon)(B1 T + B2 T^2)
+        V_d = V \sqrt(\epsilon)(B_1 T + B_2 T^2)
     \f]
 
+    where
+    \vartable
+        V_d      | Fragment velocity
+        V        | Magnitude of the relative velocity
+        \epsilon | Density ratio (rho_carrier/rho_droplet)
+        T        | characteristic break-up time
+        B_1      | Model coefficient
+        B_2      | Model coefficient
+    \endvartable
     Where:
-        V_d     : fragment velocity
-        V       : magnitude of the relative velocity
-        epsilon : density ratio (rho_carrier/rho_droplet)
-        T       : characteristic break-up time
-        B1, B2  : model input coefficients
 
     The authors suggest that:
         compressible flow   : B1 = 0.75*1.0; B2 = 3*0.116
         incompressible flow : B1 = 0.75*0.5; B2 = 3*0.0758
 
+SourceFiles
+    PilchErdman.C
 
 \*---------------------------------------------------------------------------*/
 
@@ -79,11 +89,12 @@ class PilchErdman
 :
     public BreakupModel<CloudType>
 {
-private:
-
-    // Private data
+    // Private Data
 
+        //- Model coefficient
         scalar B1_;
+
+        //- Model coefficient
         scalar B2_;
 
 
@@ -110,9 +121,12 @@ public:
             );
         }
 
+        //- No copy assignment
+        void operator=(const PilchErdman<CloudType>&) = delete;
+
 
     //- Destructor
-    virtual ~PilchErdman();
+    virtual ~PilchErdman() = default;
 
 
     // Member Functions
-- 
GitLab