COxidationHurtMitchell.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) 2012-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::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
83 
84  //- Ash position in global/local lists
86 
87  //- O2 position in global list
89 
90  //- CO2 positions in global list
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,
121  CloudType& owner
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 // ************************************************************************* //
Foam::SurfaceReactionModel
Templated surface reaction model class.
Definition: ReactingMultiphaseCloud.H:56
Foam::COxidationHurtMitchell::HcCO2_
scalar HcCO2_
Formation enthalpy for CO2 [J/kg].
Definition: COxidationHurtMitchell.H:102
Foam::COxidationHurtMitchell::TypeName
TypeName("COxidationHurtMitchell")
Runtime type information.
Foam::COxidationHurtMitchell::CO2GlobalId_
label CO2GlobalId_
CO2 positions in global list.
Definition: COxidationHurtMitchell.H:90
Foam::COxidationHurtMitchell::clone
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const
Construct and return a clone.
Definition: COxidationHurtMitchell.H:130
Foam::COxidationHurtMitchell::COxidationHurtMitchell
COxidationHurtMitchell(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: COxidationHurtMitchell.C:33
Foam::COxidationHurtMitchell::O2GlobalId_
label O2GlobalId_
O2 position in global list.
Definition: COxidationHurtMitchell.H:87
Foam::label
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
Foam::Field
Pre-declare SubField and related Field type.
Definition: Field.H:57
SurfaceReactionModel.H
Foam::COxidationHurtMitchell::WO2_
scalar WO2_
Molecular weight of O2 [kg/kmol].
Definition: COxidationHurtMitchell.H:99
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:55
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:68
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by any number of values (e....
Definition: dictionary.H:137
Foam::COxidationHurtMitchell
Char oxidation model given by Hurt and Mitchell:
Definition: COxidationHurtMitchell.H:59
Foam::COxidationHurtMitchell::CsLocalId_
label CsLocalId_
Cs position in global/local lists.
Definition: COxidationHurtMitchell.H:81
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::COxidationHurtMitchell::Sb_
const scalar Sb_
Stoichiometry of reaction.
Definition: COxidationHurtMitchell.H:75
Foam::COxidationHurtMitchell::~COxidationHurtMitchell
virtual ~COxidationHurtMitchell()
Destructor.
Definition: COxidationHurtMitchell.C:95
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::COxidationHurtMitchell::WC_
scalar WC_
Molecular weight of C [kg/kmol].
Definition: COxidationHurtMitchell.H:96
Foam::COxidationHurtMitchell::heatOfReaction_
scalar heatOfReaction_
Heat of reaction [J/kg] (optional)
Definition: COxidationHurtMitchell.H:105
COxidationHurtMitchell.C
Foam::COxidationHurtMitchell::ashLocalId_
label ashLocalId_
Ash position in global/local lists.
Definition: COxidationHurtMitchell.H:84
Foam::COxidationHurtMitchell::calculate
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.
Definition: COxidationHurtMitchell.C:103
N
label N
Definition: createFields.H:22