1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by
13 the Free Software Foundation, either version 3 of the License, or
14 (at your option) any later version.
16 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 Foam::hsCombustionThermo
28 Sensible enthalpy variant of combustionThermo
33 \*---------------------------------------------------------------------------*/
35 #ifndef hsCombustionThermo_H
36 #define hsCombustionThermo_H
38 #include "basicPsiThermo.H"
39 #include "basicMultiComponentMixture.H"
41 #include "runTimeSelectionTables.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48 /*---------------------------------------------------------------------------*\
49 Class hsCombustionThermo Declaration
50 \*---------------------------------------------------------------------------*/
52 class hsCombustionThermo
61 //- Sensible enthalpy field
67 //- Runtime type information
68 TypeName("hsCombustionThermo");
71 //- Declare run-time constructor selection tables
72 declareRunTimeSelectionTable
84 //- Construct from dictionary and mesh
85 hsCombustionThermo(const fvMesh&);
90 //- Standard selection based on fvMesh
91 static autoPtr<hsCombustionThermo> New(const fvMesh&);
93 //- Select and check that package contains 'thermoType'
94 static autoPtr<hsCombustionThermo> NewType
97 const word& thermoType
102 virtual ~hsCombustionThermo();
107 //- Return the composition of the multi-component mixture
108 virtual basicMultiComponentMixture& composition() = 0;
110 //- Return the composition of the multi-component mixture
111 virtual const basicMultiComponentMixture& composition() const = 0;
114 // Access to thermodynamic state variables
116 //- Sensible enthalpy [J/kg]
117 // Non-const access allowed for transport equations
118 virtual volScalarField& hs()
123 //- Sensible enthalpy [J/kg]
124 virtual const volScalarField& hs() const
130 //- Update properties
131 virtual void correct() = 0;
135 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
137 } // End namespace Foam
139 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
143 // ************************************************************************* //