reactingEulerFoam: Added divq and divj function to generalise the thermal and specie transport

These function map to the corresponding functions in the
PhaseThermophysicalTransportModel to allow run-time selection and extensibility
of the phase thermophysical transport.
This commit is contained in:
Henry Weller
2020-04-15 18:48:42 +01:00
parent f7ec6855c7
commit 0405176670
21 changed files with 90 additions and 572 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -79,7 +79,7 @@ Foam::heatTransferModels::Gunn::K(const scalar residualAlpha) const
return
6*max(pair_.dispersed(), residualAlpha)
*pair_.continuous().kappa()
*pair_.continuous().thermo().kappa()
*Nu/sqr(pair_.dispersed().d());
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -67,7 +67,7 @@ Foam::heatTransferModels::RanzMarshall::K(const scalar residualAlpha) const
return
6
*max(pair_.dispersed(), residualAlpha)
*pair_.continuous().kappa()
*pair_.continuous().thermo().kappa()
*Nu
/sqr(pair_.dispersed().d());
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -74,7 +74,7 @@ Foam::heatTransferModels::constantNuHeatTransfer::K
return
6.0
*max(pair_.dispersed(), residualAlpha)
*pair_.continuous().kappa()
*pair_.continuous().thermo().kappa()
*Nu_
/sqr(pair_.dispersed().d());
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -73,7 +73,7 @@ Foam::heatTransferModels::sphericalHeatTransfer::K
return
60.0
*max(pair_.dispersed(), residualAlpha)
*pair_.continuous().kappa()
*pair_.continuous().thermo().kappa()
/sqr(pair_.dispersed().d());
}

View File

@ -117,13 +117,7 @@ Foam::AnisothermalPhaseModel<BasePhaseModel>::heEqn()
+ fvc::ddt(alpha, this->rho(), K) + fvc::div(alphaRhoPhi, K)
- contErr*K
- fvm::laplacian
(
fvc::interpolate(alpha)
*fvc::interpolate(this->alphaEff()),
he
)
+ this->divq(he)
==
alpha*this->Qdot()
);

View File

@ -443,46 +443,6 @@ void Foam::MovingPhaseModel<BasePhaseModel>::divU(tmp<volScalarField> divU)
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::MovingPhaseModel<BasePhaseModel>::mut() const
{
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 thermophysicalTransport_->kappaEff();
}
template<class BasePhaseModel>
Foam::tmp<Foam::scalarField>
Foam::MovingPhaseModel<BasePhaseModel>::kappaEff(const label patchi) const
@ -491,22 +451,6 @@ Foam::MovingPhaseModel<BasePhaseModel>::kappaEff(const label patchi) const
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::MovingPhaseModel<BasePhaseModel>::alphaEff() const
{
return thermophysicalTransport_->alphaEff();
}
template<class BasePhaseModel>
Foam::tmp<Foam::scalarField>
Foam::MovingPhaseModel<BasePhaseModel>::alphaEff(const label patchi) const
{
return thermophysicalTransport_->alphaEff(patchi);
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::MovingPhaseModel<BasePhaseModel>::k() const
@ -523,4 +467,20 @@ Foam::MovingPhaseModel<BasePhaseModel>::pPrime() const
}
template<class BasePhaseModel>
Foam::tmp<Foam::fvScalarMatrix>
Foam::MovingPhaseModel<BasePhaseModel>::divq(volScalarField& he) const
{
return thermophysicalTransport_->divq(he);
}
template<class BasePhaseModel>
Foam::tmp<Foam::fvScalarMatrix>
Foam::MovingPhaseModel<BasePhaseModel>::divj(volScalarField& Yi) const
{
return thermophysicalTransport_->divj(Yi);
}
// ************************************************************************* //

View File

@ -199,45 +199,27 @@ public:
virtual void divU(tmp<volScalarField> divU);
// Turbulence
//- Return the turbulent dynamic viscosity
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;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity
virtual tmp<volScalarField> kappaEff() const;
// Momentum transport
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> kappaEff(const label patchi) const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Return the effective thermal diffusivity
virtual tmp<volScalarField> alphaEff() const;
//- Return the effective thermal conductivity 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;
// Thermophysical transport
//- Return the source term for the energy equation
virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
//- Return the source term for the given specie mass-fraction
// equation
virtual tmp<fvScalarMatrix> divj(volScalarField& Yi) const;
};

View File

