Merge /u/wyldckat/foam-extend32/ branch master into master
[foam-extend-3.2.git] / src / lagrangian / coalCombustion / submodels / surfaceReactionModel / COxidationMurphyShaddix / COxidationMurphyShaddix.H
blobc542d38575b870b65b09113a9b4078c9c949f518
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | foam-extend: Open Source CFD
4    \\    /   O peration     | Version:     3.2
5     \\  /    A nd           | Web:         http://www.foam-extend.org
6      \\/     M anipulation  | For copyright notice see file Copyright
7 -------------------------------------------------------------------------------
8 License
9     This file is part of foam-extend.
11     foam-extend is free software: you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation, either version 3 of the License, or (at your
14     option) any later version.
16     foam-extend is distributed in the hope that it will be useful, but
17     WITHOUT ANY WARRANTY; without even the implied warranty of
18     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19     General Public License for more details.
21     You should have received a copy of the GNU General Public License
22     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     COxidationMurphyShaddix
27 Description
28     Limited to C(s) + O2 -> CO2
30 \*---------------------------------------------------------------------------*/
32 #ifndef COxidationMurphyShaddix_H
33 #define COxidationMurphyShaddix_H
35 #include "SurfaceReactionModel.H"
37 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
39 namespace Foam
42 // Forward class declarations
43 template<class CloudType>
44 class COxidationMurphyShaddix;
46 /*---------------------------------------------------------------------------*\
47                   Class COxidationMurphyShaddix Declaration
48 \*---------------------------------------------------------------------------*/
50 template<class CloudType>
51 class COxidationMurphyShaddix
53     public SurfaceReactionModel<CloudType>
55     // Private data
57         // Model constants
59             //- Reference diffusion constant
60             const scalar D0_;
62             //- Reference density for reference diffusion constant
63             const scalar rho0_;
65             //- Reference temperature for reference diffusion constant
66             const scalar T0_;
68             //- Exponent for diffusion equation
69             const scalar Dn_;
71             //- Kinetic rate coefficient
72             const scalar A_;
74             //- Kinetic rate activation energy
75             const scalar E_;
77             //- Reaction order
78             const scalar n_;
80             //- Effective molecular weight of gaseous volatiles
81             const scalar WVol_;
84         // Static constants
86             //- Maximum number of iterations
87             static label maxIters_;
89             //- Tolerance used in inner iterations
90             static scalar tolerance_;
93         // Addressing
95             //- Cs positions in global/local lists
96             label CsLocalId_;
98             //- O2 position in global list
99             label O2GlobalId_;
101             //- CO2 positions in global list
102             label CO2GlobalId_;
105         // Local copies of thermo properties
107             //- Molecular weight of C [kg/kmol]
108             scalar WC_;
110             //- Molecular weight of O2 [kg/kmol]
111             scalar WO2_;
114 public:
116     //- Runtime type information
117     TypeName("COxidationMurphyShaddix");
120     // Constructors
122         //- Construct from dictionary
123         COxidationMurphyShaddix
124         (
125             const dictionary& dict,
126             CloudType& owner
127         );
130     //- Destructor
131     virtual ~COxidationMurphyShaddix();
134     // Member Functions
136         //- Flag to indicate whether model activates surface reaction model
137         virtual bool active() const;
139         //- Update surface reactions
140         virtual scalar calculate
141         (
142             const scalar dt,
143             const label cellI,
144             const scalar d,
145             const scalar T,
146             const scalar Tc,
147             const scalar pc,
148             const scalar rhoc,
149             const scalar mass,
150             const scalarField& YGas,
151             const scalarField& YLiquid,
152             const scalarField& YSolid,
153             const scalarField& YMixture,
154             const scalar N,
155             scalarField& dMassGas,
156             scalarField& dMassLiquid,
157             scalarField& dMassSolid,
158             scalarField& dMassSRCarrier
159         ) const;
163 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
165 } // End namespace Foam
167 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
169 #ifdef NoRepository
170     #include "COxidationMurphyShaddix.C"
171 #endif
173 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
175 #endif
177 // ************************************************************************* //