diff --git a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModels.C b/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModels.C index c331cd1c7..b45ebb318 100644 --- a/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModels.C +++ b/src/thermophysicalModels/chemistryModel/chemistryModel/rhoChemistryModel/rhoChemistryModels.C @@ -111,6 +111,23 @@ namespace Foam rhoChemistryModel, icoPoly8EThermoPhysics ); + + // Chemistry moldels based on absoluteEnthalpy + makeChemistryModel + ( + chemistryModel, + rhoChemistryModel, + gasHaThermoPhysics + ); + + // Chemistry moldels based on absoluteInternalEnergy + makeChemistryModel + ( + chemistryModel, + rhoChemistryModel, + gasEaThermoPhysics + ); + } // ************************************************************************* // diff --git a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolvers.C b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolvers.C index 069a78282..27e28224d 100644 --- a/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolvers.C +++ b/src/thermophysicalModels/chemistryModel/chemistrySolver/chemistrySolver/makeChemistrySolvers.C @@ -88,6 +88,12 @@ namespace Foam incompressibleGasEThermoPhysics ); makeChemistrySolverTypes(rhoChemistryModel, icoPoly8EThermoPhysics); + + // Chemistry solvers based on absoluteEnthalpy + makeChemistrySolverTypes(rhoChemistryModel, gasHaThermoPhysics); + + // Chemistry solvers based on absoluteInternalEnergy + makeChemistrySolverTypes(rhoChemistryModel, gasEaThermoPhysics); } diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/makeChemistryReaders.C b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/makeChemistryReaders.C index fd48f1269..4c302b3d1 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/makeChemistryReaders.C +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemistryReader/makeChemistryReaders.C @@ -86,6 +86,19 @@ makeChemistryReaderType(foamChemistryReader, hConstSolidThermoPhysics); makeChemistryReaderType(foamChemistryReader, hPowerSolidThermoPhysics); makeChemistryReaderType(foamChemistryReader, hExpKappaConstSolidThermoPhysics); + +// Gas chemistry readers based on absoluteEnthalpy + +makeChemistryReader(gasHaThermoPhysics); +makeChemistryReaderType(foamChemistryReader, gasHaThermoPhysics); + + +// Gas chemistry readers based on absoluteInternalEnergy + +makeChemistryReader(gasEaThermoPhysics); +makeChemistryReaderType(foamChemistryReader, gasEaThermoPhysics); + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C index 27bc73d75..4cc46f227 100644 --- a/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C +++ b/src/thermophysicalModels/reactionThermo/rhoReactionThermo/rhoReactionThermos.C @@ -212,6 +212,47 @@ makeReactionThermo specie ); +//reactionthermo using absoluteEnthalpy + +makeReactionThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + homogeneousMixture, + sutherlandTransport, + absoluteEnthalpy, + janafThermo, + perfectGas, + specie +); + +makeReactionThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + inhomogeneousMixture, + sutherlandTransport, + absoluteEnthalpy, + janafThermo, + perfectGas, + specie +); + +makeReactionThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + veryInhomogeneousMixture, + sutherlandTransport, + absoluteEnthalpy, + janafThermo, + perfectGas, + specie +); + // Multi-component thermo for internal energy @@ -260,6 +301,29 @@ makeReactionMixtureThermo icoPoly8EThermoPhysics ); +// Multi-component thermo for absolute enthalpy + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + gasHaThermoPhysics +); + + +// Multi-component thermo for internal energy + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + gasEaThermoPhysics +); + // Multi-component reaction thermo @@ -424,6 +488,47 @@ makeReactionMixtureThermo gasHThermoPhysics ); +// Multi-component reaction thermo for absolute enthalpy + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + reactingMixture, + gasHaThermoPhysics +); + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + singleStepReactingMixture, + gasHaThermoPhysics +); + + +// Multi-component reaction thermo for internal energy + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + reactingMixture, + gasEaThermoPhysics +); + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + singleStepReactingMixture, + gasEaThermoPhysics +); + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/specie/include/reactionTypes.H b/src/thermophysicalModels/specie/include/reactionTypes.H index b58c3098b..91a9f0961 100644 --- a/src/thermophysicalModels/specie/include/reactionTypes.H +++ b/src/thermophysicalModels/specie/include/reactionTypes.H @@ -68,6 +68,12 @@ namespace Foam incompressibleGasEReaction; typedef Reaction icoPoly8EReaction; + + // absolute enthalpy based reactions + typedef Reaction gasHaReaction; + + // absolute internal energy based reactions + typedef Reaction gasEaReaction; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H b/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H index 04cecc04c..a05e2e234 100644 --- a/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H +++ b/src/thermophysicalModels/specie/include/thermoPhysicsTypes.H @@ -40,6 +40,8 @@ Description #include "sensibleEnthalpy.H" #include "sensibleInternalEnergy.H" +#include "absoluteEnthalpy.H" +#include "absoluteInternalEnergy.H" #include "thermo.H" #include "sutherlandTransport.H" #include "constTransport.H" @@ -188,6 +190,40 @@ namespace Foam >, 8 > icoPoly8EThermoPhysics; + + + // thermo physics types based on absoluteEnthalpy + + typedef + sutherlandTransport + < + species::thermo + < + janafThermo + < + perfectGas + >, + absoluteEnthalpy + > + > gasHaThermoPhysics; + + + // thermo physics types based on absoluteInternalEnergy + + typedef + sutherlandTransport + < + species::thermo + < + janafThermo + < + perfectGas + >, + absoluteInternalEnergy + > + > gasEaThermoPhysics; + + } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/thermophysicalModels/specie/reaction/reactions/makeReactions.C b/src/thermophysicalModels/specie/reaction/reactions/makeReactions.C index 96352b2c9..608de1b0b 100644 --- a/src/thermophysicalModels/specie/reaction/reactions/makeReactions.C +++ b/src/thermophysicalModels/specie/reaction/reactions/makeReactions.C @@ -103,6 +103,10 @@ namespace Foam ) makeReactions(incompressibleGasEThermoPhysics, incompressibleGasEReaction) makeReactions(icoPoly8EThermoPhysics, icoPoly8EReaction) + + // absolute enthalpy based reactions + makeReactions(gasHaThermoPhysics, gasHaReaction) + makeReactions(gasEaThermoPhysics, gasEaReaction) } // ************************************************************************* //