Thermodynamics: split the thermal diffusivity alpha into alphah and alphae

for enthalpy and internal energy respectively

Change the implementation of alphah and alphae to use the local heat capacity
rather than attempting to compensate for the variation in an ad hoc manner.  For
correctness a heat capacity gradient term should be added to the energy
equations.
This commit is contained in:
Henry 2012-05-04 14:47:07 +01:00
parent f36879826e
commit 5e60c99c4a
34 changed files with 190 additions and 113 deletions

View File

@ -49,7 +49,7 @@ void Foam::ePsiThermo<MixtureType>::calculate()
psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphae(TCells[celli]);
}
forAll(this->T_.boundaryField(), patchi)
@ -74,7 +74,7 @@ void Foam::ePsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphae(pT[facei]);
}
}
else
@ -88,7 +88,7 @@ void Foam::ePsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphae(pT[facei]);
}
}
}

View File

@ -47,7 +47,7 @@ void Foam::hPsiThermo<MixtureType>::calculate()
psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -72,7 +72,7 @@ void Foam::hPsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -86,7 +86,7 @@ void Foam::hPsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
}

View File

@ -47,7 +47,7 @@ void Foam::hsPsiThermo<MixtureType>::calculate()
psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -72,7 +72,7 @@ void Foam::hsPsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -86,7 +86,7 @@ void Foam::hsPsiThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
}

View File

@ -49,7 +49,7 @@ void Foam::hRhoThermo<MixtureType>::calculate()
rhoCells[celli] = mixture_.rho(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
}
forAll(this->T_.boundaryField(), patchi)
@ -76,7 +76,7 @@ void Foam::hRhoThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
prho[facei] = mixture_.rho(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -91,7 +91,7 @@ void Foam::hRhoThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
prho[facei] = mixture_.rho(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
}

View File

@ -49,7 +49,7 @@ void Foam::hsRhoThermo<MixtureType>::calculate()
rhoCells[celli] = mixture_.rho(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
}
forAll(this->T_.boundaryField(), patchi)
@ -76,7 +76,7 @@ void Foam::hsRhoThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
prho[facei] = mixture_.rho(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -91,7 +91,7 @@ void Foam::hsRhoThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
prho[facei] = mixture_.rho(pp[facei], pT[facei]);
pmu[facei] = mixture_.mu(pT[facei]);
palpha[facei] = mixture_.alpha(pT[facei]);
palpha[facei] = mixture_.alphah(pT[facei]);
}
}
}

View File

@ -49,7 +49,7 @@ void Foam::hPsiMixtureThermo<MixtureType>::calculate()
psiCells[celli] = mixture.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture.mu(TCells[celli]);
alphaCells[celli] = mixture.alpha(TCells[celli]);
alphaCells[celli] = mixture.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -74,7 +74,7 @@ void Foam::hPsiMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
else
@ -88,7 +88,7 @@ void Foam::hPsiMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
}

View File

@ -98,7 +98,7 @@ void Foam::hhuMixtureThermo<MixtureType>::calculate()
psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
TuCells[celli] =
this->cellReactants(celli).TH(huCells[celli], TuCells[celli]);
@ -128,7 +128,7 @@ void Foam::hhuMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture_.mu(pT[facei]);
palpha_[facei] = mixture_.alpha(pT[facei]);
palpha_[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -142,7 +142,7 @@ void Foam::hhuMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture_.mu(pT[facei]);
palpha_[facei] = mixture_.alpha(pT[facei]);
palpha_[facei] = mixture_.alphah(pT[facei]);
pTu[facei] =
this->patchFaceReactants(patchi, facei)

View File

@ -84,7 +84,7 @@ void Foam::hsPsiMixtureThermo<MixtureType>::calculate()
psiCells[celli] = mixture_.psi(pCells[celli], TCells[celli]);
muCells[celli] = mixture_.mu(TCells[celli]);
alphaCells[celli] = mixture_.alpha(TCells[celli]);
alphaCells[celli] = mixture_.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -109,7 +109,7 @@ void Foam::hsPsiMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture_.mu(pT[facei]);
palpha_[facei] = mixture_.alpha(pT[facei]);
palpha_[facei] = mixture_.alphah(pT[facei]);
}
}
else
@ -123,7 +123,7 @@ void Foam::hsPsiMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture_.psi(pp[facei], pT[facei]);
pmu_[facei] = mixture_.mu(pT[facei]);
palpha_[facei] = mixture_.alpha(pT[facei]);
palpha_[facei] = mixture_.alphah(pT[facei]);
}
}
}

View File

@ -166,8 +166,13 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const = 0;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const = 0;
//- Thermal diffusivity enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const
= 0;
//- Thermal diffusivity internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const
= 0;
};

View File

@ -272,13 +272,24 @@ Foam::scalar Foam::dieselMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::dieselMixture<ThermoType>::alpha
Foam::scalar Foam::dieselMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alpha(T);
return getLocalThermo(specieI).alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::dieselMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alphae(T);
}

