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