@ -149,13 +149,7 @@ Foam::MultiComponentPhaseModel<BasePhaseModel>::YiEqn(volScalarField& Yi)
(
fvm::ddt(alpha, rho, Yi)
+ fvm::div(alphaRhoPhi, Yi, "div(" + alphaRhoPhi.name() + ",Yi)")
- fvm::laplacian
(
fvc::interpolate(alpha)
*fvc::interpolate(this->alphaEff()),
Yi
)
+ this->divj(Yi)
==
alpha*this->R(Yi)

View File

@ -251,56 +251,6 @@ void Foam::StationaryPhaseModel<BasePhaseModel>::divU
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::mut() const
{
return volScalarField::New
(
IOobject::groupName("mut", this->name()),
this->mesh(),
dimensionedScalar(dimDynamicViscosity, 0)
);
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::muEff() const
{
return this->thermo().mu();
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::nut() const
{
return volScalarField::New
(
IOobject::groupName("nut", this->name()),
this->mesh(),
dimensionedScalar(dimViscosity, 0)
);
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::nuEff() const
{
return this->thermo().nu();
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::kappaEff() const
{
return this->thermo().kappa();
}
template<class BasePhaseModel>
Foam::tmp<Foam::scalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::kappaEff(const label patchi) const
@ -309,22 +259,6 @@ Foam::StationaryPhaseModel<BasePhaseModel>::kappaEff(const label patchi) const
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::alphaEff() const
{
return this->thermo().alpha();
}
template<class BasePhaseModel>
Foam::tmp<Foam::scalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::alphaEff(const label patchi) const
{
return this->thermo().alpha(patchi);
}
template<class BasePhaseModel>
Foam::tmp<Foam::volScalarField>
Foam::StationaryPhaseModel<BasePhaseModel>::k() const
@ -351,4 +285,18 @@ Foam::StationaryPhaseModel<BasePhaseModel>::pPrime() const
}
template<class BasePhaseModel>
Foam::tmp<Foam::fvScalarMatrix>
Foam::StationaryPhaseModel<BasePhaseModel>::divq(volScalarField& he) const
{
const volScalarField& alpha = *this;
return -fvm::laplacian
(
fvc::interpolate(alpha)*fvc::interpolate(this->thermo().alpha()),
he
);
}
// ************************************************************************* //

View File

@ -133,45 +133,23 @@ public:
virtual void divU(tmp<volScalarField> divU);
// Turbulence
//- Return the turbulent dynamic viscosity
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;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
using BasePhaseModel::kappaEff;
//- Return the effective thermal conductivity
virtual tmp<volScalarField> kappaEff() const;
// Momentum transport
//- Return the effective thermal conductivity on a patch
virtual tmp<scalarField> kappaEff(const label patchi) const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Return the effective thermal diffusivity
virtual tmp<volScalarField> alphaEff() const;
//- Return the effective thermal conductivity 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;
// Thermophysical transport
//- Return the source term for the energy equation
virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
};

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -141,107 +141,4 @@ Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::nu
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappa() const
{
return thermo_->kappa();
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappa
(
const label patchi
) const
{
return thermo_->kappa(patchi);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphahe() const
{
return thermo_->alphahe();
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphahe
(
const label patchi
) const
{
return thermo_->alphahe(patchi);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappaEff
(
const volScalarField& alphat
) const
{
return thermo_->kappaEff(alphat);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::kappaEff
(
const scalarField& alphat,
const label patchi
) const
{
return thermo_->kappaEff(alphat, patchi);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alpha() const
{
return thermo_->alpha();
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alpha
(
const label patchi
) const
{
return thermo_->alpha(patchi);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::volScalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphaEff
(
const volScalarField& alphat
) const
{
return thermo_->alphaEff(alphat);
}
template<class BasePhaseModel, class ThermoType>
Foam::tmp<Foam::scalarField>
Foam::ThermoPhaseModel<BasePhaseModel, ThermoType>::alphaEff
(
const scalarField& alphat,
const label patchi
) const
{
return thermo_->alphaEff(alphat, patchi);
}
// ************************************************************************* //

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -114,64 +114,6 @@ public:
//- Return the laminar kinematic viscosity on a patch
virtual tmp<scalarField> nu(const label patchi) const;
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
virtual tmp<volScalarField> alpha() const;
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alpha(const label patchi) const;
//- Thermal diffusivity for temperature of mixture [W/m/K]
virtual tmp<volScalarField> kappa() const;
//- Thermal diffusivity for temperature of mixture
// for patch [W/m/K]
virtual tmp<scalarField> kappa(const label patchi) const;
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const;
// Turbulence
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
using BasePhaseModel::kappaEff;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField& alphat
) const;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff
(
const scalarField& alphat,
const label patchi
) const;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
using BasePhaseModel::alphaEff;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const;
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,
const label patchi
) const;
};

View File

@ -328,7 +328,7 @@ public:
virtual tmp<volScalarField> K() const = 0;
// Transport
// Transport properties
//- Return the laminar dynamic viscosity
virtual tmp<volScalarField> mu() const = 0;
@ -342,84 +342,10 @@ public:
//- Return the laminar kinematic viscosity on a patch
virtual tmp<scalarField> nu(const label patchi) const = 0;
//- Thermal diffusivity for enthalpy of mixture [kg/m/s]
virtual tmp<volScalarField> alpha() const = 0;
//- Thermal diffusivity for enthalpy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alpha(const label patchi) const = 0;
//- Thermal diffusivity for temperature of mixture [W/m/K]
virtual tmp<volScalarField> kappa() const = 0;
//- Thermal diffusivity for temperature of mixture
// for patch [W/m/K]
virtual tmp<scalarField> kappa(const label patchi) const = 0;
//- Thermal diffusivity for energy of mixture [kg/m/s]
virtual tmp<volScalarField> alphahe() const = 0;
//- Thermal diffusivity for energy of mixture for patch [kg/m/s]
virtual tmp<scalarField> alphahe(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff
(
const volScalarField& alphat
) const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff
(
const scalarField& alphat,
const label patchi
) const = 0;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff
(
const volScalarField& alphat
) const = 0;
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff
(
const scalarField& alphat,
const label patchi
) const = 0;
// Turbulence
//- Return the turbulent dynamic viscosity
virtual tmp<volScalarField> mut() 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;
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff() const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const = 0;
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
//- Return the turbulent kinetic energy
virtual tmp<volScalarField> k() const = 0;

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -132,7 +132,7 @@ Foam::tmp<Foam::volScalarField> Foam::phasePair::Pr() const
continuous().nu()
*continuous().thermo().Cpv()
*continuous().rho()
/continuous().kappa();
/continuous().thermo().kappa();
}

View File

@ -140,53 +140,20 @@ public:
return coeffDict_;
}
//- Thermal diffusivity for temperature of mixture [W/m/K]
virtual tmp<volScalarField> kappa() const
{
return this->thermo().kappa();
}
//- Thermal diffusivity for temperature of mixture
// for patch [W/m/K]
virtual tmp<scalarField> kappa(const label patchi) const
{
return this->thermo().kappa(patchi);
}
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff() const
{
return volScalarField::New
(
"kappaEff",
this->thermo().kappa()
);
}
virtual tmp<volScalarField> kappaEff() const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff(const label patchi) const
{
return kappa(patchi);
}
virtual tmp<scalarField> kappaEff(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const
{
return volScalarField::New
(
"alphaEff",
this->thermo().alphahe()
);
}
virtual tmp<volScalarField> alphaEff() const = 0;
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const
{
return this->thermo().alphahe(patchi);
}
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
//- Correct the LES transport
virtual void correct();

View File

@ -122,8 +122,7 @@ tmp<volVectorField>eddyDiffusivity<BasicThermophysicalTransportModel>::q() const
"q",
this->momentumTransport().alphaRhoPhi().group()
),
-this->alphaEff()*this->momentumTransport().alpha()
*fvc::grad(this->thermo().he())
-this->alphaEff()*this->alpha()*fvc::grad(this->thermo().he())
);
}
@ -135,11 +134,7 @@ eddyDiffusivity<BasicThermophysicalTransportModel>::divq
volScalarField& he
) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->alphaEff(),
he
);
return -fvm::laplacian(this->alpha()*this->alphaEff(), he);
}
@ -156,8 +151,7 @@ tmp<volVectorField>eddyDiffusivity<BasicThermophysicalTransportModel>::j
"j(" + Yi.name() + ')',
this->momentumTransport().alphaRhoPhi().group()
),
-this->alphaEff()*this->momentumTransport().alpha()
*fvc::grad(Yi)
-this->alphaEff()*this->alpha()*fvc::grad(Yi)
);
}
@ -169,11 +163,7 @@ eddyDiffusivity<BasicThermophysicalTransportModel>::divj
volScalarField& Yi
) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->alphaEff(),
Yi
);
return -fvm::laplacian(this->alpha()*this->alphaEff(), Yi);
}

