reactingEulerFoam/.../coalescenceModels/PrinceBlanch: Added laminar shear contribution

Patch contributed by Institute of Fluid Dynamics,
Helmholtz-Zentrum Dresden - Rossendorf (HZDR)
This commit is contained in:
Will Bainbridge
2019-11-19 14:16:59 +00:00
parent 08ea2465c1
commit 6ad711057b
2 changed files with 83 additions and 31 deletions

View File

@ -27,6 +27,7 @@ License
#include "addToRunTimeSelectionTable.H"
#include "mathematicalConstants.H"
#include "phaseCompressibleTurbulenceModel.H"
#include "fvcGrad.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -84,11 +85,44 @@ PrinceBlanch
turbulence_(dict.lookup("turbulence")),
buoyancy_(dict.lookup("buoyancy")),
laminarShear_(dict.lookup("laminarShear"))
{}
{
if (laminarShear_)
{
shearStrainRate_.set
(
new volScalarField
(
IOobject
(
"shearStrainRate",
popBal_.time().timeName(),
popBal_.mesh()
),
popBal_.mesh(),
dimensionedScalar
(
"shearStrainRate",
dimVelocity/dimLength,
Zero
)
)
);
}
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::diameterModels::coalescenceModels::PrinceBlanch::correct()
{
if (laminarShear_)
{
shearStrainRate_() =
sqrt(2.0)*mag(symm(fvc::grad(popBal_.continuousPhase().U())));
}
}
void Foam::diameterModels::coalescenceModels::PrinceBlanch::
addToCoalescenceRate
(
@ -103,7 +137,7 @@ addToCoalescenceRate
const uniformDimensionedVectorField& g =
popBal_.mesh().lookupObject<uniformDimensionedVectorField>("g");
const dimensionedScalar rij(1.0/(1.0/fi.dSph() + 1.0/fj.dSph()));
const dimensionedScalar rij(1/(1/fi.dSph() + 1/fj.dSph()));
const volScalarField collisionEfficiency
(
@ -112,7 +146,7 @@ addToCoalescenceRate
- sqrt
(
pow3(rij)*continuousPhase.rho()
/(16.0*popBal_.sigmaWithContinuousPhase(fi.phase()))
/(16*popBal_.sigmaWithContinuousPhase(fi.phase()))
)
*log(h0_/hf_)
*cbrt(popBal_.continuousTurbulence().epsilon())/pow(rij, 2.0/3.0)
@ -132,7 +166,7 @@ addToCoalescenceRate
if (buoyancy_)
{
const dimensionedScalar Sij(pi/4.0*sqr(fi.dSph() + fj.dSph()));
const dimensionedScalar Sij(pi/4*sqr(fi.dSph() + fj.dSph()));
coalescenceRate +=
(
@ -158,10 +192,9 @@ addToCoalescenceRate
if (laminarShear_)
{
FatalErrorInFunction
<< "Laminar shear collision contribution not implemented for "
<< this->type() << " coalescence model."
<< exit(FatalError);
coalescenceRate +=
1.0/6.0*pow3(fi.d() + fj.d())*shearStrainRate_()
*collisionEfficiency;
}
}

View File

@ -29,7 +29,7 @@ Description
\f[
\left( \theta_{ij}^{T} + \theta_{ij}^{B} + \theta_{ij}^{LS} \right)
\lambda_{ij}
\lambda_{ij}\;,
\f]
with the coalescence efficiency
@ -52,13 +52,20 @@ Description
\sqrt{d_{i}^{2/3} + d_{j}^{2/3}}\;,
\f]
and the buoyancy-driven collision rate
the buoyancy-driven collision rate
\f[
\theta_{ij}^{B} = S_{ij} \left| u_{ri} - u_{rj} \right|\;,
\f]
where the rise velocity of bubble i is calculated by
and the laminar shear collision rate
\f[
\theta_{ij}^{LS} =
\frac{1}{6} \left(d_i + d_j\right)^{3} \gamma_c\;.
\f]
The rise velocity of bubble i is calculated by
\f[
u_{ri} = \sqrt{2.14 \sigma / \left(\rho_c d_i \right) + 0.505 g d_i}\;,
@ -67,37 +74,43 @@ Description
the equivalent radius by
\f[
r_{ij} = \left( \frac{1}{d_i} + \frac{1}{d_j} \right)^{-1}
r_{ij} = \left( \frac{1}{d_i} + \frac{1}{d_j} \right)^{-1}\;,
\f]
and the collision cross sectional area by
the collision cross sectional area by
\f[
S_{ij} = \frac{\pi}{4} \left(d_i + d_j\right)^{2}\;.
S_{ij} = \frac{\pi}{4} \left(d_i + d_j\right)^{2}\;,
\f]
and the shear strain rate by
\f[
\dot{\gamma_{b}} = \mathrm{mag}(\mathrm{symm}(\mathrm{grad}(U_c)))\;.
\f]
Note that in equation 2, the bubble radius has been substituted by the
bubble diameter. Also the expression for the equivalent radius r_ij
(equation 19 in the paper of Prince and Blanch (1990)) was corrected.
The collision rate contribution due to laminar shear in the continuous phase
is currently neglected.
\vartable
\theta_{ij}^{T} | Turbulent collision rate [m^3/s]
\theta_{ij}^{B} | Buoyancy-driven collision rate [m^3/s]
\theta_{ij}^{LS}| Laminar shear collision rate [m^3/s]
\lambda_{ij} | Coalescence efficiency [-]
r_{ij} | Equivalent radius [m]
\rho_c | Density of continuous phase [kg/m^3]
\sigma | Surface tension [N/m]
h_0 | Initial film thickness [m]
h_f | Critical film thickness [m]
\epsilon_c | Continuous phase turbulent dissipation rate [m^2/s^3]
d_i | Diameter of bubble i [m]
d_j | Diameter of bubble j [m]
u_{ri} | Rise velocity of bubble i [m/s]
S_{ij} | Collision cross sectional area [m^2]
g | Gravitational constant [m/s^2]
\theta_{ij}^{T} | Turbulent collision rate [m3/s]
\theta_{ij}^{B} | Buoyancy-driven collision rate [m3/s]
\theta_{ij}^{LS} | Laminar shear collision rate [m3/s]
\lambda_{ij} | Coalescence efficiency [-]
r_{ij} | Equivalent radius [m]
\rho_c | Density of continuous phase [kg/m3]
\sigma | Surface tension [N/m]
h_0 | Initial film thickness [m]
h_f | Critical film thickness [m]
\epsilon_c | Continuous phase turbulent dissipation rate [m2/s3]
d_i | Diameter of bubble i [m]
d_j | Diameter of bubble j [m]
u_{ri} | Rise velocity of bubble i [m/s]
S_{ij} | Collision cross sectional area [m2]
g | Gravitational constant [m/s2]
\gamma_c | Continuous phase shear strain rate [1/s]
U_c | Continuous phase velocity field [m/s]
\endvartable
Reference:
@ -165,6 +178,9 @@ class PrinceBlanch
//- Switch for considering buoyancy-induced collisions
Switch laminarShear_;
//- Continuous phase shear strain rate
autoPtr<volScalarField> shearStrainRate_;
public:
@ -187,6 +203,9 @@ public:
// Member Functions
//- Correct diameter independent expressions
virtual void correct();
//- Add to coalescenceRate
virtual void addToCoalescenceRate
(