diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C new file mode 100644 index 000000000..b984ac0b1 --- /dev/null +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C @@ -0,0 +1,101 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +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 . + +\*---------------------------------------------------------------------------*/ + +#include "IshiiZuber.H" +#include "phasePair.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace dragModels +{ + defineTypeNameAndDebug(IshiiZuber, 0); + addToRunTimeSelectionTable(dragModel, IshiiZuber, dictionary); +} +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::dragModels::IshiiZuber::IshiiZuber +( + const dictionary& dict, + const phasePair& pair, + const bool registerObject +) +: + dragModel(dict, pair, registerObject) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::dragModels::IshiiZuber::~IshiiZuber() +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::tmp +Foam::dragModels::IshiiZuber::CdRe() const +{ + volScalarField Re(pair_.Re()); + volScalarField Eo(pair_.Eo()); + + volScalarField mud(pair_.dispersed().mu()); + volScalarField muc(pair_.continuous().mu()); + + volScalarField muStar((mud + 0.4*muc)/(mud + muc)); + + volScalarField muMix + ( + muc + *pow(max(1 - pair_.dispersed(), 1e-3), -2.5*muStar) + ); + + volScalarField ReM(Re*muc/muMix); + volScalarField CdRe + ( + pos(1000 - ReM)*24.0*(scalar(1) + 0.15*pow(ReM, 0.687)) + + neg(1000 - ReM)*0.44*ReM + ); + + volScalarField F((muc/muMix)*sqrt(1 - pair_.dispersed())); + F.max(1e-3); + + volScalarField Ealpha((1 + 17.67*pow(F, 0.8571428))/(18.67*F)); + + volScalarField CdReEllipse(Ealpha*0.6666*sqrt(Eo)*Re); + + return + pos(CdReEllipse - CdRe) + *min(CdReEllipse, Re*sqr(1 - pair_.dispersed())*2.66667) + + neg(CdReEllipse - CdRe)*CdRe; +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H new file mode 100644 index 000000000..ec4b476a9 --- /dev/null +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H @@ -0,0 +1,105 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- + +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::dragModels::IshiiZuber + +Description + Ishii and Zuber (1979) drag model for dense dispersed bubbly flows. + + Reference: + \verbatim + "Drag Coefficient and relative velocity in bubbly, droplet and + particulate flows", + Ishii, M., Zuber, N., + AIChE Journal 5, Vol. 25, 1979, pp. 843-855. + \endverbatim + +SourceFiles + IshiiZuber.C + +\*---------------------------------------------------------------------------*/ + +#ifndef IshiiZuber_H +#define IshiiZuber_H + +#include "dragModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class phasePair; + +namespace dragModels +{ + +/*---------------------------------------------------------------------------*\ + Class IshiiZuber Declaration +\*---------------------------------------------------------------------------*/ + +class IshiiZuber +: + public dragModel +{ + +public: + + //- Runtime type information + TypeName("IshiiZuber"); + + + // Constructors + + //- Construct from a dictionary and a phase pair + IshiiZuber + ( + const dictionary& dict, + const phasePair& pair, + const bool registerObject + ); + + + //- Destructor + virtual ~IshiiZuber(); + + + // Member Functions + + //- Drag coefficient + virtual tmp CdRe() const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace dragModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* //