mixtureFractionSoot.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) 2013-2016 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::radiation::mixtureFractionSoot
26 
27 Description
28  This soot model is purely an state model. The ammount 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 mixtureFractionSoot<gasHThermoPhysics>;
45 
46  mixtureFractionSootCoeffs
47  {
48  nuSoot 0.015;
49  Wsoot 12;
50  mappingField P;
51  }
52 
53 SourceFiles
54  mixtureFractionSoot.C
55 
56 \*---------------------------------------------------------------------------*/
57 
58 #ifndef mixtureFractionSoot_H
59 #define mixtureFractionSoot_H
60 
62 #include "sootModel.H"
63 #include "HashTable.H"
64 
65 #include "fluidThermo.H"
67 
68 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
69 
70 namespace Foam
71 {
72 
73 namespace radiation
74 {
75 
76 /*---------------------------------------------------------------------------*\
77  Class mixtureFractionSoot Declaration
78 \*---------------------------------------------------------------------------*/
79 template<class ThermoType>
81 :
82  public sootModel
83 {
84 
85  // Static functions
86 
87  //- Check mixture in thermo
88  static const singleStepReactingMixture<ThermoType>& checkThermo
89  (
90  const fluidThermo&
91  );
92 
93 
94  // Private data
95 
96  //- Soot mass fraction
97  volScalarField soot_;
98 
99  //- Soot model dictionary
100  dictionary coeffsDict_;
101 
102  //- Soot yield
103  scalar nuSoot_;
104 
105  //- Soot molecular weight
106  scalar Wsoot_;
107 
108  //- Maximum soot mass concentration at stoichiometric
109  scalar sootMax_;
110 
111  //- Name of the field mapping the soot
112  word mappingFieldName_;
113 
114  //- Maximum value of the map field
115  scalar mapFieldMax_;
116 
117  //- Thermo package
118  const fluidThermo& thermo_;
119 
120  //- Auto Ptr to singleStepReactingMixture
122 
123 
124 public:
125 
126  //- Runtime type information
127  TypeName("mixtureFractionSoot");
128 
129 
130  // Constructors
131 
132  //- Construct from components
134  (
135  const dictionary& dict,
136  const fvMesh& mesh,
137  const word& modelType
138  );
139 
140 
141  //- Destructor
142  virtual ~mixtureFractionSoot();
143 
144 
145  // Member Functions
146 
147  // Edit
148 
149  //- Main update/correction routine
150  virtual void correct();
151 
152 
153  // Access
154 
155  //- Return Ysoot
156  const volScalarField& soot() const
157  {
158  return soot_;
159  }
160 
161 };
162 
163 
164 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 
166 } // End namespace Foam
167 } // End namespace radiation
168 
169 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
170 
171 #ifdef NoRepository
172  #include "mixtureFractionSoot.C"
173 #endif
174 
175 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
176 
177 #endif
178 
179 // ************************************************************************* //
mixtureFractionSoot(const dictionary &dict, const fvMesh &mesh, const word &modelType)
Construct from components.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:137
Single step reacting mixture.
virtual void correct()
Main update/correction routine.
Base class for soor models.
Definition: sootModel.H:53
A class for handling words, derived from string.
Definition: word.H:59
Fundamental fluid thermodynamic properties.
Definition: fluidThermo.H:49
This soot model is purely an state model. The ammount of soot produced is determined by a single step...
const dictionary & dict() const
Reference to the dictionary.
Definition: sootModel.H:122
Mesh data needed to do the Finite Volume discretisation.
Definition: fvMesh.H:78
const fvMesh & mesh() const
Reference to the mesh.
Definition: sootModel.H:116
TypeName("mixtureFractionSoot")
Runtime type information.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
Namespace for OpenFOAM.
const volScalarField & soot() const
Return Ysoot.