1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | foam-extend: Open Source CFD
4 \\ / O peration | Version: 3.2
5 \\ / A nd | Web: http://www.foam-extend.org
6 \\/ M anipulation | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
9 This file is part of foam-extend.
11 foam-extend is free software: you can redistribute it and/or modify it
12 under the terms of the GNU General Public License as published by the
13 Free Software Foundation, either version 3 of the License, or (at your
14 option) any later version.
16 foam-extend is distributed in the hope that it will be useful, but
17 WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public License
22 along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
25 Foam::hhuCombustionThermo
28 Foam::hhuCombustionThermo
32 newhhuCombustionThermo.C
34 \*---------------------------------------------------------------------------*/
36 #ifndef hhuCombustionThermo_H
37 #define hhuCombustionThermo_H
39 #include "hCombustionThermo.H"
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46 /*---------------------------------------------------------------------------*\
47 Class hhuCombustionThermo Declaration
48 \*---------------------------------------------------------------------------*/
50 class hhuCombustionThermo
52 public hCombustionThermo
63 // Protected member functions
65 wordList huBoundaryTypes();
66 void huBoundaryCorrection(volScalarField& hu);
71 //- Runtime type information
72 TypeName("hhuCombustionThermo");
75 // Declare run-time constructor selection tables
77 declareRunTimeSelectionTable
82 (const fvMesh& mesh, const objectRegistry& obj),
89 //- Construct from dictionary and mesh
90 hhuCombustionThermo(const fvMesh&, const objectRegistry&);
95 static autoPtr<hhuCombustionThermo> New(const fvMesh&, const objectRegistry&);
97 static autoPtr<hhuCombustionThermo> New(const fvMesh& mesh)
99 return New(mesh, mesh);
104 virtual ~hhuCombustionThermo();
109 //- Update properties
110 virtual void correct() = 0;
113 // Access to thermodynamic state variables.
115 //- Unburnt gas enthalpy [J/kg]
116 // Non-const access allowed for transport equations
117 virtual volScalarField& hu()
122 //- Unburnt gas enthalpy [J/kg]
123 virtual const volScalarField& hu() const
129 // Fields derived from thermodynamic state variables
131 //- Unburnt gas enthalpy for cell-set [J/kg]
132 virtual tmp<scalarField> hu
134 const scalarField& T,
135 const labelList& cells
138 //- Unburnt gas enthalpy for patch [J/kg]
139 virtual tmp<scalarField> hu
141 const scalarField& T,
145 //- Unburnt gas temperature [K]
146 virtual const volScalarField& Tu() const
151 //- Burnt gas temperature [K]
152 virtual tmp<volScalarField> Tb() const = 0;
154 //- Unburnt gas density [kg/m^3]
155 virtual tmp<volScalarField> rhou() const
160 //- Burnt gas density [kg/m^3]
161 virtual tmp<volScalarField> rhob() const
166 //- Unburnt gas compressibility [s^2/m^2]
167 virtual tmp<volScalarField> psiu() const = 0;
169 //- Burnt gas compressibility [s^2/m^2]
170 virtual tmp<volScalarField> psib() const = 0;
172 //- Dynamic viscosity of unburnt gas [kg/ms]
173 virtual tmp<volScalarField> muu() const = 0;
175 //- Dynamic viscosity of burnt gas [kg/ms]
176 virtual tmp<volScalarField> mub() const = 0;
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
182 } // End namespace Foam
184 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
188 // ************************************************************************* //