mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: twoPhaseEulerFoam: bug fixes and bounding improvements to interfacal models
This commit is contained in:
@ -52,7 +52,7 @@ Foam::aspectRatioModels::TomiyamaAspectRatio::TomiyamaAspectRatio
|
|||||||
const orderedPhasePair& pair
|
const orderedPhasePair& pair
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
aspectRatioModel(dict, pair),
|
VakhrushevEfremov(dict, pair),
|
||||||
yWall_(pair.phase1().mesh().lookupObject<volScalarField>("yWall"))
|
yWall_(pair.phase1().mesh().lookupObject<volScalarField>("yWall"))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ Foam::tmp<Foam::volScalarField>
|
|||||||
Foam::aspectRatioModels::TomiyamaAspectRatio::E() const
|
Foam::aspectRatioModels::TomiyamaAspectRatio::E() const
|
||||||
{
|
{
|
||||||
return
|
return
|
||||||
pair_.Eo()
|
VakhrushevEfremov::E()
|
||||||
*max
|
*max
|
||||||
(
|
(
|
||||||
scalar(1) - 0.35*yWall_/pair_.dispersed().d(),
|
scalar(1) - 0.35*yWall_/pair_.dispersed().d(),
|
||||||
|
|||||||
@ -44,7 +44,7 @@ SourceFiles
|
|||||||
#ifndef TomiyamaAspectRatio_H
|
#ifndef TomiyamaAspectRatio_H
|
||||||
#define TomiyamaAspectRatio_H
|
#define TomiyamaAspectRatio_H
|
||||||
|
|
||||||
#include "aspectRatioModel.H"
|
#include "VakhrushevEfremov.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ namespace aspectRatioModels
|
|||||||
|
|
||||||
class TomiyamaAspectRatio
|
class TomiyamaAspectRatio
|
||||||
:
|
:
|
||||||
public aspectRatioModel
|
public VakhrushevEfremov
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|||||||
@ -69,17 +69,17 @@ Foam::dragModels::TomiyamaAnalytic::CdRe() const
|
|||||||
volScalarField Eo(max(pair_.Eo(), residualEo_));
|
volScalarField Eo(max(pair_.Eo(), residualEo_));
|
||||||
volScalarField E(max(pair_.E(), residualE_));
|
volScalarField E(max(pair_.E(), residualE_));
|
||||||
|
|
||||||
volScalarField OmEsq(max(scalar(1) - sqr(E), residualE_));
|
volScalarField OmEsq(max(scalar(1) - sqr(E), sqr(residualE_)));
|
||||||
volScalarField rtOmEsq(sqrt(OmEsq));
|
volScalarField rtOmEsq(sqrt(OmEsq));
|
||||||
|
|
||||||
volScalarField F((asin(rtOmEsq) - E*rtOmEsq)/OmEsq);
|
volScalarField F(max(asin(rtOmEsq) - E*rtOmEsq, residualE_)/OmEsq);
|
||||||
|
|
||||||
return
|
return
|
||||||
(8.0/3.0)
|
(8.0/3.0)
|
||||||
*Eo
|
*Eo
|
||||||
/(
|
/(
|
||||||
Eo*pow(E, 2.0/3.0)/OmEsq
|
Eo*pow(E, 2.0/3.0)/OmEsq
|
||||||
+ 16*pow(E, 0.75)
|
+ 16*pow(E, 4.0/3.0)
|
||||||
)
|
)
|
||||||
/sqr(F)
|
/sqr(F)
|
||||||
*max(pair_.Re(), residualRe_);
|
*max(pair_.Re(), residualRe_);
|
||||||
|
|||||||
@ -62,15 +62,39 @@ Foam::liftModels::Moraga::~Moraga()
|
|||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::liftModels::Moraga::Cl() const
|
Foam::tmp<Foam::volScalarField> Foam::liftModels::Moraga::Cl() const
|
||||||
{
|
{
|
||||||
volScalarField ReSqrSr
|
volScalarField Re(pair_.Re());
|
||||||
|
|
||||||
|
volScalarField sqrSr
|
||||||
(
|
(
|
||||||
pair_.Re()
|
sqr(pair_.dispersed().d())
|
||||||
*sqr(pair_.dispersed().d())
|
|
||||||
/pair_.continuous().nu()
|
/pair_.continuous().nu()
|
||||||
*mag(fvc::grad(pair_.continuous().U()))
|
*mag(fvc::grad(pair_.continuous().U()))
|
||||||
);
|
);
|
||||||
|
|
||||||
return 0.2*exp(- ReSqrSr/3.6e5 - 0.12)*exp(ReSqrSr/3.0e7);
|
if
|
||||||
|
(
|
||||||
|
min(Re).value() < 1200.0
|
||||||
|
|| max(Re).value() > 18800.0
|
||||||
|
|| min(sqrSr).value() < 0.0016
|
||||||
|
|| max(sqrSr).value() > 0.04
|
||||||
|
)
|
||||||
|
{
|
||||||
|
WarningIn
|
||||||
|
(
|
||||||
|
"Foam::tmp<Foam::volScalarField> "
|
||||||
|
"Foam::liftModels::Moraga::Cl() const"
|
||||||
|
) << "Re and/or Sr are out of the range of applicability of the "
|
||||||
|
<< "Moraga model. Clamping to range bounds"
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
Re.min(1200.0);
|
||||||
|
Re.max(18800.0);
|
||||||
|
|
||||||
|
sqrSr.min(0.0016);
|
||||||
|
sqrSr.max(0.04);
|
||||||
|
|
||||||
|
return 0.2*exp(- Re*sqrSr/3.6e5 - 0.12)*exp(Re*sqrSr/3.0e7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user