View File

@ -203,8 +203,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity for internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -282,13 +282,24 @@ Foam::scalar Foam::egrMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::egrMixture<ThermoType>::alpha
Foam::scalar Foam::egrMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alpha(T);
return getLocalThermo(specieI).alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::egrMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alphae(T);
}

View File

@ -219,8 +219,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -261,13 +261,24 @@ Foam::scalar Foam::homogeneousMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::homogeneousMixture<ThermoType>::alpha
Foam::scalar Foam::homogeneousMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alpha(T);
return getLocalThermo(specieI).alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::homogeneousMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alphae(T);
}

View File

@ -177,8 +177,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -277,13 +277,24 @@ Foam::scalar Foam::inhomogeneousMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::inhomogeneousMixture<ThermoType>::alpha
Foam::scalar Foam::inhomogeneousMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alpha(T);
return getLocalThermo(specieI).alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::inhomogeneousMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alphae(T);
}

View File

@ -208,8 +208,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity for internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -302,13 +302,24 @@ Foam::scalar Foam::multiComponentMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::multiComponentMixture<ThermoType>::alpha
Foam::scalar Foam::multiComponentMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return speciesData_[specieI].alpha(T);
return speciesData_[specieI].alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::multiComponentMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return speciesData_[specieI].alphae(T);
}

View File

@ -167,8 +167,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity of enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity of internal energy[kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -278,13 +278,24 @@ Foam::scalar Foam::veryInhomogeneousMixture<ThermoType>::kappa
template<class ThermoType>
Foam::scalar Foam::veryInhomogeneousMixture<ThermoType>::alpha
Foam::scalar Foam::veryInhomogeneousMixture<ThermoType>::alphah
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alpha(T);
return getLocalThermo(specieI).alphah(T);
}
template<class ThermoType>
Foam::scalar Foam::veryInhomogeneousMixture<ThermoType>::alphae
(
const label specieI,
const scalar T
) const
{
return getLocalThermo(specieI).alphae(T);
}

View File

@ -209,8 +209,11 @@ public:
//- Thermal conductivity [W/m/K]
virtual scalar kappa(const label specieI, const scalar T) const;
//- Thermal diffusivity [kg/m/s]
virtual scalar alpha(const label specieI, const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/m/s]
virtual scalar alphah(const label specieI, const scalar T) const;
//- Thermal diffusivity for internal energy [kg/m/s]
virtual scalar alphae(const label specieI, const scalar T) const;
};

View File

@ -51,7 +51,7 @@ void Foam::hRhoMixtureThermo<MixtureType>::calculate()
rhoCells[celli] = mixture.rho(pCells[celli], TCells[celli]);
muCells[celli] = mixture.mu(TCells[celli]);
alphaCells[celli] = mixture.alpha(TCells[celli]);
alphaCells[celli] = mixture.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -78,7 +78,7 @@ void Foam::hRhoMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
prho[facei] = mixture.rho(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
else
@ -93,7 +93,7 @@ void Foam::hRhoMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
prho[facei] = mixture.rho(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
}

View File

@ -51,7 +51,7 @@ void Foam::hsRhoMixtureThermo<MixtureType>::calculate()
rhoCells[celli] = mixture.rho(pCells[celli], TCells[celli]);
muCells[celli] = mixture.mu(TCells[celli]);
alphaCells[celli] = mixture.alpha(TCells[celli]);
alphaCells[celli] = mixture.alphah(TCells[celli]);
}
forAll(T_.boundaryField(), patchi)
@ -78,7 +78,7 @@ void Foam::hsRhoMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
prho[facei] = mixture.rho(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
else
@ -93,7 +93,7 @@ void Foam::hsRhoMixtureThermo<MixtureType>::calculate()
ppsi[facei] = mixture.psi(pp[facei], pT[facei]);
prho[facei] = mixture.rho(pp[facei], pT[facei]);
pmu_[facei] = mixture.mu(pT[facei]);
palpha_[facei] = mixture.alpha(pT[facei]);
palpha_[facei] = mixture.alphah(pT[facei]);
}
}
}

View File

@ -95,9 +95,6 @@ public:
//- Thermal conductivity [W/mK]
inline scalar K(const scalar T) const;
//- Thermal diffusivity [kg/ms]
inline scalar alpha(const scalar T) const;
// Ostream Operator

View File

@ -58,18 +58,4 @@ inline Foam::scalar Foam::constSolidTransport<thermo>::K(const scalar T) const
}
template<class thermo>
inline Foam::scalar Foam::constSolidTransport<thermo>::alpha
(
const scalar T
) const
{
scalar Cp = this->Cp(T);
scalar rho = this->rho(T);
return K_/(rho*Cp);
}
// ************************************************************************* //

View File

@ -106,9 +106,6 @@ public:
//- Thermal conductivity [W/mK]
inline scalar K(const scalar T) const;
//- Thermal diffusivity [kg/ms]
inline scalar alpha(const scalar T) const;
// Ostream Operator

