diff --git a/src/ThermophysicalTransportModels/laminar/laminarThermophysicalTransportModel/laminarThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/laminar/laminarThermophysicalTransportModel/laminarThermophysicalTransportModel.H index a9ce685ef9..715fbece6c 100644 --- a/src/ThermophysicalTransportModels/laminar/laminarThermophysicalTransportModel/laminarThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/laminar/laminarThermophysicalTransportModel/laminarThermophysicalTransportModel.H @@ -181,6 +181,27 @@ public: return this->thermo().alphahe(patchi); } + //- Effective mass diffusivity for a given specie mass-fraction [kg/m/s] + virtual tmp 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 DEff + ( + const volScalarField& Yi, + const label patchi + ) const + { + return alphaEff(patchi); + } + //- Correct the laminar transport virtual void correct(); diff --git a/src/ThermophysicalTransportModels/thermophysicalTransportModel/thermophysicalTransportModel.H b/src/ThermophysicalTransportModels/thermophysicalTransportModel/thermophysicalTransportModel.H index 266aa3bd3a..e7fd06c587 100644 --- a/src/ThermophysicalTransportModels/thermophysicalTransportModel/thermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/thermophysicalTransportModel/thermophysicalTransportModel.H @@ -116,6 +116,17 @@ public: // for patch [kg/m/s] virtual tmp alphaEff(const label patchi) const = 0; + //- Effective mass diffusivity for a given specie mass-fraction [kg/m/s] + virtual tmp DEff(const volScalarField& Yi) const = 0; + + //- Effective mass diffusivity for a given specie mass-fraction + // for patch [kg/m/s] + virtual tmp DEff + ( + const volScalarField& Yi, + const label patchi + ) const = 0; + //- Return the heat flux virtual tmp q() const = 0; diff --git a/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.C b/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.C index 0e6dcdb460..3eeb5beaf4 100644 --- a/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.C +++ b/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.C @@ -175,7 +175,7 @@ eddyDiffusivity::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::divj volScalarField& Yi ) const { - return -fvm::laplacian(this->alpha()*this->alphaEff(), Yi); + return -fvm::laplacian(this->alpha()*this->DEff(Yi), Yi); } diff --git a/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.H b/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.H index 25d7b527a7..c7c84a9c00 100644 --- a/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.H +++ b/src/ThermophysicalTransportModels/turbulence/eddyDiffusivity/eddyDiffusivity.H @@ -178,6 +178,27 @@ public: ); } + //- Effective mass diffusivity for a given specie mass-fraction [kg/m/s] + virtual tmp 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 DEff + ( + const volScalarField& Yi, + const label patchi + ) const + { + return alphaEff(patchi); + } + //- Return the heat flux virtual tmp q() const; diff --git a/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.C b/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.C index 6a67735993..37c2482e07 100644 --- a/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.C +++ b/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.C @@ -95,17 +95,17 @@ nonUnityLewisEddyDiffusivity::q() const const PtrList& 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::divq const PtrList& 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::divq fvc::laplacian ( this->alpha() - *alphaEffMinusDEff + *alphatMinusDt *composition.HE(i, this->thermo().p(), this->thermo().T()), Y[i] ); @@ -154,32 +154,6 @@ nonUnityLewisEddyDiffusivity::divq } -template -tmp -nonUnityLewisEddyDiffusivity::j -( - const volScalarField& Yi -) const -{ - return - this->Prt_/Sct_ - *eddyDiffusivity::j(Yi); -} - - -template -tmp -nonUnityLewisEddyDiffusivity::divj -( - volScalarField& Yi -) const -{ - return - this->Prt_/Sct_ - *eddyDiffusivity::divj(Yi); -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace turbulenceThermophysicalTransportModels diff --git a/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.H b/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.H index 91cc9292aa..21c2b21a30 100644 --- a/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.H +++ b/src/ThermophysicalTransportModels/turbulence/nonUnityLewisEddyDiffusivity/nonUnityLewisEddyDiffusivity.H @@ -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 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 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 q() const; //- Return the source term for the energy equation virtual tmp divq(volScalarField& he) const; - - //- Return the specie flux for the given specie mass-fraction - virtual tmp j(const volScalarField& Yi) const; - - //- Return the source term for the given specie mass-fraction equation - virtual tmp divj(volScalarField& Yi) const; };