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:
Will Bainbridge
2023-06-13 10:00:19 +01:00
parent 3c542d664b
commit 65f3050b35
52 changed files with 512 additions and 496 deletions

View File

@ -19,7 +19,7 @@ type
heRhoThermo
);
typeBase
typeRenamed
(
hePsiThermo psiMulticomponentThermo
heRhoThermo rhoMulticomponentThermo

View File

@ -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}
);

View File

@ -19,7 +19,7 @@ type
heRhoThermo
);
typeBase
typeRenamed
(
hePsiThermo psiThermo
heRhoThermo rhoThermo

View File

@ -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}
);

View File

@ -18,7 +18,7 @@ type
hePsiThermo
);
typeBase
typeRenamed
(
hePsiThermo psiThermo
);

View File

@ -18,7 +18,7 @@ type
heheuPsiThermo
);
typeBase
typeRenamed
(
heheuPsiThermo psiuMulticomponentThermo
);

View File

@ -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}
);

View File

@ -18,7 +18,7 @@ type
heSolidThermo
);
typeBase
typeRenamed
(
heSolidThermo solidThermo
);

View File

@ -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}
);

View File

@ -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]);
}
}

View File

@ -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

View File

@ -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())
{

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -23,13 +23,13 @@ License
\*---------------------------------------------------------------------------*/
#include "heThermo.H"
#include "BasicThermo.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(heThermoName, 0);
defineTypeNameAndDebug(BasicThermoName, 0);
}

View 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
// ************************************************************************* //

View File

@ -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

View File

@ -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_
);

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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

View File

@ -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"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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;
}

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -33,7 +33,7 @@ namespace Foam
defineRunTimeSelectionTable(psiThermo, fvMesh);
}
const Foam::word Foam::psiThermo::heThermoName("hePsiThermo");
const Foam::word Foam::psiThermo::derivedThermoName("hePsiThermo");
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

View File

@ -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

View File

@ -24,10 +24,11 @@ License
\*---------------------------------------------------------------------------*/
#include "psiThermo.H"
#include "hePsiThermo.H"
#include "pureMixture.H"
#include "forGases.H"
#include "makeFluidThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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;
}

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -33,7 +33,7 @@ namespace Foam
defineRunTimeSelectionTable(rhoThermo, fvMesh);
}
const Foam::word Foam::rhoThermo::heThermoName("heRhoThermo");
const Foam::word Foam::rhoThermo::derivedThermoName("heRhoThermo");
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

View File

@ -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

View File

@ -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"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -40,6 +40,7 @@ SourceFiles
#include "fluidThermo.H"
#include "multicomponentThermo.H"
#include "FluidMulticomponentThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -39,6 +39,7 @@ SourceFiles
#define multicomponentThermo_H
#include "basicThermo.H"
#include "MulticomponentThermo.H"
#include "speciesTable.H"
#include "GeometricFieldListSlicer.H"

View File

@ -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>
>
>
>;

View File

@ -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"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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
);

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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 * * * * * * * * * * * //

View File

@ -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

View File

@ -23,8 +23,8 @@ License
\*---------------------------------------------------------------------------*/
#include "FieldListSlice.H"
#include "psiuMulticomponentThermo.H"
#include "FieldListSlice.H"
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //

View File

@ -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"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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>
>
>
>;

View File

@ -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"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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_;
}

View File

@ -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
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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()

View File

@ -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

View File

@ -24,10 +24,11 @@ License
\*---------------------------------------------------------------------------*/
#include "solidThermo.H"
#include "heSolidThermo.H"
#include "pureMixture.H"
#include "forSolids.H"
#include "makeThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -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 \
);