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 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 Class
27  Foam::PilchErdman
28 
29 Group
30  grpLagrangianIntermediateBreakupSubModels
31 
32 Description
33  Particle secondary breakup model, based on the reference:
34 
35  \verbatim
36  Pilch, M. and Erdman, C.A.
37  "Use of breakup time data and velocity history data
38  to predict the maximum size of stable fragments for acceleration
39  induced breakup of a liquid drop."
40  Int. J. Multiphase Flows 13 (1987), 741-757
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:
83 
84  // Private data
85 
86  scalar B1_;
87  scalar B2_;
88 
89 
90 public:
91 
92  //- Runtime type information
93  TypeName("PilchErdman");
94 
95 
96  // Constructors
97 
98  //- Construct from dictionary
100 
101  //- Construct copy
103 
104  //- Construct and return a clone
105  virtual autoPtr<BreakupModel<CloudType>> clone() const
106  {
108  (
109  new PilchErdman<CloudType>(*this)
110  );
111  }
112 
113 
114  //- Destructor
115  virtual ~PilchErdman();
116 
117 
118  // Member Functions
119 
120  //- Update the parcel properties
121  virtual bool update
122  (
123  const scalar dt,
124  const vector& g,
125  scalar& d,
126  scalar& tc,
127  scalar& ms,
128  scalar& nParticle,
129  scalar& KHindex,
130  scalar& y,
131  scalar& yDot,
132  const scalar d0,
133  const scalar rho,
134  const scalar mu,
135  const scalar sigma,
136  const vector& U,
137  const scalar rhoc,
138  const scalar muc,
139  const vector& Urel,
140  const scalar Urmag,
141  const scalar tMom,
142  scalar& dChild,
143  scalar& massChild
144  );
145 };
146 
147 
148 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
149 
150 } // End namespace Foam
151 
152 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
153 
154 #ifdef NoRepository
155  #include "PilchErdman.C"
156 #endif
157 
158 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
159 
160 #endif
161 
162 // ************************************************************************* //
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:71
PilchErdman.C
Foam::PilchErdman::~PilchErdman
virtual ~PilchErdman()
Destructor.
Definition: PilchErdman.C:63
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 the reference:
Definition: PilchErdman.H:77
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:34
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:104
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:121
g
const uniformDimensionedVectorField & g
Definition: createFluidFields.H:24
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::BreakupModel
Templated break-up model class.
Definition: SprayCloud.H:49
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)
y
scalar y
Definition: LISASMDCalcMethod1.H:14