mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: twoPhaseEulerFoam: added new interfacial models
This commit is contained in:
@ -5,6 +5,7 @@ dragModels/Ergun/Ergun.C
|
||||
dragModels/Gibilaro/Gibilaro.C
|
||||
dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C
|
||||
dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C
|
||||
dragModels/Lain/Lain.C
|
||||
dragModels/SchillerNaumann/SchillerNaumann.C
|
||||
dragModels/SyamlalOBrien/SyamlalOBrien.C
|
||||
dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C
|
||||
@ -20,6 +21,8 @@ liftModels/liftModel/liftModel.C
|
||||
liftModels/liftModel/newLiftModel.C
|
||||
liftModels/noLift/noLift.C
|
||||
liftModels/constantLiftCoefficient/constantLiftCoefficient.C
|
||||
liftModels/Moraga/Moraga.C
|
||||
liftModels/LegendreMagnaudet/LegendreMagnaudet.C
|
||||
liftModels/TomiyamaLift/TomiyamaLift.C
|
||||
|
||||
heatTransferModels/heatTransferModel/heatTransferModel.C
|
||||
@ -36,16 +39,19 @@ wallLubricationModels/wallLubricationModel/wallLubricationModel.C
|
||||
wallLubricationModels/wallLubricationModel/newWallLubricationModel.C
|
||||
wallLubricationModels/noWallLubrication/noWallLubrication.C
|
||||
wallLubricationModels/Antal/Antal.C
|
||||
wallLubricationModels/Frank/Frank.C
|
||||
|
||||
turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C
|
||||
turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C
|
||||
turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C
|
||||
turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C
|
||||
turbulentDispersionModels/Burns/Burns.C
|
||||
turbulentDispersionModels/Gosman/Gosman.C
|
||||
|
||||
aspectRatioModels/aspectRatioModel/aspectRatioModel.C
|
||||
aspectRatioModels/aspectRatioModel/newAspectRatioModel.C
|
||||
aspectRatioModels/constantAspectRatio/constantAspectRatio.C
|
||||
aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C
|
||||
aspectRatioModels/Wellek/Wellek.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libcompressibleEulerianInterfacialModels
|
||||
|
||||
@ -0,0 +1,74 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "Wellek.H"
|
||||
#include "orderedPhasePair.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace aspectRatioModels
|
||||
{
|
||||
defineTypeNameAndDebug(Wellek, 0);
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
aspectRatioModel,
|
||||
Wellek,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::aspectRatioModels::Wellek::Wellek
|
||||
(
|
||||
const dictionary& dict,
|
||||
const orderedPhasePair& pair
|
||||
)
|
||||
:
|
||||
aspectRatioModel(dict, pair)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::aspectRatioModels::Wellek::~Wellek()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::aspectRatioModels::Wellek::E() const
|
||||
{
|
||||
return scalar(1)/(scalar(1) + 0.163*pow(pair_.Eo(), 0.757));
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,107 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::aspectRatioModels::Wellek
|
||||
|
||||
Description
|
||||
Aspect ratio model of Wellek et al.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"Shape of liquid drops moving in liquid media"
|
||||
R M Wellek, A K Agrawal, A H P Skelland
|
||||
International Journal of Multiphase Flow
|
||||
Volume 12, Issue 5, Pages 854-862, September 1966
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
Wellek.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef Wellek_H
|
||||
#define Wellek_H
|
||||
|
||||
#include "aspectRatioModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace aspectRatioModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Wellek Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class Wellek
|
||||
:
|
||||
public aspectRatioModel
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("Wellek");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from a dictionary and an ordered phase pair
|
||||
Wellek
|
||||
(
|
||||
const dictionary& dict,
|
||||
const orderedPhasePair& pair
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~Wellek();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Aspect ratio
|
||||
virtual tmp<volScalarField> E() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace aspectRatioModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,75 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "Lain.H"
|
||||
#include "phasePair.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace dragModels
|
||||
{
|
||||
defineTypeNameAndDebug(Lain, 0);
|
||||
addToRunTimeSelectionTable(dragModel, Lain, dictionary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::dragModels::Lain::Lain
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair,
|
||||
const bool registerObject
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::dragModels::Lain::~Lain()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::Lain::CdRe() const
|
||||
{
|
||||
volScalarField Re(pair_.Re());
|
||||
|
||||
return
|
||||
neg(Re - 1.5)*16.0
|
||||
+ pos(Re - 1.5)*neg(Re - 80.0)*14.9*pow(Re, 0.22)
|
||||
+ pos(Re - 80.0)*neg(Re - 1500.0)*48*(1.0 - 2.21/sqrt(max(Re, SMALL)))
|
||||
+ pos(Re - 1500.0)*2.61*Re;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,112 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::dragModels::Lain
|
||||
|
||||
Description
|
||||
Drag model of Lain et al.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"Modelling hydrodynamics and turbulence in a bubble column using the
|
||||
Euler-Lagrange procedure"
|
||||
S Lain, D Brodera, M Sommerfelda, M F Goza
|
||||
International Journal of Multiphase Flow
|
||||
Volume 28, Issue 8, Pages 1381-1407, August 2002
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
Lain.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef Lain_H
|
||||
#define Lain_H
|
||||
|
||||
#include "dragModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class phasePair;
|
||||
|
||||
namespace dragModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Lain Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class Lain
|
||||
:
|
||||
public dragModel
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("Lain");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from a dictionary and a phase pair
|
||||
Lain
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair,
|
||||
const bool registerObject
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~Lain();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace dragModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,98 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "LegendreMagnaudet.H"
|
||||
#include "phasePair.H"
|
||||
#include "fvc.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace liftModels
|
||||
{
|
||||
defineTypeNameAndDebug(LegendreMagnaudet, 0);
|
||||
addToRunTimeSelectionTable(liftModel, LegendreMagnaudet, dictionary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::liftModels::LegendreMagnaudet::LegendreMagnaudet
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
)
|
||||
:
|
||||
liftModel(dict, pair),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::liftModels::LegendreMagnaudet::~LegendreMagnaudet()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::liftModels::LegendreMagnaudet::Cl() const
|
||||
{
|
||||
volScalarField Re(max(pair_.Re(), residualRe_));
|
||||
|
||||
volScalarField Sr
|
||||
(
|
||||
sqr(pair_.dispersed().d())
|
||||
/(
|
||||
Re
|
||||
*pair_.continuous().nu()
|
||||
)
|
||||
*mag(fvc::grad(pair_.continuous().U()))
|
||||
);
|
||||
|
||||
volScalarField ClLowSqr
|
||||
(
|
||||
sqr(6.0*2.255)
|
||||
*sqr(Sr)
|
||||
/(
|
||||
pow4(constant::mathematical::pi)
|
||||
*Re
|
||||
*pow3(Sr + 0.2*Re)
|
||||
)
|
||||
);
|
||||
|
||||
volScalarField ClHighSqr
|
||||
(
|
||||
sqr(0.5*(Re + 16.0)/(Re + 29.0))
|
||||
);
|
||||
|
||||
return sqrt(ClLowSqr + ClHighSqr);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,118 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::liftModels::LegendreMagnaudet
|
||||
|
||||
Description
|
||||
Lift model of Legendre and Magnaudet.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"The lift force on a spherical bubble in a viscous linear shear flow"
|
||||
D Legendre, J Magnaudet
|
||||
Journal of Fluid Mechanics
|
||||
Volume 368, pp 81-126, August 1998
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
LegendreMagnaudet.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef LegendreMagnaudet_H
|
||||
#define LegendreMagnaudet_H
|
||||
|
||||
#include "liftModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class phasePair;
|
||||
|
||||
namespace liftModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class LegendreMagnaudet Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class LegendreMagnaudet
|
||||
:
|
||||
public liftModel
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynold's number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("LegendreMagnaudet");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from a dictionary and a phase pair
|
||||
LegendreMagnaudet
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~LegendreMagnaudet();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Lift coefficient
|
||||
virtual tmp<volScalarField> Cl() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace liftModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,77 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "Moraga.H"
|
||||
#include "phasePair.H"
|
||||
#include "fvc.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace liftModels
|
||||
{
|
||||
defineTypeNameAndDebug(Moraga, 0);
|
||||
addToRunTimeSelectionTable(liftModel, Moraga, dictionary);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::liftModels::Moraga::Moraga
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
)
|
||||
:
|
||||
liftModel(dict, pair)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::liftModels::Moraga::~Moraga()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::liftModels::Moraga::Cl() const
|
||||
{
|
||||
volScalarField ReSqrSr
|
||||
(
|
||||
pair_.Re()
|
||||
*sqr(pair_.dispersed().d())
|
||||
/pair_.continuous().nu()
|
||||
*mag(fvc::grad(pair_.continuous().U()))
|
||||
);
|
||||
|
||||
return 0.2*exp(- ReSqrSr/3.6e5 - 0.12)*exp(ReSqrSr/3.0e7);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,110 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::liftModels::Moraga
|
||||
|
||||
Description
|
||||
Lift model of Moraga et al.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"Lateral forces on spheres in turbulent uniform shear flow"
|
||||
F J Moraga, F J Bonetto, R T Lahey
|
||||
International Journal of Multiphase Flow
|
||||
Volume 25, Issues 6-7, Pages 1321-1372, September 1999
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
Moraga.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef Moraga_H
|
||||
#define Moraga_H
|
||||
|
||||
#include "liftModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class phasePair;
|
||||
|
||||
namespace liftModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Moraga Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class Moraga
|
||||
:
|
||||
public liftModel
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("Moraga");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from a dictionary and a phase pair
|
||||
Moraga
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~Moraga();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Lift coefficient
|
||||
virtual tmp<volScalarField> Cl() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace liftModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,102 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "Burns.H"
|
||||
#include "phasePair.H"
|
||||
#include "fvc.H"
|
||||
#include "PhaseIncompressibleTurbulenceModel.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
#include "dragModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace turbulentDispersionModels
|
||||
{
|
||||
defineTypeNameAndDebug(Burns, 0);
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
turbulentDispersionModel,
|
||||
Burns,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::turbulentDispersionModels::Burns::Burns
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
)
|
||||
:
|
||||
turbulentDispersionModel(dict, pair),
|
||||
sigma_("sigma", dimless, dict.lookup("sigma")),
|
||||
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::turbulentDispersionModels::Burns::~Burns()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volVectorField>
|
||||
Foam::turbulentDispersionModels::Burns::F() const
|
||||
{
|
||||
const fvMesh& mesh(pair_.phase1().mesh());
|
||||
const dragModel&
|
||||
drag
|
||||
(
|
||||
mesh.lookupObject<dragModel>
|
||||
(
|
||||
IOobject::groupName(dragModel::typeName, pair_.name())
|
||||
)
|
||||
);
|
||||
|
||||
return
|
||||
- 0.75
|
||||
*drag.CdRe()
|
||||
*pair_.dispersed()
|
||||
*pair_.continuous().nu()
|
||||
*pair_.continuous().turbulence().nut()
|
||||
/(
|
||||
sigma_
|
||||
*sqr(pair_.dispersed().d())
|
||||
)
|
||||
*pair_.continuous().rho()
|
||||
*fvc::grad(pair_.continuous())
|
||||
*(1.0 + pair_.dispersed()/max(pair_.continuous(), residualAlpha_));
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,120 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::turbulentDispersionModels::Burns
|
||||
|
||||
Description
|
||||
Turbulent dispersion model of Burns et al.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"The Favre averaged drag model for turbulent dispersion in Eulerian
|
||||
multi-phase flows"
|
||||
A D Burns, T Frank, I Hamill, J M Shi
|
||||
5th international conference on multiphase flow
|
||||
Volume 4, Paper 392, May 2004
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
Burns.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef Burns_H
|
||||
#define Burns_H
|
||||
|
||||
#include "turbulentDispersionModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class phasePair;
|
||||
|
||||
namespace turbulentDispersionModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Burns Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class Burns
|
||||
:
|
||||
public turbulentDispersionModel
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Schmidt number
|
||||
const dimensionedScalar sigma_;
|
||||
|
||||
//- Residual phase fraction
|
||||
const dimensionedScalar residualAlpha_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("Burns");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from a dictionary and a phase pair
|
||||
Burns
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~Burns();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Turbulent dispersion force
|
||||
virtual tmp<volVectorField> F() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace turbulentDispersionModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,98 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "Frank.H"
|
||||
#include "phasePair.H"
|
||||
#include "fvc.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
namespace wallLubricationModels
|
||||
{
|
||||
defineTypeNameAndDebug(Frank, 0);
|
||||
addToRunTimeSelectionTable
|
||||
(
|
||||
wallLubricationModel,
|
||||
Frank,
|
||||
dictionary
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::wallLubricationModels::Frank::Frank
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
)
|
||||
:
|
||||
wallLubricationModel(dict, pair),
|
||||
Cwd_("Cwd", dimless, dict.lookup("Cwd")),
|
||||
Cwc_("Cwc", dimless, dict.lookup("Cwc")),
|
||||
p_(readScalar(dict.lookup("p")))
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::wallLubricationModels::Frank::~Frank()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volVectorField> Foam::wallLubricationModels::Frank::F() const
|
||||
{
|
||||
volVectorField Ur(pair_.Ur());
|
||||
volVectorField nWall(- fvc::grad(yWall_));
|
||||
nWall /= mag(nWall) + SMALL;
|
||||
|
||||
volScalarField Eo(pair_.Eo());
|
||||
volScalarField yTilde(yWall_/(Cwc_*pair_.dispersed().d()));
|
||||
|
||||
return
|
||||
(
|
||||
pos(Eo - 1.0)*neg(Eo - 5.0)*exp(-0.933*Eo + 0.179)
|
||||
+ pos(Eo - 5.0)*neg(Eo - 33.0)*(0.00599*Eo - 0.0187)
|
||||
+ pos(Eo - 33.0)*0.179
|
||||
)
|
||||
*max
|
||||
(
|
||||
dimensionedScalar("zero", dimless/dimLength, 0.0),
|
||||
(1.0 - yTilde)/(Cwd_*yWall_*pow(yTilde, p_ - 1.0))
|
||||
)
|
||||
*pair_.dispersed()
|
||||
*pair_.continuous().rho()
|
||||
*magSqr(Ur - (Ur & nWall)*nWall)
|
||||
*nWall;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -0,0 +1,125 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / 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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::wallLubricationModels::Frank
|
||||
|
||||
Description
|
||||
Wall lubrication model of Frank.
|
||||
|
||||
References:
|
||||
\verbatim
|
||||
"Implementation and Comparison of Correlations for interfacial Forces
|
||||
in a Gas-Liquid System within an Euler-Euler Framework"
|
||||
M Otromke
|
||||
PhD Thesis
|
||||
April 2013
|
||||
\endverbatim
|
||||
|
||||
\verbatim
|
||||
"Advances in Computational Fluid Dynamics (CFD) of 3-dimensional Gas-
|
||||
Liquid Multiphase Flows"
|
||||
T Frank
|
||||
NAFEMS Seminar : Simulation of Complex Flows (CFD)
|
||||
Pages 1-18, April 2005
|
||||
\endverbatim
|
||||
|
||||
SourceFiles
|
||||
Frank.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef Frank_H
|
||||
#define Frank_H
|
||||
|
||||
#include "wallLubricationModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
class phasePair;
|
||||
|
||||
namespace wallLubricationModels
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class Frank Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class Frank
|
||||
:
|
||||
public wallLubricationModel
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Coefficient d
|
||||
const dimensionedScalar Cwd_;
|
||||
|
||||
//- Coefficient c
|
||||
const dimensionedScalar Cwc_;
|
||||
|
||||
//- Power p
|
||||
const scalar p_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("Frank");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from components
|
||||
Frank
|
||||
(
|
||||
const dictionary& dict,
|
||||
const phasePair& pair
|
||||
);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~Frank();
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Wall lubrication force
|
||||
tmp<volVectorField> F() const;
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace wallLubricationModels
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user