*EulerFoam/interfacialModels/dragModels/IshiiZuber: Set constants to correspond to original paper

"Drag Coefficient and relative velocity in bubbly, droplet and
         particulate flows",
        Ishii, M., Zuber, N.,
        AIChE Journal 5, Vol. 25, 1979, pp. 843-855.
This commit is contained in:
Henry Weller
2018-06-14 20:09:58 +01:00
parent ee6a53adee
commit 4a46fab1ba
2 changed files with 25 additions and 27 deletions

View File

@ -63,33 +63,32 @@ Foam::dragModels::IshiiZuber::~IshiiZuber()
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::dragModels::IshiiZuber::CdRe() const Foam::dragModels::IshiiZuber::CdRe() const
{ {
volScalarField Re(pair_.Re()); const volScalarField Re(pair_.Re());
volScalarField Eo(pair_.Eo()); const volScalarField Eo(pair_.Eo());
volScalarField mud(pair_.dispersed().mu()); const volScalarField mud(pair_.dispersed().mu());
volScalarField muc(pair_.continuous().mu()); const volScalarField muc(pair_.continuous().mu());
volScalarField muStar((mud + 0.4*muc)/(mud + muc)); const volScalarField muStar((mud + 0.4*muc)/(mud + muc));
volScalarField muMix const volScalarField muMix
( (
muc muc*pow(max(1 - pair_.dispersed(), scalar(1e-3)), -2.5*muStar)
*pow(max(1 - pair_.dispersed(), scalar(1e-3)), -2.5*muStar)
); );
volScalarField ReM(Re*muc/muMix); const volScalarField ReM(Re*muc/muMix);
volScalarField CdRe const volScalarField CdRe
( (
pos0(1000 - ReM)*24*(scalar(1) + 0.15*pow(ReM, 0.687)) pos0(1000 - ReM)*24*(scalar(1) + 0.1*pow(ReM, 0.75))
+ neg(1000 - ReM)*0.44*ReM + neg(1000 - ReM)*0.44*ReM
); );
volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed())); volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed()));
F.max(1e-3); F.max(1e-3);
volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F)); const volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F));
volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re); const volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re);
return return
pos0(CdReEllipse - CdRe) pos0(CdReEllipse - CdRe)

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2014-2017 OpenFOAM Foundation \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -63,33 +63,32 @@ Foam::dragModels::IshiiZuber::~IshiiZuber()
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::dragModels::IshiiZuber::CdRe() const Foam::dragModels::IshiiZuber::CdRe() const
{ {
volScalarField Re(pair_.Re()); const volScalarField Re(pair_.Re());
volScalarField Eo(pair_.Eo()); const volScalarField Eo(pair_.Eo());
volScalarField mud(pair_.dispersed().mu()); const volScalarField mud(pair_.dispersed().mu());
volScalarField muc(pair_.continuous().mu()); const volScalarField muc(pair_.continuous().mu());
volScalarField muStar((mud + 0.4*muc)/(mud + muc)); const volScalarField muStar((mud + 0.4*muc)/(mud + muc));
volScalarField muMix const volScalarField muMix
( (
muc muc*pow(max(1 - pair_.dispersed(), scalar(1e-3)), -2.5*muStar)
*pow(max(1 - pair_.dispersed(), scalar(1e-3)), -2.5*muStar)
); );
volScalarField ReM(Re*muc/muMix); const volScalarField ReM(Re*muc/muMix);
volScalarField CdRe const volScalarField CdRe
( (
pos0(1000 - ReM)*24.0*(scalar(1) + 0.15*pow(ReM, 0.687)) pos0(1000 - ReM)*24*(scalar(1) + 0.1*pow(ReM, 0.75))
+ neg(1000 - ReM)*0.44*ReM + neg(1000 - ReM)*0.44*ReM
); );
volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed())); volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed()));
F.max(1e-3); F.max(1e-3);
volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F)); const volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F));
volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re); const volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re);
return return
pos0(CdReEllipse - CdRe) pos0(CdReEllipse - CdRe)