From 8aabbec71e9c6d9eaa1f016533135c9942b38a9b Mon Sep 17 00:00:00 2001 From: Will Bainbridge <http://cfd.direct> Date: Fri, 1 Dec 2017 11:12:05 +0000 Subject: [PATCH] ENH: reactionThermo: Single component mixture This mixture allows a reacting solver to be used with a single component fluid without the additional case files usually required for reacting thermodynamics. reactionThermo: Instantiated more single component mixtures ENH: 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. --- .../InterfaceCompositionModels.C | 39 +-- .../reactionThermo/hRefConstThermos.C | 12 +- .../basic/fluidThermo/makeThermo.H | 8 +- .../basic/mixtures/pureMixture/pureMixture.H | 6 + .../reactionThermo/makeReactionThermo.H | 136 ++++---- .../mixtures/egrMixture/egrMixture.H | 8 +- .../homogeneousMixture/homogeneousMixture.H | 8 +- .../inhomogeneousMixture.H | 8 +- .../multiComponentMixture.H | 8 +- .../reactingMixture/reactingMixture.H | 8 +- .../singleComponentMixture.C | 62 ++++ .../singleComponentMixture.H | 158 +++++++++ .../singleStepReactingMixture.H | 8 +- .../veryInhomogeneousMixture.H | 8 +- .../psiReactionThermo/psiReactionThermos.C | 90 +++-- .../psiuReactionThermo/psiuReactionThermos.C | 26 +- .../rhoReactionThermo/rhoReactionThermos.C | 325 ++++++++++++++++-- .../specie/include/thermoPhysicsTypes.H | 89 ++++- 18 files changed, 819 insertions(+), 188 deletions(-) create mode 100644 src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.C create mode 100644 src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.H diff --git a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C index c413e0c524a..422276d65b6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- 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 { using namespace interfaceCompositionModels; diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C index 712a96e1ded..600e26b9ad4 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C @@ -214,7 +214,7 @@ makeThermo // multiComponentMixture, sensibleInternalEnergy: -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -223,7 +223,7 @@ makeReactionMixtureThermo constRefGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -232,7 +232,7 @@ makeReactionMixtureThermo constRefFluidEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -244,7 +244,7 @@ makeReactionMixtureThermo // multiComponentMixture, sensibleEnthalpy: -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -253,7 +253,7 @@ makeReactionMixtureThermo constRefRhoConstHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -262,7 +262,7 @@ makeReactionMixtureThermo constRefFluidHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, diff --git a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H index 8581ff50256..21f6940a651 100644 --- a/src/thermophysicalModels/basic/fluidThermo/makeThermo.H +++ b/src/thermophysicalModels/basic/fluidThermo/makeThermo.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2012-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -66,9 +66,9 @@ defineTemplateTypeNameAndDebugWithName \ ( \ Cthermo##Mixture##Transport##Type##Thermo##EqnOfState##Specie, \ ( \ - #Cthermo"<"#Mixture"<" \ - + Transport##Type##Thermo##EqnOfState##Specie::typeName() \ - + ">>" \ + #Cthermo"<" \ + + Mixture<Transport##Type##Thermo##EqnOfState##Specie>::typeName() \ + + ">" \ ).c_str(), \ 0 \ ); diff --git a/src/thermophysicalModels/basic/mixtures/pureMixture/pureMixture.H b/src/thermophysicalModels/basic/mixtures/pureMixture/pureMixture.H index f7f213f10a9..36765064826 100644 --- a/src/thermophysicalModels/basic/mixtures/pureMixture/pureMixture.H +++ b/src/thermophysicalModels/basic/mixtures/pureMixture/pureMixture.H @@ -73,6 +73,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "pureMixture<" + ThermoType::typeName() + '>'; + } + const ThermoType& mixture() const { return mixture_; diff --git a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H index 3a63f0ba588..fc6b3973d8b 100644 --- a/src/thermophysicalModels/reactionThermo/makeReactionThermo.H +++ b/src/thermophysicalModels/reactionThermo/makeReactionThermo.H @@ -31,82 +31,100 @@ License // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeReactionMixtureThermo(BaseThermo,BaseReactionThermo,CThermo,Mixture,ThermoPhys) \ +#define defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys) \ \ -typedef CThermo \ -< \ - BaseReactionThermo, \ - SpecieMixture \ + typedef CThermo \ < \ - Mixture \ + BaseReactionThermo, \ + SpecieMixture \ < \ - ThermoPhys \ + Mixture \ + < \ + ThermoPhys \ + > \ > \ - > \ -> CThermo##Mixture##ThermoPhys; \ + > CThermo##Mixture##ThermoPhys; \ + \ + defineTemplateTypeNameAndDebugWithName \ + ( \ + CThermo##Mixture##ThermoPhys, \ + (#CThermo"<" + Mixture<ThermoPhys>::typeName() + ">").c_str(), \ + 0 \ + ) + + +#define addReactionMixtureThermo(BaseThermo,CThermoMixtureThermoPhys) \ \ -defineTemplateTypeNameAndDebugWithName \ -( \ - CThermo##Mixture##ThermoPhys, \ - (#CThermo"<"#Mixture"<" + ThermoPhys::typeName() + ">>").c_str(), \ - 0 \ -); \ + addToRunTimeSelectionTable \ + ( \ + BaseThermo, \ + CThermoMixtureThermoPhys, \ + fvMesh \ + ) + + +#define makeReactionMixtureThermos(BaseThermo,BaseReactionThermo,CThermo,Mixture,ThermoPhys) \ \ -addToRunTimeSelectionTable \ -( \ - basicThermo, \ - CThermo##Mixture##ThermoPhys, \ - fvMesh \ -); \ + defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys);\ \ -addToRunTimeSelectionTable \ -( \ - fluidThermo, \ - CThermo##Mixture##ThermoPhys, \ - fvMesh \ -); \ + addReactionMixtureThermo(basicThermo, CThermo##Mixture##ThermoPhys); \ + addReactionMixtureThermo(fluidThermo, CThermo##Mixture##ThermoPhys); \ + addReactionMixtureThermo(BaseThermo, CThermo##Mixture##ThermoPhys); \ + addReactionMixtureThermo(BaseReactionThermo, CThermo##Mixture##ThermoPhys) + + +#define makeReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys) \ \ -addToRunTimeSelectionTable \ -( \ - BaseThermo, \ - CThermo##Mixture##ThermoPhys, \ - fvMesh \ -); \ + defineReactionMixtureThermo(BaseReactionThermo,CThermo,Mixture,ThermoPhys);\ \ -addToRunTimeSelectionTable \ -( \ - BaseReactionThermo, \ - CThermo##Mixture##ThermoPhys, \ - fvMesh \ -); + addReactionMixtureThermo(BaseReactionThermo, CThermo##Mixture##ThermoPhys) -#define makeReactionThermo(BaseThermo,BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \ +#define defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie) \ \ -typedef \ - Transport \ - < \ - species::thermo \ + typedef \ + Transport \ < \ - Thermo \ + species::thermo \ < \ - EqnOfState \ + Thermo \ < \ - Specie \ - > \ - >, \ - Type \ + EqnOfState \ + < \ + Specie \ + > \ + >, \ + Type \ + > \ > \ - > Transport##Type##Thermo##EqnOfState##Specie; \ + Transport##Type##Thermo##EqnOfState##Specie \ + + +#define makeReactionThermos(BaseThermo,BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \ + \ + defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie); \ + \ + makeReactionMixtureThermos \ + ( \ + BaseThermo, \ + BaseReactionThermo, \ + CThermo, \ + Mixture, \ + Transport##Type##Thermo##EqnOfState##Specie \ + ) + + +#define makeReactionThermo(BaseReactionThermo,CThermo,Mixture,Transport,Type,Thermo,EqnOfState,Specie) \ + \ + defineThermoPhys(Transport,Type,Thermo,EqnOfState,Specie); \ \ -makeReactionMixtureThermo \ -( \ - BaseThermo, \ - BaseReactionThermo, \ - CThermo, \ - Mixture, \ - Transport##Type##Thermo##EqnOfState##Specie \ -); + makeReactionMixtureThermo \ + ( \ + BaseReactionThermo, \ + CThermo, \ + Mixture, \ + Transport##Type##Thermo##EqnOfState##Specie \ + ) // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.H index 5b9f0312485..43425d5116e 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/egrMixture/egrMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -99,6 +99,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "egrMixture<" + ThermoType::typeName() + '>'; + } + const dimensionedScalar& stoicRatio() const { return stoicRatio_; diff --git a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.H index bb77c4601e7..4e4e2e50e19 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/homogeneousMixture/homogeneousMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -90,6 +90,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "homogeneousMixture<" + ThermoType::typeName() + '>'; + } + const ThermoType& mixture(const scalar) const; const ThermoType& cellMixture(const label celli) const diff --git a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.H index d6ec1b63e09..55be584e702 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/inhomogeneousMixture/inhomogeneousMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -96,6 +96,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "inhomogeneousMixture<" + ThermoType::typeName() + '>'; + } + const dimensionedScalar& stoicRatio() const { return stoicRatio_; diff --git a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.H index 5f11d35b76a..071eb76ffcd 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/multiComponentMixture/multiComponentMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -111,6 +111,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "multiComponentMixture<" + ThermoType::typeName() + '>'; + } + const ThermoType& cellMixture(const label celli) const; const ThermoType& patchFaceMixture diff --git a/src/thermophysicalModels/reactionThermo/mixtures/reactingMixture/reactingMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/reactingMixture/reactingMixture.H index e455909893a..4eb2e51e84e 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/reactingMixture/reactingMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/reactingMixture/reactingMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -93,6 +93,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "reactingMixture<" + ThermoType::typeName() + '>'; + } + //- Read dictionary void read(const dictionary&); diff --git a/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.C b/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.C new file mode 100644 index 00000000000..b8374445dc9 --- /dev/null +++ b/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.C @@ -0,0 +1,62 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2017 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/>. + +\*---------------------------------------------------------------------------*/ + +#include "singleComponentMixture.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template<class ThermoType> +Foam::singleComponentMixture<ThermoType>::singleComponentMixture +( + const dictionary& thermoDict, + const fvMesh& mesh, + const word& phaseName +) +: + basicSpecieMixture(thermoDict, wordList::null(), mesh, phaseName), + thermo_(thermoDict.subDict("mixture")) +{} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template<class ThermoType> +Foam::singleComponentMixture<ThermoType>::~singleComponentMixture() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +template<class ThermoType> +void Foam::singleComponentMixture<ThermoType>::read +( + const dictionary& thermoDict +) +{ + thermo_ = ThermoType(thermoDict.subDict("mixture")); +} + + +// ************************************************************************* // diff --git a/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.H new file mode 100644 index 00000000000..7067d07081b --- /dev/null +++ b/src/thermophysicalModels/reactionThermo/mixtures/singleComponentMixture/singleComponentMixture.H @@ -0,0 +1,158 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2017 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::singleComponentMixture + +Description + Single component mixture + +SourceFiles + singleComponentMixture.C + +\*---------------------------------------------------------------------------*/ + +#ifndef singleComponentMixture_H +#define singleComponentMixture_H + +#include "basicSpecieMixture.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class singleComponentMixture Declaration +\*---------------------------------------------------------------------------*/ + +template<class ThermoType> +class singleComponentMixture +: + public basicSpecieMixture +{ + // Private data + + //- Thermo model + ThermoType thermo_; + + +public: + + //- The type of thermodynamics this mixture is instantiated for + typedef ThermoType thermoType; + + + // Constructors + + //- Construct from dictionary, mesh and phase name + singleComponentMixture(const dictionary&, const fvMesh&, const word&); + + + //- Destructor + virtual ~singleComponentMixture(); + + + // 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 + const ThermoType& cellMixture(const label celli) const + { + return thermo_; + } + + //- Get the mixture for the given patch face + const ThermoType& patchFaceMixture + ( + const label patchi, + const label facei + ) const + { + return thermo_; + } + + //- Get the volumetric mixture for the given cell + const ThermoType& cellVolMixture + ( + const scalar p, + const scalar T, + const label celli + ) + { + return thermo_; + } + + //- Get the volumetric mixture for the given patch face + const ThermoType& patchFaceVolMixture + ( + const scalar p, + const scalar T, + const label patchi, + const label facei + ) const + { + return thermo_; + } + + //- Read dictionary + void read(const dictionary&); + + //- Return thermo based on index + inline const ThermoType& getLocalThermo(const label speciei) const + { + #ifdef FULLDEBUG + if (speciei != 0) + { + FatalErrorInFunction + << "Specie index must be zero for a single component " + << "mixture" << exit(FatalError); + } + #endif + return thermo_; + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository + #include "singleComponentMixture.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.H index 10119b24f71..4e407785e91 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/singleStepReactingMixture/singleStepReactingMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -135,6 +135,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "singleStepReactingMixture<" + ThermoType::typeName() + '>'; + } + //- Calculates the residual for all components void fresCorrect(); diff --git a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.H b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.H index 5b81432aa94..390f6390add 100644 --- a/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.H +++ b/src/thermophysicalModels/reactionThermo/mixtures/veryInhomogeneousMixture/veryInhomogeneousMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -104,6 +104,12 @@ public: // Member functions + //- Return the instantiated type name + static word typeName() + { + return "veryInhomogeneousMixture<" + ThermoType::typeName() + '>'; + } + const dimensionedScalar& stoicRatio() const { return stoicRatio_; diff --git a/src/thermophysicalModels/reactionThermo/psiReactionThermo/psiReactionThermos.C b/src/thermophysicalModels/reactionThermo/psiReactionThermo/psiReactionThermos.C index 015c0118ed4..0da95cd824a 100644 --- a/src/thermophysicalModels/reactionThermo/psiReactionThermo/psiReactionThermos.C +++ b/src/thermophysicalModels/reactionThermo/psiReactionThermo/psiReactionThermos.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -43,6 +43,7 @@ License #include "multiComponentMixture.H" #include "reactingMixture.H" #include "singleStepReactingMixture.H" +#include "singleComponentMixture.H" #include "thermoPhysicsTypes.H" @@ -55,7 +56,7 @@ namespace Foam // constTransport, hConstThermo -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -68,7 +69,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -81,7 +82,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -97,7 +98,7 @@ makeReactionThermo // sutherlandTransport, hConstThermo -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -110,7 +111,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -123,7 +124,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -139,7 +140,7 @@ makeReactionThermo // sutherlandTransport, janafThermo -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -152,7 +153,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -165,7 +166,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiReactionThermo, @@ -178,10 +179,11 @@ makeReactionThermo specie ); +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Multi-component thermo for sensible enthalpy -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -190,7 +192,7 @@ makeReactionMixtureThermo constGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -202,7 +204,7 @@ makeReactionMixtureThermo // Multi-component thermo for internal energy -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -211,7 +213,7 @@ makeReactionMixtureThermo constGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -221,9 +223,9 @@ makeReactionMixtureThermo ); -// Multi-component reaction thermo for sensible enthalpy +// Reaction thermo for sensible enthalpy -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -232,7 +234,7 @@ makeReactionMixtureThermo constGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -241,7 +243,10 @@ makeReactionMixtureThermo gasHThermoPhysics ); -makeReactionMixtureThermo + +// Single-step reaction thermo for sensible enthalpy + +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -251,9 +256,9 @@ makeReactionMixtureThermo ); -// Multi-component reaction thermo for internal energy +// Reaction thermo for internal energy -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -262,7 +267,7 @@ makeReactionMixtureThermo constGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -271,7 +276,10 @@ makeReactionMixtureThermo gasEThermoPhysics ); -makeReactionMixtureThermo + +// Single-step reaction thermo for internal energy + +makeReactionMixtureThermos ( psiThermo, psiReactionThermo, @@ -280,6 +288,44 @@ makeReactionMixtureThermo gasEThermoPhysics ); + +// Single-component thermo for sensible enthalpy + +makeReactionMixtureThermo +( + psiReactionThermo, + hePsiThermo, + singleComponentMixture, + constGasHThermoPhysics +); + +makeReactionMixtureThermo +( + psiReactionThermo, + hePsiThermo, + singleComponentMixture, + gasHThermoPhysics +); + + +// Single-component thermo for internal energy + +makeReactionMixtureThermo +( + psiReactionThermo, + hePsiThermo, + singleComponentMixture, + constGasEThermoPhysics +); + +makeReactionMixtureThermo +( + psiReactionThermo, + hePsiThermo, + singleComponentMixture, + gasEThermoPhysics +); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/thermophysicalModels/reactionThermo/psiuReactionThermo/psiuReactionThermos.C b/src/thermophysicalModels/reactionThermo/psiuReactionThermo/psiuReactionThermos.C index 4e9173530df..cc62659bb9d 100644 --- a/src/thermophysicalModels/reactionThermo/psiuReactionThermo/psiuReactionThermos.C +++ b/src/thermophysicalModels/reactionThermo/psiuReactionThermo/psiuReactionThermos.C @@ -54,7 +54,7 @@ namespace Foam // * * * * * * * * * * * * * * * * h-hu-Thermos * * * * * * * * * * * * * * * // -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -67,7 +67,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -80,7 +80,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -93,7 +93,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -107,7 +107,7 @@ makeReactionThermo ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -120,7 +120,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -133,7 +133,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -146,7 +146,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -159,7 +159,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -173,7 +173,7 @@ makeReactionThermo ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -186,7 +186,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -199,7 +199,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, @@ -212,7 +212,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( psiThermo, psiuReactionThermo, diff --git a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C index 0cd88be7c13..b2a27d01dd2 100644 --- a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C +++ b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C @@ -35,6 +35,10 @@ License #include "janafThermo.H" #include "sensibleEnthalpy.H" #include "thermo.H" +#include "rhoConst.H" +#include "perfectFluid.H" +#include "adiabaticPerfectFluid.H" +#include "Boussinesq.H" #include "constTransport.H" #include "sutherlandTransport.H" @@ -45,6 +49,7 @@ License #include "multiComponentMixture.H" #include "reactingMixture.H" #include "singleStepReactingMixture.H" +#include "singleComponentMixture.H" #include "thermoPhysicsTypes.H" @@ -55,7 +60,7 @@ namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -68,7 +73,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -81,7 +86,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -94,7 +99,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -107,7 +112,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -120,7 +125,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -134,7 +139,7 @@ makeReactionThermo ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -147,7 +152,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -160,7 +165,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -173,7 +178,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -186,7 +191,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -199,7 +204,7 @@ makeReactionThermo specie ); -makeReactionThermo +makeReactionThermos ( rhoThermo, rhoReactionThermo, @@ -212,10 +217,11 @@ makeReactionThermo specie ); +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Multi-component thermo for internal energy -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -224,7 +230,7 @@ makeReactionMixtureThermo constGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -233,7 +239,7 @@ makeReactionMixtureThermo gasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -242,7 +248,7 @@ makeReactionMixtureThermo constIncompressibleGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -251,7 +257,7 @@ makeReactionMixtureThermo incompressibleGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -260,7 +266,7 @@ makeReactionMixtureThermo icoPoly8EThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -269,9 +275,37 @@ makeReactionMixtureThermo icoPoly8TranspJanafEThermoPhysics ); -// Multi-component reaction thermo +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constFluidEThermoPhysics +); -makeReactionMixtureThermo +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constAdiabaticFluidEThermoPhysics +); + +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constEThermoPhysics +); + + +// Reaction thermo for internal energy + +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -280,7 +314,7 @@ makeReactionMixtureThermo constGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -289,7 +323,7 @@ makeReactionMixtureThermo gasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -298,7 +332,7 @@ makeReactionMixtureThermo constIncompressibleGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -307,7 +341,7 @@ makeReactionMixtureThermo incompressibleGasEThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -316,7 +350,10 @@ makeReactionMixtureThermo icoPoly8EThermoPhysics ); -makeReactionMixtureThermo + +// Single-step reaction thermo for internal energy + +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -326,9 +363,101 @@ makeReactionMixtureThermo ); -// Multi-component thermo for sensible enthalpy +// Single-component thermo for internal energy + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constGasEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + gasEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constIncompressibleGasEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + incompressibleGasEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + icoPoly8EThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constFluidEThermoPhysics +); makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constAdiabaticFluidEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constEThermoPhysics +); + +makeReactionThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constTransport, + sensibleInternalEnergy, + hConstThermo, + Boussinesq, + specie +); + +makeReactionThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + sutherlandTransport, + sensibleInternalEnergy, + janafThermo, + Boussinesq, + specie +); + + + +// Multi-component thermo for sensible enthalpy + +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -337,7 +466,7 @@ makeReactionMixtureThermo constGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -346,7 +475,7 @@ makeReactionMixtureThermo gasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -355,7 +484,7 @@ makeReactionMixtureThermo constIncompressibleGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -364,7 +493,7 @@ makeReactionMixtureThermo incompressibleGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -373,7 +502,7 @@ makeReactionMixtureThermo icoPoly8HThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -382,9 +511,36 @@ makeReactionMixtureThermo icoPoly8TranspJanafHThermoPhysics ); -// Multi-component reaction thermo +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constFluidHThermoPhysics +); -makeReactionMixtureThermo +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constAdiabaticFluidHThermoPhysics +); + +makeReactionMixtureThermos +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constHThermoPhysics +); + +// Reaction thermo for sensible enthalpy + +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -393,7 +549,7 @@ makeReactionMixtureThermo constGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -402,7 +558,7 @@ makeReactionMixtureThermo gasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -411,7 +567,7 @@ makeReactionMixtureThermo constIncompressibleGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -420,7 +576,7 @@ makeReactionMixtureThermo incompressibleGasHThermoPhysics ); -makeReactionMixtureThermo +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -429,7 +585,10 @@ makeReactionMixtureThermo icoPoly8HThermoPhysics ); -makeReactionMixtureThermo + +// Single-step reaction thermo for sensible enthalpy + +makeReactionMixtureThermos ( rhoThermo, rhoReactionThermo, @@ -439,6 +598,96 @@ makeReactionMixtureThermo ); +// Single-component thermo for sensible enthalpy + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constGasHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + gasHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constIncompressibleGasHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + incompressibleGasHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + icoPoly8HThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constFluidHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constAdiabaticFluidHThermoPhysics +); + +makeReactionMixtureThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constHThermoPhysics +); + +makeReactionThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + constTransport, + sensibleEnthalpy, + hConstThermo, + Boussinesq, + specie +); + +makeReactionThermo +( + rhoReactionThermo, + heRhoThermo, + singleComponentMixture, + sutherlandTransport, + sensibleEnthalpy, + janafThermo, + Boussinesq, + specie +); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H b/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H index 29b692858f7..20b2ecd0772 100644 --- a/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H +++ b/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd. ------------------------------------------------------------------------------- License @@ -35,6 +35,9 @@ Description #include "specie.H" #include "perfectGas.H" #include "incompressiblePerfectGas.H" +#include "perfectFluid.H" +#include "adiabaticPerfectFluid.H" +#include "rhoConst.H" #include "hConstThermo.H" #include "janafThermo.H" @@ -134,6 +137,48 @@ namespace Foam 8 > icoPoly8TranspJanafHThermoPhysics; + 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 typedef @@ -216,6 +261,48 @@ namespace Foam >, 8 > icoPoly8TranspJanafEThermoPhysics; + + 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; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -- GitLab