View File

@ -140,53 +140,20 @@ public:
return coeffDict_;
}
//- Thermal diffusivity for temperature of mixture [W/m/K]
virtual tmp<volScalarField> kappa() const
{
return this->thermo().kappa();
}
//- Thermal diffusivity for temperature of mixture
// for patch [W/m/K]
virtual tmp<scalarField> kappa(const label patchi) const
{
return this->thermo().kappa(patchi);
}
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff() const
{
return volScalarField::New
(
"kappaEff",
this->thermo().kappa()
);
}
virtual tmp<volScalarField> kappaEff() const = 0;
//- Effective thermal turbulent diffusivity for temperature
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff(const label patchi) const
{
return kappa(patchi);
}
virtual tmp<scalarField> kappaEff(const label patchi) const = 0;
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]
virtual tmp<volScalarField> alphaEff() const
{
return volScalarField::New
(
"alphaEff",
this->thermo().alphahe()
);
}
virtual tmp<volScalarField> alphaEff() const = 0;
//- Effective thermal turbulent diffusivity of mixture
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const
{
return this->thermo().alphahe(patchi);
}
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
//- Correct the RAS transport
virtual void correct();

View File

@ -122,8 +122,7 @@ tmp<volVectorField>eddyDiffusivity<BasicThermophysicalTransportModel>::q() const
"q",
this->momentumTransport().alphaRhoPhi().group()
),
-this->alphaEff()*this->momentumTransport().alpha()
*fvc::grad(this->thermo().he())
-this->alphaEff()*this->alpha()*fvc::grad(this->thermo().he())
);
}
@ -135,11 +134,7 @@ eddyDiffusivity<BasicThermophysicalTransportModel>::divq
volScalarField& he
) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->alphaEff(),
he
);
return -fvm::laplacian(this->alpha()*this->alphaEff(), he);
}
@ -156,8 +151,7 @@ tmp<volVectorField>eddyDiffusivity<BasicThermophysicalTransportModel>::j
"j(" + Yi.name() + ')',
this->momentumTransport().alphaRhoPhi().group()
),
-this->alphaEff()*this->momentumTransport().alpha()
*fvc::grad(Yi)
-this->alphaEff()*this->alpha()*fvc::grad(Yi)
);
}
@ -169,11 +163,7 @@ eddyDiffusivity<BasicThermophysicalTransportModel>::divj
volScalarField& Yi
) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->alphaEff(),
Yi
);
return -fvm::laplacian(this->alpha()*this->alphaEff(), Yi);
}

