LaakkonenDaughterSizeDistribution.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) 2018-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::daughterSizeDistributionModels::
26  LaakkonenDaughterSizeDistribution
27 
28 Description
29  Daughter size distribution model of Laakkonen et al. (2007). Note that the
30  diameters in the original expression were substituted by bubble volumes
31  giving
32 
33  \f[
34  (1 + C_4)(2 + C_4)(3 + C_4)(4 + C_4)
35  \times \left(\frac{1}{3}\right) \left(\frac{1}{v_j}\right)
36  \left(\frac{v_i}{v_j}\right)^{2} \left(1 - \frac{v_i}{v_j}\right)^{C_4}
37  \f]
38 
39  where
40 
41  \vartable
42  v_i | Volume of daughter bubble i [m3]
43  v_j | Volume of mother bubble j [m3]
44  \endvartable
45 
46  The total number of daughter bubbles generated depends on C4 and evaluates
47  to
48 
49  \f[
50  \frac{4}{3} + \frac{C_4}{3}
51  \f]
52 
53  References:
54  \verbatim
55  Laakkonen, M., Moilanen, P., Alopaeus, V., & Aittamaa, J. (2007).
56  Modelling local bubble size distributions in agitated vessels.
57  Chemical Engineering Science, 62, 721–740.
58  \endverbatim
59 
60 Usage
61  \table
62  Property | Description | Required | Default value
63  C4 | Coefficient C4 | no | 18.25
64  \endtable
65 
66 SourceFiles
67  LaakkonenBinaryBreakup.C
68 
69 \*---------------------------------------------------------------------------*/
70 
71 #ifndef LaakkonenDaughterSizeDistribution_H
72 #define LaakkonenDaughterSizeDistribution_H
73 
75 
76 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
77 
78 namespace Foam
79 {
80 namespace diameterModels
81 {
82 namespace daughterSizeDistributionModels
83 {
84 
85 /*---------------------------------------------------------------------------*\
86  Class LaakkonenDaughterSizeDistribution Declaration
87 \*---------------------------------------------------------------------------*/
88 
89 class LaakkonenDaughterSizeDistribution
90 :
91  public daughterSizeDistributionModel
92 {
93  // Private Data
94 
95  //- Optional coefficient C4, defaults to 18.25
97 
98 
99 public:
100 
101  //- Runtime type information
102  TypeName("Laakkonen");
103 
104 
105  // Constructor
106 
108  (
109  const breakupModel& breakup,
110  const dictionary& dict
111  );
112 
113 
114  //- Destructor
116 
117 
118  // Member Functions
119 
120  //- Calculate antiderivative
122  (
123  const dimensionedScalar& xk,
124  const dimensionedScalar& v,
125  const dimensionedScalar& bndr,
127  ) const;
128 
129  //- Calculate contribution to sizeGroup i due to breakup in sizeGroup k
130  virtual dimensionedScalar calcNik(const label i, const label k) const;
131 };
132 
133 
134 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 
136 } // End namespace daughterSizeDistributionModels
137 } // End namespace diameterModels
138 } // End namespace Foam
139 
140 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
141 
142 #endif
143 
144 // ************************************************************************* //
scalar range
label k
Base class for breakup models which provide a total breakup rate and a separate daughter size distrib...
Definition: breakupModel.H:56
dimensionedScalar antiderivative(const dimensionedScalar &xk, const dimensionedScalar &v, const dimensionedScalar &bndr, const dimensionedScalar range) const
Calculate antiderivative.
virtual dimensionedScalar calcNik(const label i, const label k) const
Calculate contribution to sizeGroup i due to breakup in sizeGroup k.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:160
Namespace for OpenFOAM.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
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
dictionary dict