mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
phaseModels: Buried turbulence modelling
This commit is contained in:
@ -132,7 +132,11 @@ alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField::calcAlphat
|
|||||||
const label patchi = patch().index();
|
const label patchi = patch().index();
|
||||||
|
|
||||||
// Retrieve turbulence properties from model
|
// Retrieve turbulence properties from model
|
||||||
const phaseCompressibleTurbulenceModel& turbModel = phase.turbulence();
|
const phaseCompressibleTurbulenceModel& turbModel =
|
||||||
|
db().lookupObject<phaseCompressibleTurbulenceModel>
|
||||||
|
(
|
||||||
|
IOobject::groupName(turbulenceModel::propertiesName, phase.name())
|
||||||
|
);
|
||||||
|
|
||||||
const scalar Cmu25 = pow025(Cmu_);
|
const scalar Cmu25 = pow025(Cmu_);
|
||||||
|
|
||||||
|
|||||||
@ -408,9 +408,25 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
|
|||||||
|
|
||||||
const phaseModel& vapor(fluid.phases()[otherPhaseName_]);
|
const phaseModel& vapor(fluid.phases()[otherPhaseName_]);
|
||||||
|
|
||||||
// Retrieve turbulence properties from model
|
// Retrieve turbulence properties from models
|
||||||
const phaseCompressibleTurbulenceModel& turbModel =
|
const phaseCompressibleTurbulenceModel& turbModel =
|
||||||
liquid.turbulence();
|
db().lookupObject<phaseCompressibleTurbulenceModel>
|
||||||
|
(
|
||||||
|
IOobject::groupName
|
||||||
|
(
|
||||||
|
turbulenceModel::propertiesName,
|
||||||
|
liquid.name()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
const phaseCompressibleTurbulenceModel& vaporTurbModel =
|
||||||
|
db().lookupObject<phaseCompressibleTurbulenceModel>
|
||||||
|
(
|
||||||
|
IOobject::groupName
|
||||||
|
(
|
||||||
|
turbulenceModel::propertiesName,
|
||||||
|
vapor.name()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
const tmp<scalarField> tnutw = turbModel.nut(patchi);
|
const tmp<scalarField> tnutw = turbModel.nut(patchi);
|
||||||
|
|
||||||
@ -457,10 +473,10 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs()
|
|||||||
const scalarField yPlusTherm(this->yPlusTherm(P, Prat));
|
const scalarField yPlusTherm(this->yPlusTherm(P, Prat));
|
||||||
|
|
||||||
const fvPatchScalarField& rhoLiquidw =
|
const fvPatchScalarField& rhoLiquidw =
|
||||||
liquid.turbulence().rho().boundaryField()[patchi];
|
turbModel.rho().boundaryField()[patchi];
|
||||||
|
|
||||||
const fvPatchScalarField& rhoVaporw =
|
const fvPatchScalarField& rhoVaporw =
|
||||||
vapor.turbulence().rho().boundaryField()[patchi];
|
vaporTurbModel.rho().boundaryField()[patchi];
|
||||||
|
|
||||||
tmp<volScalarField> tCp = liquid.thermo().Cp();
|
tmp<volScalarField> tCp = liquid.thermo().Cp();
|
||||||
const volScalarField& Cp = tCp();
|
const volScalarField& Cp = tCp();
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -139,14 +139,7 @@ void Foam::fixedMultiPhaseHeatFluxFvPatchScalarField::updateCoeffs()
|
|||||||
const fvPatchScalarField& T =
|
const fvPatchScalarField& T =
|
||||||
thermo.T().boundaryField()[patch().index()];
|
thermo.T().boundaryField()[patch().index()];
|
||||||
|
|
||||||
const scalarField kappaEff
|
const scalarField kappaEff(phase.kappaEff(patch().index()));
|
||||||
(
|
|
||||||
thermo.kappaEff
|
|
||||||
(
|
|
||||||
phase.turbulence().alphat(patch().index()),
|
|
||||||
patch().index()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -89,11 +89,8 @@ KocamustafaogullariIshii::dDeparture
|
|||||||
const uniformDimensionedVectorField& g =
|
const uniformDimensionedVectorField& g =
|
||||||
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
||||||
|
|
||||||
const fvPatchScalarField& rhoLiquid =
|
const scalarField rhoLiquid(liquid.thermo().rho(patchi));
|
||||||
liquid.turbulence().rho().boundaryField()[patchi];
|
const scalarField rhoVapor(vapor.thermo().rho(patchi));
|
||||||
|
|
||||||
const fvPatchScalarField& rhoVapor =
|
|
||||||
vapor.turbulence().rho().boundaryField()[patchi];
|
|
||||||
|
|
||||||
const scalarField rhoM((rhoLiquid - rhoVapor)/rhoVapor);
|
const scalarField rhoM((rhoLiquid - rhoVapor)/rhoVapor);
|
||||||
|
|
||||||
|
|||||||
@ -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) 2016-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -82,11 +82,8 @@ Cole::fDeparture
|
|||||||
const uniformDimensionedVectorField& g =
|
const uniformDimensionedVectorField& g =
|
||||||
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
liquid.mesh().lookupObject<uniformDimensionedVectorField>("g");
|
||||||
|
|
||||||
const fvPatchScalarField& rhoLiquid =
|
const scalarField rhoLiquid(liquid.thermo().rho(patchi));
|
||||||
liquid.turbulence().rho().boundaryField()[patchi];
|
const scalarField rhoVapor(vapor.thermo().rho(patchi));
|
||||||
|
|
||||||
const fvPatchScalarField& rhoVapor =
|
|
||||||
vapor.turbulence().rho().boundaryField()[patchi];
|
|
||||||
|
|
||||||
return sqrt
|
return sqrt
|
||||||
(
|
(
|
||||||
|
|||||||
@ -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) 2014-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -82,20 +82,17 @@ Foam::tmp<Foam::volScalarField>
|
|||||||
Foam::turbulentDispersionModels::Burns::D() const
|
Foam::turbulentDispersionModels::Burns::D() const
|
||||||
{
|
{
|
||||||
const fvMesh& mesh(pair_.phase1().mesh());
|
const fvMesh& mesh(pair_.phase1().mesh());
|
||||||
const dragModel&
|
const dragModel& drag =
|
||||||
drag
|
mesh.lookupObject<dragModel>
|
||||||
(
|
(
|
||||||
mesh.lookupObject<dragModel>
|
IOobject::groupName(dragModel::typeName, pair_.name())
|
||||||
(
|
|
||||||
IOobject::groupName(dragModel::typeName, pair_.name())
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return
|
return
|
||||||
0.75
|
0.75
|
||||||
*drag.CdRe()
|
*drag.CdRe()
|
||||||
*pair_.continuous().nu()
|
*pair_.continuous().nu()
|
||||||
*pair_.continuous().turbulence().nut()
|
*continuousTurbulence().nut()
|
||||||
/(
|
/(
|
||||||
sigma_
|
sigma_
|
||||||
*sqr(pair_.dispersed().d())
|
*sqr(pair_.dispersed().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) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -27,7 +27,6 @@ License
|
|||||||
#include "phasePair.H"
|
#include "phasePair.H"
|
||||||
#include "phaseCompressibleTurbulenceModel.H"
|
#include "phaseCompressibleTurbulenceModel.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
#include "dragModel.H"
|
#include "dragModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
@ -86,7 +85,7 @@ Foam::turbulentDispersionModels::Gosman::D() const
|
|||||||
*drag.CdRe()
|
*drag.CdRe()
|
||||||
*pair_.dispersed()
|
*pair_.dispersed()
|
||||||
*pair_.continuous().nu()
|
*pair_.continuous().nu()
|
||||||
*pair_.continuous().turbulence().nut()
|
*continuousTurbulence().nut()
|
||||||
/(
|
/(
|
||||||
sigma_
|
sigma_
|
||||||
*sqr(pair_.dispersed().d())
|
*sqr(pair_.dispersed().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) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -72,7 +72,7 @@ Foam::turbulentDispersionModels::LopezDeBertodano::D() const
|
|||||||
return
|
return
|
||||||
Ctd_
|
Ctd_
|
||||||
*pair_.continuous().rho()
|
*pair_.continuous().rho()
|
||||||
*pair_.continuous().turbulence().k();
|
*continuousTurbulence().k();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -76,7 +76,7 @@ D() const
|
|||||||
Ctd_
|
Ctd_
|
||||||
*pair_.dispersed()
|
*pair_.dispersed()
|
||||||
*pair_.continuous().rho()
|
*pair_.continuous().rho()
|
||||||
*pair_.continuous().turbulence().k();
|
*continuousTurbulence().k();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -28,6 +28,7 @@ License
|
|||||||
#include "fvcGrad.H"
|
#include "fvcGrad.H"
|
||||||
#include "surfaceInterpolate.H"
|
#include "surfaceInterpolate.H"
|
||||||
#include "fvcSnGrad.H"
|
#include "fvcSnGrad.H"
|
||||||
|
#include "phaseCompressibleTurbulenceModel.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -61,6 +62,21 @@ Foam::turbulentDispersionModel::~turbulentDispersionModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
const Foam::phaseCompressibleTurbulenceModel&
|
||||||
|
Foam::turbulentDispersionModel::continuousTurbulence() const
|
||||||
|
{
|
||||||
|
return
|
||||||
|
pair_.phase1().mesh().lookupObject<phaseCompressibleTurbulenceModel>
|
||||||
|
(
|
||||||
|
IOobject::groupName
|
||||||
|
(
|
||||||
|
turbulenceModel::propertiesName,
|
||||||
|
pair_.continuous().name()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volVectorField>
|
Foam::tmp<Foam::volVectorField>
|
||||||
Foam::turbulentDispersionModel::F() const
|
Foam::turbulentDispersionModel::F() const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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) 2014-2015 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -40,6 +40,7 @@ SourceFiles
|
|||||||
#include "volFields.H"
|
#include "volFields.H"
|
||||||
#include "dictionary.H"
|
#include "dictionary.H"
|
||||||
#include "runTimeSelectionTables.H"
|
#include "runTimeSelectionTables.H"
|
||||||
|
#include "phaseCompressibleTurbulenceModelFwd.H"
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
@ -114,6 +115,9 @@ public:
|
|||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
|
//- Return a reference to the turbulence model for the continuous phase
|
||||||
|
const phaseCompressibleTurbulenceModel& continuousTurbulence() const;
|
||||||
|
|
||||||
//- Turbulent diffusivity
|
//- Turbulent diffusivity
|
||||||
// multiplying the gradient of the phase-fraction
|
// multiplying the gradient of the phase-fraction
|
||||||
virtual tmp<volScalarField> D() const = 0;
|
virtual tmp<volScalarField> D() const = 0;
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -122,7 +122,7 @@ Foam::AnisothermalPhaseModel<BasePhaseModel>::heEqn()
|
|||||||
|
|
||||||
const volScalarField& contErr(this->continuityError());
|
const volScalarField& contErr(this->continuityError());
|
||||||
|
|
||||||
const volScalarField alphaEff(this->turbulence().alphaEff());
|
const volScalarField alphaEff(this->alphaEff());
|
||||||
|
|
||||||
volScalarField& he = this->thermo_->he();
|
volScalarField& he = this->thermo_->he();
|
||||||
|
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -251,6 +251,7 @@ template<class BasePhaseModel>
|
|||||||
void Foam::MovingPhaseModel<BasePhaseModel>::correctEnergyTransport()
|
void Foam::MovingPhaseModel<BasePhaseModel>::correctEnergyTransport()
|
||||||
{
|
{
|
||||||
BasePhaseModel::correctEnergyTransport();
|
BasePhaseModel::correctEnergyTransport();
|
||||||
|
|
||||||
turbulence_->correctEnergyTransport();
|
turbulence_->correctEnergyTransport();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -395,10 +396,90 @@ Foam::MovingPhaseModel<BasePhaseModel>::alphaRhoPhi()
|
|||||||
|
|
||||||
|
|
||||||
template<class BasePhaseModel>
|
template<class BasePhaseModel>
|
||||||
const Foam::phaseCompressibleTurbulenceModel&
|
Foam::tmp<Foam::volScalarField>
|
||||||
Foam::MovingPhaseModel<BasePhaseModel>::turbulence() const
|
Foam::MovingPhaseModel<BasePhaseModel>::mut() const
|
||||||
{
|
{
|
||||||
return turbulence_;
|
return turbulence_->mut();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::muEff() const
|
||||||
|
{
|
||||||
|
return turbulence_->muEff();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::nut() const
|
||||||
|
{
|
||||||
|
return turbulence_->nut();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::nuEff() const
|
||||||
|
{
|
||||||
|
return turbulence_->nuEff();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::kappaEff() const
|
||||||
|
{
|
||||||
|
return turbulence_->kappaEff();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::scalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::kappaEff(const label patchi) const
|
||||||
|
{
|
||||||
|
return turbulence_->kappaEff(patchi);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::alphaEff() const
|
||||||
|
{
|
||||||
|
return turbulence_->alphaEff();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::scalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::alphaEff(const label patchi) const
|
||||||
|
{
|
||||||
|
return turbulence_->alphaEff(patchi);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::k() const
|
||||||
|
{
|
||||||
|
return turbulence_->k();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::volScalarField>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::pPrime() const
|
||||||
|
{
|
||||||
|
return turbulence_->pPrime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class BasePhaseModel>
|
||||||
|
Foam::tmp<Foam::fvVectorMatrix>
|
||||||
|
Foam::MovingPhaseModel<BasePhaseModel>::divDevRhoReff()
|
||||||
|
{
|
||||||
|
return turbulence_->divDevRhoReff(U_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -186,10 +186,42 @@ public:
|
|||||||
virtual surfaceScalarField& alphaRhoPhi();
|
virtual surfaceScalarField& alphaRhoPhi();
|
||||||
|
|
||||||
|
|
||||||
// Turbulence
|
// Transport
|
||||||
|
|
||||||
//- Return the turbulence model
|
//- Return the turbulent dynamic viscosity
|
||||||
virtual const phaseCompressibleTurbulenceModel& turbulence() const;
|
virtual tmp<volScalarField> mut() const;
|
||||||
|
|
||||||
|
//- Return the effective dynamic viscosity
|
||||||
|
virtual tmp<volScalarField> muEff() const;
|
||||||
|
|
||||||
|
//- Return the turbulent kinematic viscosity
|
||||||
|
virtual tmp<volScalarField> nut() const;
|
||||||
|
|
||||||
|
//- Return the effective kinematic viscosity
|
||||||
|
virtual tmp<volScalarField> nuEff() const;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity
|
||||||
|
virtual tmp<volScalarField> kappaEff() const;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity on a patch
|
||||||
|
virtual tmp<scalarField> kappaEff(const label patchi) const;
|
||||||
|
|
||||||
|
//- Return the effective thermal diffusivity for enthalpy
|
||||||
|
virtual tmp<volScalarField> alphaEff() const;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity for enthalpy on a
|
||||||
|
// patch
|
||||||
|
virtual tmp<scalarField> alphaEff(const label patchi) const;
|
||||||
|
|
||||||
|
//- Return the turbulent kinetic energy
|
||||||
|
virtual tmp<volScalarField> k() const;
|
||||||
|
|
||||||
|
//- Return the phase-pressure'
|
||||||
|
// (derivative of phase-pressure w.r.t. phase-fraction)
|
||||||
|
virtual tmp<volScalarField> pPrime() const;
|
||||||
|
|
||||||
|
//- Return the turbulent term for the momentum equation
|
||||||
|
virtual tmp<fvVectorMatrix> divDevRhoReff();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -168,7 +168,7 @@ Foam::MultiComponentPhaseModel<BasePhaseModel>::YiEqn
|
|||||||
- fvm::laplacian
|
- fvm::laplacian
|
||||||
(
|
(
|
||||||
fvc::interpolate(alpha)
|
fvc::interpolate(alpha)
|
||||||
*fvc::interpolate(this->turbulence().muEff()/Sc_),
|
*fvc::interpolate(this->muEff()/Sc_),
|
||||||
Yi
|
Yi
|
||||||
)
|
)
|
||||||
==
|
==
|
||||||
|
|||||||
@ -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) 2015-2017 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -310,13 +310,15 @@ public:
|
|||||||
//- Return the laminar thermal conductivity on a patch
|
//- Return the laminar thermal conductivity on a patch
|
||||||
virtual tmp<scalarField> kappa(const label patchi) const = 0;
|
virtual tmp<scalarField> kappa(const label patchi) const = 0;
|
||||||
|
|
||||||
//- Return the effective thermal conductivity
|
//- Return the effective thermal conductivity, given the turbulent
|
||||||
|
// thermal diffusivity
|
||||||
virtual tmp<volScalarField> kappaEff
|
virtual tmp<volScalarField> kappaEff
|
||||||
(
|
(
|
||||||
const volScalarField& alphat
|
const volScalarField& alphat
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|
||||||
//- Access the effective thermal conductivity
|
//- Return the effective thermal conductivity on a patch, given the
|
||||||
|
// turbulent thermal diffusivity
|
||||||
virtual tmp<scalarField> kappaEff
|
virtual tmp<scalarField> kappaEff
|
||||||
(
|
(
|
||||||
const scalarField& alphat,
|
const scalarField& alphat,
|
||||||
@ -329,13 +331,15 @@ public:
|
|||||||
//- Return the laminar thermal diffusivity for enthalpy on a patch
|
//- Return the laminar thermal diffusivity for enthalpy on a patch
|
||||||
virtual tmp<scalarField> alpha(const label patchi) const = 0;
|
virtual tmp<scalarField> alpha(const label patchi) const = 0;
|
||||||
|
|
||||||
//- Return the effective thermal diffusivity for enthalpy
|
//- Return the effective thermal diffusivity for enthalpy, given the
|
||||||
|
// turbulent thermal diffusivity
|
||||||
virtual tmp<volScalarField> alphaEff
|
virtual tmp<volScalarField> alphaEff
|
||||||
(
|
(
|
||||||
const volScalarField& alphat
|
const volScalarField& alphat
|
||||||
) const = 0;
|
) const = 0;
|
||||||
|
|
||||||
//- Return the effective thermal diffusivity for enthalpy on a patch
|
//- Return the effective thermal diffusivity for enthalpy on a
|
||||||
|
// patch, given the turbulent thermal diffusivity
|
||||||
virtual tmp<scalarField> alphaEff
|
virtual tmp<scalarField> alphaEff
|
||||||
(
|
(
|
||||||
const scalarField& alphat,
|
const scalarField& alphat,
|
||||||
@ -345,9 +349,40 @@ public:
|
|||||||
|
|
||||||
// Turbulence
|
// Turbulence
|
||||||
|
|
||||||
//- Return the turbulence model
|
//- Return the turbulent dynamic viscosity
|
||||||
virtual const phaseCompressibleTurbulenceModel&
|
virtual tmp<volScalarField> mut() const = 0;
|
||||||
turbulence() const = 0;
|
|
||||||
|
//- Return the effective dynamic viscosity
|
||||||
|
virtual tmp<volScalarField> muEff() const = 0;
|
||||||
|
|
||||||
|
//- Return the turbulent kinematic viscosity
|
||||||
|
virtual tmp<volScalarField> nut() const = 0;
|
||||||
|
|
||||||
|
//- Return the effective kinematic viscosity
|
||||||
|
virtual tmp<volScalarField> nuEff() const = 0;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity
|
||||||
|
virtual tmp<volScalarField> kappaEff() const = 0;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity on a patch
|
||||||
|
virtual tmp<scalarField> kappaEff(const label patchi) const = 0;
|
||||||
|
|
||||||
|
//- Return the effective thermal diffusivity for enthalpy
|
||||||
|
virtual tmp<volScalarField> alphaEff() const = 0;
|
||||||
|
|
||||||
|
//- Return the effective thermal conductivity for enthalpy on a
|
||||||
|
// patch
|
||||||
|
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
|
||||||
|
|
||||||
|
//- Return the turbulent kinetic energy
|
||||||
|
virtual tmp<volScalarField> k() const = 0;
|
||||||
|
|
||||||
|
//- Return the phase-pressure'
|
||||||
|
// (derivative of phase-pressure w.r.t. phase-fraction)
|
||||||
|
virtual tmp<volScalarField> pPrime() const = 0;
|
||||||
|
|
||||||
|
//- Return the turbulent term for the momentum equation
|
||||||
|
virtual tmp<fvVectorMatrix> divDevRhoReff() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -41,7 +41,7 @@ PtrList<fvVectorMatrix> UEqns(phases.size());
|
|||||||
(
|
(
|
||||||
fvm::div(alphaRhoPhi, U) - fvm::Sp(fvc::div(alphaRhoPhi), U)
|
fvm::div(alphaRhoPhi, U) - fvm::Sp(fvc::div(alphaRhoPhi), U)
|
||||||
+ MRF.DDt(alpha*rho, U)
|
+ MRF.DDt(alpha*rho, U)
|
||||||
+ phase.turbulence().divDevRhoReff(U)
|
+ phase.divDevRhoReff()
|
||||||
+ fvm::SuSp(fvOptions(alpha, rho)&rho, U)
|
+ fvm::SuSp(fvOptions(alpha, rho)&rho, U)
|
||||||
==
|
==
|
||||||
fvOptions(alpha, rho, U)
|
fvOptions(alpha, rho, U)
|
||||||
|
|||||||
@ -44,7 +44,7 @@ tmp<surfaceScalarField> phiF2;
|
|||||||
(
|
(
|
||||||
fvc::interpolate
|
fvc::interpolate
|
||||||
(
|
(
|
||||||
rAU1*(D + phase1.turbulence().pPrime())
|
rAU1*(D + phase1.pPrime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ tmp<surfaceScalarField> phiF2;
|
|||||||
(
|
(
|
||||||
fvc::interpolate
|
fvc::interpolate
|
||||||
(
|
(
|
||||||
rAU2*(D + phase2.turbulence().pPrime())
|
rAU2*(D + phase2.pPrime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
|
|||||||
fvm::div(alphaRhoPhi1, U1) - fvm::Sp(fvc::div(alphaRhoPhi1), U1)
|
fvm::div(alphaRhoPhi1, U1) - fvm::Sp(fvc::div(alphaRhoPhi1), U1)
|
||||||
+ fvm::Sp(dmdt21, U1) - dmdt21*U2
|
+ fvm::Sp(dmdt21, U1) - dmdt21*U2
|
||||||
+ MRF.DDt(alpha1*rho1, U1)
|
+ MRF.DDt(alpha1*rho1, U1)
|
||||||
+ phase1.turbulence().divDevRhoReff(U1)
|
+ phase1.divDevRhoReff()
|
||||||
+ Vm*(UgradU1 - (UgradU2 & U2))
|
+ Vm*(UgradU1 - (UgradU2 & U2))
|
||||||
- fvOptions(alpha1, rho1, U1)
|
- fvOptions(alpha1, rho1, U1)
|
||||||
+ fvm::SuSp(fvOptions(alpha1, rho1)&rho1, U1)
|
+ fvm::SuSp(fvOptions(alpha1, rho1)&rho1, U1)
|
||||||
@ -44,7 +44,7 @@ fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
|
|||||||
fvm::div(alphaRhoPhi2, U2) - fvm::Sp(fvc::div(alphaRhoPhi2), U2)
|
fvm::div(alphaRhoPhi2, U2) - fvm::Sp(fvc::div(alphaRhoPhi2), U2)
|
||||||
- fvm::Sp(dmdt12, U2) + dmdt12*U1
|
- fvm::Sp(dmdt12, U2) + dmdt12*U1
|
||||||
+ MRF.DDt(alpha2*rho2, U2)
|
+ MRF.DDt(alpha2*rho2, U2)
|
||||||
+ phase2.turbulence().divDevRhoReff(U2)
|
+ phase2.divDevRhoReff()
|
||||||
+ Vm*(UgradU2 - (UgradU1 & U1))
|
+ Vm*(UgradU2 - (UgradU1 & U1))
|
||||||
- fvOptions(alpha2, rho2, U2)
|
- fvOptions(alpha2, rho2, U2)
|
||||||
+ fvm::SuSp(fvOptions(alpha2, rho2)&rho2, U2)
|
+ fvm::SuSp(fvOptions(alpha2, rho2)&rho2, U2)
|
||||||
|
|||||||
@ -60,13 +60,13 @@ tmp<surfaceScalarField> Ff2;
|
|||||||
// Phase-1 turbulent dispersion and particle-pressure diffusivity
|
// Phase-1 turbulent dispersion and particle-pressure diffusivity
|
||||||
surfaceScalarField Df1
|
surfaceScalarField Df1
|
||||||
(
|
(
|
||||||
fvc::interpolate(D + phase1.turbulence().pPrime())
|
fvc::interpolate(D + phase1.pPrime())
|
||||||
);
|
);
|
||||||
|
|
||||||
// Phase-2 turbulent dispersion and particle-pressure diffusivity
|
// Phase-2 turbulent dispersion and particle-pressure diffusivity
|
||||||
surfaceScalarField Df2
|
surfaceScalarField Df2
|
||||||
(
|
(
|
||||||
fvc::interpolate(D + phase2.turbulence().pPrime())
|
fvc::interpolate(D + phase2.pPrime())
|
||||||
);
|
);
|
||||||
|
|
||||||
// Cache the phase diffusivities for implicit treatment in the
|
// Cache the phase diffusivities for implicit treatment in the
|
||||||
|
|||||||
@ -87,7 +87,7 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const
|
|||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ut() const
|
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ut() const
|
||||||
{
|
{
|
||||||
return sqrt(2*otherPhase().turbulence().k());
|
return sqrt(2*otherPhase().k());
|
||||||
}
|
}
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Re() const
|
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Re() const
|
||||||
|
|||||||
Reference in New Issue
Block a user