/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2019 OpenFOAM Foundation
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see .
Class
Foam::diameterModels::binaryBreakupModels::LuoSvendsen
Description
Model of Luo and Svendsen (1996). The breakup rate is calculated by
\f[
C_4 \alpha_c \left(\frac{\epsilon_c}{d_j^2}\right)^{1/3}
\int\limits_{\xi_{min}}^{1}
\frac{\left(1 + \xi\right)^{2}}{\xi^{11/3}}
\mathrm{exp}
\left(
- \frac{12c_f\sigma}{\beta\rho_c\epsilon_c^{2/3}d_j^{5/3}\xi^{11/3}}
\right)
\mathrm{d} \xi
\f]
where
\f[
c_f = \left(\frac{v_i}{v_j}\right)^{2/3}
+ \left(1 - \frac{v_i}{v_j}\right)^{2/3} - 1
\f]
\f[
\xi_{min} = \frac{\lambda_{min}}{d_j}\,,
\f]
and
\f[
\lambda_{min} = C_5 \eta\,.
\f]
The integral in the first expression is solved by means of incomplete Gamma
functions as given by Bannari et al. (2008):
\f[
\frac{3}{11 b^{8/11}}
\left(
\left[\Gamma(8/11, b) - \Gamma(8/11, t_{m})\right]
+ 2b^{3/11} \left[\Gamma(5/11, b) - \Gamma(5/11, t_{m})\right]
+ b^{6/11} \left[\Gamma(2/11, b) - \Gamma(2/11, t_{m})\right]
\right)
\f]
where
\f[
b = \frac{12c_f\sigma}{\beta\rho_c\epsilon_c^{2/3}d_j^{5/3}}
\f]
and
\f[
t_{min} = b \xi_{min}^{-11/3}\,.
\f]
Note that in the code, the upper incomplete gamma function is expressed as
\f[
\Gamma(a,z) = Q(a,z) \Gamma(a)
\f]
\vartable
\alpha_c | Void fraction of continuous phase [-]
\epsilon_c | Turbulent dissipation rate of continuous phase [m2/s3]
d_j | Diameter of mother bubble j [m3]
v_i | Volume of daughter bubble i [m3]
v_j | Volume of mother bubble j [m3]
\xi | Integration variable [-]
\xi_{min} | Lower bound of integral [-]
c_f | Increase coefficient of surface area [-]
\sigma | Surface tension [N/m]
\rho_c | Density of continuous phase [kg/m3]
\eta | Kolmogorov length scale [m]
\Gamma(a,z) | Upper incomplete gamma function
Q(a,z) | Regularized upper incomplete gamma function
\Gamma(a) | Gamma function
\endvartable
References:
\verbatim
Luo, H., & Svendsen, H. F. (1996).
Theoretical model for drop and bubble breakup in turbulent dispersions.
AIChE Journal, 42(5), 1225-1233.
Eq. 27, p. 1229.
\endverbatim
\verbatim
Bannari, R., Kerdouss, F., Selma, B., Bannari, A., & Proulx, P. (2008).
Three-dimensional mathematical modeling of dispersed two-phase flow
using class method of population balance in bubble columns.
Computers & chemical engineering, 32(12), 3224-3237.
Eq. 49, p. 3230.
\endverbatim
Usage
\table
Property | Description | Required | Default value
C4 | Coefficient C4 | no | 0.923
beta | Coefficient beta | no | 2.05
C5 | Minimum eddy ratio | no | 11.4
\endtable
SourceFiles
LuoSvendsen.C
\*---------------------------------------------------------------------------*/
#ifndef LuoSvendsen_H
#define LuoSvendsen_H
#include "binaryBreakupModel.H"
#include "interpolationTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
namespace diameterModels
{
namespace binaryBreakupModels
{
/*---------------------------------------------------------------------------*\
Class LuoSvendsen Declaration
\*---------------------------------------------------------------------------*/
class LuoSvendsen
:
public binaryBreakupModel
{
private:
// Private data
//- Interpolation table of Q(a,z) for a=2/11
autoPtr> gammaUpperReg2by11_;
//- Interpolation table of Q(a,z) for a=5/11
autoPtr> gammaUpperReg5by11_;
//- Interpolation table of Q(a,z) for a=8/11
autoPtr> gammaUpperReg8by11_;
//- Empirical constant, defaults to 0.923
dimensionedScalar C4_;
//- Empirical constant, defaults to 2.05
dimensionedScalar beta_;
//- Ratio between minimum size of eddies in the inertial subrange
// and Kolmogorov length scale, defaults to 11.4
dimensionedScalar minEddyRatio_;
//- Kolmogorov length scale
volScalarField kolmogorovLengthScale_;
public:
//- Runtime type information
TypeName("LuoSvendsen");
// Constructor
LuoSvendsen
(
const populationBalanceModel& popBal,
const dictionary& dict
);
//- Destructor
virtual ~LuoSvendsen() = default;
// Member Functions
//- Correct diameter independent expressions
virtual void correct();
//- Add to binary breakupRate
virtual void addToBinaryBreakupRate
(
volScalarField& binaryBreakupRate,
const label i,
const label j
);
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace binaryBreakupModels
} // End namespace diameterModels
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //