mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: reactingEulerFoam: Corrected definition of Reynolds number in Beetstra and Tenneti drag laws
Patch contributed by Alberto Passalacqua, Iowa State University
This commit is contained in:
committed by
Andrew Heather
parent
9d1eb05bdc
commit
f2e4aac14c
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -73,11 +73,12 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::Beetstra::CdRe() const
|
||||
max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
|
||||
);
|
||||
|
||||
volScalarField Re(pair_.Re());
|
||||
volScalarField ReLim
|
||||
volScalarField Res(alpha2*pair_.Re());
|
||||
|
||||
volScalarField ResLim
|
||||
(
|
||||
"ReLim",
|
||||
max(Re, residualRe_)
|
||||
max(Res, residualRe_)
|
||||
);
|
||||
|
||||
volScalarField F0
|
||||
@ -89,9 +90,9 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::Beetstra::CdRe() const
|
||||
volScalarField F1
|
||||
(
|
||||
"F1",
|
||||
0.413*Re/(24.0*sqr(alpha2))*(1.0/alpha2
|
||||
+ 3.0*alpha1*alpha2 + 8.4*pow(ReLim, -0.343))
|
||||
/(1.0 + pow(10.0, 3*alpha1)*pow(ReLim, -(1.0 + 4.0*alpha1)/2.0))
|
||||
0.413*Res/(24.0*sqr(alpha2))*(1.0/alpha2
|
||||
+ 3.0*alpha1*alpha2 + 8.4*pow(ResLim, -0.343))
|
||||
/(1.0 + pow(10.0, 3*alpha1)*pow(ResLim, -(1.0 + 4.0*alpha1)/2.0))
|
||||
);
|
||||
|
||||
return 24.0*alpha2*(F0 + F1);
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -50,15 +50,6 @@ Foam::dragModels::Tenneti::Tenneti
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
SchillerNaumann_
|
||||
(
|
||||
new SchillerNaumann
|
||||
(
|
||||
dict,
|
||||
pair,
|
||||
false
|
||||
)
|
||||
),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
{}
|
||||
|
||||
@ -83,6 +74,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::Tenneti::CdRe() const
|
||||
max(scalar(1) - pair_.dispersed(), pair_.continuous().residualAlpha())
|
||||
);
|
||||
|
||||
volScalarField Res(alpha2*pair_.Re());
|
||||
|
||||
volScalarField CdReIsolated
|
||||
(
|
||||
neg(Res - 1000)*24.0*(1.0 + 0.15*pow(Res, 0.687))
|
||||
+ pos(Res - 1000)*0.44*max(Res, residualRe_)
|
||||
);
|
||||
|
||||
volScalarField F0
|
||||
(
|
||||
5.81*alpha1/pow3(alpha2) + 0.48*pow(alpha1, 1.0/3.0)/pow4(alpha2)
|
||||
@ -90,16 +89,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::Tenneti::CdRe() const
|
||||
|
||||
volScalarField F1
|
||||
(
|
||||
pow(alpha1, 3)*max(pair_.Re(), residualRe_)
|
||||
*(0.95 + 0.61*pow3(alpha1)/sqr(alpha2))
|
||||
pow3(alpha1)*Res*(0.95 + 0.61*pow3(alpha1)/sqr(alpha2))
|
||||
);
|
||||
|
||||
// Tenneti et al. correlation includes the mean pressure drag.
|
||||
// This was removed here by multiplying F by alpha2 for consistency with
|
||||
// the formulation used in OpenFOAM
|
||||
return
|
||||
SchillerNaumann_->CdRe()/(alpha2*max(pair_.Re(), residualRe_)) +
|
||||
24.0*sqr(alpha2)*(F0 + F1);
|
||||
CdReIsolated + 24.0*sqr(alpha2)*(F0 + F1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -69,9 +69,6 @@ class Tenneti
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- SchillerNaumann drag model
|
||||
autoPtr<SchillerNaumann> SchillerNaumann_;
|
||||
|
||||
//- Residual Reynolds Number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user