reactionThermo: Select singleComponentMixture as pureMixture

A pureMixture can now be specified in a reacting solver. This further
enhances compatibility between non-reacting and reacting solvers.

To achieve this, mixtures now have a typeName function of the same form
as the lower thermodyanmic models. In addition, to avoid name clashes,
the reacting thermo make macros have been split into those that create
entries on multiple selection tables, and those that just add to the
reaction thermo table.
This commit is contained in:
Will Bainbridge
2017-12-14 15:23:27 +00:00
parent 18f4d60690
commit 233d8dea12
21 changed files with 409 additions and 282 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenFOAM Foundation \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -54,43 +54,6 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef
constTransport
<
species::thermo
<
hConstThermo
<
perfectFluid<specie>
>,
sensibleInternalEnergy
>
> constFluidEThermoPhysics;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// multi-component liquid
makeReactionThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constTransport,
sensibleInternalEnergy,
hConstThermo,
perfectFluid,
specie
);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam namespace Foam
{ {
using namespace interfaceCompositionModels; using namespace interfaceCompositionModels;

View File

@ -214,7 +214,7 @@ makeThermo
// multiComponentMixture, sensibleInternalEnergy: // multiComponentMixture, sensibleInternalEnergy:
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -223,7 +223,7 @@ makeReactionMixtureThermo
constRefGasEThermoPhysics constRefGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -232,7 +232,7 @@ makeReactionMixtureThermo
constRefFluidEThermoPhysics constRefFluidEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -244,7 +244,7 @@ makeReactionMixtureThermo
// multiComponentMixture, sensibleEnthalpy: // multiComponentMixture, sensibleEnthalpy:
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -253,7 +253,7 @@ makeReactionMixtureThermo
constRefRhoConstHThermoPhysics constRefRhoConstHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -262,7 +262,7 @@ makeReactionMixtureThermo
constRefFluidHThermoPhysics constRefFluidHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -66,9 +66,9 @@ defineTemplateTypeNameAndDebugWithName \
( \ ( \
Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \
( \ ( \
#Cthermo"<"#Mixture"<" \ #Cthermo"<" \
+ Transport##Type##Thermo##EqnOfState##Specie::typeName() \ + Mixture<Transport##Type##Thermo##EqnOfState##Specie>::typeName() \
+ ">>" \ + ">" \
).c_str(), \ ).c_str(), \
0 \ 0 \
); );

View File

@ -73,6 +73,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "pureMixture<" + ThermoType::typeName() + '>';
}
const ThermoType& mixture() const const ThermoType& mixture() const
{ {
return mixture_; return mixture_;

View File

@ -31,7 +31,7 @@ License
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#define makeReactionMixtureThermo(BaseThermo,BaseReactionThermo,CThermo,Mixture,ThermoPhys) \ #define defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys) \
\ \
typedef CThermo \ typedef CThermo \
< \ < \
@ -48,40 +48,39 @@ typedef CThermo \
defineTemplateTypeNameAndDebugWithName \ defineTemplateTypeNameAndDebugWithName \
( \ ( \
CThermo##Mixture##ThermoPhys, \ CThermo##Mixture##ThermoPhys, \
(#CThermo"<"#Mixture"<" + ThermoPhys::typeName() + ">>").c_str(), \ (#CThermo"<" + Mixture<ThermoPhys>::typeName() + ">").c_str(), \
0 \ 0 \
); \ )
\
addToRunTimeSelectionTable \
( \ #define addReactionMixtureThermo(BaseThermo,CThermoMixtureThermoPhys) \
basicThermo, \
CThermo##Mixture##ThermoPhys, \
fvMesh \
); \
\
addToRunTimeSelectionTable \
( \
fluidThermo, \
CThermo##Mixture##ThermoPhys, \
fvMesh \
); \
\ \
addToRunTimeSelectionTable \ addToRunTimeSelectionTable \
( \ ( \
BaseThermo, \ BaseThermo, \
CThermo##Mixture##ThermoPhys, \ CThermoMixtureThermoPhys, \
fvMesh \ fvMesh \
); \ )
#define makeReactionMixtureThermos(BaseThermo,BaseReactionThermo,CThermo,Mixture,ThermoPhys) \
\ \
addToRunTimeSelectionTable \ defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys);\
( \ \
BaseReactionThermo, \ addReactionMixtureThermo(basicThermo, CThermo##Mixture##ThermoPhys); \
CThermo##Mixture##ThermoPhys, \ addReactionMixtureThermo(fluidThermo, CThermo##Mixture##ThermoPhys); \
fvMesh \ addReactionMixtureThermo(BaseThermo, CThermo##Mixture##ThermoPhys); \
); addReactionMixtureThermo(BaseReactionThermo, CThermo##Mixture##ThermoPhys)
#define makeReactionThermo(BaseThermo,BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \ #define makeReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys) \
\
defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys);\
\
addReactionMixtureThermo(BaseReactionThermo, CThermo##Mixture##ThermoPhys)
#define defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie) \
\ \
typedef \ typedef \
Transport \ Transport \
@ -97,16 +96,35 @@ typedef \
>, \ >, \
Type \ Type \
> \ > \
> Transport##Type##Thermo##EqnOfState##Specie; \ > \
Transport##Type##Thermo##EqnOfState##Specie \
#define makeReactionThermos(BaseThermo,BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
\ \
makeReactionMixtureThermo \ defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie); \
\
makeReactionMixtureThermos \
( \ ( \
BaseThermo, \ BaseThermo, \
BaseReactionThermo, \ BaseReactionThermo, \
CThermo, \ CThermo, \
Mixture, \ Mixture, \
Transport##Type##Thermo##EqnOfState##Specie \ Transport##Type##Thermo##EqnOfState##Specie \
); )
#define makeReactionThermo(BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \
\
defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie); \
\
makeReactionMixtureThermo \
( \
BaseReactionThermo, \
CThermo, \
Mixture, \
Transport##Type##Thermo##EqnOfState##Specie \
)
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -96,6 +96,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "egrMixture<" + ThermoType::typeName() + '>';
}
const dimensionedScalar& stoicRatio() const const dimensionedScalar& stoicRatio() const
{ {
return stoicRatio_; return stoicRatio_;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -87,6 +87,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "homogeneousMixture<" + ThermoType::typeName() + '>';
}
const ThermoType& mixture(const scalar) const; const ThermoType& mixture(const scalar) const;
const ThermoType& cellMixture(const label celli) const const ThermoType& cellMixture(const label celli) const

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -93,6 +93,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "inhomogeneousMixture<" + ThermoType::typeName() + '>';
}
const dimensionedScalar& stoicRatio() const const dimensionedScalar& stoicRatio() const
{ {
return stoicRatio_; return stoicRatio_;

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -108,6 +108,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "multiComponentMixture<" + ThermoType::typeName() + '>';
}
const ThermoType& cellMixture(const label celli) const; const ThermoType& cellMixture(const label celli) const;
const ThermoType& patchFaceMixture const ThermoType& patchFaceMixture

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -90,6 +90,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "reactingMixture<" + ThermoType::typeName() + '>';
}
//- Read dictionary //- Read dictionary
void read(const dictionary&); void read(const dictionary&);

View File

@ -25,9 +25,6 @@ License
#include "singleComponentMixture.H" #include "singleComponentMixture.H"
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class ThermoType> template<class ThermoType>

View File

@ -75,6 +75,14 @@ public:
// Member Functions // Member Functions
//- Return the instantiated type name
// Note: This defines the same name as pureMixture so that
// non-reacting and reacting solvers are compatable
static word typeName()
{
return "pureMixture<" + ThermoType::typeName() + '>';
}
//- Get the mixture for the given cell //- Get the mixture for the given cell
const ThermoType& cellMixture(const label celli) const const ThermoType& cellMixture(const label celli) const
{ {

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -132,6 +132,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "singleStepReactingMixture<" + ThermoType::typeName() + '>';
}
//- Calculates the residual for all components //- Calculates the residual for all components
void fresCorrect(); void fresCorrect();

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -101,6 +101,12 @@ public:
// Member functions // Member functions
//- Return the instantiated type name
static word typeName()
{
return "veryInhomogeneousMixture<" + ThermoType::typeName() + '>';
}
const dimensionedScalar& stoicRatio() const const dimensionedScalar& stoicRatio() const
{ {
return stoicRatio_; return stoicRatio_;

View File

@ -56,7 +56,7 @@ namespace Foam
// constTransport, hConstThermo // constTransport, hConstThermo
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -69,7 +69,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -82,7 +82,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -98,7 +98,7 @@ makeReactionThermo
// sutherlandTransport, hConstThermo // sutherlandTransport, hConstThermo
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -111,7 +111,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -124,7 +124,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -140,7 +140,7 @@ makeReactionThermo
// sutherlandTransport, janafThermo // sutherlandTransport, janafThermo
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -153,7 +153,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -166,7 +166,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -183,7 +183,7 @@ makeReactionThermo
// Multi-component thermo for sensible enthalpy // Multi-component thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -192,7 +192,7 @@ makeReactionMixtureThermo
constGasHThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -204,7 +204,7 @@ makeReactionMixtureThermo
// Multi-component thermo for internal energy // Multi-component thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -213,7 +213,7 @@ makeReactionMixtureThermo
constGasEThermoPhysics constGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -225,7 +225,7 @@ makeReactionMixtureThermo
// Reaction thermo for sensible enthalpy // Reaction thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -234,7 +234,7 @@ makeReactionMixtureThermo
constGasHThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -246,7 +246,7 @@ makeReactionMixtureThermo
// Single-step reaction thermo for sensible enthalpy // Single-step reaction thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -258,7 +258,7 @@ makeReactionMixtureThermo
// Reaction thermo for internal energy // Reaction thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -267,7 +267,7 @@ makeReactionMixtureThermo
constGasEThermoPhysics constGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -279,7 +279,7 @@ makeReactionMixtureThermo
// Single-step reaction thermo for internal energy // Single-step reaction thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
psiThermo, psiThermo,
psiReactionThermo, psiReactionThermo,
@ -293,7 +293,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
psiThermo,
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
singleComponentMixture, singleComponentMixture,
@ -302,7 +301,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
psiThermo,
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
singleComponentMixture, singleComponentMixture,
@ -314,7 +312,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
psiThermo,
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
singleComponentMixture, singleComponentMixture,
@ -323,7 +320,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
psiThermo,
psiReactionThermo, psiReactionThermo,
hePsiThermo, hePsiThermo,
singleComponentMixture, singleComponentMixture,

View File

@ -54,7 +54,7 @@ namespace Foam
// * * * * * * * * * * * * * * * * h-hu-Thermos * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * h-hu-Thermos * * * * * * * * * * * * * * * //
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -67,7 +67,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -80,7 +80,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -93,7 +93,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -107,7 +107,7 @@ makeReactionThermo
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -120,7 +120,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -133,7 +133,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -146,7 +146,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -159,7 +159,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -173,7 +173,7 @@ makeReactionThermo
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -186,7 +186,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -199,7 +199,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,
@ -212,7 +212,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
psiThermo, psiThermo,
psiuReactionThermo, psiuReactionThermo,

View File

@ -60,7 +60,7 @@ namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -73,7 +73,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -86,7 +86,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -99,7 +99,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -112,7 +112,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -125,7 +125,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -139,7 +139,7 @@ makeReactionThermo
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -152,7 +152,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -165,7 +165,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -178,7 +178,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -191,7 +191,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -204,7 +204,7 @@ makeReactionThermo
specie specie
); );
makeReactionThermo makeReactionThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -221,7 +221,7 @@ makeReactionThermo
// Multi-component thermo for internal energy // Multi-component thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -230,7 +230,7 @@ makeReactionMixtureThermo
constGasEThermoPhysics constGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -239,7 +239,7 @@ makeReactionMixtureThermo
gasEThermoPhysics gasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -248,7 +248,7 @@ makeReactionMixtureThermo
constIncompressibleGasEThermoPhysics constIncompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -257,7 +257,7 @@ makeReactionMixtureThermo
incompressibleGasEThermoPhysics incompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -266,10 +266,37 @@ makeReactionMixtureThermo
icoPoly8EThermoPhysics icoPoly8EThermoPhysics
); );
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constFluidEThermoPhysics
);
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constAdiabaticFluidEThermoPhysics
);
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constEThermoPhysics
);
// Reaction thermo for internal energy // Reaction thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -278,7 +305,7 @@ makeReactionMixtureThermo
constGasEThermoPhysics constGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -287,7 +314,7 @@ makeReactionMixtureThermo
gasEThermoPhysics gasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -296,7 +323,7 @@ makeReactionMixtureThermo
constIncompressibleGasEThermoPhysics constIncompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -305,7 +332,7 @@ makeReactionMixtureThermo
incompressibleGasEThermoPhysics incompressibleGasEThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -317,7 +344,7 @@ makeReactionMixtureThermo
// Single-step reaction thermo for internal energy // Single-step reaction thermo for internal energy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -331,7 +358,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -340,7 +366,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -349,7 +374,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -358,7 +382,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -367,55 +390,38 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
icoPoly8EThermoPhysics icoPoly8EThermoPhysics
); );
makeReactionThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
constTransport, constFluidEThermoPhysics
sensibleInternalEnergy, );
hConstThermo,
rhoConst, makeReactionMixtureThermo
specie (
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constAdiabaticFluidEThermoPhysics
);
makeReactionMixtureThermo
(
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constEThermoPhysics
); );
makeReactionThermo makeReactionThermo
( (
rhoThermo,
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constTransport,
sensibleInternalEnergy,
hConstThermo,
perfectFluid,
specie
);
makeReactionThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constTransport,
sensibleInternalEnergy,
hConstThermo,
adiabaticPerfectFluid,
specie
);
makeReactionThermo
(
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -428,7 +434,6 @@ makeReactionThermo
makeReactionThermo makeReactionThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -443,7 +448,7 @@ makeReactionThermo
// Multi-component thermo for sensible enthalpy // Multi-component thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -452,7 +457,7 @@ makeReactionMixtureThermo
constGasHThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -461,7 +466,7 @@ makeReactionMixtureThermo
gasHThermoPhysics gasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -470,7 +475,7 @@ makeReactionMixtureThermo
constIncompressibleGasHThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -479,7 +484,7 @@ makeReactionMixtureThermo
incompressibleGasHThermoPhysics incompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -488,10 +493,37 @@ makeReactionMixtureThermo
icoPoly8HThermoPhysics icoPoly8HThermoPhysics
); );
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constFluidHThermoPhysics
);
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constAdiabaticFluidHThermoPhysics
);
makeReactionMixtureThermos
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
multiComponentMixture,
constHThermoPhysics
);
// Reaction thermo for sensible enthalpy // Reaction thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -500,7 +532,7 @@ makeReactionMixtureThermo
constGasHThermoPhysics constGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -509,7 +541,7 @@ makeReactionMixtureThermo
gasHThermoPhysics gasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -518,7 +550,7 @@ makeReactionMixtureThermo
constIncompressibleGasHThermoPhysics constIncompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -527,7 +559,7 @@ makeReactionMixtureThermo
incompressibleGasHThermoPhysics incompressibleGasHThermoPhysics
); );
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -539,7 +571,7 @@ makeReactionMixtureThermo
// Single-step reaction thermo for sensible enthalpy // Single-step reaction thermo for sensible enthalpy
makeReactionMixtureThermo makeReactionMixtureThermos
( (
rhoThermo, rhoThermo,
rhoReactionThermo, rhoReactionThermo,
@ -553,7 +585,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -562,7 +593,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -571,7 +601,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -580,7 +609,6 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -589,55 +617,38 @@ makeReactionMixtureThermo
makeReactionMixtureThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
icoPoly8HThermoPhysics icoPoly8HThermoPhysics
); );
makeReactionThermo makeReactionMixtureThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
constTransport, constFluidHThermoPhysics
sensibleEnthalpy, );
hConstThermo,
rhoConst, makeReactionMixtureThermo
specie (
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constAdiabaticFluidHThermoPhysics
);
makeReactionMixtureThermo
(
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constHThermoPhysics
); );
makeReactionThermo makeReactionThermo
( (
rhoThermo,
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constTransport,
sensibleEnthalpy,
hConstThermo,
perfectFluid,
specie
);
makeReactionThermo
(
rhoThermo,
rhoReactionThermo,
heRhoThermo,
singleComponentMixture,
constTransport,
sensibleEnthalpy,
hConstThermo,
adiabaticPerfectFluid,
specie
);
makeReactionThermo
(
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,
@ -650,7 +661,6 @@ makeReactionThermo
makeReactionThermo makeReactionThermo
( (
rhoThermo,
rhoReactionThermo, rhoReactionThermo,
heRhoThermo, heRhoThermo,
singleComponentMixture, singleComponentMixture,

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -35,6 +35,9 @@ Description
#include "specie.H" #include "specie.H"
#include "perfectGas.H" #include "perfectGas.H"
#include "incompressiblePerfectGas.H" #include "incompressiblePerfectGas.H"
#include "perfectFluid.H"
#include "adiabaticPerfectFluid.H"
#include "rhoConst.H"
#include "hConstThermo.H" #include "hConstThermo.H"
#include "janafThermo.H" #include "janafThermo.H"
@ -120,6 +123,48 @@ namespace Foam
8 8
> icoPoly8HThermoPhysics; > icoPoly8HThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
perfectFluid<specie>
>,
sensibleEnthalpy
>
>
constFluidHThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
adiabaticPerfectFluid<specie>
>,
sensibleEnthalpy
>
>
constAdiabaticFluidHThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
rhoConst<specie>
>,
sensibleEnthalpy
>
>
constHThermoPhysics;
// thermo physics types based on sensibleInternalEnergy // thermo physics types based on sensibleInternalEnergy
typedef typedef
@ -188,6 +233,48 @@ namespace Foam
>, >,
8 8
> icoPoly8EThermoPhysics; > icoPoly8EThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
perfectFluid<specie>
>,
sensibleInternalEnergy
>
>
constFluidEThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
adiabaticPerfectFluid<specie>
>,
sensibleInternalEnergy
>
>
constAdiabaticFluidEThermoPhysics;
typedef
constTransport
<
species::thermo
<
hConstThermo
<
rhoConst<specie>
>,
sensibleInternalEnergy
>
>
constEThermoPhysics;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -17,7 +17,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture singleComponentMixture; mixture pureMixture;
transport const; transport const;
thermo hConst; thermo hConst;
equationOfState rhoConst; equationOfState rhoConst;

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture singleComponentMixture; mixture pureMixture;
transport const; transport const;
thermo hConst; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;

View File

@ -18,7 +18,7 @@ FoamFile
thermoType thermoType
{ {
type heRhoThermo; type heRhoThermo;
mixture singleComponentMixture; mixture pureMixture;
transport const; transport const;
thermo hConst; thermo hConst;
equationOfState perfectGas; equationOfState perfectGas;