ReactionProxy.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4  \\ / O peration | Website: https://openfoam.org
5  \\ / A nd | Copyright (C) 2018-2023 OpenFOAM Foundation
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of OpenFOAM.
10 
11  OpenFOAM is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by
13  the Free Software Foundation, either version 3 of the License, or
14  (at your option) any later version.
15 
16  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19  for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23 
24 \*---------------------------------------------------------------------------*/
25 
26 #include "ReactionProxy.H"
27 
28 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
29 
30 template<class ThermoType>
32 (
33  const speciesTable& species,
34  const PtrList<ThermoType>& speciesThermo,
35  const List<specieCoeffs>& lhs,
36  const List<specieCoeffs>& rhs
37 )
38 :
39  Reaction<ThermoType>(species, speciesThermo, lhs, rhs)
40 {}
41 
42 
43 template<class ThermoType>
46 {
48  return autoPtr<Foam::Reaction<ThermoType>>();
49 }
50 
51 
52 template<class ThermoType>
55 (
56  const speciesTable& species
57 ) const
58 {
60  return autoPtr<Reaction<ThermoType>>();
61 }
62 
63 
64 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
65 
66 template<class ThermoType>
68 {}
69 
70 
71 template<class ThermoType>
73 {}
74 
75 
76 template<class ThermoType>
78 (
79  const scalar p,
80  const scalar T,
81  const scalarField& c,
82  const label li
83 ) const
84 {
86  return 0;
87 }
88 
89 
90 template<class ThermoType>
92 (
93  const scalar kfwd,
94  const scalar p,
95  const scalar T,
96  const scalarField& c,
97  const label li
98 ) const
99 {
101  return 0;
102 }
103 
104 
105 template<class ThermoType>
107 (
108  const scalar p,
109  const scalar T,
110  const scalarField& c,
111  const label li
112 ) const
113 {
115  return 0;
116 }
117 
118 
119 template<class ThermoType>
121 (
122  const scalar p,
123  const scalar T,
124  const scalarField& c,
125  const label li
126 ) const
127 {
129  return 0;
130 }
131 
132 
133 template<class ThermoType>
135 (
136  const scalar p,
137  const scalar T,
138  const scalarField& c,
139  const label li,
140  const scalar dkfdT,
141  const scalar kr
142 ) const
143 {
145  return 0;
146 }
147 
148 
149 template<class ThermoType>
151 {
153  return false;
154 }
155 
156 
157 template<class ThermoType>
159 (
160  const scalar p,
161  const scalar T,
162  const scalarField& c,
163  const label li,
164  scalarField& dkfdc
165 ) const
166 {
168 }
169 
170 
171 template<class ThermoType>
173 (
174  const scalar p,
175  const scalar T,
176  const scalarField& c,
177  const label li,
178  const scalarField& dkfdc,
179  const scalar kr,
180  scalarField& dkrdc
181 ) const
182 {
184 }
185 
186 
187 // ************************************************************************* //
virtual scalar kf(const scalar p, const scalar T, const scalarField &c, const label li) const
Forward rate constant.
virtual void postEvaluate() const
Post-evaluation hook.
virtual void preEvaluate() const
Pre-evaluation hook.
virtual scalar kr(const scalar kfwd, const scalar p, const scalar T, const scalarField &c, const label li) const
Reverse rate constant from the given forward rate constant.
virtual autoPtr< Reaction< ThermoType > > clone() const
Construct and return a clone.
ReactionProxy(const speciesTable &species, const PtrList< ThermoType > &speciesThermo, const List< specieCoeffs > &lhs, const List< specieCoeffs > &rhs)
Construct from components.
void dkfdc(const scalar p, const scalar T, const scalarField &c, const label li, scalarField &dkfdc) const
Concentration derivative of forward rate.
virtual bool hasDkdc() const
Does this reaction have concentration-dependent rate constants?
virtual scalar dkfdT(const scalar p, const scalar T, const scalarField &c, const label li) const
Temperature derivative of forward rate.
virtual scalar dkrdT(const scalar p, const scalar T, const scalarField &c, const label li, const scalar dkfdT, const scalar kr) const
Temperature derivative of reverse rate.
void dkrdc(const scalar p, const scalar T, const scalarField &c, const label li, const scalarField &dkfdc, const scalar kr, scalarField &dkrdc) const
Concentration derivative of reverse rate.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Definition: autoPtr.H:51
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Definition: error.H:353
volScalarField scalarField(fieldObject, mesh)
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
hashedWordList speciesTable
A table of species as a hashedWordList.
Definition: speciesTable.H:41
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
volScalarField & p