COxidationHurtMitchell.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) 2012-2020 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::COxidationHurtMitchell
26 
27 Description
28  Char oxidation model given by Hurt and Mitchell:
29 
30  Based on the reference:
31  Hurt R. and Mitchell R., "Unified high-temperature char combustion
32  kinetics for a suite of coals of various rank", 24th Symposium in
33  Combustion, The Combustion Institute, 1992, p 1243-1250
34 
35  Model specifies the rate of char combustion.
36 
37  C(s) + Sb*O2 -> CO2
38 
39  where Sb is the stoichiometry of the reaction
40 
41  Model validity:
42  Gas temperature: Tc > 1500 K
43  Particle sizes: 75 um -> 200 um
44  Pox > 0.3 atm
45 
46 \*---------------------------------------------------------------------------*/
47 
48 #ifndef COxidationHurtMitchell_H
49 #define COxidationHurtMitchell_H
50 
51 #include "SurfaceReactionModel.H"
52 
53 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
54 
55 namespace Foam
56 {
57 
58 // Forward class declarations
59 template<class CloudType>
61 
62 /*---------------------------------------------------------------------------*\
63  Class COxidationHurtMitchell Declaration
64 \*---------------------------------------------------------------------------*/
65 
66 template<class CloudType>
68 :
69  public SurfaceReactionModel<CloudType>
70 {
71  // Private Data
72 
73  // Model constants
74 
75  //- Stoichiometry of reaction
76  const scalar Sb_;
77 
78 
79  // Addressing
80 
81  //- Cs position in global/local lists
82  label CsLocalId_;
83 
84  //- Ash position in global/local lists
85  label ashLocalId_;
86 
87  //- O2 position in global list
88  label O2GlobalId_;
89 
90  //- CO2 positions in global list
91  label CO2GlobalId_;
92 
93 
94  // Local copies of thermo properties
95 
96  //- Molecular weight of C [kg/kmol]
97  scalar WC_;
98 
99  //- Molecular weight of O2 [kg/kmol]
100  scalar WO2_;
101 
102  //- Formation enthalpy for CO2 [J/kg]
103  scalar HcCO2_;
104 
105  //- Heat of reaction [J/kg] (optional)
106  scalar heatOfReaction_;
107 
108 
109 public:
110 
111  //- Runtime type information
112  TypeName("COxidationHurtMitchell");
113 
114 
115  // Constructors
116 
117  //- Construct from dictionary
119  (
120  const dictionary& dict,
122  );
123 
124  //- Construct copy
126  (
128  );
129 
130  //- Construct and return a clone
132  {
134  (
136  );
137  }
138 
139 
140  //- Destructor
141  virtual ~COxidationHurtMitchell();
142 
143 
144  // Member Functions
145 
146  //- Update surface reactions
147  virtual scalar calculate
148  (
149  const scalar dt,
150  const label celli,
151  const scalar d,
152  const scalar T,
153  const scalar Tc,
154  const scalar pc,
155  const scalar rhoc,
156  const scalar mass,
157  const scalarField& YGas,
158  const scalarField& YLiquid,
159  const scalarField& YSolid,
160  const scalarField& YMixture,
161  const scalar N,
162  scalarField& dMassGas,
163  scalarField& dMassLiquid,
164  scalarField& dMassSolid,
165  scalarField& dMassSRCarrier
166  ) const;
167 };
168 
169 
170 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
171 
172 } // End namespace Foam
173 
174 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 
176 #ifdef NoRepository
177  #include "COxidationHurtMitchell.C"
178 #endif
179 
180 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
181 
182 #endif
183 
184 // ************************************************************************* //
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
A list of keyword definitions, which are a keyword followed by any number of values (e...
Definition: dictionary.H:156
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:110
TypeName("COxidationHurtMitchell")
Runtime type information.
const CloudType & owner() const
Return const access to the owner cloud.
virtual ~COxidationHurtMitchell()
Destructor.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const
Construct and return a clone.
COxidationHurtMitchell(const dictionary &dict, CloudType &owner)
Construct from dictionary.
virtual scalar calculate(const scalar dt, const label celli, const scalar d, const scalar T, const scalar Tc, const scalar pc, const scalar rhoc, const scalar mass, const scalarField &YGas, const scalarField &YLiquid, const scalarField &YSolid, const scalarField &YMixture, const scalar N, scalarField &dMassGas, scalarField &dMassLiquid, scalarField &dMassSolid, scalarField &dMassSRCarrier) const
Update surface reactions.
label N
Definition: createFields.H:9
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: PtrList.H:52
Char oxidation model given by Hurt and Mitchell:
Templated surface reaction model class.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Namespace for OpenFOAM.