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-2020 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  scalar& dChild,
135  scalar& massChild
136  );
137 };
138 
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 } // End namespace Foam
143 
144 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
145 
146 #ifdef NoRepository
147  #include "PilchErdman.C"
148 #endif
149 
150 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
151 
152 #endif
153 
154 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
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:69
Particle secondary breakup model, based on the reference:
Definition: PilchErdman.H:71
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
scalar y
Urel
Definition: pEqn.H:60
const dimensionedScalar mu
Atomic mass unit.
virtual ~PilchErdman()
Destructor.
Definition: PilchErdman.C:61
TypeName("PilchErdman")
Runtime type information.
U
Definition: pEqn.H:72
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: PtrList.H:52
Templated break-up model class.
Definition: SprayCloud.H:55
const dimensionedVector & g
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
PilchErdman(const dictionary &, CloudType &)
Construct from dictionary.
Definition: PilchErdman.C:32
Namespace for OpenFOAM.