mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
twoPhaseEulerFoam/interfacialModels/dragModels: Corrections for parallel operation
This commit is contained in:
@ -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) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -73,34 +73,23 @@ Foam::tmp<Foam::volScalarField> Foam::GidaspowErgunWenYu::K
|
|||||||
volScalarField bp(pow(beta, -2.65));
|
volScalarField bp(pow(beta, -2.65));
|
||||||
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
||||||
|
|
||||||
volScalarField Cds(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re);
|
volScalarField Cds
|
||||||
|
(
|
||||||
forAll(Re, celli)
|
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||||
{
|
+ pos(Re - 1000)*0.44
|
||||||
if (Re[celli] > 1000.0)
|
);
|
||||||
{
|
|
||||||
Cds[celli] = 0.44;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Wen and Yu (1966)
|
// Wen and Yu (1966)
|
||||||
tmp<volScalarField> tKWenYu = 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
|
return
|
||||||
volScalarField& KWenYu = tKWenYu();
|
(
|
||||||
|
pos(beta - 0.8)
|
||||||
// Ergun
|
*(0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d())
|
||||||
forAll (beta, cellj)
|
+ neg(beta - 0.8)
|
||||||
{
|
*(
|
||||||
if (beta[cellj] <= 0.8)
|
150.0*alpha_*phaseb_.nu()*phaseb_.rho()/(sqr(beta*phasea_.d()))
|
||||||
{
|
+ 1.75*phaseb_.rho()*Ur/(beta*phasea_.d())
|
||||||
KWenYu[cellj] =
|
)
|
||||||
150.0*alpha_[cellj]*phaseb_.nu().value()*phaseb_.rho().value()
|
);
|
||||||
/sqr(beta[cellj]*phasea_.d().value())
|
|
||||||
+ 1.75*phaseb_.rho().value()*Ur[cellj]
|
|
||||||
/(beta[cellj]*phasea_.d().value());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return tKWenYu;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -72,15 +72,12 @@ Foam::tmp<Foam::volScalarField> Foam::GidaspowSchillerNaumann::K
|
|||||||
volScalarField bp(pow(beta, -2.65));
|
volScalarField bp(pow(beta, -2.65));
|
||||||
|
|
||||||
volScalarField Re(max(beta*Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
volScalarField Re(max(beta*Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
||||||
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
|
||||||
|
|
||||||
forAll(Re, celli)
|
volScalarField Cds
|
||||||
{
|
(
|
||||||
if (Re[celli] > 1000.0)
|
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||||
{
|
+ pos(Re - 1000)*0.44
|
||||||
Cds[celli] = 0.44;
|
);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
|
return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -69,15 +69,12 @@ Foam::tmp<Foam::volScalarField> Foam::SchillerNaumann::K
|
|||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
||||||
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
|
||||||
|
|
||||||
forAll(Re, celli)
|
volScalarField Cds
|
||||||
{
|
(
|
||||||
if (Re[celli] > 1000.0)
|
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||||
{
|
+ pos(Re - 1000)*0.44
|
||||||
Cds[celli] = 0.44;
|
);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0.75*Cds*phaseb_.rho()*Ur/phasea_.d();
|
return 0.75*Cds*phaseb_.rho()*Ur/phasea_.d();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -70,15 +70,11 @@ Foam::tmp<Foam::volScalarField> Foam::SyamlalOBrien::K
|
|||||||
{
|
{
|
||||||
volScalarField beta(max(scalar(1) - alpha_, scalar(1.0e-6)));
|
volScalarField beta(max(scalar(1) - alpha_, scalar(1.0e-6)));
|
||||||
volScalarField A(pow(beta, 4.14));
|
volScalarField A(pow(beta, 4.14));
|
||||||
volScalarField B(0.8*pow(beta, 1.28));
|
volScalarField B
|
||||||
|
(
|
||||||
forAll (beta, celli)
|
neg(beta - 0.85)*(0.8*pow(beta, 1.28))
|
||||||
{
|
+ pos(beta - 0.85)*(pow(beta, 2.65))
|
||||||
if (beta[celli] > 0.85)
|
);
|
||||||
{
|
|
||||||
B[celli] = pow(beta[celli], 2.65);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
||||||
|
|
||||||
|
|||||||
@ -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) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -72,15 +72,11 @@ Foam::tmp<Foam::volScalarField> Foam::WenYu::K
|
|||||||
volScalarField bp(pow(beta, -2.65));
|
volScalarField bp(pow(beta, -2.65));
|
||||||
|
|
||||||
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
volScalarField Re(max(Ur*phasea_.d()/phaseb_.nu(), scalar(1.0e-3)));
|
||||||
volScalarField Cds(24.0*(scalar(1) + 0.15*pow(Re, 0.687))/Re);
|
volScalarField Cds
|
||||||
|
(
|
||||||
forAll(Re, celli)
|
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||||
{
|
+ pos(Re - 1000)*0.44
|
||||||
if (Re[celli] > 1000.0)
|
);
|
||||||
{
|
|
||||||
Cds[celli] = 0.44;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
|
return 0.75*Cds*phaseb_.rho()*Ur*bp/phasea_.d();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user