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 | www.openfoam.com
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8  Copyright (C) 2012-2016 OpenFOAM Foundation
9  Copyright (C) 2019 OpenCFD Ltd.
10 -------------------------------------------------------------------------------
11 License
12  This file is part of OpenFOAM.
13 
14  OpenFOAM is free software: you can redistribute it and/or modify it
15  under the terms of the GNU General Public License as published by
16  the Free Software Foundation, either version 3 of the License, or
17  (at your option) any later version.
18 
19  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26 
27 Class
28  Foam::COxidationHurtMitchell
29 
30 Group
31  grpLagrangianIntermediateSurfaceReactionSubModels
32 
33 Description
34  Char oxidation model given by Hurt and Mitchell:
35 
36  Based on the reference:
37  Hurt R. and Mitchell R., "Unified high-temperature char combustion
38  kinetics for a suite of coals of various rank", 24th Symposium in
39  Combustion, The Combustion Institute, 1992, p 1243-1250
40 
41  Model specifies the rate of char combustion.
42 
43  C(s) + Sb*O2 -> CO2
44 
45  where Sb is the stoichiometry of the reaction
46 
47  Model validity:
48  Gas temperature: Tc > 1500 K
49  Particle sizes: 75 um -> 200 um
50  Pox > 0.3 atm
51 
52 \*---------------------------------------------------------------------------*/
53 
54 #ifndef COxidationHurtMitchell_H
55 #define COxidationHurtMitchell_H
56 
57 #include "SurfaceReactionModel.H"
58 
59 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60 
61 namespace Foam
62 {
63 
64 // Forward class declarations
65 template<class CloudType>
67 
68 /*---------------------------------------------------------------------------*\
69  Class COxidationHurtMitchell Declaration
70 \*---------------------------------------------------------------------------*/
71 
72 template<class CloudType>
74 :
75  public SurfaceReactionModel<CloudType>
76 {
77  // Private Data
78 
79  // Model Constants
80 
81  //- Stoichiometry of reaction
82  const scalar Sb_;
83 
84 
85  // Addressing
86 
87  //- Cs position in global/local lists
88  label CsLocalId_;
89 
90  //- Ash position in global/local lists
91  label ashLocalId_;
92 
93  //- O2 position in global list
94  label O2GlobalId_;
95 
96  //- CO2 positions in global list
97  label CO2GlobalId_;
98 
99 
100  // Local copies of thermo properties
101 
102  //- Molecular weight of C [kg/kmol]
103  scalar WC_;
104 
105  //- Molecular weight of O2 [kg/kmol]
106  scalar WO2_;
107 
108  //- Formation enthalpy for CO2 [J/kg]
109  scalar HcCO2_;
110 
111  //- Heat of reaction [J/kg] (optional)
112  scalar heatOfReaction_;
113 
114 
115 public:
116 
117  //- Runtime type information
118  TypeName("COxidationHurtMitchell");
119 
120 
121  // Constructors
122 
123  //- Construct from dictionary
125  (
126  const dictionary& dict,
127  CloudType& owner
128  );
129 
130  //- Construct copy
132  (
134  );
135 
136  //- Construct and return a clone
138  {
140  (
142  );
143  }
144 
145 
146  //- Destructor
147  virtual ~COxidationHurtMitchell() = default;
148 
149 
150  // Member Functions
151 
152  //- Update surface reactions
153  virtual scalar calculate
154  (
155  const scalar dt,
156  const scalar Re,
157  const scalar nu,
158  const label celli,
159  const scalar d,
160  const scalar T,
161  const scalar Tc,
162  const scalar pc,
163  const scalar rhoc,
164  const scalar mass,
165  const scalarField& YGas,
166  const scalarField& YLiquid,
167  const scalarField& YSolid,
168  const scalarField& YMixture,
169  const scalar N,
170  scalarField& dMassGas,
171  scalarField& dMassLiquid,
172  scalarField& dMassSolid,
173  scalarField& dMassSRCarrier
174  ) const;
175 };
176 
177 
178 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
179 
180 } // End namespace Foam
181 
182 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
183 
184 #ifdef NoRepository
185  #include "COxidationHurtMitchell.C"
186 #endif
187 
188 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
189 
190 #endif
191 
192 // ************************************************************************* //
Foam::SurfaceReactionModel
Templated surface reaction model class.
Definition: ReactingMultiphaseCloud.H:61
Foam::COxidationHurtMitchell::TypeName
TypeName("COxidationHurtMitchell")
Runtime type information.
Foam::COxidationHurtMitchell::clone
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const
Construct and return a clone.
Definition: COxidationHurtMitchell.H:136
nu
volScalarField & nu
Definition: readMechanicalProperties.H:176
Foam::COxidationHurtMitchell::COxidationHurtMitchell
COxidationHurtMitchell(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: COxidationHurtMitchell.C:36
Foam::Field< scalar >
SurfaceReactionModel.H
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
Foam::COxidationHurtMitchell::calculate
virtual scalar calculate(const scalar dt, const scalar Re, const scalar nu, 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:99
Foam::DSMCCloud
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:71
dict
dictionary dict
Definition: searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:123
Foam::COxidationHurtMitchell
Char oxidation model given by Hurt and Mitchell:
Definition: COxidationHurtMitchell.H:65
Foam
Namespace for OpenFOAM.
Definition: atmBoundaryLayer.C:33
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: HashPtrTable.H:53
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
COxidationHurtMitchell.C
Foam::COxidationHurtMitchell::~COxidationHurtMitchell
virtual ~COxidationHurtMitchell()=default
Destructor.
N
const Vector< label > N(dict.get< Vector< label >>("N"))