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 -------------------------------------------------------------------------------
10 License
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 
26 Class
27  Foam::combustionModels::EDC
28 
29 Description
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 
96 SourceFiles
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 
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 template<class ReactionThermo>
134 class 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 
163 public:
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 // ************************************************************************* //
EDC.C
Foam::combustionModels::EDCversions
EDCversions
EDC model versions.
Definition: EDC.H:114
Foam::Enum
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Definition: IOstreamOption.H:57
Foam::word
A class for handling words, derived from Foam::string.
Definition: word.H:65
Foam::tmp
A class for managing temporary objects.
Definition: PtrList.H:61
Foam::combustionModels::EDC::TypeName
TypeName("EDC")
Runtime type information.
Foam::combustionModels::EDC::Qdot
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s3].
Definition: EDC.C:191
Foam::combustionModels::EDCdefaultVersion
const EDCversions EDCdefaultVersion
Foam::combustionModels::EDC::correct
virtual void correct()
Correct combustion rate.
Definition: EDC.C:84
Foam::combustionModels::EDC::~EDC
virtual ~EDC()
Destructor.
Definition: EDC.C:77
Foam::combustionModels::EDCversionNames
const Enum< EDCversions > EDCversionNames
Foam::combustionModels::laminar
Laminar combustion model.
Definition: laminar.H:56
Foam::combustionModels::EDC
Eddy Dissipation Concept (EDC) turbulent combustion model.
Definition: EDC.H:133
Foam::combustionModels::EDCexp1
const scalar EDCexp1[]
Definition: EDC.H:125
Foam::combustionModels::EDCversions::v1996
Foam::combustionModels::EDC::read
virtual bool read()
Update properties from given dictionary.
Definition: EDC.C:221
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Y
PtrList< volScalarField > & Y
Definition: createFieldRefs.H:7
Foam::combustionModels::EDCversions::v2005
Foam::combustionModels::EDCexp2
const scalar EDCexp2[]
Definition: EDC.H:126
Foam::type
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Definition: MSwindows.C:590
Foam::combustionModels::EDCversions::v2016
Foam::GeometricField< scalar, fvPatchField, volMesh >
turb
compressible::turbulenceModel & turb
Definition: setRegionFluidFields.H:10
Foam::combustionModels::EDC::R
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.
Definition: EDC.C:183
Foam::compressibleTurbulenceModel
Abstract base class for turbulence models (RAS, LES and laminar).
Definition: compressibleTurbulenceModel.H:54
Foam::combustionModels::EDCversions::v1981
Enum.H