mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/repositories/OpenFOAM-dev
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Application
|
||||
|
||||
Description
|
||||
Transient solver for the coupled transport of a single kinematic particle
|
||||
could including the effect of the volume fraction of particles on the
|
||||
cloud including the effect of the volume fraction of particles on the
|
||||
continuous phase.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Application
|
||||
|
||||
Description
|
||||
Transient solver for the coupled transport of a single kinematic particle
|
||||
could including the effect of the volume fraction of particles on the
|
||||
cloud including the effect of the volume fraction of particles on the
|
||||
continuous phase. Multi-Phase Particle In Cell (MPPIC) modeling is used to
|
||||
represent collisions without resolving particle-particle interactions.
|
||||
|
||||
|
||||
@ -60,20 +60,16 @@ Foam::dragModels::Ergun::~Ergun()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::CdRe() const
|
||||
{
|
||||
return
|
||||
(4/3)
|
||||
*(
|
||||
150
|
||||
*max(pair_.dispersed(), residualAlpha_)
|
||||
*pair_.continuous().nu()
|
||||
/(
|
||||
max(scalar(1) - pair_.dispersed(), residualAlpha_)
|
||||
*pair_.dispersed().d()
|
||||
*max(pair_.magUr(), residualSlip_)
|
||||
)
|
||||
*max(scalar(1) - pair_.continuous(), residualAlpha_)
|
||||
/max(pair_.continuous(), residualAlpha_)
|
||||
+ 1.75
|
||||
*pair_.Re()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -48,8 +48,7 @@ Foam::dragModels::Gibilaro::Gibilaro
|
||||
const bool registerObject
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
dragModel(dict, pair, registerObject)
|
||||
{}
|
||||
|
||||
|
||||
@ -61,13 +60,13 @@ Foam::dragModels::Gibilaro::~Gibilaro()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::Gibilaro::CdRe() const
|
||||
{
|
||||
volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
|
||||
|
||||
return
|
||||
(4/3)
|
||||
*(17.3/(alpha2*max(pair_.Re(), residualRe_)) + scalar(0.336))
|
||||
*(17.3/alpha2 + 0.336*pair_.Re())
|
||||
*max(pair_.continuous(), residualAlpha_)
|
||||
*pow(alpha2, -2.8);
|
||||
}
|
||||
|
||||
@ -58,14 +58,6 @@ class Gibilaro
|
||||
:
|
||||
public dragModel
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
@ -90,7 +82,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -68,8 +68,7 @@ Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
|
||||
pair,
|
||||
false
|
||||
)
|
||||
),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
)
|
||||
{}
|
||||
|
||||
|
||||
@ -82,11 +81,11 @@ Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu()
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::dragModels::GidaspowErgunWenYu::Cd() const
|
||||
Foam::dragModels::GidaspowErgunWenYu::CdRe() const
|
||||
{
|
||||
return
|
||||
pos(pair_.continuous() - 0.8)*WenYu_->Cd()
|
||||
+ neg(pair_.continuous() - 0.8)*Ergun_->Cd();
|
||||
pos(pair_.continuous() - 0.8)*WenYu_->CdRe()
|
||||
+ neg(pair_.continuous() - 0.8)*Ergun_->CdRe();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -69,9 +69,6 @@ private:
|
||||
//- Wen Yu drag model
|
||||
autoPtr<WenYu> WenYu_;
|
||||
|
||||
//- Residual Reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -97,7 +94,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -62,18 +62,18 @@ Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann()
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::dragModels::GidaspowSchillerNaumann::Cd() const
|
||||
Foam::dragModels::GidaspowSchillerNaumann::CdRe() const
|
||||
{
|
||||
volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
|
||||
volScalarField Re(max(alpha2*pair_.Re(), residualRe_));
|
||||
volScalarField Cds
|
||||
volScalarField Re(alpha2*pair_.Re());
|
||||
volScalarField CdsRe
|
||||
(
|
||||
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||
+ pos(Re - 1000)*0.44
|
||||
neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))/alpha2
|
||||
+ pos(Re - 1000)*0.44*max(Re, residualRe_)
|
||||
);
|
||||
|
||||
return
|
||||
Cds
|
||||
CdsRe
|
||||
*pow(alpha2, -2.65)
|
||||
*max(pair_.continuous(), residualAlpha_);
|
||||
}
|
||||
|
||||
@ -69,7 +69,7 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
//- Residual Reynolds Number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
@ -97,7 +97,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -61,13 +61,13 @@ Foam::dragModels::SchillerNaumann::~SchillerNaumann()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::SchillerNaumann::CdRe() const
|
||||
{
|
||||
volScalarField Re(pair_.Re() + residualRe_);
|
||||
volScalarField Re(pair_.Re());
|
||||
|
||||
return
|
||||
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||
+ pos(Re - 1000)*0.44;
|
||||
neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
|
||||
+ pos(Re - 1000)*0.44*max(Re, residualRe_);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -58,7 +58,7 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
//- Residual Reynolds Number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
@ -86,7 +86,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -48,8 +48,7 @@ Foam::dragModels::SyamlalOBrien::SyamlalOBrien
|
||||
const bool registerObject
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
dragModel(dict, pair, registerObject)
|
||||
{}
|
||||
|
||||
|
||||
@ -61,17 +60,16 @@ Foam::dragModels::SyamlalOBrien::~SyamlalOBrien()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::CdRe() const
|
||||
{
|
||||
volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
|
||||
volScalarField magUr(max(pair_.magUr(), residualSlip_));
|
||||
volScalarField A(pow(alpha2, 4.14));
|
||||
volScalarField B
|
||||
(
|
||||
neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28))
|
||||
+ pos(alpha2 - 0.85)*(pow(alpha2, 2.65))
|
||||
);
|
||||
volScalarField Re(max(pair_.Re(), residualRe_));
|
||||
volScalarField Re(pair_.Re());
|
||||
volScalarField Vr
|
||||
(
|
||||
0.5
|
||||
@ -79,10 +77,10 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::SyamlalOBrien::Cd() const
|
||||
A - 0.06*Re + sqrt(sqr(0.06*Re) + 0.12*Re*(2.0*B - A) + sqr(A))
|
||||
)
|
||||
);
|
||||
volScalarField Cds(sqr(0.63 + 4.8*sqrt(Vr/Re)));
|
||||
volScalarField CdsRe(sqr(0.63*sqrt(Re) + 4.8*sqrt(Vr)));
|
||||
|
||||
return
|
||||
Cds
|
||||
CdsRe
|
||||
*max(pair_.continuous(), residualAlpha_)
|
||||
/sqr(Vr);
|
||||
}
|
||||
|
||||
@ -57,14 +57,6 @@ class SyamlalOBrien
|
||||
:
|
||||
public dragModel
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
@ -89,7 +81,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ Foam::dragModels::TomiyamaAnalytic::TomiyamaAnalytic
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
|
||||
residualEo_("residualEo", dimless, dict.lookup("residualEo")),
|
||||
residualE_("residualE", dimless, dict.lookup("residualE"))
|
||||
{}
|
||||
@ -62,7 +63,8 @@ Foam::dragModels::TomiyamaAnalytic::~TomiyamaAnalytic()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::TomiyamaAnalytic::Cd() const
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::dragModels::TomiyamaAnalytic::CdRe() const
|
||||
{
|
||||
volScalarField Eo(max(pair_.Eo(), residualEo_));
|
||||
volScalarField E(max(pair_.E(), residualE_));
|
||||
@ -73,12 +75,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::TomiyamaAnalytic::Cd() const
|
||||
volScalarField F((asin(rtOmEsq) - E*rtOmEsq)/OmEsq);
|
||||
|
||||
return
|
||||
(8.0/3.0)*Eo
|
||||
(8.0/3.0)
|
||||
*Eo
|
||||
/(
|
||||
Eo*pow(E, 2.0/3.0)/OmEsq
|
||||
+ 16*pow(E, 0.75)
|
||||
)
|
||||
/sqr(F);
|
||||
/sqr(F)
|
||||
*max(pair_.Re(), residualRe_);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -68,6 +68,9 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds Number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
//- Residual Eotvos number
|
||||
const dimensionedScalar residualEo_;
|
||||
|
||||
@ -99,7 +102,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
// Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -49,7 +49,6 @@ Foam::dragModels::TomiyamaCorrelated::TomiyamaCorrelated
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
|
||||
A_("A", dimless, dict.lookup("A"))
|
||||
{}
|
||||
|
||||
@ -63,21 +62,21 @@ Foam::dragModels::TomiyamaCorrelated::~TomiyamaCorrelated()
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::dragModels::TomiyamaCorrelated::Cd() const
|
||||
Foam::dragModels::TomiyamaCorrelated::CdRe() const
|
||||
{
|
||||
volScalarField Re(pair_.Re() + residualRe_);
|
||||
volScalarField Re(pair_.Re());
|
||||
volScalarField Eo(pair_.Eo());
|
||||
|
||||
return
|
||||
max
|
||||
(
|
||||
A_/Re
|
||||
A_
|
||||
*min
|
||||
(
|
||||
(1 + 0.15*pow(Re, 0.687)),
|
||||
scalar(3)
|
||||
),
|
||||
8*Eo/(3*Eo + 12)
|
||||
8*Eo*Re/(3*Eo + 12)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@ -68,9 +68,6 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
//- Coefficient
|
||||
const dimensionedScalar A_;
|
||||
|
||||
@ -99,7 +96,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -61,18 +61,18 @@ Foam::dragModels::WenYu::~WenYu()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::WenYu::CdRe() const
|
||||
{
|
||||
volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
|
||||
volScalarField Re(max(pair_.Re(), residualRe_));
|
||||
volScalarField Cds
|
||||
volScalarField Re(pair_.Re());
|
||||
volScalarField CdsRe
|
||||
(
|
||||
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re)
|
||||
+ pos(Re - 1000)*0.44
|
||||
neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
|
||||
+ pos(Re - 1000)*0.44*max(Re, residualRe_)
|
||||
);
|
||||
|
||||
return
|
||||
Cds
|
||||
CdsRe
|
||||
*pow(alpha2, -2.65)
|
||||
*max(pair_.continuous(), residualAlpha_);
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
//- Residual Reynolds Number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -90,8 +90,7 @@ Foam::dragModel::dragModel
|
||||
pair
|
||||
)
|
||||
),
|
||||
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha")),
|
||||
residualSlip_("residualSlip", dimVelocity, dict.lookup("residualSlip"))
|
||||
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
|
||||
{}
|
||||
|
||||
|
||||
@ -107,14 +106,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModel::K() const
|
||||
{
|
||||
return
|
||||
0.75
|
||||
*Cd()
|
||||
*CdRe()
|
||||
*swarmCorrection_->Cs()
|
||||
*pair_.continuous().rho()
|
||||
*pair_.continuous().nu()
|
||||
/(
|
||||
max(pair_.continuous(), residualAlpha_)
|
||||
*pair_.dispersed().d()
|
||||
)
|
||||
*max(pair_.magUr(), residualSlip_);
|
||||
*sqr(pair_.dispersed().d())
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -68,9 +68,6 @@ protected:
|
||||
//- Residual phase fraction
|
||||
const dimensionedScalar residualAlpha_;
|
||||
|
||||
//- Residual slip velocity
|
||||
const dimensionedScalar residualSlip_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -134,7 +131,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const = 0;
|
||||
virtual tmp<volScalarField> CdRe() const = 0;
|
||||
|
||||
//- The drag function K used in the momentum equation
|
||||
// ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2)
|
||||
|
||||
@ -60,7 +60,7 @@ Foam::dragModels::noDrag::~noDrag()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::noDrag::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::noDrag::CdRe() const
|
||||
{
|
||||
const fvMesh& mesh(this->pair_.phase1().mesh());
|
||||
|
||||
@ -84,7 +84,7 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::noDrag::Cd() const
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::noDrag::K() const
|
||||
{
|
||||
return Cd()*dimensionedScalar("zero", dimensionSet(1, -3, -1, 0, 0), 0);
|
||||
return CdRe()*dimensionedScalar("zero", dimensionSet(1, -3, -1, 0, 0), 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
|
||||
//- The drag function used in the momentum equation
|
||||
virtual tmp<volScalarField> K() const;
|
||||
|
||||
@ -50,7 +50,6 @@ Foam::dragModels::segregated::segregated
|
||||
)
|
||||
:
|
||||
dragModel(dict, pair, registerObject),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
|
||||
m_("m", dimless, dict.lookup("m")),
|
||||
n_("n", dimless, dict.lookup("n"))
|
||||
{}
|
||||
@ -64,9 +63,9 @@ Foam::dragModels::segregated::~segregated()
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::Cd() const
|
||||
Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::CdRe() const
|
||||
{
|
||||
FatalErrorIn("Foam::dragModels::segregated::Cd() const")
|
||||
FatalErrorIn("Foam::dragModels::segregated::CdRe() const")
|
||||
<< "Not implemented."
|
||||
<< "Drag coefficient not defined for the segregated model."
|
||||
<< exit(FatalError);
|
||||
@ -137,16 +136,12 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
|
||||
|
||||
volScalarField ReI
|
||||
(
|
||||
max
|
||||
(
|
||||
pair_.rho()
|
||||
*pair_.magUr()
|
||||
/(
|
||||
magGradI
|
||||
*max(alpha1*alpha2, sqr(residualAlpha_))
|
||||
*muI
|
||||
),
|
||||
residualRe_
|
||||
pair_.rho()
|
||||
*pair_.magUr()
|
||||
/(
|
||||
magGradI
|
||||
*max(alpha1*alpha2, sqr(residualAlpha_))
|
||||
*muI
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@ -66,9 +66,6 @@ private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
//- M coefficient
|
||||
const dimensionedScalar m_;
|
||||
|
||||
@ -100,7 +97,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Drag coefficient
|
||||
virtual tmp<volScalarField> Cd() const;
|
||||
virtual tmp<volScalarField> CdRe() const;
|
||||
|
||||
//- The drag function used in the momentum equation
|
||||
virtual tmp<volScalarField> K() const;
|
||||
|
||||
@ -47,8 +47,7 @@ Foam::heatTransferModels::RanzMarshall::RanzMarshall
|
||||
const phasePair& pair
|
||||
)
|
||||
:
|
||||
heatTransferModel(dict, pair),
|
||||
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
|
||||
heatTransferModel(dict, pair)
|
||||
{}
|
||||
|
||||
|
||||
@ -63,8 +62,7 @@ Foam::heatTransferModels::RanzMarshall::~RanzMarshall()
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heatTransferModels::RanzMarshall::K() const
|
||||
{
|
||||
volScalarField Re(pair_.Re() + residualRe_);
|
||||
volScalarField Nu(scalar(2) + 0.6*sqrt(Re)*cbrt(pair_.Pr()));
|
||||
volScalarField Nu(scalar(2) + 0.6*pair_.Re()*cbrt(pair_.Pr()));
|
||||
|
||||
return 6.0*pair_.continuous().kappa()*Nu/sqr(pair_.dispersed().d());
|
||||
}
|
||||
|
||||
@ -54,14 +54,6 @@ class RanzMarshall
|
||||
:
|
||||
public heatTransferModel
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
|
||||
//- Residual Reynolds number
|
||||
const dimensionedScalar residualRe_;
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -84,12 +84,12 @@ Foam::turbulentDispersionModels::Gosman::F() const
|
||||
|
||||
return
|
||||
- 0.75
|
||||
*drag.Cd()
|
||||
*drag.CdRe()
|
||||
*pair_.continuous().nu()
|
||||
*pair_.continuous().turbulence().nut()
|
||||
*pair_.magUr()
|
||||
/(
|
||||
sigma_
|
||||
*pair_.dispersed().d()
|
||||
*sqr(pair_.dispersed().d())
|
||||
)
|
||||
*pair_.continuous().rho()
|
||||
*fvc::grad(pair_.dispersed());
|
||||
|
||||
@ -75,7 +75,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -87,7 +86,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -99,8 +97,6 @@ drag
|
||||
{
|
||||
type segregated;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
m 0.5;
|
||||
n 8;
|
||||
swarmCorrection
|
||||
@ -130,13 +126,11 @@ heatTransfer
|
||||
(air in water)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
|
||||
(water in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -75,7 +75,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -87,7 +86,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -99,8 +97,6 @@ drag
|
||||
{
|
||||
type segregated;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
m 0.5;
|
||||
n 8;
|
||||
swarmCorrection
|
||||
@ -130,13 +126,11 @@ heatTransfer
|
||||
(air in water)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
|
||||
(water in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ blending
|
||||
default
|
||||
{
|
||||
type none;
|
||||
residualAlpha 1e-6;
|
||||
residualAlpha 1e-3;
|
||||
continuousPhase air;
|
||||
}
|
||||
}
|
||||
@ -60,7 +60,6 @@ drag
|
||||
{
|
||||
type GidaspowErgunWenYu;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -74,7 +73,7 @@ virtualMass
|
||||
(particles in air)
|
||||
{
|
||||
type constantCoefficient;
|
||||
Cvm 0.5;
|
||||
Cvm 0;
|
||||
}
|
||||
);
|
||||
|
||||
@ -83,7 +82,6 @@ heatTransfer
|
||||
(particles in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -75,7 +75,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -87,7 +86,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -99,8 +97,6 @@ drag
|
||||
{
|
||||
type segregated;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
m 0.5;
|
||||
n 8;
|
||||
swarmCorrection
|
||||
@ -130,13 +126,11 @@ heatTransfer
|
||||
(air in water)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
|
||||
(water in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -75,7 +75,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -87,7 +86,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -99,8 +97,6 @@ drag
|
||||
{
|
||||
type segregated;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
m 0.5;
|
||||
n 8;
|
||||
swarmCorrection
|
||||
@ -130,13 +126,11 @@ heatTransfer
|
||||
(air in water)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
|
||||
(water in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ blending
|
||||
default
|
||||
{
|
||||
type none;
|
||||
residualAlpha 1e-6;
|
||||
residualAlpha 1e-3;
|
||||
continuousPhase air;
|
||||
}
|
||||
}
|
||||
@ -60,7 +60,6 @@ drag
|
||||
{
|
||||
type GidaspowErgunWenYu;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -83,7 +82,6 @@ heatTransfer
|
||||
(particles in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -75,7 +75,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -87,7 +86,6 @@ drag
|
||||
{
|
||||
type SchillerNaumann;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
swarmCorrection
|
||||
{
|
||||
@ -99,8 +97,6 @@ drag
|
||||
{
|
||||
type segregated;
|
||||
residualAlpha 1e-6;
|
||||
residualSlip 1e-3;
|
||||
residualRe 1e-3;
|
||||
m 0.5;
|
||||
n 8;
|
||||
swarmCorrection
|
||||
@ -130,13 +126,11 @@ heatTransfer
|
||||
(air in water)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
|
||||
(water in air)
|
||||
{
|
||||
type RanzMarshall;
|
||||
residualRe 1e-3;
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user