Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/repositories/OpenFOAM-dev

This commit is contained in:
Henry
2014-02-03 18:05:02 +00:00
36 changed files with 88 additions and 168 deletions

View File

@ -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) 2013 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -26,7 +26,7 @@ Application
Description Description
Transient solver for the coupled transport of a single kinematic particle 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. continuous phase.
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -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) 2013 OpenFOAM Foundation \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -26,7 +26,7 @@ Application
Description Description
Transient solver for the coupled transport of a single kinematic particle 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 continuous phase. Multi-Phase Particle In Cell (MPPIC) modeling is used to
represent collisions without resolving particle-particle interactions. represent collisions without resolving particle-particle interactions.

View File

@ -60,20 +60,16 @@ Foam::dragModels::Ergun::~Ergun()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::Cd() const Foam::tmp<Foam::volScalarField> Foam::dragModels::Ergun::CdRe() const
{ {
return return
(4/3) (4/3)
*( *(
150 150
*max(pair_.dispersed(), residualAlpha_) *max(scalar(1) - pair_.continuous(), residualAlpha_)
*pair_.continuous().nu() /max(pair_.continuous(), residualAlpha_)
/(
max(scalar(1) - pair_.dispersed(), residualAlpha_)
*pair_.dispersed().d()
*max(pair_.magUr(), residualSlip_)
)
+ 1.75 + 1.75
*pair_.Re()
); );
} }

View File

@ -82,7 +82,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -48,8 +48,7 @@ Foam::dragModels::Gibilaro::Gibilaro
const bool registerObject const bool registerObject
) )
: :
dragModel(dict, pair, registerObject), dragModel(dict, pair, registerObject)
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
{} {}
@ -61,13 +60,13 @@ Foam::dragModels::Gibilaro::~Gibilaro()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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_)); volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
return return
(4/3) (4/3)
*(17.3/(alpha2*max(pair_.Re(), residualRe_)) + scalar(0.336)) *(17.3/alpha2 + 0.336*pair_.Re())
*max(pair_.continuous(), residualAlpha_) *max(pair_.continuous(), residualAlpha_)
*pow(alpha2, -2.8); *pow(alpha2, -2.8);
} }

View File

@ -58,14 +58,6 @@ class Gibilaro
: :
public dragModel public dragModel
{ {
private:
// Private data
//- Residual Reynolds number
const dimensionedScalar residualRe_;
public: public:
//- Runtime type information //- Runtime type information
@ -90,7 +82,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -68,8 +68,7 @@ Foam::dragModels::GidaspowErgunWenYu::GidaspowErgunWenYu
pair, pair,
false false
) )
), )
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
{} {}
@ -82,11 +81,11 @@ Foam::dragModels::GidaspowErgunWenYu::~GidaspowErgunWenYu()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::dragModels::GidaspowErgunWenYu::Cd() const Foam::dragModels::GidaspowErgunWenYu::CdRe() const
{ {
return return
pos(pair_.continuous() - 0.8)*WenYu_->Cd() pos(pair_.continuous() - 0.8)*WenYu_->CdRe()
+ neg(pair_.continuous() - 0.8)*Ergun_->Cd(); + neg(pair_.continuous() - 0.8)*Ergun_->CdRe();
} }

View File

@ -69,9 +69,6 @@ private:
//- Wen Yu drag model //- Wen Yu drag model
autoPtr<WenYu> WenYu_; autoPtr<WenYu> WenYu_;
//- Residual Reynolds number
const dimensionedScalar residualRe_;
public: public:
@ -97,7 +94,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -62,18 +62,18 @@ Foam::dragModels::GidaspowSchillerNaumann::~GidaspowSchillerNaumann()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::dragModels::GidaspowSchillerNaumann::Cd() const Foam::dragModels::GidaspowSchillerNaumann::CdRe() const
{ {
volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_)); volScalarField alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
volScalarField Re(max(alpha2*pair_.Re(), residualRe_)); volScalarField Re(alpha2*pair_.Re());
volScalarField Cds volScalarField CdsRe
( (
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))/alpha2
+ pos(Re - 1000)*0.44 + pos(Re - 1000)*0.44*max(Re, residualRe_)
); );
return return
Cds CdsRe
*pow(alpha2, -2.65) *pow(alpha2, -2.65)
*max(pair_.continuous(), residualAlpha_); *max(pair_.continuous(), residualAlpha_);
} }

View File

@ -69,7 +69,7 @@ private:
// Private data // Private data
//- Residual Reynolds number //- Residual Reynolds Number
const dimensionedScalar residualRe_; const dimensionedScalar residualRe_;
@ -97,7 +97,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -61,13 +61,13 @@ Foam::dragModels::SchillerNaumann::~SchillerNaumann()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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 return
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
+ pos(Re - 1000)*0.44; + pos(Re - 1000)*0.44*max(Re, residualRe_);
} }

