thermophysicalModels: Renamed he*Thermo classes
The he*Thermo classes have been renamed to match their corresponding basic thermo classes. E.g., rhoThermo now corresponds to RhoThermo, rather than heRhoThermo.
This commit is contained in:
@ -19,7 +19,7 @@ type
|
||||
heRhoThermo
|
||||
);
|
||||
|
||||
typeBase
|
||||
typeRenamed
|
||||
(
|
||||
hePsiThermo psiMulticomponentThermo
|
||||
heRhoThermo rhoMulticomponentThermo
|
||||
|
||||
@ -37,15 +37,12 @@ License
|
||||
#include "${transport}Transport.H"
|
||||
|
||||
// psi/rho
|
||||
#include "${typeBase}.H"
|
||||
#include "${type}.H"
|
||||
|
||||
// Mixture
|
||||
#include "${mixture}.H"
|
||||
|
||||
#include "thermo.H"
|
||||
#include "heMulticomponentThermo.H"
|
||||
#include "heFluidMulticomponentThermo.H"
|
||||
#include "typedefThermo.H"
|
||||
#include "makeThermo.H"
|
||||
|
||||
@ -88,7 +85,7 @@ namespace Foam
|
||||
|
||||
defineThermo
|
||||
(
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
@ -96,15 +93,15 @@ namespace Foam
|
||||
addThermo
|
||||
(
|
||||
fluidMulticomponentThermo,
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
addThermo
|
||||
(
|
||||
${typeBase},
|
||||
${typeBase},
|
||||
${type},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
@ -19,7 +19,7 @@ type
|
||||
heRhoThermo
|
||||
);
|
||||
|
||||
typeBase
|
||||
typeRenamed
|
||||
(
|
||||
hePsiThermo psiThermo
|
||||
heRhoThermo rhoThermo
|
||||
|
||||
@ -37,7 +37,6 @@ License
|
||||
#include "${transport}Transport.H"
|
||||
|
||||
// psi/rho
|
||||
#include "${typeBase}.H"
|
||||
#include "${type}.H"
|
||||
|
||||
// Mixture
|
||||
@ -86,7 +85,7 @@ namespace Foam
|
||||
|
||||
defineThermo
|
||||
(
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
@ -94,15 +93,15 @@ namespace Foam
|
||||
addThermo
|
||||
(
|
||||
fluidThermo,
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
addThermo
|
||||
(
|
||||
${typeBase},
|
||||
${typeBase},
|
||||
${type},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
@ -18,7 +18,7 @@ type
|
||||
hePsiThermo
|
||||
);
|
||||
|
||||
typeBase
|
||||
typeRenamed
|
||||
(
|
||||
hePsiThermo psiThermo
|
||||
);
|
||||
|
||||
@ -18,7 +18,7 @@ type
|
||||
heheuPsiThermo
|
||||
);
|
||||
|
||||
typeBase
|
||||
typeRenamed
|
||||
(
|
||||
heheuPsiThermo psiuMulticomponentThermo
|
||||
);
|
||||
|
||||
@ -37,7 +37,6 @@ License
|
||||
#include "${transport}Transport.H"
|
||||
|
||||
// psi/rho
|
||||
#include "${typeBase}.H"
|
||||
#include "${type}.H"
|
||||
|
||||
// Mixture
|
||||
@ -86,15 +85,15 @@ namespace Foam
|
||||
|
||||
defineThermo
|
||||
(
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
addThermo
|
||||
(
|
||||
${typeBase},
|
||||
${typeBase},
|
||||
${type},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
@ -18,7 +18,7 @@ type
|
||||
heSolidThermo
|
||||
);
|
||||
|
||||
typeBase
|
||||
typeRenamed
|
||||
(
|
||||
heSolidThermo solidThermo
|
||||
);
|
||||
|
||||
@ -37,7 +37,6 @@ License
|
||||
#include "${transport}Transport.H"
|
||||
|
||||
// psi/rho
|
||||
#include "${typeBase}.H"
|
||||
#include "${type}.H"
|
||||
|
||||
// Mixture
|
||||
@ -86,15 +85,15 @@ namespace Foam
|
||||
|
||||
defineThermo
|
||||
(
|
||||
${typeBase},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
addThermo
|
||||
(
|
||||
${typeBase},
|
||||
${typeBase},
|
||||
${type},
|
||||
${type},
|
||||
${mixture},
|
||||
${transport}Transport${energy}${thermo}Thermo${equationOfState}${specie}
|
||||
);
|
||||
|
||||
@ -99,13 +99,6 @@ void Foam::compileTemplate::setFilterVariable
|
||||
}
|
||||
|
||||
dynCode.setFilterVariable(name, type);
|
||||
|
||||
const word typeBase(name + "Base");
|
||||
if (context.dict().found(typeBase))
|
||||
{
|
||||
const HashTable<word> typeToBaseMap(context.dict().lookup(typeBase));
|
||||
dynCode.setFilterVariable(typeBase, typeToBaseMap[type]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
basicThermo/basicThermo.C
|
||||
basicThermo/BasicThermoName.C
|
||||
|
||||
pureThermo/pureThermo.C
|
||||
|
||||
@ -21,6 +22,4 @@ derivedFvPatchFields/gradientEnergy/gradientEnergyCalculatedTemperatureFvPatchSc
|
||||
derivedFvPatchFields/mixedEnergy/mixedEnergyFvPatchScalarField.C
|
||||
derivedFvPatchFields/mixedEnergy/mixedEnergyCalculatedTemperatureFvPatchScalarField.C
|
||||
|
||||
heThermo/heThermoName.C
|
||||
|
||||
LIB = $(FOAM_LIBBIN)/libfluidThermophysicalModels
|
||||
|
||||
@ -23,7 +23,7 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
#include "gradientEnergyFvPatchScalarField.H"
|
||||
#include "mixedEnergyFvPatchScalarField.H"
|
||||
|
||||
@ -32,7 +32,7 @@ License
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
template<class Mixture, class Method, class ... Args>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::volScalarFieldProperty
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::volScalarFieldProperty
|
||||
(
|
||||
const word& psiName,
|
||||
const dimensionSet& psiDim,
|
||||
@ -84,7 +84,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::volScalarFieldProperty
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
template<class Mixture, class Method, class ... Args>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::cellSetProperty
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::cellSetProperty
|
||||
(
|
||||
Mixture mixture,
|
||||
Method psiMethod,
|
||||
@ -113,7 +113,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::cellSetProperty
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
template<class Mixture, class Method, class ... Args>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::patchFieldProperty
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::patchFieldProperty
|
||||
(
|
||||
Mixture mixture,
|
||||
Method psiMethod,
|
||||
@ -141,7 +141,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::patchFieldProperty
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::UIndirectList<Foam::scalar>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
(
|
||||
const volScalarField& psi,
|
||||
const labelList& cells
|
||||
@ -153,7 +153,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::UniformField<Foam::scalar>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
(
|
||||
const uniformGeometricScalarField& psi,
|
||||
const labelList&
|
||||
@ -164,7 +164,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::cellSetScalarList
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
void Foam::heThermo<MixtureType, BasicThermoType>::
|
||||
void Foam::BasicThermo<MixtureType, BasicThermoType>::
|
||||
heBoundaryCorrection(volScalarField& h)
|
||||
{
|
||||
volScalarField::Boundary& hBf = h.boundaryFieldRef();
|
||||
@ -188,7 +188,7 @@ heBoundaryCorrection(volScalarField& h)
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::heThermo
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::BasicThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
@ -256,12 +256,7 @@ Foam::heThermo<MixtureType, BasicThermoType>::heThermo
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::~heThermo()
|
||||
{}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::namedHeThermo<HeThermo>::~namedHeThermo()
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::~BasicThermo()
|
||||
{}
|
||||
|
||||
|
||||
@ -269,7 +264,7 @@ Foam::namedHeThermo<HeThermo>::~namedHeThermo()
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
const Foam::volScalarField&
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::Cpv() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::Cpv() const
|
||||
{
|
||||
if (MixtureType::thermoType::enthalpy())
|
||||
{
|
||||
@ -283,7 +278,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::Cpv() const
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::he
|
||||
(
|
||||
const volScalarField& p,
|
||||
const volScalarField& T
|
||||
@ -302,7 +298,8 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::he
|
||||
(
|
||||
const scalarField& T,
|
||||
const labelList& cells
|
||||
@ -320,7 +317,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::he
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -339,7 +337,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::he
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::hs() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::hs() const
|
||||
{
|
||||
return volScalarFieldProperty
|
||||
(
|
||||
@ -354,7 +352,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::hs() const
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::hs
|
||||
(
|
||||
const volScalarField& p,
|
||||
const volScalarField& T
|
||||
@ -373,7 +372,8 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::hs
|
||||
(
|
||||
const scalarField& T,
|
||||
const labelList& cells
|
||||
@ -391,7 +391,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::hs
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -410,7 +411,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::hs
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::ha() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::ha() const
|
||||
{
|
||||
return volScalarFieldProperty
|
||||
(
|
||||
@ -425,7 +426,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::ha() const
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::ha
|
||||
(
|
||||
const volScalarField& p,
|
||||
const volScalarField& T
|
||||
@ -444,7 +446,8 @@ Foam::tmp<Foam::volScalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::ha
|
||||
(
|
||||
const scalarField& T,
|
||||
const labelList& cells
|
||||
@ -462,7 +465,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::ha
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -481,7 +485,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::ha
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::hc() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::hc() const
|
||||
{
|
||||
return volScalarFieldProperty
|
||||
(
|
||||
@ -494,7 +498,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::hc() const
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cp
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::Cp
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -512,7 +517,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cp
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cv
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::Cv
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -530,7 +536,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cv
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::gamma
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::gamma
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -549,14 +556,15 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::gamma
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::gamma() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::gamma() const
|
||||
{
|
||||
return volScalarField::New("gamma", Cp_/Cv_);
|
||||
}
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cpv
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::Cpv
|
||||
(
|
||||
const scalarField& T,
|
||||
const label patchi
|
||||
@ -575,7 +583,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::Cpv
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::THE
|
||||
(
|
||||
const volScalarField& h,
|
||||
const volScalarField& p,
|
||||
@ -596,7 +604,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::THE
|
||||
(
|
||||
const scalarField& h,
|
||||
const scalarField& T0,
|
||||
@ -616,7 +625,8 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::THE
|
||||
(
|
||||
const scalarField& h,
|
||||
const scalarField& T0,
|
||||
@ -637,7 +647,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::THE
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heThermo<MixtureType, BasicThermoType>::W() const
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::W() const
|
||||
{
|
||||
return volScalarFieldProperty
|
||||
(
|
||||
@ -650,7 +660,8 @@ Foam::heThermo<MixtureType, BasicThermoType>::W() const
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::W
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::BasicThermo<MixtureType, BasicThermoType>::W
|
||||
(
|
||||
const label patchi
|
||||
) const
|
||||
@ -665,7 +676,7 @@ Foam::tmp<Foam::scalarField> Foam::heThermo<MixtureType, BasicThermoType>::W
|
||||
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
bool Foam::heThermo<MixtureType, BasicThermoType>::read()
|
||||
bool Foam::BasicThermo<MixtureType, BasicThermoType>::read()
|
||||
{
|
||||
if (physicalProperties::read())
|
||||
{
|
||||
@ -22,7 +22,7 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heThermo
|
||||
Foam::BasicThermo
|
||||
|
||||
Description
|
||||
Thermo implementation and storage of energy and heat capacities. Provides
|
||||
@ -30,12 +30,12 @@ Description
|
||||
the primitive thermo model.
|
||||
|
||||
SourceFiles
|
||||
heThermo.C
|
||||
BasicThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heThermo_H
|
||||
#define heThermo_H
|
||||
#ifndef BasicThermo_H
|
||||
#define BasicThermo_H
|
||||
|
||||
#include "volFields.H"
|
||||
#include "physicalProperties.H"
|
||||
@ -47,20 +47,20 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heThermoName Declaration
|
||||
Class BasicThermoName Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
TemplateName(heThermo);
|
||||
TemplateName(BasicThermo);
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heThermo Declaration
|
||||
Class BasicThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class MixtureType, class BasicThermoType>
|
||||
class heThermo
|
||||
class BasicThermo
|
||||
:
|
||||
public heThermoName,
|
||||
public BasicThermoName,
|
||||
public physicalProperties,
|
||||
public MixtureType,
|
||||
public BasicThermoType
|
||||
@ -142,20 +142,20 @@ public:
|
||||
|
||||
|
||||
//- Disambiguate debug switch used by derivations
|
||||
using heThermoName::debug;
|
||||
using BasicThermoName::debug;
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heThermo(const fvMesh&, const word& phaseName);
|
||||
BasicThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heThermo(const heThermo<MixtureType, BasicThermoType>&) = delete;
|
||||
BasicThermo(const BasicThermo<MixtureType, BasicThermoType>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heThermo();
|
||||
virtual ~BasicThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -374,32 +374,6 @@ public:
|
||||
};
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class namedHeThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class namedHeThermo
|
||||
:
|
||||
public HeThermo
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("heThermo");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Inherit constructors
|
||||
using HeThermo::HeThermo;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~namedHeThermo();
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
@ -407,7 +381,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heThermo.C"
|
||||
#include "BasicThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -23,13 +23,13 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(heThermoName, 0);
|
||||
defineTypeNameAndDebug(BasicThermoName, 0);
|
||||
}
|
||||
|
||||
|
||||
77
src/thermophysicalModels/basic/basicThermo/NamedThermo.H
Normal file
77
src/thermophysicalModels/basic/basicThermo/NamedThermo.H
Normal file
@ -0,0 +1,77 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2023 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::NamedThermo
|
||||
|
||||
Description
|
||||
Final wrapper around a derived thermo. Adds type info.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef NamedThermo_H
|
||||
#define NamedThermo_H
|
||||
|
||||
#include "typeInfo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class NamedThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class BaseThermo>
|
||||
class NamedThermo
|
||||
:
|
||||
public BaseThermo
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("NamedThermo");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Inherit constructors
|
||||
using BaseThermo::BaseThermo;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~NamedThermo()
|
||||
{}
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -49,7 +49,7 @@ Description
|
||||
obtaining a single copy of all the implementation classes it needs to form
|
||||
a complete implementation. The use of virtual inheritance does not result
|
||||
in additional constructor calls propagating further down the hierarchy
|
||||
(into heThermo and similar) because all virtually inherited interface
|
||||
(into BasicThermo and similar) because all virtually inherited interface
|
||||
classes are default constructable.
|
||||
|
||||
SourceFiles
|
||||
|
||||
@ -23,40 +23,40 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heLiquidThermo.H"
|
||||
#include "LiquidThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heLiquidThermo<HeThermo>::heLiquidThermo
|
||||
template<class BaseThermo>
|
||||
Foam::LiquidThermo<BaseThermo>::LiquidThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName)
|
||||
BaseThermo(mesh, phaseName)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heLiquidThermo<HeThermo>::~heLiquidThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::LiquidThermo<BaseThermo>::~LiquidThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heLiquidThermo<HeThermo>::sigma() const
|
||||
Foam::LiquidThermo<BaseThermo>::sigma() const
|
||||
{
|
||||
return this->volScalarFieldProperty
|
||||
(
|
||||
"sigma",
|
||||
dimForce/dimLength,
|
||||
&HeThermo::mixtureType::thermoMixture,
|
||||
&HeThermo::mixtureType::thermoMixtureType::sigma,
|
||||
&BaseThermo::mixtureType::thermoMixture,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::sigma,
|
||||
this->p_,
|
||||
this->T_
|
||||
);
|
||||
@ -22,21 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heLiquidThermo
|
||||
Foam::LiquidThermo
|
||||
|
||||
Description
|
||||
Liquid thermo implementation
|
||||
|
||||
SourceFiles
|
||||
heLiquidThermo.C
|
||||
LiquidThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heLiquidThermo_H
|
||||
#define heLiquidThermo_H
|
||||
#ifndef LiquidThermo_H
|
||||
#define LiquidThermo_H
|
||||
|
||||
#include "liquidThermo.H"
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -44,27 +43,27 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heLiquidThermo Declaration
|
||||
Class LiquidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heLiquidThermo
|
||||
template<class BaseThermo>
|
||||
class LiquidThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heLiquidThermo(const fvMesh&, const word& phaseName);
|
||||
LiquidThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heLiquidThermo(const heLiquidThermo<HeThermo>&) = delete;
|
||||
LiquidThermo(const LiquidThermo<BaseThermo>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heLiquidThermo();
|
||||
virtual ~LiquidThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -76,7 +75,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const heLiquidThermo<HeThermo>&) = delete;
|
||||
void operator=(const LiquidThermo<BaseThermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -87,7 +86,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heLiquidThermo.C"
|
||||
#include "LiquidThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -38,6 +38,7 @@ SourceFiles
|
||||
#ifndef liquidThermo_H
|
||||
#define liquidThermo_H
|
||||
|
||||
#include "LiquidThermo.H"
|
||||
#include "rhoThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -45,10 +46,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class heRhoThermo;
|
||||
template<class> class heLiquidThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class liquidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -69,8 +66,8 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType =
|
||||
heLiquidThermo<heRhoThermo<heThermo<MixtureType, composite>>>;
|
||||
using DerivedThermoType =
|
||||
LiquidThermo<RhoThermo<BasicThermo<MixtureType, composite>>>;
|
||||
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -23,18 +23,15 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "liquidPropertiesSelector.H"
|
||||
|
||||
#include "sensibleInternalEnergy.H"
|
||||
#include "sensibleEnthalpy.H"
|
||||
#include "liquidThermo.H"
|
||||
|
||||
#include "pureMixture.H"
|
||||
|
||||
#include "liquidPropertiesSelector.H"
|
||||
#include "sensibleInternalEnergy.H"
|
||||
#include "sensibleEnthalpy.H"
|
||||
#include "thermo.H"
|
||||
|
||||
#include "liquidThermo.H"
|
||||
#include "heRhoThermo.H"
|
||||
#include "heLiquidThermo.H"
|
||||
#include "makeThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -23,12 +23,12 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "hePsiThermo.H"
|
||||
#include "PsiThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::hePsiThermo<HeThermo>::calculate()
|
||||
template<class BaseThermo>
|
||||
void Foam::PsiThermo<BaseThermo>::calculate()
|
||||
{
|
||||
const scalarField& hCells = this->he_;
|
||||
const scalarField& pCells = this->p_;
|
||||
@ -44,10 +44,10 @@ void Foam::hePsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->cellComposition(celli);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -108,10 +108,10 @@ void Foam::hePsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -131,10 +131,10 @@ void Foam::hePsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -154,14 +154,14 @@ void Foam::hePsiThermo<HeThermo>::calculate()
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::hePsiThermo<HeThermo>::hePsiThermo
|
||||
template<class BaseThermo>
|
||||
Foam::PsiThermo<BaseThermo>::PsiThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName)
|
||||
BaseThermo(mesh, phaseName)
|
||||
{
|
||||
calculate();
|
||||
|
||||
@ -172,17 +172,17 @@ Foam::hePsiThermo<HeThermo>::hePsiThermo
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::hePsiThermo<HeThermo>::~hePsiThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::PsiThermo<BaseThermo>::~PsiThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::hePsiThermo<HeThermo>::correct()
|
||||
template<class BaseThermo>
|
||||
void Foam::PsiThermo<BaseThermo>::correct()
|
||||
{
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
InfoInFunction << endl;
|
||||
}
|
||||
@ -192,7 +192,7 @@ void Foam::hePsiThermo<HeThermo>::correct()
|
||||
|
||||
calculate();
|
||||
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
Info<< " Finished" << endl;
|
||||
}
|
||||
@ -22,21 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::hePsiThermo
|
||||
Foam::PsiThermo
|
||||
|
||||
Description
|
||||
Thermo implementation based on compressibility
|
||||
|
||||
SourceFiles
|
||||
hePsiThermo.C
|
||||
PsiThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef hePsiThermo_H
|
||||
#define hePsiThermo_H
|
||||
#ifndef PsiThermo_H
|
||||
#define PsiThermo_H
|
||||
|
||||
#include "psiThermo.H"
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -44,13 +43,13 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class hePsiThermo Declaration
|
||||
Class PsiThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class hePsiThermo
|
||||
template<class Thermo>
|
||||
class PsiThermo
|
||||
:
|
||||
public HeThermo
|
||||
public Thermo
|
||||
{
|
||||
// Private Member Functions
|
||||
|
||||
@ -62,14 +61,14 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
hePsiThermo(const fvMesh&, const word& phaseName);
|
||||
PsiThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
hePsiThermo(const hePsiThermo<HeThermo>&) = delete;
|
||||
PsiThermo(const PsiThermo<Thermo>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~hePsiThermo();
|
||||
virtual ~PsiThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -81,7 +80,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const hePsiThermo<HeThermo>&) = delete;
|
||||
void operator=(const PsiThermo<Thermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -92,7 +91,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "hePsiThermo.C"
|
||||
#include "PsiThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -33,7 +33,7 @@ namespace Foam
|
||||
defineRunTimeSelectionTable(psiThermo, fvMesh);
|
||||
}
|
||||
|
||||
const Foam::word Foam::psiThermo::heThermoName("hePsiThermo");
|
||||
const Foam::word Foam::psiThermo::derivedThermoName("hePsiThermo");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -38,6 +38,7 @@ SourceFiles
|
||||
#ifndef psiThermo_H
|
||||
#define psiThermo_H
|
||||
|
||||
#include "PsiThermo.H"
|
||||
#include "fluidThermo.H"
|
||||
#include "pureThermo.H"
|
||||
|
||||
@ -46,9 +47,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class hePsiThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class psiThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -72,10 +70,11 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType = hePsiThermo<heThermo<MixtureType, composite>>;
|
||||
using DerivedThermoType =
|
||||
PsiThermo<BasicThermo<MixtureType, composite>>;
|
||||
|
||||
//- The derived name
|
||||
static const word heThermoName;
|
||||
static const word derivedThermoName;
|
||||
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -24,10 +24,11 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "psiThermo.H"
|
||||
#include "hePsiThermo.H"
|
||||
|
||||
#include "pureMixture.H"
|
||||
|
||||
#include "forGases.H"
|
||||
|
||||
#include "makeFluidThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -23,12 +23,12 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heRhoThermo.H"
|
||||
#include "RhoThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heRhoThermo<HeThermo>::calculate()
|
||||
template<class BaseThermo>
|
||||
void Foam::RhoThermo<BaseThermo>::calculate()
|
||||
{
|
||||
const scalarField& hCells = this->he();
|
||||
const scalarField& pCells = this->p_;
|
||||
@ -45,10 +45,10 @@ void Foam::heRhoThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->cellComposition(celli);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -114,10 +114,10 @@ void Foam::heRhoThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -138,10 +138,10 @@ void Foam::heRhoThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -162,14 +162,14 @@ void Foam::heRhoThermo<HeThermo>::calculate()
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heRhoThermo<HeThermo>::heRhoThermo
|
||||
template<class BaseThermo>
|
||||
Foam::RhoThermo<BaseThermo>::RhoThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName)
|
||||
BaseThermo(mesh, phaseName)
|
||||
{
|
||||
calculate();
|
||||
}
|
||||
@ -177,24 +177,24 @@ Foam::heRhoThermo<HeThermo>::heRhoThermo
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heRhoThermo<HeThermo>::~heRhoThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::RhoThermo<BaseThermo>::~RhoThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heRhoThermo<HeThermo>::correct()
|
||||
template<class BaseThermo>
|
||||
void Foam::RhoThermo<BaseThermo>::correct()
|
||||
{
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
InfoInFunction << endl;
|
||||
}
|
||||
|
||||
calculate();
|
||||
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
Info<< " Finished" << endl;
|
||||
}
|
||||
@ -22,21 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heRhoThermo
|
||||
Foam::RhoThermo
|
||||
|
||||
Description
|
||||
Thermo implementation based on density
|
||||
|
||||
SourceFiles
|
||||
heRhoThermo.C
|
||||
RhoThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heRhoThermo_H
|
||||
#define heRhoThermo_H
|
||||
#ifndef RhoThermo_H
|
||||
#define RhoThermo_H
|
||||
|
||||
#include "rhoThermo.H"
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -44,13 +43,13 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heRhoThermo Declaration
|
||||
Class RhoThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heRhoThermo
|
||||
template<class BaseThermo>
|
||||
class RhoThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
// Private Member Functions
|
||||
|
||||
@ -63,14 +62,14 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heRhoThermo(const fvMesh&, const word& phaseName);
|
||||
RhoThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heRhoThermo(const heRhoThermo<HeThermo>&) = delete;
|
||||
RhoThermo(const RhoThermo<BaseThermo>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heRhoThermo();
|
||||
virtual ~RhoThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -82,7 +81,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const heRhoThermo<HeThermo>&) = delete;
|
||||
void operator=(const RhoThermo<BaseThermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -93,7 +92,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heRhoThermo.C"
|
||||
#include "RhoThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -33,7 +33,7 @@ namespace Foam
|
||||
defineRunTimeSelectionTable(rhoThermo, fvMesh);
|
||||
}
|
||||
|
||||
const Foam::word Foam::rhoThermo::heThermoName("heRhoThermo");
|
||||
const Foam::word Foam::rhoThermo::derivedThermoName("heRhoThermo");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
@ -38,6 +38,7 @@ SourceFiles
|
||||
#ifndef rhoThermo_H
|
||||
#define rhoThermo_H
|
||||
|
||||
#include "RhoThermo.H"
|
||||
#include "fluidThermo.H"
|
||||
#include "pureThermo.H"
|
||||
|
||||
@ -46,9 +47,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class heRhoThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class rhoThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -72,10 +70,11 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType = heRhoThermo<heThermo<MixtureType, composite>>;
|
||||
using DerivedThermoType =
|
||||
RhoThermo<BasicThermo<MixtureType, composite>>;
|
||||
|
||||
//- The derived name
|
||||
static const word heThermoName;
|
||||
static const word derivedThermoName;
|
||||
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -24,12 +24,13 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "rhoThermo.H"
|
||||
#include "heRhoThermo.H"
|
||||
|
||||
#include "pureMixture.H"
|
||||
|
||||
#include "forGases.H"
|
||||
#include "forLiquids.H"
|
||||
#include "forTabulated.H"
|
||||
|
||||
#include "makeFluidThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -23,33 +23,33 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heFluidMulticomponentThermo.H"
|
||||
#include "FluidMulticomponentThermo.H"
|
||||
#include "fvMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heFluidMulticomponentThermo<HeThermo>::heFluidMulticomponentThermo
|
||||
template<class BaseThermo>
|
||||
Foam::FluidMulticomponentThermo<BaseThermo>::FluidMulticomponentThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName)
|
||||
BaseThermo(mesh, phaseName)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heFluidMulticomponentThermo<HeThermo>::~heFluidMulticomponentThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::FluidMulticomponentThermo<BaseThermo>::~FluidMulticomponentThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heFluidMulticomponentThermo<HeThermo>::mui
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::FluidMulticomponentThermo<BaseThermo>::mui
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -60,9 +60,9 @@ Foam::scalar Foam::heFluidMulticomponentThermo<HeThermo>::mui
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heFluidMulticomponentThermo<HeThermo>::mui
|
||||
Foam::FluidMulticomponentThermo<BaseThermo>::mui
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -73,7 +73,7 @@ Foam::heFluidMulticomponentThermo<HeThermo>::mui
|
||||
(
|
||||
"mu",
|
||||
dimMass/dimLength/dimTime,
|
||||
&HeThermo::mixtureType::thermoType::mu,
|
||||
&BaseThermo::mixtureType::thermoType::mu,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -22,20 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heFluidMulticomponentThermo
|
||||
Foam::FluidMulticomponentThermo
|
||||
|
||||
Description
|
||||
Fluid multi-component thermo implementation
|
||||
|
||||
SourceFiles
|
||||
heFluidMulticomponentThermo.C
|
||||
FluidMulticomponentThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heFluidMulticomponentThermo_H
|
||||
#define heFluidMulticomponentThermo_H
|
||||
#ifndef FluidMulticomponentThermo_H
|
||||
#define FluidMulticomponentThermo_H
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -43,30 +43,30 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heFluidMulticomponentThermo Declaration
|
||||
Class FluidMulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heFluidMulticomponentThermo
|
||||
template<class BaseThermo>
|
||||
class FluidMulticomponentThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heFluidMulticomponentThermo(const fvMesh&, const word& phaseName);
|
||||
FluidMulticomponentThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heFluidMulticomponentThermo
|
||||
FluidMulticomponentThermo
|
||||
(
|
||||
const heFluidMulticomponentThermo<HeThermo>&
|
||||
const FluidMulticomponentThermo<BaseThermo>&
|
||||
) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heFluidMulticomponentThermo();
|
||||
virtual ~FluidMulticomponentThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -93,7 +93,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const heFluidMulticomponentThermo<HeThermo>&) = delete;
|
||||
void operator=(const FluidMulticomponentThermo<BaseThermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -104,7 +104,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heFluidMulticomponentThermo.C"
|
||||
#include "FluidMulticomponentThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -40,6 +40,7 @@ SourceFiles
|
||||
|
||||
#include "fluidThermo.H"
|
||||
#include "multicomponentThermo.H"
|
||||
#include "FluidMulticomponentThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -23,15 +23,15 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heMulticomponentThermo.H"
|
||||
#include "MulticomponentThermo.H"
|
||||
#include "fvMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
template<class Method, class ... Args>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::volScalarFieldPropertyi
|
||||
Foam::MulticomponentThermo<BaseThermo>::volScalarFieldPropertyi
|
||||
(
|
||||
const word& psiName,
|
||||
const dimensionSet& psiDim,
|
||||
@ -40,7 +40,7 @@ Foam::heMulticomponentThermo<HeThermo>::volScalarFieldPropertyi
|
||||
const Args& ... args
|
||||
) const
|
||||
{
|
||||
const typename HeThermo::mixtureType::thermoType& thermo =
|
||||
const typename BaseThermo::mixtureType::thermoType& thermo =
|
||||
this->specieThermo(speciei);
|
||||
|
||||
tmp<volScalarField> tPsi
|
||||
@ -78,10 +78,10 @@ Foam::heMulticomponentThermo<HeThermo>::volScalarFieldPropertyi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
template<class Method, class Arg, class ... Args>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::scalarFieldPropertyi
|
||||
Foam::MulticomponentThermo<BaseThermo>::scalarFieldPropertyi
|
||||
(
|
||||
Method psiMethod,
|
||||
const label speciei,
|
||||
@ -89,7 +89,7 @@ Foam::heMulticomponentThermo<HeThermo>::scalarFieldPropertyi
|
||||
const Args& ... args
|
||||
) const
|
||||
{
|
||||
const typename HeThermo::mixtureType::thermoType& thermo =
|
||||
const typename BaseThermo::mixtureType::thermoType& thermo =
|
||||
this->specieThermo(speciei);
|
||||
|
||||
tmp<scalarField> tPsi(new scalarField(arg.size()));
|
||||
@ -107,28 +107,28 @@ Foam::heMulticomponentThermo<HeThermo>::scalarFieldPropertyi
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heMulticomponentThermo<HeThermo>::heMulticomponentThermo
|
||||
template<class BaseThermo>
|
||||
Foam::MulticomponentThermo<BaseThermo>::MulticomponentThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName)
|
||||
BaseThermo(mesh, phaseName)
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heMulticomponentThermo<HeThermo>::~heMulticomponentThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::MulticomponentThermo<BaseThermo>::~MulticomponentThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::Wi
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::Wi
|
||||
(
|
||||
const label speciei
|
||||
) const
|
||||
@ -137,8 +137,8 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::Wi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hfi
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::hfi
|
||||
(
|
||||
const label speciei
|
||||
) const
|
||||
@ -147,8 +147,8 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hfi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::rhoi
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::rhoi
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -159,9 +159,9 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::rhoi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::rhoi
|
||||
Foam::MulticomponentThermo<BaseThermo>::rhoi
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -172,7 +172,7 @@ Foam::heMulticomponentThermo<HeThermo>::rhoi
|
||||
(
|
||||
"rho",
|
||||
dimDensity,
|
||||
&HeThermo::mixtureType::thermoType::rho,
|
||||
&BaseThermo::mixtureType::thermoType::rho,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -180,8 +180,8 @@ Foam::heMulticomponentThermo<HeThermo>::rhoi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::Cpi
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::Cpi
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -192,9 +192,9 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::Cpi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::Cpi
|
||||
Foam::MulticomponentThermo<BaseThermo>::Cpi
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -205,7 +205,7 @@ Foam::heMulticomponentThermo<HeThermo>::Cpi
|
||||
(
|
||||
"Cp",
|
||||
dimEnergy/dimMass/dimTemperature,
|
||||
&HeThermo::mixtureType::thermoType::Cp,
|
||||
&BaseThermo::mixtureType::thermoType::Cp,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -213,8 +213,8 @@ Foam::heMulticomponentThermo<HeThermo>::Cpi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::hei
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -225,8 +225,8 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::MulticomponentThermo<BaseThermo>::hei
|
||||
(
|
||||
const label speciei,
|
||||
const scalarField& p,
|
||||
@ -235,7 +235,7 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
{
|
||||
return scalarFieldPropertyi
|
||||
(
|
||||
&HeThermo::mixtureType::thermoType::HE,
|
||||
&BaseThermo::mixtureType::thermoType::HE,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -243,9 +243,9 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
Foam::MulticomponentThermo<BaseThermo>::hei
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -256,7 +256,7 @@ Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
(
|
||||
"he",
|
||||
dimEnergy/dimMass,
|
||||
&HeThermo::mixtureType::thermoType::HE,
|
||||
&BaseThermo::mixtureType::thermoType::HE,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -264,8 +264,8 @@ Foam::heMulticomponentThermo<HeThermo>::hei
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::hsi
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -276,8 +276,8 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::MulticomponentThermo<BaseThermo>::hsi
|
||||
(
|
||||
const label speciei,
|
||||
const scalarField& p,
|
||||
@ -286,7 +286,7 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
{
|
||||
return scalarFieldPropertyi
|
||||
(
|
||||
&HeThermo::mixtureType::thermoType::Hs,
|
||||
&BaseThermo::mixtureType::thermoType::Hs,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -294,9 +294,9 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
Foam::MulticomponentThermo<BaseThermo>::hsi
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -307,7 +307,7 @@ Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
(
|
||||
"hs",
|
||||
dimEnergy/dimMass,
|
||||
&HeThermo::mixtureType::thermoType::Hs,
|
||||
&BaseThermo::mixtureType::thermoType::Hs,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -315,8 +315,8 @@ Foam::heMulticomponentThermo<HeThermo>::hsi
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::hai
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -327,8 +327,8 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::scalarField> Foam::MulticomponentThermo<BaseThermo>::hai
|
||||
(
|
||||
const label speciei,
|
||||
const scalarField& p,
|
||||
@ -337,7 +337,7 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
{
|
||||
return scalarFieldPropertyi
|
||||
(
|
||||
&HeThermo::mixtureType::thermoType::Ha,
|
||||
&BaseThermo::mixtureType::thermoType::Ha,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -345,9 +345,9 @@ Foam::tmp<Foam::scalarField> Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
Foam::MulticomponentThermo<BaseThermo>::hai
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -358,7 +358,7 @@ Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
(
|
||||
"ha",
|
||||
dimEnergy/dimMass,
|
||||
&HeThermo::mixtureType::thermoType::Ha,
|
||||
&BaseThermo::mixtureType::thermoType::Ha,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -366,8 +366,8 @@ Foam::heMulticomponentThermo<HeThermo>::hai
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::scalar Foam::heMulticomponentThermo<HeThermo>::kappai
|
||||
template<class BaseThermo>
|
||||
Foam::scalar Foam::MulticomponentThermo<BaseThermo>::kappai
|
||||
(
|
||||
const label speciei,
|
||||
const scalar p,
|
||||
@ -378,9 +378,9 @@ Foam::scalar Foam::heMulticomponentThermo<HeThermo>::kappai
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heMulticomponentThermo<HeThermo>::kappai
|
||||
Foam::MulticomponentThermo<BaseThermo>::kappai
|
||||
(
|
||||
const label speciei,
|
||||
const volScalarField& p,
|
||||
@ -391,7 +391,7 @@ Foam::heMulticomponentThermo<HeThermo>::kappai
|
||||
(
|
||||
"kappa",
|
||||
dimPower/dimLength/dimTemperature,
|
||||
&HeThermo::mixtureType::thermoType::kappa,
|
||||
&BaseThermo::mixtureType::thermoType::kappa,
|
||||
speciei,
|
||||
p,
|
||||
T
|
||||
@ -22,20 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heMulticomponentThermo
|
||||
Foam::MulticomponentThermo
|
||||
|
||||
Description
|
||||
Multi-component thermo implementation
|
||||
|
||||
SourceFiles
|
||||
heMulticomponentThermo.C
|
||||
MulticomponentThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heMulticomponentThermo_H
|
||||
#define heMulticomponentThermo_H
|
||||
#ifndef MulticomponentThermo_H
|
||||
#define MulticomponentThermo_H
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -43,13 +43,13 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heMulticomponentThermo Declaration
|
||||
Class MulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heMulticomponentThermo
|
||||
template<class BaseThermo>
|
||||
class MulticomponentThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
protected:
|
||||
|
||||
@ -82,17 +82,14 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heMulticomponentThermo(const fvMesh&, const word& phaseName);
|
||||
MulticomponentThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heMulticomponentThermo
|
||||
(
|
||||
const heMulticomponentThermo<HeThermo>&
|
||||
) = delete;
|
||||
MulticomponentThermo(const MulticomponentThermo<BaseThermo>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heMulticomponentThermo();
|
||||
virtual ~MulticomponentThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -240,7 +237,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heMulticomponentThermo.C"
|
||||
#include "MulticomponentThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -39,6 +39,7 @@ SourceFiles
|
||||
#define multicomponentThermo_H
|
||||
|
||||
#include "basicThermo.H"
|
||||
#include "MulticomponentThermo.H"
|
||||
#include "speciesTable.H"
|
||||
#include "GeometricFieldListSlicer.H"
|
||||
|
||||
|
||||
@ -47,11 +47,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class hePsiThermo;
|
||||
template<class> class heMulticomponentThermo;
|
||||
template<class> class heFluidMulticomponentThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class psiMulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -73,14 +68,14 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType =
|
||||
heFluidMulticomponentThermo
|
||||
using DerivedThermoType =
|
||||
FluidMulticomponentThermo
|
||||
<
|
||||
heMulticomponentThermo
|
||||
MulticomponentThermo
|
||||
<
|
||||
hePsiThermo
|
||||
PsiThermo
|
||||
<
|
||||
heThermo<MixtureType, composite>
|
||||
BasicThermo<MixtureType, composite>
|
||||
>
|
||||
>
|
||||
>;
|
||||
|
||||
@ -23,17 +23,14 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "psiMulticomponentThermo.H"
|
||||
|
||||
#include "coefficientMulticomponentMixture.H"
|
||||
#include "coefficientWilkeMulticomponentMixture.H"
|
||||
#include "singleComponentMixture.H"
|
||||
|
||||
#include "psiThermo.H"
|
||||
#include "psiMulticomponentThermo.H"
|
||||
#include "hePsiThermo.H"
|
||||
#include "heMulticomponentThermo.H"
|
||||
#include "heFluidMulticomponentThermo.H"
|
||||
|
||||
#include "forGases.H"
|
||||
|
||||
#include "makeFluidMulticomponentThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -23,14 +23,14 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heheuPsiThermo.H"
|
||||
#include "PsiuMulticomponentThermo.H"
|
||||
#include "fvMesh.H"
|
||||
#include "fixedValueFvPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heheuPsiThermo<HeThermo>::calculate()
|
||||
template<class BaseThermo>
|
||||
void Foam::PsiuMulticomponentThermo<BaseThermo>::calculate()
|
||||
{
|
||||
const scalarField& hCells = this->he_;
|
||||
const scalarField& heuCells = this->heu_;
|
||||
@ -48,10 +48,10 @@ void Foam::heheuPsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->cellComposition(celli);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -127,10 +127,10 @@ void Foam::heheuPsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -149,10 +149,10 @@ void Foam::heheuPsiThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -175,14 +175,14 @@ void Foam::heheuPsiThermo<HeThermo>::calculate()
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heheuPsiThermo<HeThermo>::heheuPsiThermo
|
||||
template<class BaseThermo>
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::PsiuMulticomponentThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName),
|
||||
BaseThermo(mesh, phaseName),
|
||||
Tu_
|
||||
(
|
||||
IOobject
|
||||
@ -199,7 +199,7 @@ Foam::heheuPsiThermo<HeThermo>::heheuPsiThermo
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
HeThermo::mixtureType::thermoType::heName() + 'u',
|
||||
BaseThermo::mixtureType::thermoType::heName() + 'u',
|
||||
mesh.time().name(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
@ -207,10 +207,10 @@ Foam::heheuPsiThermo<HeThermo>::heheuPsiThermo
|
||||
),
|
||||
this->volScalarFieldProperty
|
||||
(
|
||||
HeThermo::mixtureType::thermoType::heName() + 'u',
|
||||
BaseThermo::mixtureType::thermoType::heName() + 'u',
|
||||
dimEnergy/dimMass,
|
||||
&HeThermo::mixtureType::reactants,
|
||||
&HeThermo::mixtureType::thermoMixtureType::HE,
|
||||
&BaseThermo::mixtureType::reactants,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::HE,
|
||||
this->p_,
|
||||
this->Tu_
|
||||
),
|
||||
@ -227,17 +227,17 @@ Foam::heheuPsiThermo<HeThermo>::heheuPsiThermo
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heheuPsiThermo<HeThermo>::~heheuPsiThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::~PsiuMulticomponentThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heheuPsiThermo<HeThermo>::correct()
|
||||
template<class BaseThermo>
|
||||
void Foam::PsiuMulticomponentThermo<BaseThermo>::correct()
|
||||
{
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
InfoInFunction << endl;
|
||||
}
|
||||
@ -247,16 +247,16 @@ void Foam::heheuPsiThermo<HeThermo>::correct()
|
||||
|
||||
calculate();
|
||||
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
Info<< " Finished" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::heu
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::heu
|
||||
(
|
||||
const scalarField& Tu,
|
||||
const labelList& cells
|
||||
@ -264,8 +264,8 @@ Foam::heheuPsiThermo<HeThermo>::heu
|
||||
{
|
||||
return this->cellSetProperty
|
||||
(
|
||||
&HeThermo::mixtureType::reactants,
|
||||
&HeThermo::mixtureType::thermoMixtureType::HE,
|
||||
&BaseThermo::mixtureType::reactants,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::HE,
|
||||
cells,
|
||||
UIndirectList<scalar>(this->p_, cells),
|
||||
Tu
|
||||
@ -273,9 +273,9 @@ Foam::heheuPsiThermo<HeThermo>::heu
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::scalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::heu
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::heu
|
||||
(
|
||||
const scalarField& Tu,
|
||||
const label patchi
|
||||
@ -283,8 +283,8 @@ Foam::heheuPsiThermo<HeThermo>::heu
|
||||
{
|
||||
return this->patchFieldProperty
|
||||
(
|
||||
&HeThermo::mixtureType::reactants,
|
||||
&HeThermo::mixtureType::thermoMixtureType::HE,
|
||||
&BaseThermo::mixtureType::reactants,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::HE,
|
||||
patchi,
|
||||
this->p_.boundaryField()[patchi],
|
||||
Tu
|
||||
@ -292,16 +292,16 @@ Foam::heheuPsiThermo<HeThermo>::heu
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::Tb() const
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::Tb() const
|
||||
{
|
||||
return this->volScalarFieldProperty
|
||||
(
|
||||
"Tb",
|
||||
dimTemperature,
|
||||
&HeThermo::mixtureType::products,
|
||||
&HeThermo::mixtureType::thermoMixtureType::THE,
|
||||
&BaseThermo::mixtureType::products,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::THE,
|
||||
this->he_,
|
||||
this->p_,
|
||||
this->T_
|
||||
@ -309,25 +309,25 @@ Foam::heheuPsiThermo<HeThermo>::Tb() const
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::psiu() const
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::psiu() const
|
||||
{
|
||||
return this->volScalarFieldProperty
|
||||
(
|
||||
"psiu",
|
||||
this->psi_.dimensions(),
|
||||
&HeThermo::mixtureType::reactants,
|
||||
&HeThermo::mixtureType::thermoMixtureType::psi,
|
||||
&BaseThermo::mixtureType::reactants,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::psi,
|
||||
this->p_,
|
||||
this->Tu_
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::psib() const
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::psib() const
|
||||
{
|
||||
const volScalarField Tb(this->Tb());
|
||||
|
||||
@ -335,33 +335,33 @@ Foam::heheuPsiThermo<HeThermo>::psib() const
|
||||
(
|
||||
"psib",
|
||||
this->psi_.dimensions(),
|
||||
&HeThermo::mixtureType::products,
|
||||
&HeThermo::mixtureType::thermoMixtureType::psi,
|
||||
&BaseThermo::mixtureType::products,
|
||||
&BaseThermo::mixtureType::thermoMixtureType::psi,
|
||||
this->p_,
|
||||
Tb
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::muu() const
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::muu() const
|
||||
{
|
||||
return this->volScalarFieldProperty
|
||||
(
|
||||
"muu",
|
||||
dimDynamicViscosity,
|
||||
&HeThermo::mixtureType::reactants,
|
||||
&HeThermo::mixtureType::transportMixtureType::mu,
|
||||
&BaseThermo::mixtureType::reactants,
|
||||
&BaseThermo::mixtureType::transportMixtureType::mu,
|
||||
this->p_,
|
||||
this->Tu_
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
Foam::tmp<Foam::volScalarField>
|
||||
Foam::heheuPsiThermo<HeThermo>::mub() const
|
||||
Foam::PsiuMulticomponentThermo<BaseThermo>::mub() const
|
||||
{
|
||||
const volScalarField Tb(this->Tb());
|
||||
|
||||
@ -369,8 +369,8 @@ Foam::heheuPsiThermo<HeThermo>::mub() const
|
||||
(
|
||||
"mub",
|
||||
dimDynamicViscosity,
|
||||
&HeThermo::mixtureType::products,
|
||||
&HeThermo::mixtureType::transportMixtureType::mu,
|
||||
&BaseThermo::mixtureType::products,
|
||||
&BaseThermo::mixtureType::transportMixtureType::mu,
|
||||
this->p_,
|
||||
Tb
|
||||
);
|
||||
@ -22,21 +22,21 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heheuPsiThermo
|
||||
Foam::PsiuMulticomponentThermo
|
||||
|
||||
Description
|
||||
Thermo implementation based on compressibility with additional unburnt
|
||||
thermodynamic state
|
||||
|
||||
SourceFiles
|
||||
heheuPsiThermo.C
|
||||
PsiuMulticomponentThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heheuPsiThermo_H
|
||||
#define heheuPsiThermo_H
|
||||
#ifndef PsiuMulticomponentThermo_H
|
||||
#define PsiuMulticomponentThermo_H
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -44,13 +44,13 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heheuPsiThermo Declaration
|
||||
Class PsiuMulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heheuPsiThermo
|
||||
template<class BaseThermo>
|
||||
class PsiuMulticomponentThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
// Private Data
|
||||
|
||||
@ -72,14 +72,17 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heheuPsiThermo(const fvMesh&, const word& phaseName);
|
||||
PsiuMulticomponentThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heheuPsiThermo(const heheuPsiThermo<HeThermo>&) = delete;
|
||||
PsiuMulticomponentThermo
|
||||
(
|
||||
const PsiuMulticomponentThermo<BaseThermo>&
|
||||
) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heheuPsiThermo();
|
||||
virtual ~PsiuMulticomponentThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -149,7 +152,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const heheuPsiThermo<HeThermo>&) = delete;
|
||||
void operator=(const PsiuMulticomponentThermo<BaseThermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -160,7 +163,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heheuPsiThermo.C"
|
||||
#include "PsiuMulticomponentThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -37,7 +37,10 @@ namespace Foam
|
||||
defineRunTimeSelectionTable(psiuMulticomponentThermo, fvMesh);
|
||||
}
|
||||
|
||||
const Foam::word Foam::psiuMulticomponentThermo::heThermoName("heheuPsiThermo");
|
||||
const Foam::word Foam::psiuMulticomponentThermo::derivedThermoName
|
||||
(
|
||||
"heheuPsiThermo"
|
||||
);
|
||||
|
||||
|
||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||
|
||||
@ -40,6 +40,7 @@ SourceFiles
|
||||
#define psiuMulticomponentThermo_H
|
||||
|
||||
#include "psiThermo.H"
|
||||
#include "PsiuMulticomponentThermo.H"
|
||||
#include "speciesTable.H"
|
||||
#include "GeometricFieldListSlicer.H"
|
||||
|
||||
@ -48,9 +49,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class heheuPsiThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class psiuMulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -86,10 +84,11 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType = heheuPsiThermo<heThermo<MixtureType, composite>>;
|
||||
using DerivedThermoType =
|
||||
PsiuMulticomponentThermo<BasicThermo<MixtureType, composite>>;
|
||||
|
||||
//- The derived name
|
||||
static const word heThermoName;
|
||||
static const word derivedThermoName;
|
||||
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -23,8 +23,8 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "FieldListSlice.H"
|
||||
#include "psiuMulticomponentThermo.H"
|
||||
#include "FieldListSlice.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -23,16 +23,15 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "psiuMulticomponentThermo.H"
|
||||
|
||||
#include "egrMixture.H"
|
||||
#include "homogeneousMixture.H"
|
||||
#include "inhomogeneousMixture.H"
|
||||
#include "veryInhomogeneousMixture.H"
|
||||
|
||||
#include "psiThermo.H"
|
||||
#include "psiuMulticomponentThermo.H"
|
||||
#include "heheuPsiThermo.H"
|
||||
|
||||
#include "forAbsoluteGases.H"
|
||||
|
||||
#include "makeThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -47,11 +47,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class heRhoThermo;
|
||||
template<class> class heMulticomponentThermo;
|
||||
template<class> class heFluidMulticomponentThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class rhoMulticomponentThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -73,14 +68,14 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType =
|
||||
heFluidMulticomponentThermo
|
||||
using DerivedThermoType =
|
||||
FluidMulticomponentThermo
|
||||
<
|
||||
heMulticomponentThermo
|
||||
MulticomponentThermo
|
||||
<
|
||||
heRhoThermo
|
||||
RhoThermo
|
||||
<
|
||||
heThermo<MixtureType, composite>
|
||||
BasicThermo<MixtureType, composite>
|
||||
>
|
||||
>
|
||||
>;
|
||||
|
||||
@ -23,20 +23,17 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "rhoMulticomponentThermo.H"
|
||||
|
||||
#include "coefficientMulticomponentMixture.H"
|
||||
#include "coefficientWilkeMulticomponentMixture.H"
|
||||
#include "valueMulticomponentMixture.H"
|
||||
#include "singleComponentMixture.H"
|
||||
|
||||
#include "rhoThermo.H"
|
||||
#include "rhoMulticomponentThermo.H"
|
||||
#include "heRhoThermo.H"
|
||||
#include "heMulticomponentThermo.H"
|
||||
#include "heFluidMulticomponentThermo.H"
|
||||
|
||||
#include "forGases.H"
|
||||
#include "forLiquids.H"
|
||||
#include "forTabulated.H"
|
||||
|
||||
#include "makeFluidMulticomponentThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -23,12 +23,12 @@ License
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "heSolidThermo.H"
|
||||
#include "SolidThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heSolidThermo<HeThermo>::calculate()
|
||||
template<class BaseThermo>
|
||||
void Foam::SolidThermo<BaseThermo>::calculate()
|
||||
{
|
||||
const bool isotropic = this->isotropic();
|
||||
|
||||
@ -46,10 +46,10 @@ void Foam::heSolidThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->cellComposition(celli);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -117,10 +117,10 @@ void Foam::heSolidThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -148,10 +148,10 @@ void Foam::heSolidThermo<HeThermo>::calculate()
|
||||
{
|
||||
auto composition = this->patchFaceComposition(patchi, facei);
|
||||
|
||||
const typename HeThermo::mixtureType::thermoMixtureType&
|
||||
const typename BaseThermo::mixtureType::thermoMixtureType&
|
||||
thermoMixture = this->thermoMixture(composition);
|
||||
|
||||
const typename HeThermo::mixtureType::transportMixtureType&
|
||||
const typename BaseThermo::mixtureType::transportMixtureType&
|
||||
transportMixture =
|
||||
this->transportMixture(composition, thermoMixture);
|
||||
|
||||
@ -179,19 +179,19 @@ void Foam::heSolidThermo<HeThermo>::calculate()
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heSolidThermo<HeThermo>::heSolidThermo
|
||||
template<class BaseThermo>
|
||||
Foam::SolidThermo<BaseThermo>::SolidThermo
|
||||
(
|
||||
const fvMesh& mesh,
|
||||
const word& phaseName
|
||||
)
|
||||
:
|
||||
HeThermo(mesh, phaseName),
|
||||
BaseThermo(mesh, phaseName),
|
||||
Kappa_
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
HeThermo::phasePropertyName("Kappa", phaseName),
|
||||
BaseThermo::phasePropertyName("Kappa", phaseName),
|
||||
mesh.time().name(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
@ -207,33 +207,33 @@ Foam::heSolidThermo<HeThermo>::heSolidThermo
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
Foam::heSolidThermo<HeThermo>::~heSolidThermo()
|
||||
template<class BaseThermo>
|
||||
Foam::SolidThermo<BaseThermo>::~SolidThermo()
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
template<class HeThermo>
|
||||
void Foam::heSolidThermo<HeThermo>::correct()
|
||||
template<class BaseThermo>
|
||||
void Foam::SolidThermo<BaseThermo>::correct()
|
||||
{
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
InfoInFunction << endl;
|
||||
}
|
||||
|
||||
calculate();
|
||||
|
||||
if (HeThermo::debug)
|
||||
if (BaseThermo::debug)
|
||||
{
|
||||
Info<< " Finished" << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class HeThermo>
|
||||
template<class BaseThermo>
|
||||
const Foam::volVectorField&
|
||||
Foam::heSolidThermo<HeThermo>::Kappa() const
|
||||
Foam::SolidThermo<BaseThermo>::Kappa() const
|
||||
{
|
||||
return Kappa_;
|
||||
}
|
||||
@ -22,20 +22,20 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::heSolidThermo
|
||||
Foam::SolidThermo
|
||||
|
||||
Description
|
||||
Thermo implementation for a solid
|
||||
|
||||
SourceFiles
|
||||
heSolidThermo.C
|
||||
SolidThermo.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef heSolidThermo_H
|
||||
#define heSolidThermo_H
|
||||
#ifndef SolidThermo_H
|
||||
#define SolidThermo_H
|
||||
|
||||
#include "heThermo.H"
|
||||
#include "BasicThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -43,13 +43,13 @@ namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class heSolidThermo Declaration
|
||||
Class SolidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
template<class HeThermo>
|
||||
class heSolidThermo
|
||||
template<class BaseThermo>
|
||||
class SolidThermo
|
||||
:
|
||||
public HeThermo
|
||||
public BaseThermo
|
||||
{
|
||||
protected:
|
||||
|
||||
@ -70,14 +70,14 @@ public:
|
||||
// Constructors
|
||||
|
||||
//- Construct from mesh and phase name
|
||||
heSolidThermo(const fvMesh&, const word& phaseName);
|
||||
SolidThermo(const fvMesh&, const word& phaseName);
|
||||
|
||||
//- Disallow default bitwise copy construction
|
||||
heSolidThermo(const heSolidThermo<HeThermo>&) = delete;
|
||||
SolidThermo(const SolidThermo<BaseThermo>&) = delete;
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~heSolidThermo();
|
||||
virtual ~SolidThermo();
|
||||
|
||||
|
||||
// Member Functions
|
||||
@ -88,7 +88,7 @@ public:
|
||||
//- Return true if thermal conductivity is isotropic
|
||||
virtual bool isotropic() const
|
||||
{
|
||||
return HeThermo::mixtureType::thermoType::isotropic;
|
||||
return BaseThermo::mixtureType::thermoType::isotropic;
|
||||
}
|
||||
|
||||
//- Anisotropic thermal conductivity [W/m/K]
|
||||
@ -98,7 +98,7 @@ public:
|
||||
// Member Operators
|
||||
|
||||
//- Disallow default bitwise assignment
|
||||
void operator=(const heSolidThermo<HeThermo>&) = delete;
|
||||
void operator=(const SolidThermo<BaseThermo>&) = delete;
|
||||
};
|
||||
|
||||
|
||||
@ -109,7 +109,7 @@ public:
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#ifdef NoRepository
|
||||
#include "heSolidThermo.C"
|
||||
#include "SolidThermo.C"
|
||||
#endif
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -34,7 +34,7 @@ namespace Foam
|
||||
defineRunTimeSelectionTable(solidThermo, fvMesh);
|
||||
}
|
||||
|
||||
const Foam::word Foam::solidThermo::heThermoName("heSolidThermo");
|
||||
const Foam::word Foam::solidThermo::derivedThermoName("heSolidThermo");
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
@ -86,17 +86,6 @@ Foam::autoPtr<Foam::solidThermo> Foam::solidThermo::New
|
||||
}
|
||||
|
||||
|
||||
// Foam::autoPtr<Foam::solidThermo> Foam::solidThermo::New
|
||||
// (
|
||||
// const fvMesh& mesh,
|
||||
// const dictionary& dict,
|
||||
// const word& phaseName
|
||||
// )
|
||||
// {
|
||||
// return basicThermo::New<solidThermo>(mesh, dict, phaseName);
|
||||
// }
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::solidThermo::~solidThermo()
|
||||
|
||||
@ -39,6 +39,7 @@ SourceFiles
|
||||
#define solidThermo_H
|
||||
|
||||
#include "pureThermo.H"
|
||||
#include "SolidThermo.H"
|
||||
#include "uniformGeometricFields.H"
|
||||
#include "fvScalarMatrix.H"
|
||||
|
||||
@ -47,9 +48,6 @@ SourceFiles
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
template<class, class> class heThermo;
|
||||
template<class> class heSolidThermo;
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class solidThermo Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
@ -73,10 +71,11 @@ public:
|
||||
|
||||
//- The derived type
|
||||
template<class MixtureType>
|
||||
using heThermoType = heSolidThermo<heThermo<MixtureType, composite>>;
|
||||
using DerivedThermoType =
|
||||
SolidThermo<BasicThermo<MixtureType, composite>>;
|
||||
|
||||
//- The derived name
|
||||
static const word heThermoName;
|
||||
static const word derivedThermoName;
|
||||
|
||||
|
||||
//- Runtime type information
|
||||
|
||||
@ -24,10 +24,11 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "solidThermo.H"
|
||||
#include "heSolidThermo.H"
|
||||
|
||||
#include "pureMixture.H"
|
||||
|
||||
#include "forSolids.H"
|
||||
|
||||
#include "makeThermo.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -33,6 +33,7 @@ Description
|
||||
#define makeThermo_H
|
||||
|
||||
#include "basicThermo.H"
|
||||
#include "NamedThermo.H"
|
||||
#include "addToRunTimeSelectionTable.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
@ -40,14 +41,14 @@ Description
|
||||
#define defineThermo(BaseThermo, Mixture, ThermoPhysics) \
|
||||
\
|
||||
typedef \
|
||||
namedHeThermo<BaseThermo::heThermoType<Mixture<ThermoPhysics>>> \
|
||||
BaseThermo##HeThermo##Mixture##ThermoPhysics; \
|
||||
NamedThermo<BaseThermo::DerivedThermoType<Mixture<ThermoPhysics>>> \
|
||||
BaseThermo##Mixture##ThermoPhysics; \
|
||||
\
|
||||
defineTemplateTypeNameAndDebugWithName \
|
||||
( \
|
||||
BaseThermo##HeThermo##Mixture##ThermoPhysics, \
|
||||
BaseThermo##Mixture##ThermoPhysics, \
|
||||
( \
|
||||
BaseThermo::heThermoName + "<" \
|
||||
BaseThermo::derivedThermoName + "<" \
|
||||
+ Mixture<ThermoPhysics>::typeName() + ">" \
|
||||
).c_str(), \
|
||||
0 \
|
||||
@ -59,7 +60,7 @@ Description
|
||||
addToRunTimeSelectionTable \
|
||||
( \
|
||||
SelectThermo, \
|
||||
BaseThermo##HeThermo##Mixture##ThermoPhysics, \
|
||||
BaseThermo##Mixture##ThermoPhysics, \
|
||||
fvMesh \
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user