FSD.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 | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2011-2017 OpenFOAM Foundation
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26Class
27 Foam::combustionModels::FSD
28
29Group
30 grpCombustionModels
31
32Description
33
34 Flame Surface Dennsity (FDS) combustion model.
35
36 The fuel source term is given by mgft*pc*omegaFuelBar.
37
38 where:
39 mgft: filtered flame area.
40 pc: probability of the combustion progress.
41 omegaFuelBar: filtered consumption speed per unit of flame area.
42
43 pc is considered from the IFC solution.
44 omegaFuelBar is calculated solving a relaxation equation which tends to
45 omegaEq. This omegaEq is obtained from the flamelet solution for
46 different strain rates and fit using a expential distribution.
47
48 The spacial distribution of the consumption speed (omega) is obtained also
49 from a strained flamelet solution and it is assumed to have a Gaussian
50 distribution.
51
52 If the grid resolution is not enough to resolve the flame, the consumption
53 speed distribution is linearly thickened conserving the overall heat
54 release.
55
56 If the turbulent fluctuation of the mixture fraction at the sub-grid level
57 is large (>1e-04) then a beta pdf is used for filtering.
58
59 At the moment the flame area combustion model is only fit to work in a LES
60 frame work. In RAS the subgrid fluctuation has to be solved by an extra
61 transport equation.
62
63SourceFiles
64 FSD.C
65
66\*---------------------------------------------------------------------------*/
67
68#ifndef FSD_H
69#define FSD_H
70
73
74// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
75
76namespace Foam
77{
78namespace combustionModels
79{
80
81/*---------------------------------------------------------------------------*\
82 Class FSD Declaration
83\*---------------------------------------------------------------------------*/
84
85template<class ReactionThermo, class ThermoType>
86class FSD
87:
88 public singleStepCombustion <ReactionThermo, ThermoType>
89{
90 // Private data
91
92 //- Auto pointer to consumption speed per unit of flame area model
93 autoPtr<reactionRateFlameArea> reactionRateFlameArea_;
94
95 //- Mixture fraction
97
98 //- Fuel mass concentration on the fuel stream
99 dimensionedScalar YFuelFuelStream_;
100
101 //- Oxygen mass concentration on the oxidizer stream
102 dimensionedScalar YO2OxiStream_;
103
104 //- Similarity constant for the sub-grid ft fluctuations
105 scalar Cv_;
106
107 //- Model constant
108 scalar C_;
109
110 //- Lower flammability limit
111 scalar ftMin_;
112
113 //- Upper flammability limit
114 scalar ftMax_;
115
116 //- Dimension of the ft space. Used to integrate the beta-pdf
117 scalar ftDim_;
118
119 //- Minimum mixture fraction variance to calculate pdf
120 scalar ftVarMin_;
121
122
123 // Private Member Functions
124
125 //- Calculate the normalised fuel source term
126 void calculateSourceNorm();
127
128 //- No copy construct
129 FSD(const FSD&) = delete;
130
131 //- No copy assignment
132 void operator=(const FSD&) = delete;
133
134
135public:
136
137 //- Runtime type information
138 TypeName("FSD");
139
140
141 // Constructors
142
143 //- Construct from components
144 FSD
145 (
146 const word& modelType,
147 ReactionThermo& thermo,
149 const word& combustionProperties
150 );
151
152
153 //- Destructor
154 virtual ~FSD();
155
156
157 // Member Functions
158
159 //- Correct combustion rate
160 virtual void correct();
161
162 //- Update properties
163 virtual bool read();
164};
165
166
167// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
168
169} // End namespace combustionModels
170} // End namespace Foam
171
172// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
173
174#ifdef NoRepository
175 #include "FSD.C"
176#endif
177
178// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
179
180#endif
181
182// ************************************************************************* //
compressible::turbulenceModel & turb
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
Flame Surface Dennsity (FDS) combustion model.
Definition: FSD.H:88
virtual void correct()
Correct combustion rate.
Definition: FSD.C:337
TypeName("FSD")
Runtime type information.
virtual ~FSD()
Destructor.
Definition: FSD.C:94
virtual bool read()
Update properties.
Definition: FSD.C:349
Base class for combustion models using singleStepReactingMixture.
Abstract base class for turbulence models (RAS, LES and laminar).
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for handling words, derived from Foam::string.
Definition: word.H:68
Namespace for OpenFOAM.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73