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 | Copyright (C) 2011-2015 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 guassian
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 CombThermoType, class ThermoType>
81 class FSD
82 :
83  public singleStepCombustion <CombThermoType, ThermoType>
84 {
85  // Private data
86 
87  //- Auto pointer to consumption speed per unit of flame area model
89 
90  //- Mixture fraction
92 
93  //- Fuel mass concentration on the fuel stream
95 
96  //- Oxygen mass concentration on the oxydizer stream
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  //- Disallow copy construct
124  FSD(const FSD&);
125 
126  //- Disallow default bitwise assignment
127  void operator=(const FSD&);
128 
129 
130 public:
131 
132  //- Runtime type information
133  TypeName("FSD");
134 
135 
136  // Constructors
137 
138  //- Construct from components
139  FSD(const word& modelType, const fvMesh& mesh, const word& phaseName);
140 
141 
142  // Destructor
143  virtual ~FSD();
144 
145 
146  // Evolution
147 
148  //- Correct combustion rate
149  virtual void correct();
150 
151 
152  // IO
153 
154  //- Update properties
155  virtual bool read();
156 };
157 
158 
159 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
160 
161 } // End namespace combustionModels
162 } // End namespace Foam
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 #ifdef NoRepository
167 # include "FSD.C"
168 #endif
169 
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 
172 #endif
173 
174 // ************************************************************************* //
Foam::combustionModels::FSD::read
virtual bool read()
Update properties.
Definition: FSD.C:346
Foam::combustionModels::FSD::~FSD
virtual ~FSD()
Definition: FSD.C:89
Foam::word
A class for handling words, derived from string.
Definition: word.H:59
Foam::combustionModels::FSD::correct
virtual void correct()
Correct combustion rate.
Definition: FSD.C:333
singleStepCombustion.H
Foam::combustionModels::FSD::Cv_
scalar Cv_
Similarity constant for the sub-grid ft fluctuations.
Definition: FSD.H:99
Foam::combustionModels::FSD::ftDim_
scalar ftDim_
Dimension of the ft space. Used to integrate the beta-pdf.
Definition: FSD.H:111
Foam::combustionModels::FSD::ftMin_
scalar ftMin_
Lower flammability limit.
Definition: FSD.H:105
Foam::combustionModels::FSD::TypeName
TypeName("FSD")
Runtime type information.
Foam::combustionModels::singleStepCombustion
Base class for combustion models using singleStepReactingMixture.
Definition: singleStepCombustion.H:51
Foam::combustionModels::FSD::YFuelFuelStream_
dimensionedScalar YFuelFuelStream_
Fuel mass concentration on the fuel stream.
Definition: FSD.H:93
Foam::combustionModels::FSD::reactionRateFlameArea_
autoPtr< reactionRateFlameArea > reactionRateFlameArea_
Auto pointer to consumption speed per unit of flame area model.
Definition: FSD.H:87
Foam::combustionModels::FSD::calculateSourceNorm
void calculateSourceNorm()
Calculate the normalised fuel source term.
Definition: FSD.C:96
FSD.C
Foam::combustionModels::FSD::ftVarMin_
scalar ftVarMin_
Minimum mixture freaction variance to calculate pdf.
Definition: FSD.H:114
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
Foam::dimensioned
Generic dimensioned Type class.
Definition: dimensionedScalarFwd.H:41
Foam::fvMesh
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::combustionModels::FSD::C_
scalar C_
Model constant.
Definition: FSD.H:102
Foam::autoPtr
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:117
Foam::combustionModels::FSD::FSD
FSD(const FSD &)
Disallow copy construct.
Foam::combustionModels::FSD::ftMax_
scalar ftMax_
Upper flammability limit.
Definition: FSD.H:108
Foam::combustionModels::FSD::ft_
volScalarField ft_
Mixture fraction.
Definition: FSD.H:90
reactionRateFlameArea.H
Foam::combustionModels::FSD::operator=
void operator=(const FSD &)
Disallow default bitwise assignment.
Foam::GeometricField
Generic GeometricField class.
Definition: surfaceFieldsFwd.H:52
Foam::combustionModels::FSD
Flame Surface Dennsity (FDS) combustion model.
Definition: FSD.H:80
Foam::combustionModels::FSD::YO2OxiStream_
dimensionedScalar YO2OxiStream_
Oxygen mass concentration on the oxydizer stream.
Definition: FSD.H:96