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 | Copyright (C) 2017 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 v2015 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 Type>
132 class EDC
133 :
134  public laminar<Type>
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  // Private Member Functions
153 
154  //- Disallow copy construct
155  EDC(const EDC&);
156 
157  //- Disallow default bitwise assignment
158  void operator=(const EDC&);
159 
160 
161 public:
162 
163  //- Runtime type information
164  TypeName("EDC");
165 
166 
167  // Constructors
168 
169  //- Construct from components
170  EDC
171  (
172  const word& modelType,
173  const fvMesh& mesh,
174  const word& combustionProperties,
175  const word& phaseName
176  );
177 
178 
179  //- Destructor
180  virtual ~EDC();
181 
182 
183  // Member Functions
184 
185  //- Correct combustion rate
186  virtual void correct();
187 
188  //- Fuel consumption rate matrix.
189  virtual tmp<fvScalarMatrix> R(volScalarField& Y) const;
190 
191  //- Heat release rate [kg/m/s3]
192  virtual tmp<volScalarField> Qdot() const;
193 
194  //- Update properties from given dictionary
195  virtual bool read();
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:52
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:49
dynamicFvMesh & mesh
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(psi *p+alphal *rhol0+((alphav *psiv+alphal *psil) - psi) *pSat, rhoMin);# 1 "/home/ubuntu/OpenFOAM-5.0/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:72
Eddy Dissipation Concept (EDC) turbulent combustion model.
Definition: EDC.H:131
const NamedEnum< EDCversions, 4 > EDCversionNames
Definition: EDCs.C:48
const scalar EDCexp2[]
Definition: EDC.H:124
#define R(A, B, C, D, E, F, K, M)
PtrList< volScalarField > & Y
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
A class for managing temporary objects.
Definition: PtrList.H:53
Namespace for OpenFOAM.