View File

@ -67,18 +67,5 @@ inline Foam::scalar Foam::exponentialSolidTransport<thermo>::K
}
template<class thermo>
inline Foam::scalar Foam::exponentialSolidTransport<thermo>::alpha
(
const scalar T
) const
{
scalar Cp = this->Cp(T);
scalar rho = this->rho(T);
return (K(T)/(rho*Cp));
}
// ************************************************************************* //

View File

@ -134,8 +134,11 @@ public:
//- Thermal conductivity [W/mK]
inline scalar kappa(const scalar T) const;
//- Thermal diffusivity for internal energy [kg/ms]
inline scalar alphae(const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/ms]
inline scalar alpha(const scalar T) const;
inline scalar alphah(const scalar T) const;
// Species diffusivity
//inline scalar D(const scalar T) const;

View File

@ -69,15 +69,16 @@ inline Foam::scalar Foam::constTransport<Thermo>::kappa(const scalar T) const
template<class Thermo>
inline Foam::scalar Foam::constTransport<Thermo>::alpha(const scalar T) const
inline Foam::scalar Foam::constTransport<Thermo>::alphae(const scalar T) const
{
scalar Cp_ = this->Cp(T);
return this->kappa(T)/this->Cv(T);
}
scalar deltaT = T - specie::Tstd;
scalar CpBar =
(deltaT*(this->H(T) - this->H(specie::Tstd)) + Cp_)/(sqr(deltaT) + 1);
return Cp_*mu(T)*rPr_/CpBar;
template<class Thermo>
inline Foam::scalar Foam::constTransport<Thermo>::alphah(const scalar T) const
{
return mu(T)*rPr_;
}

View File

@ -148,8 +148,11 @@ public:
//- Thermal conductivity [W/mK]
inline scalar kappa(const scalar T) const;
//- Thermal diffusivity for internal energy [kg/ms]
inline scalar alphae(const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/ms]
inline scalar alpha(const scalar T) const;
inline scalar alphah(const scalar T) const;
// Species diffusivity
//inline scalar D(const scalar T) const;

View File

@ -122,17 +122,22 @@ inline Foam::scalar Foam::polynomialTransport<Thermo, PolySize>::kappa
template<class Thermo, int PolySize>
inline Foam::scalar Foam::polynomialTransport<Thermo, PolySize>::alpha
inline Foam::scalar Foam::polynomialTransport<Thermo, PolySize>::alphae
(
const scalar T
) const
{
scalar deltaT = T - specie::Tstd;
scalar CpBar =
(deltaT*(this->H(T) - this->H(specie::Tstd)) + this->Cp(T))
/(sqr(deltaT) + 1);
return kappa(T)/this->Cv(T);
}
return kappa(T)/CpBar;
template<class Thermo, int PolySize>
inline Foam::scalar Foam::polynomialTransport<Thermo, PolySize>::alphah
(
const scalar T
) const
{
return kappa(T)/this->Cp(T);
}

View File

@ -81,8 +81,11 @@ public:
// Thermal conductivity [W/mK]
//inline scalar kappa(const scalar T) const;
// Thermal diffusivity for internal energy [kg/ms]
//inline scalar alphae(const scalar T) const;
// Thermal diffusivity for enthalpy [kg/ms]
//inline scalar alpha(const scalar T) const;
//inline scalar alphah(const scalar T) const;
// Species diffusivity
//inline scalar D(const scalar T) const;

View File

@ -162,8 +162,11 @@ public:
//- Thermal conductivity [W/mK]
inline scalar kappa(const scalar T) const;
//- Thermal diffusivity for internal energy [kg/ms]
inline scalar alphae(const scalar T) const;
//- Thermal diffusivity for enthalpy [kg/ms]
inline scalar alpha(const scalar T) const;
inline scalar alphah(const scalar T) const;
// Species diffusivity
//inline scalar D(const scalar T) const;

View File

@ -147,20 +147,23 @@ inline Foam::scalar Foam::sutherlandTransport<Thermo>::kappa
template<class Thermo>
inline Foam::scalar Foam::sutherlandTransport<Thermo>::alpha
inline Foam::scalar Foam::sutherlandTransport<Thermo>::alphae
(
const scalar T
) const
{
scalar Cv_ = this->Cv(T);
scalar R_ = this->R();
scalar Cp_ = Cv_ + R_;
return mu(T)*(1.32 + 1.77*this->R()/this->Cv(T));
}
scalar deltaT = T - specie::Tstd;
scalar CpBar =
(deltaT*(this->H(T) - this->H(specie::Tstd)) + Cp_)/(sqr(deltaT) + 1);
return mu(T)*Cv_*(1.32 + 1.77*this->R()/Cv_)/CpBar;
template<class Thermo>
inline Foam::scalar Foam::sutherlandTransport<Thermo>::alphah
(
const scalar T
) const
{
return kappa(T)/this->Cp(T);
}