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 -------------------------------------------------------------------------------
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::COxidationMurphyShaddix
29 
30 Group
31  grpLagrangianIntermediateSurfaceReactionSubModels
32 
33 Description
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 
46 #include "SurfaceReactionModel.H"
47 
48 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
49 
50 namespace Foam
51 {
52 
53 // Forward class declarations
54 template<class CloudType>
56 
57 /*---------------------------------------------------------------------------*\
58  Class COxidationMurphyShaddix Declaration
59 \*---------------------------------------------------------------------------*/
60 
61 template<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 
128 public:
129 
130  //- Runtime type information
131  TypeName("COxidationMurphyShaddix");
132 
133 
134  // Constructors
135 
136  //- Construct from dictionary
138  (
139  const dictionary& dict,
140  CloudType& owner
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
198  #include "COxidationMurphyShaddix.C"
199 #endif
200 
201 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
202 
203 #endif
204 
205 // ************************************************************************* //
Foam::SurfaceReactionModel
Templated surface reaction model class.
Definition: ReactingMultiphaseCloud.H:61
Foam::COxidationMurphyShaddix::clone
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const
Construct and return a clone.
Definition: COxidationMurphyShaddix.H:149
Foam::COxidationMurphyShaddix::~COxidationMurphyShaddix
virtual ~COxidationMurphyShaddix()=default
Destructor.
Foam::COxidationMurphyShaddix::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: COxidationMurphyShaddix.C:111
COxidationMurphyShaddix.C
nu
volScalarField & nu
Definition: readMechanicalProperties.H:176
Foam::Field< scalar >
SurfaceReactionModel.H
Foam::T
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Definition: FieldFieldFunctions.C:58
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
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::COxidationMurphyShaddix::COxidationMurphyShaddix
COxidationMurphyShaddix(const dictionary &dict, CloudType &owner)
Construct from dictionary.
Definition: COxidationMurphyShaddix.C:45
Foam::Re
scalarField Re(const UList< complex > &cf)
Extract real component.
Definition: complexField.C:159
N
const Vector< label > N(dict.get< Vector< label >>("N"))
Foam::COxidationMurphyShaddix
Limited to C(s) + O2 -> CO2.
Definition: COxidationMurphyShaddix.H:54
Foam::COxidationMurphyShaddix::TypeName
TypeName("COxidationMurphyShaddix")
Runtime type information.