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-2023 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 reference:
29 
30  @verbatim
31  Pilch, M. and Erdman, C.A.
32  "Use of breakup time data and velocity history data
33  to predict the maximum size of stable fragments for acceleration
34  induced breakup of a liquid drop."
35  Int. J. Multiphase Flows 13 (1987), 741-757
36  @endverbatim
37 
38  The droplet fragment velocity is described by the equation:
39 
40  \f[
41  V_d = V sqrt(epsilon)(B1 T + B2 T^2)
42  \f]
43 
44  Where:
45  V_d : fragment velocity
46  V : magnitude of the relative velocity
47  epsilon : density ratio (rho_carrier/rho_droplet)
48  T : characteristic break-up time
49  B1, B2 : model input coefficients
50 
51  The authors suggest that:
52  compressible flow : B1 = 0.75*1.0; B2 = 3*0.116
53  incompressible flow : B1 = 0.75*0.5; B2 = 3*0.0758
54 
55 
56 \*---------------------------------------------------------------------------*/
57 
58 #ifndef PilchErdman_H
59 #define PilchErdman_H
60 
61 #include "BreakupModel.H"
62 
63 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
64 
65 namespace Foam
66 {
67 /*---------------------------------------------------------------------------*\
68  Class PilchErdman Declaration
69 \*---------------------------------------------------------------------------*/
70 
71 template<class CloudType>
72 class PilchErdman
73 :
74  public BreakupModel<CloudType>
75 {
76  // Private Data
77 
78  scalar B1_;
79  scalar B2_;
80 
81 
82 public:
83 
84  //- Runtime type information
85  TypeName("PilchErdman");
86 
87 
88  // Constructors
89 
90  //- Construct from dictionary
92 
93  //- Construct copy
95 
96  //- Construct and return a clone
97  virtual autoPtr<BreakupModel<CloudType>> clone() const
98  {
100  (
101  new PilchErdman<CloudType>(*this)
102  );
103  }
104 
105 
106  //- Destructor
107  virtual ~PilchErdman();
108 
109 
110  // Member Functions
111 
112  //- Update the parcel properties
113  virtual bool update
114  (
115  const scalar dt,
116  const vector& g,
117  scalar& d,
118  scalar& tc,
119  scalar& ms,
120  scalar& nParticle,
121  scalar& KHindex,
122  scalar& y,
123  scalar& yDot,
124  const scalar d0,
125  const scalar rho,
126  const scalar mu,
127  const scalar sigma,
128  const vector& U,
129  const scalar rhoc,
130  const scalar muc,
131  const vector& Urel,
132  const scalar Urmag,
133  const scalar tMom,
134  const label injectori,
135  scalar& dChild,
136  scalar& massChild
137  );
138 };
139 
140 
141 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
142 
143 } // End namespace Foam
144 
145 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
146 
147 #ifdef NoRepository
148  #include "PilchErdman.C"
149 #endif
150 
151 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
152 
153 #endif
154 
155 // ************************************************************************* //
scalar y
Templated break-up model class.
Definition: BreakupModel.H:55
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:79
Particle secondary breakup model, based on the reference:
Definition: PilchErdman.H:74
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:96
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:160
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