PilchErdman.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2011-2024 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 Class
25  Foam::PilchErdman
26 
27 Description
28  Particle secondary breakup model, based on the references:
29 
30  \verbatim
31  Pilch, M., & Erdman, C. A. (1987).
32  Use of breakup time data and velocity history data to predict the maximum
33  size of stable fragments for acceleration-induced breakup of a liquid drop.
34  International journal of multiphase flow, 13(6), 741-757.
35  \endverbatim
36 
37  \verbatim
38  Guildenbecher, D. R., López-Rivera, C., & Sojka, P. E. (2009).
39  Secondary atomization.
40  Experiments in Fluids, 46(3), 371-402.
41  \endverbatim
42 
43  The droplet fragment velocity is described by the equation:
44 
45  \f[
46  V_d = V sqrt(epsilon)(B1 T + B2 T^2)
47  \f]
48 
49  Where:
50  V_d : fragment velocity
51  V : magnitude of the relative velocity
52  epsilon : density ratio (rho_carrier/rho_droplet)
53  T : characteristic break-up time
54  B1, B2 : model input coefficients
55 
56  The authors suggest that:
57  compressible flow : B1 = 0.75*1.0; B2 = 3*0.116
58  incompressible flow : B1 = 0.75*0.5; B2 = 3*0.0758
59 
60 
61 \*---------------------------------------------------------------------------*/
62 
63 #ifndef PilchErdman_H
64 #define PilchErdman_H
65 
66 #include "BreakupModel.H"
67 
68 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
69 
70 namespace Foam
71 {
72 
73 /*---------------------------------------------------------------------------*\
74  Class PilchErdman Declaration
75 \*---------------------------------------------------------------------------*/
76 
77 template<class CloudType>
78 class PilchErdman
79 :
80  public BreakupModel<CloudType>
81 {
82  // Private Data
83 
84  scalar B1_;
85  scalar B2_;
86 
87 
88 public:
89 
90  //- Runtime type information
91  TypeName("PilchErdman");
92 
93 
94  // Constructors
95 
96  //- Construct from dictionary
98 
99  //- Construct copy
101 
102  //- Construct and return a clone
103  virtual autoPtr<BreakupModel<CloudType>> clone() const
104  {
106  (
107  new PilchErdman<CloudType>(*this)
108  );
109  }
110 
111 
112  //- Destructor
113  virtual ~PilchErdman();
114 
115 
116  // Member Functions
117 
118  //- Update the parcel properties
119  virtual bool update
120  (
121  const scalar dt,
122  const vector& g,
123  scalar& d,
124  scalar& tc,
125  scalar& ms,
126  scalar& nParticle,
127  scalar& KHindex,
128  scalar& y,
129  scalar& yDot,
130  const scalar d0,
131  const scalar rho,
132  const scalar mu,
133  const scalar sigma,
134  const vector& U,
135  const scalar rhoc,
136  const scalar muc,
137  const vector& Urel,
138  const scalar Urmag,
139  const scalar tMom,
140  const label injectori,
141  scalar& dChild,
142  scalar& massChild
143  );
144 };
145 
146 
147 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
148 
149 } // End namespace Foam
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 #ifdef NoRepository
154  #include "PilchErdman.C"
155 #endif
156 
157 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
158 
159 #endif
160 
161 // ************************************************************************* //
scalar y
Templated break-up model class.
Definition: BreakupModel.H:55
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:80
Particle secondary breakup model, based on the references:
Definition: PilchErdman.H:80
PilchErdman(const dictionary &, CloudType &)
Construct from dictionary.
Definition: PilchErdman.C:32
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, const label injectori, scalar &dChild, scalar &massChild)
Update the parcel properties.
Definition: PilchErdman.C:69
TypeName("PilchErdman")
Runtime type information.
virtual ~PilchErdman()
Destructor.
Definition: PilchErdman.C:61
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: PilchErdman.H:102
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
U
Definition: pEqn.H:72
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar mu
Atomic mass unit.
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59