COxidationMurphyShaddix.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) 2011-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::COxidationMurphyShaddix
29
30Group
31 grpLagrangianIntermediateSurfaceReactionSubModels
32
33Description
34 Limited to C(s) + O2 -> CO2
35
36 Loosely based on the reference:
37 Murphy, J. J., Shaddix, C. R., Combustion kinetics of coal chars
38 in oxygen-enriched environments, Combustion and Flame 144,
39 pp710-729, 2006
40
41\*---------------------------------------------------------------------------*/
42
43#ifndef COxidationMurphyShaddix_H
44#define COxidationMurphyShaddix_H
45
47
48// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49
50namespace Foam
51{
52
53// Forward class declarations
54template<class CloudType>
55class COxidationMurphyShaddix;
56
57/*---------------------------------------------------------------------------*\
58 Class COxidationMurphyShaddix Declaration
59\*---------------------------------------------------------------------------*/
60
61template<class CloudType>
63:
64 public SurfaceReactionModel<CloudType>
65{
66 // Private data
67
68 // Model constants
69
70 //- Reference diffusion constant
71 const scalar D0_;
72
73 //- Reference density for reference diffusion constant
74 const scalar rho0_;
75
76 //- Reference temperature for reference diffusion constant
77 const scalar T0_;
78
79 //- Exponent for diffusion equation
80 const scalar Dn_;
81
82 //- Kinetic rate coefficient
83 const scalar A_;
84
85 //- Kinetic rate activation energy
86 const scalar E_;
87
88 //- Reaction order
89 const scalar n_;
90
91 //- Effective molecular weight of gaseous volatiles
92 const scalar WVol_;
93
94
95 // Static constants
96
97 //- Maximum number of iterations
98 static label maxIters_;
99
100 //- Tolerance used in inner iterations
101 static scalar tolerance_;
102
103
104 // Addressing
105
106 //- Cs positions in global/local lists
107 label CsLocalId_;
108
109 //- O2 position in global list
110 label O2GlobalId_;
111
112 //- CO2 positions in global list
113 label CO2GlobalId_;
114
115
116 // Local copies of thermo properties
117
118 //- Molecular weight of C [kg/kmol]
119 scalar WC_;
120
121 //- Molecular weight of O2 [kg/kmol]
122 scalar WO2_;
123
124 //- Formation enthalpy for CO2 [J/kg]
125 scalar HcCO2_;
126
127
128public:
129
130 //- Runtime type information
131 TypeName("COxidationMurphyShaddix");
132
133
134 // Constructors
135
136 //- Construct from dictionary
138 (
139 const dictionary& dict,
141 );
142
143 //- Construct copy
145 (
147 );
148
149 //- Construct and return a clone
151 {
153 (
155 );
156 }
157
158
159 //- Destructor
160 virtual ~COxidationMurphyShaddix() = default;
161
162
163 // Member Functions
164
165 //- Update surface reactions
166 virtual scalar calculate
167 (
168 const scalar dt,
169 const scalar Re,
170 const scalar nu,
171 const label celli,
172 const scalar d,
173 const scalar T,
174 const scalar Tc,
175 const scalar pc,
176 const scalar rhoc,
177 const scalar mass,
178 const scalarField& YGas,
179 const scalarField& YLiquid,
180 const scalarField& YSolid,
181 const scalarField& YMixture,
182 const scalar N,
183 scalarField& dMassGas,
184 scalarField& dMassLiquid,
185 scalarField& dMassSolid,
186 scalarField& dMassSRCarrier
187 ) const;
188};
189
190
191// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
192
193} // End namespace Foam
194
195// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
196
197#ifdef NoRepository
199#endif
200
201// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202
203#endif
204
205// ************************************************************************* //
Limited to C(s) + O2 -> CO2.
TypeName("COxidationMurphyShaddix")
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.
virtual ~COxidationMurphyShaddix()=default
Destructor.
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"))