solidArrheniusReactionRate.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-2017 OpenFOAM Foundation
9  Copyright (C) 2019-2022 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::solidArrheniusReactionRate
29 
30 Description
31  Arrhenius reaction rate for solids
32 
33 SourceFiles
34  solidArrheniusReactionRateI.H
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #ifndef Foam_solidArrheniusReactionRate_H
39 #define Foam_solidArrheniusReactionRate_H
40 
41 #include "scalarField.H"
42 #include "typeInfo.H"
43 
44 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 
46 namespace Foam
47 {
48 
49 // Forward Declarations
50 class solidArrheniusReactionRate;
51 
52 Ostream& operator<<(Ostream&, const solidArrheniusReactionRate&);
53 
54 
55 /*---------------------------------------------------------------------------*\
56  Class solidArrheniusReactionRate Declaration
57 \*---------------------------------------------------------------------------*/
58 
60 {
61  // Private Data
62 
63  //- Pre-exponential factor
64  scalar A_;
65 
66  //- Activation temperature
67  scalar Ta_;
68 
69  //- Critical temperature
70  scalar Tcrit_;
71 
72 
73 public:
74 
75  // Constructors
76 
77  //- Construct from components
79  (
80  const scalar A,
81  const scalar Ta,
82  const scalar Tcrit
83  );
84 
85 
86  //- Construct from dictionary
88  (
89  const speciesTable& species,
90  const dictionary& dict
91  );
92 
93 
94  //- Destructor
95  virtual ~solidArrheniusReactionRate() = default;
96 
97 
98  // Member Functions
99 
100  //- Return the type name
101  static word type()
102  {
103  return "Arrhenius";
104  }
105 
106  //- Return reaction rate constant
107  // frequency of collisions resulting in a reaction
108  inline scalar operator()
109  (
110  const scalar p,
111  const scalar T,
112  const scalarField& c
113  ) const;
114 
115 
116  //- Write to stream
117  inline void write(Ostream& os) const;
118 
119 
120  // Ostream Operator
121 
122  inline friend Ostream& operator<<
123  (
124  Ostream&,
126  );
127 };
128 
129 
130 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
131 
132 } // End namespace Foam
133 
134 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
135 
137 
138 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
139 
140 #endif
141 
142 // ************************************************************************* //
dictionary dict
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Definition: dictionary.H:129
virtual ~solidArrheniusReactionRate()=default
Destructor.
static word type()
Return the type name.
void write(Ostream &os) const
Write to stream.
A class for handling words, derived from Foam::string.
Definition: word.H:63
Arrhenius reaction rate for solids.
solidArrheniusReactionRate(const scalar A, const scalar Ta, const scalar Tcrit)
Construct from components.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Definition: Ostream.H:56
OBJstream os(runTime.globalPath()/outputName)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
Definition: boundaryPatch.C:77
A wordList with hashed named lookup, which can be faster in some situations than using the normal lis...
const dimensionedScalar c
Speed of light in a vacuum.
volScalarField & p
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
Namespace for OpenFOAM.