EDC.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 | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::combustionModels::EDC
28
29Description
30 Eddy Dissipation Concept (EDC) turbulent combustion model.
31
32 This model considers that the reaction occurs in the regions of the flow
33 where the dissipation of turbulence kinetic energy takes place (fine
34 structures). The mass fraction of the fine structures and the mean residence
35 time are provided by an energy cascade model.
36
37 There are many versions and developments of the EDC model, 4 of which are
38 currently supported in this implementation: v1981, v1996, v2005 and
39 v2016. The model variant is selected using the optional \c version entry in
40 the \c EDCCoeffs dictionary, e.g.
41
42 \verbatim
43 EDCCoeffs
44 {
45 version v2016;
46 }
47 \endverbatim
48
49 The default version is \c v2015 if the \c version entry is not specified.
50
51 Model versions and references:
52 \verbatim
53 Version v2005:
54
55 Cgamma = 2.1377
56 Ctau = 0.4083
57 kappa = gammaL^exp1 / (1 - gammaL^exp2),
58
59 where exp1 = 2, and exp2 = 2.
60
61 Magnussen, B. F. (2005, June).
62 The Eddy Dissipation Concept -
63 A Bridge Between Science and Technology.
64 In ECCOMAS thematic conference on computational combustion
65 (pp. 21-24).
66
67 Version v1981:
68
69 Changes coefficients exp1 = 3 and exp2 = 3
70
71 Magnussen, B. (1981, January).
72 On the structure of turbulence and a generalized
73 eddy dissipation concept for chemical reaction in turbulent flow.
74 In 19th Aerospace Sciences Meeting (p. 42).
75
76 Version v1996:
77
78 Changes coefficients exp1 = 2 and exp2 = 3
79
80 Gran, I. R., & Magnussen, B. F. (1996).
81 A numerical study of a bluff-body stabilized diffusion flame.
82 Part 2. Influence of combustion modeling and finite-rate chemistry.
83 Combustion Science and Technology, 119(1-6), 191-217.
84
85 Version v2016:
86
87 Use local constants computed from the turbulent Da and Re numbers.
88
89 Parente, A., Malik, M. R., Contino, F., Cuoci, A., & Dally, B. B.
90 (2016).
91 Extension of the Eddy Dissipation Concept for
92 turbulence/chemistry interactions to MILD combustion.
93 Fuel, 163, 98-111.
94 \endverbatim
95
96SourceFiles
97 EDC.C
98
99\*---------------------------------------------------------------------------*/
100
101#ifndef EDC_H
102#define EDC_H
103
104#include "../laminar/laminar.H"
105#include "Enum.H"
106
107// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108
109namespace Foam
110{
111namespace combustionModels
112{
113
114//- EDC model versions
115enum class EDCversions
116{
117 v1981,
118 v1996,
119 v2005,
120 v2016
121};
122
124extern const EDCversions EDCdefaultVersion;
126const scalar EDCexp1[] = {3, 2, 2, 2};
127const scalar EDCexp2[] = {3, 3, 2, 2};
128
129/*---------------------------------------------------------------------------*\
130 Class EDC Declaration
131\*---------------------------------------------------------------------------*/
132
133template<class ReactionThermo>
134class EDC
135:
136 public laminar<ReactionThermo>
137{
138 // Private data
139
140 //- The selected model version
141 EDCversions version_;
142
143 scalar C1_;
144 scalar C2_;
145 scalar Cgamma_;
146 scalar Ctau_;
147 scalar exp1_;
148 scalar exp2_;
149
150 //- Mixing parameter
151 volScalarField kappa_;
152
153
154 // Private Member Functions
155
156 //- No copy construct
157 EDC(const EDC&) = delete;
158
159 //- No copy assignment
160 void operator=(const EDC&) = delete;
161
162
163public:
164
165 //- Runtime type information
166 TypeName("EDC");
167
168
169 // Constructors
170
171 //- Construct from components
172 EDC
173 (
174 const word& modelType,
175 ReactionThermo& type,
177 const word& combustionProperties
178 );
179
180
181 //- Destructor
182 virtual ~EDC();
183
184
185 // Member Functions
186
187 //- Correct combustion rate
188 virtual void correct();
189
190 //- Fuel consumption rate matrix.
191 virtual tmp<fvScalarMatrix> R(volScalarField& Y) const;
192
193 //- Heat release rate [kg/m/s3]
194 virtual tmp<volScalarField> Qdot() const;
195
196 //- Update properties from given dictionary
197 virtual bool read();
198};
199
200
201// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203} // End namespace combustionModels
204} // End namespace Foam
205
206// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
207
208#ifdef NoRepository
209 #include "EDC.C"
210#endif
211
212// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
213
214#endif
215
216// ************************************************************************* //
#define R(A, B, C, D, E, F, K, M)
compressible::turbulenceModel & turb
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Definition: Enum.H:61
Eddy Dissipation Concept (EDC) turbulent combustion model.
Definition: EDC.H:136
virtual void correct()
Correct combustion rate.
Definition: EDC.C:84
TypeName("EDC")
Runtime type information.
virtual ~EDC()
Destructor.
Definition: EDC.C:77
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s3].
Definition: EDC.C:191
virtual bool read()
Update properties from given dictionary.
Definition: EDC.C:221
Laminar combustion model.
Definition: laminar.H:59
Abstract base class for turbulence models (RAS, LES and laminar).
A class for managing temporary objects.
Definition: tmp.H:65
A class for handling words, derived from Foam::string.
Definition: word.H:68
PtrList< volScalarField > & Y
const Enum< EDCversions > EDCversionNames
const scalar EDCexp2[]
Definition: EDC.H:126
const scalar EDCexp1[]
Definition: EDC.H:125
const EDCversions EDCdefaultVersion
EDCversions
EDC model versions.
Definition: EDC.H:115
Namespace for OpenFOAM.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Definition: MSwindows.C:598
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73