View File

@ -58,7 +58,7 @@ private:
// Private data // Private data
//- Residual Reynolds number //- Residual Reynolds Number
const dimensionedScalar residualRe_; const dimensionedScalar residualRe_;
@ -86,7 +86,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -48,8 +48,7 @@ Foam::dragModels::SyamlalOBrien::SyamlalOBrien
const bool registerObject const bool registerObject
) )
: :
dragModel(dict, pair, registerObject), dragModel(dict, pair, registerObject)
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
{} {}
@ -61,17 +60,16 @@ Foam::dragModels::SyamlalOBrien::~SyamlalOBrien()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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 alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
volScalarField magUr(max(pair_.magUr(), residualSlip_));
volScalarField A(pow(alpha2, 4.14)); volScalarField A(pow(alpha2, 4.14));
volScalarField B volScalarField B
( (
neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28)) neg(alpha2 - 0.85)*(0.8*pow(alpha2, 1.28))
+ pos(alpha2 - 0.85)*(pow(alpha2, 2.65)) + pos(alpha2 - 0.85)*(pow(alpha2, 2.65))
); );
volScalarField Re(max(pair_.Re(), residualRe_)); volScalarField Re(pair_.Re());
volScalarField Vr volScalarField Vr
( (
0.5 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)) 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 return
Cds CdsRe
*max(pair_.continuous(), residualAlpha_) *max(pair_.continuous(), residualAlpha_)
/sqr(Vr); /sqr(Vr);
} }

View File

@ -57,14 +57,6 @@ class SyamlalOBrien
: :
public dragModel public dragModel
{ {
private:
// Private data
//- Residual Reynolds number
const dimensionedScalar residualRe_;
public: public:
//- Runtime type information //- Runtime type information
@ -89,7 +81,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -49,6 +49,7 @@ Foam::dragModels::TomiyamaAnalytic::TomiyamaAnalytic
) )
: :
dragModel(dict, pair, registerObject), dragModel(dict, pair, registerObject),
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
residualEo_("residualEo", dimless, dict.lookup("residualEo")), residualEo_("residualEo", dimless, dict.lookup("residualEo")),
residualE_("residualE", dimless, dict.lookup("residualE")) residualE_("residualE", dimless, dict.lookup("residualE"))
{} {}
@ -62,7 +63,8 @@ Foam::dragModels::TomiyamaAnalytic::~TomiyamaAnalytic()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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 Eo(max(pair_.Eo(), residualEo_));
volScalarField E(max(pair_.E(), residualE_)); 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); volScalarField F((asin(rtOmEsq) - E*rtOmEsq)/OmEsq);
return return
(8.0/3.0)*Eo (8.0/3.0)
*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, 0.75)
) )
/sqr(F); /sqr(F)
*max(pair_.Re(), residualRe_);
} }

View File

@ -68,6 +68,9 @@ private:
// Private data // Private data
//- Residual Reynolds Number
const dimensionedScalar residualRe_;
//- Residual Eotvos number //- Residual Eotvos number
const dimensionedScalar residualEo_; const dimensionedScalar residualEo_;
@ -99,7 +102,7 @@ public:
// Member Functions // Member Functions
// Drag coefficient // Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -49,7 +49,6 @@ Foam::dragModels::TomiyamaCorrelated::TomiyamaCorrelated
) )
: :
dragModel(dict, pair, registerObject), dragModel(dict, pair, registerObject),
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
A_("A", dimless, dict.lookup("A")) A_("A", dimless, dict.lookup("A"))
{} {}
@ -63,21 +62,21 @@ Foam::dragModels::TomiyamaCorrelated::~TomiyamaCorrelated()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::volScalarField> 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()); volScalarField Eo(pair_.Eo());
return return
max max
( (
A_/Re A_
*min *min
( (
(1 + 0.15*pow(Re, 0.687)), (1 + 0.15*pow(Re, 0.687)),
scalar(3) scalar(3)
), ),
8*Eo/(3*Eo + 12) 8*Eo*Re/(3*Eo + 12)
); );
} }

View File

@ -68,9 +68,6 @@ private:
// Private data // Private data
//- Residual Reynolds number
const dimensionedScalar residualRe_;
//- Coefficient //- Coefficient
const dimensionedScalar A_; const dimensionedScalar A_;
@ -99,7 +96,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -61,18 +61,18 @@ Foam::dragModels::WenYu::~WenYu()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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 alpha2(max(scalar(1) - pair_.dispersed(), residualAlpha_));
volScalarField Re(max(pair_.Re(), residualRe_)); volScalarField Re(pair_.Re());
volScalarField Cds volScalarField CdsRe
( (
neg(Re - 1000)*(24.0*(1.0 + 0.15*pow(Re, 0.687))/Re) neg(Re - 1000)*24.0*(1.0 + 0.15*pow(Re, 0.687))
+ pos(Re - 1000)*0.44 + pos(Re - 1000)*0.44*max(Re, residualRe_)
); );
return return
Cds CdsRe
*pow(alpha2, -2.65) *pow(alpha2, -2.65)
*max(pair_.continuous(), residualAlpha_); *max(pair_.continuous(), residualAlpha_);
} }

