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:
@ -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());
|
||||
}
|
||||
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
|
||||
@ -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()
|
||||
);
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -125,6 +125,12 @@ public:
|
||||
return momentumTransport_.transport();
|
||||
}
|
||||
|
||||
//- Access function to phase fraction
|
||||
const alphaField& alpha() const
|
||||
{
|
||||
return momentumTransport_.alpha();
|
||||
}
|
||||
|
||||
|
||||
// Member Operators
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
Reference in New Issue
Block a user