All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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-2021 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 Density (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 exponential 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 class FSD
81 :
83 {
84  // Private Data
85 
86  //- Auto pointer to consumption speed per unit of flame area model
87  autoPtr<reactionRateFlameArea> reactionRateFlameArea_;
88 
89  //- Mixture fraction
90  volScalarField ft_;
91 
92  //- Fuel mass concentration on the fuel stream
93  dimensionedScalar YFuelFuelStream_;
94 
95  //- Oxygen mass concentration on the oxidiser stream
96  dimensionedScalar YO2OxiStream_;
97 
98  //- Similarity constant for the sub-grid ft fluctuations
99  scalar Cv_;
100 
101  //- Model constant
102  scalar C_;
103 
104  //- Lower flammability limit
105  scalar ftMin_;
106 
107  //- Upper flammability limit
108  scalar ftMax_;
109 
110  //- Dimension of the ft space. Used to integrate the beta-pdf
111  scalar ftDim_;
112 
113  //- Minimum mixture freaction variance to calculate pdf
114  scalar ftVarMin_;
115 
116 
117  // Private Member Functions
118 
119  //- Calculate the normalised fuel source term
120  void calculateSourceNorm();
121 
122 
123 public:
124 
125  //- Runtime type information
126  TypeName("FSD");
127 
128 
129  // Constructors
130 
131  //- Construct from components
132  FSD
133  (
134  const word& modelType,
137  const word& combustionProperties
138  );
139 
140  //- Disallow default bitwise copy construction
141  FSD(const FSD&);
142 
143 
144  //- Destructor
145  virtual ~FSD();
146 
147 
148  // Member Functions
149 
150  //- Correct combustion rate
151  virtual void correct();
152 
153  //- Update properties
154  virtual bool read();
155 
156 
157  // Member Operators
158 
159  //- Disallow default bitwise assignment
160  void operator=(const FSD&) = delete;
161 };
162 
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 } // End namespace combustionModels
167 } // End namespace Foam
168 
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 
171 #endif
172 
173 // ************************************************************************* //
Flame Surface Density (FDS) combustion model.
Definition: FSD.H:79
virtual bool read()
Update properties.
Definition: FSD.C:327
Base-class for multi-component fluid thermodynamic properties.
void operator=(const FSD &)=delete
Disallow default bitwise assignment.
FSD(const word &modelType, const fluidReactionThermo &thermo, const compressibleMomentumTransportModel &turb, const word &combustionProperties)
Construct from components.
Definition: FSD.C:49
A class for handling words, derived from string.
Definition: word.H:59
TypeName("FSD")
Runtime type information.
virtual void correct()
Correct combustion rate.
Definition: FSD.C:318
Base class for combustion models using basicSpecieMixture.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
Base class for single-phase compressible turbulence models.
virtual ~FSD()
Destructor.
Definition: FSD.C:98
Namespace for OpenFOAM.
const fluidReactionThermo & thermo() const
Return const access to the thermo.