All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2020 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, \eg
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 generalized
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 stabilized 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 "../laminar/laminar.H"
103 #include "NamedEnum.H"
104 
105 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
106 
107 namespace Foam
108 {
109 namespace combustionModels
110 {
111 
112 //- EDC model versions
113 enum class EDCversions
114 {
115  v1981,
116  v1996,
117  v2005,
118  v2016
119 };
120 
122 extern const EDCversions EDCdefaultVersion;
124 const scalar EDCexp1[] = {3, 2, 2, 2};
125 const scalar EDCexp2[] = {3, 3, 2, 2};
126 
127 /*---------------------------------------------------------------------------*\
128  Class EDC Declaration
129 \*---------------------------------------------------------------------------*/
130 
131 template<class ReactionThermo>
132 class EDC
133 :
134  public laminar<ReactionThermo>
135 {
136  // Private Data
137 
138  //- The selected model version
139  EDCversions version_;
140 
141  scalar C1_;
142  scalar C2_;
143  scalar Cgamma_;
144  scalar Ctau_;
145  scalar exp1_;
146  scalar exp2_;
147 
148  //- Mixing parameter
149  volScalarField kappa_;
150 
151 
152 public:
153 
154  //- Runtime type information
155  TypeName("EDC");
156 
157 
158  // Constructors
159 
160  //- Construct from components
161  EDC
162  (
163  const word& modelType,
164  const ReactionThermo& type,
166  const word& combustionProperties
167  );
168 
169  //- Disallow default bitwise copy construction
170  EDC(const EDC&);
171 
172 
173  //- Destructor
174  virtual ~EDC();
175 
176 
177  // Member Functions
178 
179  //- Correct combustion rate
180  virtual void correct();
181 
182  //- Fuel consumption rate matrix.
183  virtual tmp<fvScalarMatrix> R(volScalarField& Y) const;
184 
185  //- Heat release rate [kg/m/s^3]
186  virtual tmp<volScalarField> Qdot() const;
187 
188  //- Update properties from given dictionary
189  virtual bool read();
190 
191 
192  // Member Operators
193 
194  //- Disallow default bitwise assignment
195  void operator=(const EDC&) = delete;
196 };
197 
198 
199 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
200 
201 } // End namespace combustionModels
202 } // End namespace Foam
203 
204 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
205 
206 #ifdef NoRepository
207  #include "EDC.C"
208 #endif
209 
210 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
211 
212 #endif
213 
214 // ************************************************************************* //
const EDCversions EDCdefaultVersion
EDCversions
EDC model versions.
Definition: EDC.H:112
Initialise the NamedEnum HashTable from the static list of names.
Definition: NamedEnum.H:51
scalar Qdot
Definition: solveChemistry.H:2
const scalar EDCexp1[]
Definition: EDC.H:123
bool read(const char *, int32_t &)
Definition: int32IO.C:85
Laminar combustion model.
Definition: laminar.H:51
A class for handling words, derived from string.
Definition: word.H:59
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:70
Info<< "Predicted p max-min : "<< max(p).value()<< " "<< min(p).value()<< endl;rho==max(rho0+psi *p, rhoMin);# 1 "/home/ubuntu/OpenFOAM-8/applications/solvers/multiphase/cavitatingFoam/alphavPsi.H" 1{ alphav=max(min((rho - rholSat)/(rhovSat - rholSat), scalar(1)), scalar(0));alphal=1.0 - alphav;Info<< "max-min alphav: "<< max(alphav).value()<< " "<< min(alphav).value()<< endl;psiModel-> correct()
Definition: pEqn.H:68
Eddy Dissipation Concept (EDC) turbulent combustion model.
Definition: EDC.H:131
const NamedEnum< EDCversions, 4 > EDCversionNames
Definition: EDCs.C:49
const scalar EDCexp2[]
Definition: EDC.H:124
#define R(A, B, C, D, E, F, K, M)
PtrList< volScalarField > & Y
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
Definition: POSIX.C:488
A class for managing temporary objects.
Definition: PtrList.H:53
Abstract base class for turbulence models (RAS, LES and laminar).
Namespace for OpenFOAM.