LiaoCoalescence.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) 2021-2023 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::diameterModels::coalescenceModels::LiaoCoalescence
26 
27 Description
28  Bubble coalescence model of Liao et al. (2015). The terminal velocities and
29  drag coefficients are computed by an iterative procedure based on the drag
30  model of Ishii and Zuber (1979) at the beginning of the simulation, assuming
31  single bubbles rising in quiescent liquid.
32 
33  Note that the original article contains a mistake concerning the value of
34  the coefficient CEff. A value of 2.5 instead of 5.0 should be used when
35  following the Weber number definition in the paper.
36 
37  References:
38  \verbatim
39  Liao, Y.; Rzehak, R.; Lucas, D.; Krepper, E. (2015).
40  Baseline closure models for dispersed bubbly flow: Bubble coalescence
41  and breakup.
42  Chemical Engineering Science, 122, 336-349.
43 
44  Liao, Y., Rzehak, R., Lucas, D., & Krepper, E. (2021).
45  Corrigendum to "Baseline closure model for dispersed bubbly flow:
46  Bubble coalescence and breakup" [Chem. Eng. Sci. 122 (2015) 336–349].
47  Chemical Engineering Science, 241, 116708.
48 
49  Ishii, M., & Zuber, N. (1979).
50  Drag coefficient and relative velocity in bubbly, droplet or particulate
51  flows.
52  AIChE Journal, 25(5), 843-855.
53  \endverbatim
54 
55 Usage
56  \table
57  Property | Description | Required | Default value
58  PMax | Maximum packing limit | no | 0.8
59  CPackMax | Maximum CPack coefficient | no | 1.0e5
60  AH | Hamaker constant | no | 3.7e-20
61  CEff | coefficient CEff | no | 2.5
62  CTurb | coefficient CTurb | no | 1.0
63  CBuoy | coefficient CBuoy | no | 1.0
64  CShear | coefficient CShear | no | 1.0
65  CEddy | coefficient CEddy | no | 1.0
66  CWake | coefficient CWake | no | 1.0
67  turbulence | Switch for turbulence | yes | none
68  buoyancy | Switch for buoyancy | yes | none
69  laminarShear | Switch for laminar shear | yes | none
70  eddyCapture | Switch for eddy capture | yes | none
71  wake | Switch for wake entrainment | yes | none
72  \endtable
73 
74 SourceFiles
75  LiaoCoalescence.C
76 
77 \*---------------------------------------------------------------------------*/
78 
79 #ifndef LiaoCoalescence_H
80 #define LiaoCoalescence_H
81 
82 #include "coalescenceModel.H"
83 #include "LiaoBase.H"
84 
85 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
86 
87 namespace Foam
88 {
89 namespace diameterModels
90 {
91 namespace coalescenceModels
92 {
93 
94 /*---------------------------------------------------------------------------*\
95  Class LiaoCoalescence Declaration
96 \*---------------------------------------------------------------------------*/
97 
98 class LiaoCoalescence
99 :
100  public coalescenceModel,
101  public LiaoBase
102 {
103  // Private Data
104 
105  //- Maximum packing limit of bubbles
106  dimensionedScalar PMax_;
107 
108  //- Hamaker constant AH
109  dimensionedScalar AH_;
110 
111  //- Optional coefficient CEff
112  dimensionedScalar CEff_;
113 
114  //- Optional coefficient CTurb
115  dimensionedScalar CTurb_;
116 
117  //- Optional coefficient CBuoy
118  dimensionedScalar CBuoy_;
119 
120  //- Optional coefficient CShear
121  dimensionedScalar CShear_;
122 
123  //- Optional coefficient CEddy
124  dimensionedScalar CEddy_;
125 
126  //- Optional coefficient CWake
127  dimensionedScalar CWake_;
128 
129  //- Switch for turbulent collisions
130  Switch turbulence_;
131 
132  //- Switch for buoyancy-induced collisions
133  Switch buoyancy_;
134 
135  //- Switch for velocity gradient-induced collisions
136  Switch laminarShear_;
137 
138  //- Switch for eddy capture-induced collisions
139  Switch eddyCapture_;
140 
141  //- Switch for wake entrainment-induced collisions
142  Switch wakeEntrainment_;
143 
144  //- Coefficient containing maximum packing limit
145  volScalarField CPack_;
146 
147  //- Limiter for the CPack coefficient
148  dimensionedScalar CPackMax_;
149 
150  //- Critical diameter
151  volScalarField dCrit_;
152 
153  //- Relative velocity for turbulent collisions
154  volScalarField uRelTurb_;
155 
156  //- Relative velocity for buoyancy-induced collisions
157  volScalarField uRelBuoy_;
158 
159  //- Relative velocity for shear-induced collisions
160  volScalarField uRelShear_;
161 
162 
163 public:
164 
165  //- Runtime type information
166  TypeName("Liao");
167 
168  // Constructor
169 
171  (
172  const populationBalanceModel& popBal,
173  const dictionary& dict
174  );
175 
176 
177  //- Destructor
178  virtual ~LiaoCoalescence()
179  {}
180 
181 
182  // Member Functions
183 
184  //- Precompute diameter independent expressions
185  virtual void precompute();
186 
187  //- Add to coalescenceRate
188  virtual void addToCoalescenceRate
189  (
190  volScalarField& coalescenceRate,
191  const label i,
192  const label j
193  );
194 };
195 
196 
197 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
198 
199 } // End namespace coalescenceModels
200 } // End namespace diameterModels
201 } // End namespace Foam
202 
203 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
204 
205 #endif
206 
207 // ************************************************************************* //
Generic GeometricField class.
virtual void addToCoalescenceRate(volScalarField &coalescenceRate, const label i, const label j)
Add to coalescenceRate.
virtual void precompute()
Precompute diameter independent expressions.
LiaoCoalescence(const populationBalanceModel &popBal, const dictionary &dict)
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:162
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
VolField< scalar > volScalarField
Definition: volFieldsFwd.H:64
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dictionary dict