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-------------------------------------------------------------------------------
11License
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
27Class
28 Foam::COxidationHurtMitchell
29
30Group
31 grpLagrangianIntermediateSurfaceReactionSubModels
32
33Description
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
58
59// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
60
61namespace Foam
62{
63
64// Forward class declarations
65template<class CloudType>
66class COxidationHurtMitchell;
67
68/*---------------------------------------------------------------------------*\
69 Class COxidationHurtMitchell Declaration
70\*---------------------------------------------------------------------------*/
71
72template<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
115public:
116
117 //- Runtime type information
118 TypeName("COxidationHurtMitchell");
119
120
121 // Constructors
122
123 //- Construct from dictionary
125 (
126 const dictionary& dict,
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// ************************************************************************* //
Char oxidation model given by Hurt and Mitchell:
virtual ~COxidationHurtMitchell()=default
Destructor.
TypeName("COxidationHurtMitchell")
Runtime type information.
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const
Construct and return a clone.
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.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
Definition: DSMCCloud.H:75
Templated surface reaction model class.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition: autoPtr.H:66
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition: dictionary.H:126
const dictionary & dict() const
Return const access to the cloud dictionary.
Definition: subModelBase.C:113
const volScalarField & T
Namespace for OpenFOAM.
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
volScalarField & nu
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
Definition: typeInfo.H:73
const Vector< label > N(dict.get< Vector< label > >("N"))