View File

@ -72,7 +72,7 @@ private:
// Private data // Private data
//- Residual Reynolds number //- Residual Reynolds Number
const dimensionedScalar residualRe_; const dimensionedScalar residualRe_;
@ -100,7 +100,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
}; };

View File

@ -90,8 +90,7 @@ Foam::dragModel::dragModel
pair pair
) )
), ),
residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha")), residualAlpha_("residualAlpha", dimless, dict.lookup("residualAlpha"))
residualSlip_("residualSlip", dimVelocity, dict.lookup("residualSlip"))
{} {}
@ -107,14 +106,14 @@ Foam::tmp<Foam::volScalarField> Foam::dragModel::K() const
{ {
return return
0.75 0.75
*Cd() *CdRe()
*swarmCorrection_->Cs() *swarmCorrection_->Cs()
*pair_.continuous().rho() *pair_.continuous().rho()
*pair_.continuous().nu()
/( /(
max(pair_.continuous(), residualAlpha_) max(pair_.continuous(), residualAlpha_)
*pair_.dispersed().d() *sqr(pair_.dispersed().d())
) );
*max(pair_.magUr(), residualSlip_);
} }

View File

@ -68,9 +68,6 @@ protected:
//- Residual phase fraction //- Residual phase fraction
const dimensionedScalar residualAlpha_; const dimensionedScalar residualAlpha_;
//- Residual slip velocity
const dimensionedScalar residualSlip_;
public: public:
@ -134,7 +131,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const = 0; virtual tmp<volScalarField> CdRe() const = 0;
//- The drag function K used in the momentum equation //- The drag function K used in the momentum equation
// ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2) // ddt(alpha1*rho1*U1) + ... = ... alpha1*alpha2*K*(U1-U2)

View File

@ -60,7 +60,7 @@ Foam::dragModels::noDrag::~noDrag()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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()); 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 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);
} }

View File

@ -78,7 +78,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
//- The drag function used in the momentum equation //- The drag function used in the momentum equation
virtual tmp<volScalarField> K() const; virtual tmp<volScalarField> K() const;

View File

@ -50,7 +50,6 @@ Foam::dragModels::segregated::segregated
) )
: :
dragModel(dict, pair, registerObject), dragModel(dict, pair, registerObject),
residualRe_("residualRe", dimless, dict.lookup("residualRe")),
m_("m", dimless, dict.lookup("m")), m_("m", dimless, dict.lookup("m")),
n_("n", dimless, dict.lookup("n")) n_("n", dimless, dict.lookup("n"))
{} {}
@ -64,9 +63,9 @@ Foam::dragModels::segregated::~segregated()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * 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." << "Not implemented."
<< "Drag coefficient not defined for the segregated model." << "Drag coefficient not defined for the segregated model."
<< exit(FatalError); << exit(FatalError);
@ -137,16 +136,12 @@ Foam::tmp<Foam::volScalarField> Foam::dragModels::segregated::K() const
volScalarField ReI volScalarField ReI
( (
max pair_.rho()
( *pair_.magUr()
pair_.rho() /(
*pair_.magUr() magGradI
/( *max(alpha1*alpha2, sqr(residualAlpha_))
magGradI *muI
*max(alpha1*alpha2, sqr(residualAlpha_))
*muI
),
residualRe_
) )
); );

View File

@ -66,9 +66,6 @@ private:
// Private data // Private data
//- Residual reynolds number
const dimensionedScalar residualRe_;
//- M coefficient //- M coefficient
const dimensionedScalar m_; const dimensionedScalar m_;
@ -100,7 +97,7 @@ public:
// Member Functions // Member Functions
//- Drag coefficient //- Drag coefficient
virtual tmp<volScalarField> Cd() const; virtual tmp<volScalarField> CdRe() const;
//- The drag function used in the momentum equation //- The drag function used in the momentum equation
virtual tmp<volScalarField> K() const; virtual tmp<volScalarField> K() const;

View File

