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-2025 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  wakeEntrainment| 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  //- Disambiguate the population balance reference
107 
108  //- Maximum packing limit of bubbles
109  dimensionedScalar PMax_;
110 
111  //- Hamaker constant AH
112  dimensionedScalar AH_;
113 
114  //- Optional coefficient CEff
115  dimensionedScalar CEff_;
116 
117  //- Optional coefficient CTurb
118  dimensionedScalar CTurb_;
119 
120  //- Optional coefficient CBuoy
121  dimensionedScalar CBuoy_;
122 
123  //- Optional coefficient CShear
124  dimensionedScalar CShear_;
125 
126  //- Optional coefficient CEddy
127  dimensionedScalar CEddy_;
128 
129  //- Optional coefficient CWake
130  dimensionedScalar CWake_;
131 
132  //- Switch for turbulent collisions
133  Switch turbulence_;
134 
135  //- Switch for buoyancy-induced collisions
136  Switch buoyancy_;
137 
138  //- Switch for velocity gradient-induced collisions
139  Switch laminarShear_;
140 
141  //- Switch for eddy capture-induced collisions
142  Switch eddyCapture_;
143 
144  //- Switch for wake entrainment-induced collisions
145  Switch wakeEntrainment_;
146 
147  //- Coefficient containing maximum packing limit
149 
150  //- Limiter for the CPack coefficient
151  dimensionedScalar CPackMax_;
152 
153  //- Critical diameter
155 
156  //- Relative velocity for turbulent collisions
157  volScalarField::Internal uRelTurb_;
158 
159  //- Relative velocity for buoyancy-induced collisions
160  volScalarField::Internal uRelBuoy_;
161 
162  //- Relative velocity for shear-induced collisions
163  volScalarField::Internal uRelShear_;
164 
165 
166 public:
167 
168  //- Runtime type information
169  TypeName("Liao");
170 
171  // Constructor
172 
174  (
175  const populationBalanceModel& popBal,
176  const dictionary& dict
177  );
178 
179 
180  //- Destructor
181  virtual ~LiaoCoalescence()
182  {}
183 
184 
185  // Member Functions
186 
187  //- Precompute diameter independent expressions
188  virtual void precompute();
189 
190  //- Add to coalescenceRate
191  virtual void addToCoalescenceRate
192  (
193  volScalarField::Internal& coalescenceRate,
194  const label i,
195  const label j
196  );
197 };
198 
199 
200 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
201 
202 } // End namespace coalescenceModels
203 } // End namespace diameterModels
204 } // End namespace Foam
205 
206 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
207 
208 #endif
209 
210 // ************************************************************************* //
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
DimensionedField< Type, GeoMesh, PrimitiveField > Internal
Type of the internal field from which this GeometricField is derived.
const populationBalanceModel & popBal_
Reference to the populationBalanceModel.
virtual void precompute()
Precompute diameter independent expressions.
LiaoCoalescence(const populationBalanceModel &popBal, const dictionary &dict)
virtual void addToCoalescenceRate(volScalarField::Internal &coalescenceRate, const label i, const label j)
Add to coalescenceRate.
Model for tracking the evolution of a dispersed phase size distribution due to coalescence (synonymou...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
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
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
dictionary dict