View File

@ -125,6 +125,12 @@ public:
return momentumTransport_.transport();
}
//- Access function to phase fraction
const alphaField& alpha() const
{
return momentumTransport_.alpha();
}
// Member Operators

View File

@ -76,8 +76,7 @@ tmp<volVectorField>Fourier<BasicThermophysicalTransportModel>::q() const
"q",
this->momentumTransport().alphaRhoPhi().group()
),
-this->thermo().alpha()*this->momentumTransport().alpha()
*fvc::grad(this->thermo().he())
-this->thermo().alpha()*this->alpha()*fvc::grad(this->thermo().he())
);
}
@ -86,11 +85,7 @@ template<class BasicThermophysicalTransportModel>
tmp<fvScalarMatrix>
Fourier<BasicThermophysicalTransportModel>::divq(volScalarField& he) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->thermo().alpha(),
he
);
return -fvm::laplacian(this->alpha()*this->thermo().alpha(), he);
}
@ -107,8 +102,7 @@ tmp<volVectorField>Fourier<BasicThermophysicalTransportModel>::j
"j(" + Yi.name() + ')',
this->momentumTransport().alphaRhoPhi().group()
),
-this->thermo().alpha()*this->momentumTransport().alpha()
*fvc::grad(Yi)
-this->thermo().alpha()*this->alpha()*fvc::grad(Yi)
);
}
@ -117,11 +111,7 @@ template<class BasicThermophysicalTransportModel>
tmp<fvScalarMatrix>
Fourier<BasicThermophysicalTransportModel>::divj(volScalarField& Yi) const
{
return -fvm::laplacian
(
this->momentumTransport().alpha()*this->thermo().alpha(),
Yi
);
return -fvm::laplacian(this->alpha()*this->thermo().alpha(), Yi);
}

View File

@ -140,19 +140,6 @@ public:
return coeffDict_;
}
//- Thermal diffusivity for temperature of mixture [W/m/K]
virtual tmp<volScalarField> kappa() const
{
return this->thermo().kappa();
}
//- Thermal diffusivity for temperature of mixture
// for patch [W/m/K]
virtual tmp<scalarField> kappa(const label patchi) const
{
return this->thermo().kappa(patchi);
}
//- Effective thermal turbulent diffusivity for temperature
// of mixture [W/m/K]
virtual tmp<volScalarField> kappaEff() const
@ -168,7 +155,7 @@ public:
// of mixture for patch [W/m/K]
virtual tmp<scalarField> kappaEff(const label patchi) const
{
return kappa(patchi);
return this->thermo().kappa(patchi);
}
//- Effective thermal turbulent diffusivity of mixture [kg/m/s]