mixtureFraction.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) 2013-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::radiationModels::sootModels::mixtureFraction
26 
27 Description
28  This soot model is purely an state model. The amount of soot produced is
29  determined by a single step chemistry as :
30 
31  nuf Fuel + nuOx Ox = nuP P + nuSoot soot
32 
33  nuSoot is prescribed by the user.
34 
35  The single step chemistry used is read from the combustion.
36  The soot is not considered into the thermodynamics of the system and it
37  is not considered as an extra specie in the solver.
38 
39  The spacial distribution is given by the normalization of the first product
40  on the rhs of the reaction by default or it can be added as input.
41 
42  The input dictionary reads like in the radiationProperties dictionary:
43 
44  sootModel mixtureFraction<gasHThermoPhysics>;
45 
46  mixtureFractionSootCoeffs
47  {
48  nuSoot 0.015;
49  Wsoot 12;
50  mappingField P;
51  }
52 
53 SourceFiles
54  mixtureFraction.C
55 
56 \*---------------------------------------------------------------------------*/
57 
58 #ifndef mixtureFraction_H
59 #define mixtureFraction_H
60 
62 #include "sootModel.H"
63 #include "HashTable.H"
64 
65 #include "fluidThermo.H"
67 
68 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
69 
70 namespace Foam
71 {
72 namespace radiationModels
73 {
74 namespace sootModels
75 {
76 
77 /*---------------------------------------------------------------------------*\
78  Class mixtureFraction Declaration
79 \*---------------------------------------------------------------------------*/
80 
81 template<class ThermoType>
82 class mixtureFraction
83 :
84  public sootModel
85 {
86  // Static functions
87 
88  //- Check mixture in thermo
89  static const singleStepReactingMixture<ThermoType>& checkThermo
90  (
91  const fluidThermo&
92  );
93 
94 
95  // Private Data
96 
97  //- Soot mass fraction
98  volScalarField soot_;
99 
100  //- Soot model dictionary
101  dictionary coeffsDict_;
102 
103  //- Soot yield
104  scalar nuSoot_;
105 
106  //- Soot molecular weight
107  scalar Wsoot_;
108 
109  //- Maximum soot mass concentration at stoichiometric
110  scalar sootMax_;
111 
112  //- Name of the field mapping the soot
113  word mappingFieldName_;
114 
115  //- Maximum value of the map field
116  scalar mapFieldMax_;
117 
118  //- Thermo package
119  const fluidThermo& thermo_;
120 
121  //- Auto Ptr to singleStepReactingMixture
123 
124 
125 public:
126 
127  //- Runtime type information
128  TypeName("mixtureFraction");
129 
130 
131  // Constructors
132 
133  //- Construct from components
135  (
136  const dictionary& dict,
137  const fvMesh& mesh,
138  const word& modelType
139  );
140 
141 
142  //- Destructor
143  virtual ~mixtureFraction();
144 
145 
146  // Member Functions
147 
148  // Edit
149 
150  //- Main update/correction routine
151  virtual void correct();
152 
153 
154  // Access
155 
156  //- Return Ysoot
157  const volScalarField& soot() const
158  {
159  return soot_;
160  }
161 
162 };
163 
164 
165 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
166 
167 } // End namespace sootModels
168 } // End namespace radiationModels
169 } // End namespace Foam
170 
171 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
172 
173 #ifdef NoRepository
174  #include "mixtureFraction.C"
175 #endif
176 
177 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
178 
179 #endif
180 
181 // ************************************************************************* //
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:158
Single step reacting mixture.
A class for handling words, derived from string.
Definition: word.H:59
Fundamental fluid thermodynamic properties.
Definition: fluidThermo.H:49
mixtureFraction(const dictionary &dict, const fvMesh &mesh, const word &modelType)
Construct from components.
This soot model is purely an state model. The amount of soot produced is determined by a single step ...
virtual void correct()
Main update/correction routine.
TypeName("mixtureFraction")
Runtime type information.
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
Base class for soot models.
Definition: sootModel.H:50
const volScalarField & soot() const
Return Ysoot.
const fvMesh & mesh() const
Reference to the mesh.
Definition: sootModel.H:112
Namespace for OpenFOAM.
const dictionary & dict() const
Reference to the dictionary.
Definition: sootModel.H:118