nonUnityLewisEddyDiffusivity: Laminar unity Lewis assumption

The laminar Lewis number is now assumed to be one. This model only
provides specification of the turbulent diffusivity properties.
This commit is contained in:
Will Bainbridge
2020-04-22 15:40:19 +01:00
parent 6e43847f5e
commit 62d1bcdb72
6 changed files with 90 additions and 43 deletions

View File

@ -181,6 +181,27 @@ public:
return this->thermo().alphahe(patchi);
}
//- Effective mass diffusivity for a given specie mass-fraction [kg/m/s]
virtual tmp<volScalarField> DEff(const volScalarField& Yi) const
{
return volScalarField::New
(
"DEff",
alphaEff()
);
}
//- Effective mass diffusivity for a given specie mass-fraction
// for patch [kg/m/s]
virtual tmp<scalarField> DEff
(
const volScalarField& Yi,
const label patchi
) const
{
return alphaEff(patchi);
}
//- Correct the laminar transport
virtual void correct();

View File

@ -116,6 +116,17 @@ public:
// for patch [kg/m/s]
virtual tmp<scalarField> alphaEff(const label patchi) const = 0;
//- Effective mass diffusivity for a given specie mass-fraction [kg/m/s]
virtual tmp<volScalarField> DEff(const volScalarField& Yi) const = 0;
//- Effective mass diffusivity for a given specie mass-fraction
// for patch [kg/m/s]
virtual tmp<scalarField> DEff
(
const volScalarField& Yi,
const label patchi
) const = 0;
//- Return the heat flux
virtual tmp<volVectorField> q() const = 0;

View File

@ -175,7 +175,7 @@ eddyDiffusivity<TurbulenceThermophysicalTransportModel>::j
"j(" + Yi.name() + ')',
this->momentumTransport().alphaRhoPhi().group()
),
-this->alphaEff()*this->alpha()*fvc::grad(Yi)
-this->DEff(Yi)*this->alpha()*fvc::grad(Yi)
);
}
@ -187,7 +187,7 @@ eddyDiffusivity<TurbulenceThermophysicalTransportModel>::divj
volScalarField& Yi
) const
{
return -fvm::laplacian(this->alpha()*this->alphaEff(), Yi);
return -fvm::laplacian(this->alpha()*this->DEff(Yi), Yi);
}

View File

@ -178,6 +178,27 @@ public:
);
}
//- Effective mass diffusivity for a given specie mass-fraction [kg/m/s]
virtual tmp<volScalarField> DEff(const volScalarField& Yi) const
{
return volScalarField::New
(
"DEff",
alphaEff()
);
}
//- Effective mass diffusivity for a given specie mass-fraction
// for patch [kg/m/s]
virtual tmp<scalarField> DEff
(
const volScalarField& Yi,
const label patchi
) const
{
return alphaEff(patchi);
}
//- Return the heat flux
virtual tmp<volVectorField> q() const;

View File

@ -95,17 +95,17 @@ nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::q() const
const PtrList<volScalarField>& Y = composition.Y();
volScalarField alphaEffMinusDEff
volScalarField alphatMinusDt
(
"alphaEffMinusDEff",
this->alphaEff()*(1 - this->Prt_/Sct_)
"alphatMinusDt",
this->alphat()*(1 - this->Prt_/Sct_)
);
forAll(Y, i)
{
tmpq.ref() +=
this->alpha()
*alphaEffMinusDEff
*alphatMinusDt
*composition.HE(i, this->thermo().p(), this->thermo().T())
*fvc::grad(Y[i]);
}
@ -131,10 +131,10 @@ nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::divq
const PtrList<volScalarField>& Y = composition.Y();
volScalarField alphaEffMinusDEff
volScalarField alphatMinusDt
(
"alphaEffMinusDEff",
this->alphaEff()*(1 - this->Prt_/Sct_)
"alphatMinusDt",
this->alphat()*(1 - this->Prt_/Sct_)
);
forAll(Y, i)
@ -143,7 +143,7 @@ nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::divq
fvc::laplacian
(
this->alpha()
*alphaEffMinusDEff
*alphatMinusDt
*composition.HE(i, this->thermo().p(), this->thermo().T()),
Y[i]
);
@ -154,32 +154,6 @@ nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::divq
}
template<class TurbulenceThermophysicalTransportModel>
tmp<volVectorField>
nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::j
(
const volScalarField& Yi
) const
{
return
this->Prt_/Sct_
*eddyDiffusivity<TurbulenceThermophysicalTransportModel>::j(Yi);
}
template<class TurbulenceThermophysicalTransportModel>
tmp<fvScalarMatrix>
nonUnityLewisEddyDiffusivity<TurbulenceThermophysicalTransportModel>::divj
(
volScalarField& Yi
) const
{
return
this->Prt_/Sct_
*eddyDiffusivity<TurbulenceThermophysicalTransportModel>::divj(Yi);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace turbulenceThermophysicalTransportModels

View File

@ -27,7 +27,8 @@ Class
Description
Non-unity-Lewis-Eddy-diffusivity based gradient heat flux model for RAS or
LES of turbulent flow. Allows independent specification of turbulent
Prandtl and Schmidt numbers.
Prandtl and Schmidt numbers. The laminar Lewis number is still assumed to
equal one.
Usage
\verbatim
@ -113,17 +114,36 @@ public:
//- Read thermophysicalTransport dictionary
virtual bool read();
//- Effective mass diffusivity for a given specie mass-fraction [kg/m/s]
virtual tmp<volScalarField> DEff(const volScalarField& Yi) const
{
return volScalarField::New
(
"DEff",
this->thermo().alphaEff(this->Prt_/Sct_*this->alphat())
);
}
//- Effective mass diffusivity for a given specie mass-fraction
// for patch [kg/m/s]
virtual tmp<scalarField> DEff
(
const volScalarField& Yi,
const label patchi
) const
{
return this->thermo().alphaEff
(
this->Prt_.value()/Sct_.value()*this->alphat(patchi),
patchi
);
}
//- Return the heat flux
virtual tmp<volVectorField> q() const;
//- Return the source term for the energy equation
virtual tmp<fvScalarMatrix> divq(volScalarField& he) const;
//- Return the specie flux for the given specie mass-fraction
virtual tmp<volVectorField> j(const volScalarField& Yi) const;
//- Return the source term for the given specie mass-fraction equation
virtual tmp<fvScalarMatrix> divj(volScalarField& Yi) const;
};