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 | Copyright (C) 2011-2016 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:
77 
78  // Private data
79 
80  scalar B1_;
81  scalar B2_;
82 
83 
84 public:
85 
86  //- Runtime type information
87  TypeName("PilchErdman");
88 
89 
90  // Constructors
91 
92  //- Construct from dictionary
94 
95  //- Construct copy
97 
98  //- Construct and return a clone
99  virtual autoPtr<BreakupModel<CloudType>> clone() const
100  {
102  (
103  new PilchErdman<CloudType>(*this)
104  );
105  }
106 
107 
108  //- Destructor
109  virtual ~PilchErdman();
110 
111 
112  // Member Functions
113 
114  //- Update the parcel properties
115  virtual bool update
116  (
117  const scalar dt,
118  const vector& g,
119  scalar& d,
120  scalar& tc,
121  scalar& ms,
122  scalar& nParticle,
123  scalar& KHindex,
124  scalar& y,
125  scalar& yDot,
126  const scalar d0,
127  const scalar rho,
128  const scalar mu,
129  const scalar sigma,
130  const vector& U,
131  const scalar rhoc,
132  const scalar muc,
133  const vector& Urel,
134  const scalar Urmag,
135  const scalar tMom,
136  scalar& dChild,
137  scalar& massChild
138  );
139 };
140 
141 
142 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 
144 } // End namespace Foam
145 
146 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
147 
148 #ifdef NoRepository
149  #include "PilchErdman.C"
150 #endif
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 #endif
155 
156 // ************************************************************************* //
U
Definition: pEqn.H:83
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m2/K4].
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
scalar y
Urel
Definition: pEqn.H:56
const dimensionedVector & g
virtual ~PilchErdman()
Destructor.
Definition: PilchErdman.C:61
const dimensionedScalar mu
Atomic mass unit.
TypeName("PilchErdman")
Runtime type information.
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: PilchErdman.H:98
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:50
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:69
PilchErdman(const dictionary &, CloudType &)
Construct from dictionary.
Definition: PilchErdman.C:32
Namespace for OpenFOAM.