Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
applications
solvers
combustion
fireFoam
combustionModels
combustionModel
combustionModel.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
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.
15
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
19
for more details.
20
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/>.
23
24
Class
25
Foam::combustionModel
26
27
Description
28
Base class for all non-premixed combustion models.
29
30
SourceFiles
31
combustionModel.C
32
33
\*---------------------------------------------------------------------------*/
34
35
#ifndef combustionModel_H
36
#define combustionModel_H
37
38
#include <
OpenFOAM/IOdictionary.H
>
39
#include <
reactionThermophysicalModels/hsCombustionThermo.H
>
40
#include <
compressibleTurbulenceModel/turbulenceModel.H
>
41
#include <
finiteVolume/multivariateSurfaceInterpolationScheme.H
>
42
#include <
OpenFOAM/runTimeSelectionTables.H
>
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
namespace
Foam
47
{
48
49
/*---------------------------------------------------------------------------*\
50
Class combustionModel Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
combustionModel
54
{
55
56
protected
:
57
58
// Protected data
59
60
//- Dictionary of coefficients for the particular model
61
dictionary
combustionModelCoeffs_
;
62
63
//- Reference to the thermodynamic
64
const
hsCombustionThermo
&
thermo_
;
65
66
//- Reference to the turbulence model
67
const
compressible::turbulenceModel&
turbulence_
;
68
69
//- Reference to the mesh database
70
const
fvMesh
&
mesh_
;
71
72
//- Reference to mass-flux field
73
const
surfaceScalarField
&
phi_
;
74
75
//- Reference to the density field
76
const
volScalarField
&
rho_
;
77
78
//- Stoichiometric air-fuel mass ratio
79
dimensionedScalar
stoicRatio_
;
80
81
//- Stoichiometric oxygen-fuel mass ratio
82
dimensionedScalar
s_
;
83
84
//- Heat of combustion (J/Kg)
85
dimensionedScalar
qFuel_
;
86
87
88
private
:
89
90
// Private Member Functions
91
92
//- Disallow copy construct
93
combustionModel
(
const
combustionModel
&);
94
95
//- Disallow default bitwise assignment
96
void
operator=(
const
combustionModel
&);
97
98
const
basicMultiComponentMixture
& composition_;
99
100
101
public
:
102
103
//- Runtime type information
104
TypeName
(
"combustionModel"
);
105
106
107
// Declare run-time constructor selection table
108
109
declareRunTimeSelectionTable
110
(
111
autoPtr
,
112
combustionModel
,
113
dictionary
,
114
(
115
const
dictionary
&
combustionProperties
,
116
const
hsCombustionThermo
&
thermo
,
117
const
compressible::turbulenceModel&
turbulence
,
118
const
surfaceScalarField
&
phi
,
119
const
volScalarField
&
rho
120
),
121
(
122
combustionProperties,
123
thermo,
124
turbulence,
125
phi,
126
rho
127
)
128
);
129
130
131
// Selectors
132
133
//- Return a reference to the selected combustion model
134
static
autoPtr<combustionModel>
New
135
(
136
const
dictionary
& combustionProperties,
137
const
hsCombustionThermo
& thermo,
138
const
compressible::turbulenceModel& turbulence,
139
const
surfaceScalarField
& phi,
140
const
volScalarField
& rho
141
);
142
143
144
// Constructors
145
146
//- Construct from components
147
combustionModel
148
(
149
const
dictionary
& combustionProperties,
150
const
hsCombustionThermo
& thermo,
151
const
compressible::turbulenceModel& turbulence,
152
const
surfaceScalarField
& phi,
153
const
volScalarField
& rho
154
);
155
156
157
//- Destructor
158
virtual
~combustionModel
();
159
160
161
// Member Functions
162
163
// Access functions
164
165
//- Access composition
166
const
basicMultiComponentMixture
&
composition
()
const
167
{
168
return
composition_;
169
}
170
171
//- Access combustion dictionary
172
const
dictionary
combustionModelCoeffs
()
const
173
{
174
return
combustionModelCoeffs_
;
175
}
176
177
//- Access heat of combustion
178
const
dimensionedScalar
qFuel
()
const
179
{
180
return
qFuel_
;
181
}
182
183
//- Return normalised consumption rate of (fu - fres)
184
virtual
tmp<volScalarField>
wFuelNorm
()
const
= 0;
185
186
//- Fuel consumption rate matrix i.e. source-term for the fuel equation
187
virtual
tmp<fvScalarMatrix>
R
(
volScalarField
&
fu
)
const
;
188
189
//- Heat-release rate calculated from the given
190
// fuel consumption rate matrix
191
virtual
tmp<volScalarField>
dQ
(
const
fvScalarMatrix
& Rfu)
const
;
192
193
//- Correct combustion rate
194
virtual
void
correct
() = 0;
195
196
//- Update properties from given dictionary
197
virtual
bool
read
(
const
dictionary
& combustionProperties) = 0;
198
};
199
200
201
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203
}
// End namespace Foam
204
205
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
206
207
#endif
208
209
// ************************************************************************* //