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  Class PilchErdman Declaration
74 \*---------------------------------------------------------------------------*/
75 
76 template<class CloudType>
77 class PilchErdman
78 :
79  public BreakupModel<CloudType>
80 {
81 private:
82 
83  // Private data
84 
85  scalar B1_;
86  scalar B2_;
87 
88 
89 public:
90 
91  //- Runtime type information
92  TypeName("PilchErdman");
93 
94 
95  // Constructors
96 
97  //- Construct from dictionary
99 
100  //- Construct copy
102 
103  //- Construct and return a clone
104  virtual autoPtr<BreakupModel<CloudType>> clone() const
105  {
107  (
108  new PilchErdman<CloudType>(*this)
109  );
110  }
111 
112 
113  //- Destructor
114  virtual ~PilchErdman();
115 
116 
117  // Member Functions
118 
119  //- Update the parcel properties
120  virtual bool update
121  (
122  const scalar dt,
123  const vector& g,
124  scalar& d,
125  scalar& tc,
126  scalar& ms,
127  scalar& nParticle,
128  scalar& KHindex,
129  scalar& y,
130  scalar& yDot,
131  const scalar d0,
132  const scalar rho,
133  const scalar mu,
134  const scalar sigma,
135  const vector& U,
136  const scalar rhoc,
137  const scalar muc,
138  const vector& Urel,
139  const scalar Urmag,
140  const scalar tMom,
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 // ************************************************************************* //
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:76
Foam::PilchErdman::TypeName
TypeName("PilchErdman")
Runtime type information.
rho
rho
Definition: readInitialConditions.H:96
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:103
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