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