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 Copyright (C) 2021 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27Class
28 Foam::PilchErdman
29
30Group
31 grpLagrangianIntermediateBreakupSubModels
32
33Description
34 Particle secondary breakup model based on
35 Pilch-Erdman total droplet breakup model.
36
37 Reference:
38 \verbatim
39 Pilch, M., & Erdman, C. A. (1987).
40 Use of breakup time data and velocity history data
41 to predict the maximum size of stable fragments for
42 acceleration-induced breakup of a liquid drop.
43 International journal of multiphase flow, 13(6), 741-757.
44 DOI:10.1016/0301-9322(87)90063-2
45 \endverbatim
46
47 The droplet fragment velocity is described by the equation:
48
49 \f[
50 V_d = V \sqrt(\epsilon)(B_1 T + B_2 T^2)
51 \f]
52
53 where
54 \vartable
55 V_d | Fragment velocity
56 V | Magnitude of the relative velocity
57 \epsilon | Density ratio (rho_carrier/rho_droplet)
58 T | characteristic break-up time
59 B_1 | Model coefficient
60 B_2 | Model coefficient
61 \endvartable
62 Where:
63
64 The authors suggest that:
65 compressible flow : B1 = 0.75*1.0; B2 = 3*0.116
66 incompressible flow : B1 = 0.75*0.5; B2 = 3*0.0758
67
68SourceFiles
69 PilchErdman.C
70
71\*---------------------------------------------------------------------------*/
72
73#ifndef PilchErdman_H
74#define PilchErdman_H
75
76#include "BreakupModel.H"
77
78// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
79
80namespace Foam
81{
82
83/*---------------------------------------------------------------------------*\
84 Class PilchErdman Declaration
85\*---------------------------------------------------------------------------*/
86
87template<class CloudType>
88class PilchErdman
89:
90 public BreakupModel<CloudType>
91{
92 // Private Data
93
94 //- Model coefficient
95 scalar B1_;
96
97 //- Model coefficient
98 scalar B2_;
99
100
101public:
102
103 //- Runtime type information
104 TypeName("PilchErdman");
105
106
107 // Constructors
108
109 //- Construct from dictionary
110 PilchErdman(const dictionary&, CloudType&);
112 //- Construct copy
114
115 //- Construct and return a clone
117 {
119 (
120 new PilchErdman<CloudType>(*this)
121 );
122 }
123
124 //- No copy assignment
125 void operator=(const PilchErdman<CloudType>&) = delete;
126
128 //- Destructor
129 virtual ~PilchErdman() = default;
130
131
132 // Member Functions
133
134 //- Update the parcel properties
135 virtual bool update
136 (
137 const scalar dt,
138 const vector& g,
139 scalar& d,
140 scalar& tc,
141 scalar& ms,
142 scalar& nParticle,
143 scalar& KHindex,
144 scalar& y,
145 scalar& yDot,
146 const scalar d0,
147 const scalar rho,
148 const scalar mu,
149 const scalar sigma,
150 const vector& U,
151 const scalar rhoc,
152 const scalar muc,
153 const vector& Urel,
154 const scalar Urmag,
155 const scalar tMom,
156 scalar& dChild,
157 scalar& massChild
158 );
159};
160
161
162// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
163
164} // End namespace Foam
165
166// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
167
168#ifdef NoRepository
169 #include "PilchErdman.C"
170#endif
171
172// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174#endif
175
176// ************************************************************************* //
scalar y
const uniformDimensionedVectorField & g
Templated break-up model class.
Definition: BreakupModel.H:61
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Particle secondary breakup model based on Pilch-Erdman total droplet breakup model.
Definition: PilchErdman.H:114
PilchErdman(const dictionary &, CloudType &)
Construct from dictionary.
Definition: PilchErdman.C:35
virtual ~PilchErdman()=default
Destructor.
void operator=(const PilchErdman< CloudType > &)=delete
No copy assignment.
TypeName("PilchErdman")
Runtime type information.
virtual autoPtr< BreakupModel< CloudType > > clone() const
Construct and return a clone.
Definition: PilchErdman.H:139
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
U
Definition: pEqn.H:72
const volScalarField & mu
mesh update()
Urel
Definition: pEqn.H:56
Namespace for OpenFOAM.
DSMCCloud< dsmcParcel > CloudType
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73