EDC.H
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2017-2023 OpenFOAM Foundation
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::combustionModels::EDC
26 
27 Description
28  Eddy Dissipation Concept (EDC) turbulent combustion model.
29 
30  This model considers that the reaction occurs in the regions of the flow
31  where the dissipation of turbulence kinetic energy takes place (fine
32  structures). The mass fraction of the fine structures and the mean residence
33  time are provided by an energy cascade model.
34 
35  There are many versions and developments of the EDC model, 4 of which are
36  currently supported in this implementation: v1981, v1996, v2005 and
37  v2016. The model variant is selected using the optional \c version entry in
38  the \c EDCCoeffs dictionary
39 
40  \verbatim
41  EDCCoeffs
42  {
43  version v2016;
44  }
45  \endverbatim
46 
47  The default version is \c v2005 if the \c version entry is not specified.
48 
49  Model versions and references:
50  \verbatim
51  Version v2005:
52 
53  Cgamma = 2.1377
54  Ctau = 0.4083
55  kappa = gammaL^exp1 / (1 - gammaL^exp2),
56 
57  where exp1 = 2, and exp2 = 2.
58 
59  Magnussen, B. F. (2005, June).
60  The Eddy Dissipation Concept -
61  A Bridge Between Science and Technology.
62  In ECCOMAS thematic conference on computational combustion
63  (pp. 21-24).
64 
65  Version v1981:
66 
67  Changes coefficients exp1 = 3 and exp2 = 3
68 
69  Magnussen, B. (1981, January).
70  On the structure of turbulence and a generalised
71  eddy dissipation concept for chemical reaction in turbulent flow.
72  In 19th Aerospace Sciences Meeting (p. 42).
73 
74  Version v1996:
75 
76  Changes coefficients exp1 = 2 and exp2 = 3
77 
78  Gran, I. R., & Magnussen, B. F. (1996).
79  A numerical study of a bluff-body stabilised diffusion flame.
80  Part 2. Influence of combustion modeling and finite-rate chemistry.
81  Combustion Science and Technology, 119(1-6), 191-217.
82 
83  Version v2016:
84 
85  Use local constants computed from the turbulent Da and Re numbers.
86 
87  Parente, A., Malik, M. R., Contino, F., Cuoci, A., & Dally, B. B.
88  (2016).
89  Extension of the Eddy Dissipation Concept for
90  turbulence/chemistry interactions to MILD combustion.
91  Fuel, 163, 98-111.
92  \endverbatim
93 
94 SourceFiles
95  EDC.C
96 
97 \*---------------------------------------------------------------------------*/
98 
99 #ifndef EDC_H
100 #define EDC_H
101 
102 #include "autoPtr.H"
103 #include "combustionModel.H"
104 #include "basicChemistryModel.H"
105 #include "NamedEnum.H"
106 
107 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108 
109 namespace Foam
110 {
111 namespace combustionModels
112 {
113 
114 //- EDC model versions
115 enum class EDCversions
116 {
117  v1981,
118  v1996,
119  v2005,
120  v2016
121 };
122 
124 extern const EDCversions EDCdefaultVersion;
125 
126 const scalar EDCexp1[] = {3, 2, 2, 2};
127 const scalar EDCexp2[] = {3, 3, 2, 2};
128 
129 /*---------------------------------------------------------------------------*\
130  Class EDC Declaration
131 \*---------------------------------------------------------------------------*/
132 
133 class EDC
134 :
135  public combustionModel
136 {
137  // Private Data
138 
139  //- The selected model version
140  EDCversions version_;
141 
142  //- Model constant
143  scalar C1_;
144 
145  //- Model constant
146  scalar C2_;
147 
148  //- Model constant
149  scalar Cgamma_;
150 
151  //- Model constant
152  scalar Ctau_;
153 
154  //- Model constant
155  scalar exp1_;
156 
157  //- Model constant
158  scalar exp2_;
159 
160  //- Mixing parameter
161  volScalarField kappa_;
162 
163  //- Run chemistry correction on every outer iteration. Default true.
164  bool outerCorrect_;
165 
166  //- The time index of the last correction
167  label timeIndex_;
168 
169  //- Pointer to chemistry model
170  autoPtr<basicChemistryModel> chemistryPtr_;
171 
172 
173 public:
174 
175  //- Runtime type information
176  TypeName("EDC");
177 
178 
179  // Constructors
180 
181  //- Construct from components
182  EDC
183  (
184  const word& modelType,
187  const word& combustionProperties
188  );
189 
190  //- Disallow default bitwise copy construction
191  EDC(const EDC&) = delete;
192 
193 
194  //- Destructor
195  virtual ~EDC();
196 
197 
198  // Member Functions
199 
200  //- Correct combustion rate
201  virtual void correct();
202 
203  //- Specie consumption rate field
204  virtual tmp<volScalarField::Internal> R(const label speciei) const;
205 
206  //- Specie consumption rate matrix
207  virtual tmp<fvScalarMatrix> R(volScalarField& Y) const;
208 
209  //- Heat release rate [kg/m/s^3]
210  virtual tmp<volScalarField> Qdot() const;
211 
212  //- Update properties from given dictionary
213  virtual bool read();
214 
215 
216  // Member Operators
217 
218  //- Disallow default bitwise assignment
219  void operator=(const EDC&) = delete;
220 };
221 
222 
223 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
224 
225 } // End namespace combustionModels
226 } // End namespace Foam
227 
228 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
229 
230 #endif
231 
232 // ************************************************************************* //
Generic GeometricField class.
Initialise the NamedEnum HashTable from the static list of names.
Definition: NamedEnum.H:54
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
Base class for combustion models.
Eddy Dissipation Concept (EDC) turbulent combustion model.
Definition: EDC.H:135
void operator=(const EDC &)=delete
Disallow default bitwise assignment.
virtual void correct()
Correct combustion rate.
Definition: EDC.C:109
EDC(const word &modelType, const fluidMulticomponentThermo &type, const compressibleMomentumTransportModel &turb, const word &combustionProperties)
Construct from components.
Definition: EDC.C:54
TypeName("EDC")
Runtime type information.
virtual ~EDC()
Destructor.
Definition: EDC.C:103
virtual tmp< volScalarField::Internal > R(const label speciei) const
Specie consumption rate field.
Definition: EDC.C:202
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s^3].
Definition: EDC.C:222
virtual bool read()
Update properties from given dictionary.
Definition: EDC.C:232
Base class for single-phase compressible turbulence models.
Base-class for multi-component fluid thermodynamic properties.
A class for managing temporary objects.
Definition: tmp.H:55
A class for handling words, derived from string.
Definition: word.H:62
const scalar EDCexp2[]
Definition: EDC.H:126
const scalar EDCexp1[]
Definition: EDC.H:125
const NamedEnum< EDCversions, 4 > EDCversionNames
Definition: EDC.C:36
const EDCversions EDCdefaultVersion
Definition: EDC.C:39
EDCversions
EDC model versions.
Definition: EDC.H:115
Namespace for OpenFOAM.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Definition: POSIX.C:488
PtrList< volScalarField > & Y