FSD.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) 2011-2019 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::FSD
26 
27 Description
28 
29  Flame Surface Dennsity (FDS) combustion model.
30 
31  The fuel source term is given by mgft*pc*omegaFuelBar.
32 
33  where:
34  mgft: filtered flame area.
35  pc: probability of the combustion progress.
36  omegaFuelBar: filtered consumption speed per unit of flame area.
37 
38  pc is considered from the IFC solution.
39  omegaFuelBar is calculated solving a relaxation equation which tends to
40  omegaEq. This omegaEq is obtained from the flamelet solution for
41  different strain rates and fit using a expential distribution.
42 
43  The spacial distribution of the consumption speed (omega) is obtained also
44  from a strained flamelet solution and it is assumed to have a gaussian
45  distribution.
46 
47  If the grid resolution is not enough to resolve the flame, the consumption
48  speed distribution is linearly thickened conserving the overall heat
49  release.
50 
51  If the turbulent fluctuation of the mixture fraction at the sub-grid level
52  is large (>1e-04) then a beta pdf is used for filtering.
53 
54  At the moment the flame area combustion model is only fit to work in a LES
55  frame work. In RAS the subgrid fluctuation has to be solved by an extra
56  transport equation.
57 
58 SourceFiles
59  FSD.C
60 
61 \*---------------------------------------------------------------------------*/
62 
63 #ifndef FSD_H
64 #define FSD_H
65 
66 #include "singleStepCombustion.H"
67 #include "reactionRateFlameArea.H"
68 
69 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70 
71 namespace Foam
72 {
73 namespace combustionModels
74 {
75 
76 /*---------------------------------------------------------------------------*\
77  Class FSD Declaration
78 \*---------------------------------------------------------------------------*/
79 
80 template<class ReactionThermo, class ThermoType>
81 class FSD
82 :
83  public singleStepCombustion <ReactionThermo, ThermoType>
84 {
85  // Private Data
86 
87  //- Auto pointer to consumption speed per unit of flame area model
88  autoPtr<reactionRateFlameArea> reactionRateFlameArea_;
89 
90  //- Mixture fraction
91  volScalarField ft_;
92 
93  //- Fuel mass concentration on the fuel stream
94  dimensionedScalar YFuelFuelStream_;
95 
96  //- Oxygen mass concentration on the oxydizer stream
97  dimensionedScalar YO2OxiStream_;
98 
99  //- Similarity constant for the sub-grid ft fluctuations
100  scalar Cv_;
101 
102  //- Model constant
103  scalar C_;
104 
105  //- Lower flammability limit
106  scalar ftMin_;
107 
108  //- Upper flammability limit
109  scalar ftMax_;
110 
111  //- Dimension of the ft space. Used to integrate the beta-pdf
112  scalar ftDim_;
113 
114  //- Minimum mixture freaction variance to calculate pdf
115  scalar ftVarMin_;
116 
117 
118  // Private Member Functions
119 
120  //- Calculate the normalised fuel source term
121  void calculateSourceNorm();
122 
123 
124 public:
125 
126  //- Runtime type information
127  TypeName("FSD");
128 
129 
130  // Constructors
131 
132  //- Construct from components
133  FSD
134  (
135  const word& modelType,
136  ReactionThermo& thermo,
137  const compressibleTurbulenceModel& turb,
138  const word& combustionProperties
139  );
140 
141  //- Disallow default bitwise copy construction
142  FSD(const FSD&);
143 
144 
145  //- Destructor
146  virtual ~FSD();
147 
148 
149  // Member Functions
150 
151  //- Correct combustion rate
152  virtual void correct();
153 
154  //- Update properties
155  virtual bool read();
156 
157 
158  // Member Operators
159 
160  //- Disallow default bitwise assignment
161  void operator=(const FSD&) = delete;
162 };
163 
164 
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 
167 } // End namespace combustionModels
168 } // End namespace Foam
169 
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 
172 #ifdef NoRepository
173  #include "FSD.C"
174 #endif
175 
176 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
177 
178 #endif
179 
180 // ************************************************************************* //
Flame Surface Dennsity (FDS) combustion model.
Definition: FSD.H:80
virtual bool read()
Update properties.
Definition: FSD.C:323
void operator=(const FSD &)=delete
Disallow default bitwise assignment.
A class for handling words, derived from string.
Definition: word.H:59
virtual ReactionThermo & thermo()
Return access to the thermo package.
Abstract base class for turbulence models (RAS, LES and laminar).
TypeName("FSD")
Runtime type information.
virtual void correct()
Correct combustion rate.
Definition: FSD.C:313
FSD(const word &modelType, ReactionThermo &thermo, const compressibleTurbulenceModel &turb, const word &combustionProperties)
Construct from components.
Definition: FSD.C:41
Base class for combustion models using singleStepReactingMixture.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
virtual ~FSD()
Destructor.
Definition: FSD.C:91
Namespace for OpenFOAM.