PilchErdman.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration |
5  \\ / A nd | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2011-2016 OpenFOAM Foundation
9  Copyright (C) 2021 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::PilchErdman
29 
30 Group
31  grpLagrangianIntermediateBreakupSubModels
32 
33 Description
34  Particle secondary breakup model based on
35  Pilch-Erdman total droplet breakup model.
36 
37  Reference:
38  \verbatim
39  Pilch, M., & Erdman, C. A. (1987).
40  Use of breakup time data and velocity history data
41  to predict the maximum size of stable fragments for
42  acceleration-induced breakup of a liquid drop.
43  International journal of multiphase flow, 13(6), 741-757.
44  DOI:10.1016/0301-9322(87)90063-2
45  \endverbatim
46 
47  The droplet fragment velocity is described by the equation:
48 
49  \f[
50  V_d = V \sqrt(\epsilon)(B_1 T + B_2 T^2)
51  \f]
52 
53  where
54  \vartable
55  V_d | Fragment velocity
56  V | Magnitude of the relative velocity
57  \epsilon | Density ratio (rho_carrier/rho_droplet)
58  T | characteristic break-up time
59  B_1 | Model coefficient
60  B_2 | Model coefficient
61  \endvartable
62  Where:
63 
64  The authors suggest that:
65  compressible flow : B1 = 0.75*1.0; B2 = 3*0.116
66  incompressible flow : B1 = 0.75*0.5; B2 = 3*0.0758
67 
68 SourceFiles
69  PilchErdman.C
70 
71 \*---------------------------------------------------------------------------*/
72 
73 #ifndef PilchErdman_H
74 #define PilchErdman_H
75 
76 #include "BreakupModel.H"
77 
78 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
79 
80 namespace Foam
81 {
82 
83 /*---------------------------------------------------------------------------*\
84  Class PilchErdman Declaration
85 \*---------------------------------------------------------------------------*/
86 
87 template<class CloudType>
88 class PilchErdman
89 :
90  public BreakupModel<CloudType>
91 {
92  // Private Data
93 
94  //- Model coefficient
95  scalar B1_;
96 
97  //- Model coefficient
98  scalar B2_;
99 
100 
101 public:
102 
103  //- Runtime type information
104  TypeName("PilchErdman");
105 
106 
107  // Constructors
108 
109  //- Construct from dictionary
110  PilchErdman(const dictionary&, CloudType&);
111 
112  //- Construct copy
114 
115  //- Construct and return a clone
116  virtual autoPtr<BreakupModel<CloudType>> clone() const
117  {
119  (
120  new PilchErdman<CloudType>(*this)
121  );
122  }
123 
124  //- No copy assignment
125  void operator=(const PilchErdman<CloudType>&) = delete;
126 
127 
128  //- Destructor
129  virtual ~PilchErdman() = default;
130 
131 
132  // Member Functions
133 
134  //- Update the parcel properties
135  virtual bool update
136  (
137  const scalar dt,
138  const vector& g,
139  scalar& d,
140  scalar& tc,
141  scalar& ms,
142  scalar& nParticle,
143  scalar& KHindex,
144  scalar& y,
145  scalar& yDot,
146  const scalar d0,
147  const scalar rho,
148  const scalar mu,
149  const scalar sigma,
150  const vector& U,
151  const scalar rhoc,
152  const scalar muc,
153  const vector& Urel,
154  const scalar Urmag,
155  const scalar tMom,
156  scalar& dChild,
157  scalar& massChild
158  );
159 };
160 
161 
162 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163 
164 } // End namespace Foam
165 
166 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167 
168 #ifdef NoRepository
169  #include "PilchErdman.C"
170 #endif
171 
172 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173 
174 #endif
175 
176 // ************************************************************************* //
Foam::PilchErdman::update
virtual bool update(const scalar dt, const vector &g, scalar &d, scalar &tc, scalar &ms, scalar &nParticle, scalar &KHindex, scalar &y, scalar &yDot, const scalar d0, const scalar rho, const scalar mu, const scalar sigma, const vector &U, const scalar rhoc, const scalar muc, const vector &Urel, const scalar Urmag, const scalar tMom, scalar &dChild, scalar &massChild)
Update the parcel properties.
Definition: PilchErdman.C:65
PilchErdman.C
Foam::constant::physicoChemical::mu
const dimensionedScalar mu
Atomic mass unit.
Definition: createFieldRefs.H:4
Urel
Urel
Definition: pEqn.H:56
Foam::PilchErdman
Particle secondary breakup model based on Pilch-Erdman total droplet breakup model.
Definition: PilchErdman.H:111
Foam::PilchErdman::TypeName
TypeName("PilchErdman")
Runtime type information.
rho
rho
Definition: readInitialConditions.H:88
Foam::PilchErdman::PilchErdman
PilchErdman(const dictionary &, CloudType &)
Construct from dictionary.
Definition: PilchErdman.C:35
Foam::CloudType
DSMCCloud< dsmcParcel > CloudType
Definition: makeDSMCParcelBinaryCollisionModels.C:38
Foam::PilchErdman::~PilchErdman
virtual ~PilchErdman()=default
Destructor.
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
Foam::PilchErdman::clone
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: PilchErdman.H:139
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
g
const uniformDimensionedVectorField & g
Definition: createFluidFields.H:26
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::BreakupModel
Templated break-up model class.
Definition: SprayCloud.H:50
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
U
U
Definition: pEqn.H:72
BreakupModel.H
Foam::Vector< scalar >
sigma
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Foam::PilchErdman::operator=
void operator=(const PilchErdman< CloudType > &)=delete
No copy assignment.
y
scalar y
Definition: LISASMDCalcMethod1.H:14