@ -47,8 +47,7 @@ Foam::heatTransferModels::RanzMarshall::RanzMarshall
const phasePair& pair const phasePair& pair
) )
: :
heatTransferModel(dict, pair), heatTransferModel(dict, pair)
residualRe_("residualRe", dimless, dict.lookup("residualRe"))
{} {}
@ -63,8 +62,7 @@ Foam::heatTransferModels::RanzMarshall::~RanzMarshall()
Foam::tmp<Foam::volScalarField> Foam::tmp<Foam::volScalarField>
Foam::heatTransferModels::RanzMarshall::K() const Foam::heatTransferModels::RanzMarshall::K() const
{ {
volScalarField Re(pair_.Re() + residualRe_); volScalarField Nu(scalar(2) + 0.6*pair_.Re()*cbrt(pair_.Pr()));
volScalarField Nu(scalar(2) + 0.6*sqrt(Re)*cbrt(pair_.Pr()));
return 6.0*pair_.continuous().kappa()*Nu/sqr(pair_.dispersed().d()); return 6.0*pair_.continuous().kappa()*Nu/sqr(pair_.dispersed().d());
} }

View File

@ -54,14 +54,6 @@ class RanzMarshall
: :
public heatTransferModel public heatTransferModel
{ {
private:
// Private data
//- Residual Reynolds number
const dimensionedScalar residualRe_;
public: public:
//- Runtime type information //- Runtime type information

View File

@ -84,12 +84,12 @@ Foam::turbulentDispersionModels::Gosman::F() const
return return
- 0.75 - 0.75
*drag.Cd() *drag.CdRe()
*pair_.continuous().nu()
*pair_.continuous().turbulence().nut() *pair_.continuous().turbulence().nut()
*pair_.magUr()
/( /(
sigma_ sigma_
*pair_.dispersed().d() *sqr(pair_.dispersed().d())
) )
*pair_.continuous().rho() *pair_.continuous().rho()
*fvc::grad(pair_.dispersed()); *fvc::grad(pair_.dispersed());

View File

@ -75,7 +75,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -87,7 +86,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -99,8 +97,6 @@ drag
{ {
type segregated; type segregated;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3;
m 0.5; m 0.5;
n 8; n 8;
swarmCorrection swarmCorrection
@ -130,13 +126,11 @@ heatTransfer
(air in water) (air in water)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
(water in air) (water in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -75,7 +75,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -87,7 +86,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -99,8 +97,6 @@ drag
{ {
type segregated; type segregated;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3;
m 0.5; m 0.5;
n 8; n 8;
swarmCorrection swarmCorrection
@ -130,13 +126,11 @@ heatTransfer
(air in water) (air in water)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
(water in air) (water in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -40,7 +40,7 @@ blending
default default
{ {
type none; type none;
residualAlpha 1e-6; residualAlpha 1e-3;
continuousPhase air; continuousPhase air;
} }
} }
@ -60,7 +60,6 @@ drag
{ {
type GidaspowErgunWenYu; type GidaspowErgunWenYu;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -74,7 +73,7 @@ virtualMass
(particles in air) (particles in air)
{ {
type constantCoefficient; type constantCoefficient;
Cvm 0.5; Cvm 0;
} }
); );
@ -83,7 +82,6 @@ heatTransfer
(particles in air) (particles in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -75,7 +75,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -87,7 +86,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -99,8 +97,6 @@ drag
{ {
type segregated; type segregated;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3;
m 0.5; m 0.5;
n 8; n 8;
swarmCorrection swarmCorrection
@ -130,13 +126,11 @@ heatTransfer
(air in water) (air in water)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
(water in air) (water in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -75,7 +75,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -87,7 +86,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -99,8 +97,6 @@ drag
{ {
type segregated; type segregated;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3;
m 0.5; m 0.5;
n 8; n 8;
swarmCorrection swarmCorrection
@ -130,13 +126,11 @@ heatTransfer
(air in water) (air in water)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
(water in air) (water in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -40,7 +40,7 @@ blending
default default
{ {
type none; type none;
residualAlpha 1e-6; residualAlpha 1e-3;
continuousPhase air; continuousPhase air;
} }
} }
@ -60,7 +60,6 @@ drag
{ {
type GidaspowErgunWenYu; type GidaspowErgunWenYu;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -83,7 +82,6 @@ heatTransfer
(particles in air) (particles in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );

View File

@ -75,7 +75,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -87,7 +86,6 @@ drag
{ {
type SchillerNaumann; type SchillerNaumann;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3; residualRe 1e-3;
swarmCorrection swarmCorrection
{ {
@ -99,8 +97,6 @@ drag
{ {
type segregated; type segregated;
residualAlpha 1e-6; residualAlpha 1e-6;
residualSlip 1e-3;
residualRe 1e-3;
m 0.5; m 0.5;
n 8; n 8;
swarmCorrection swarmCorrection
@ -130,13 +126,11 @@ heatTransfer
(air in water) (air in water)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
(water in air) (water in air)
{ {
type RanzMarshall; type RanzMarshall;
residualRe 1e-3;
} }
); );