IrreversibleReaction.C
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 -------------------------------------------------------------------------------
10 License
11  This file is part of OpenFOAM.
12 
13  OpenFOAM is free software: you can redistribute it and/or modify it
14  under the terms of the GNU General Public License as published by
15  the Free Software Foundation, either version 3 of the License, or
16  (at your option) any later version.
17 
18  OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20  FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21  for more details.
22 
23  You should have received a copy of the GNU General Public License
24  along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25 
26 \*---------------------------------------------------------------------------*/
27 
28 #include "IrreversibleReaction.H"
29 
30 // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
31 
32 template
33 <
34  template<class> class ReactionType,
35  class ReactionThermo,
36  class ReactionRate
37 >
40 (
41  const ReactionType<ReactionThermo>& reaction,
42  const ReactionRate& k
43 )
44 :
45  ReactionType<ReactionThermo>(reaction),
46  k_(k)
47 {}
48 
49 
50 template
51 <
52  template<class> class ReactionType,
53  class ReactionThermo,
54  class ReactionRate
55 >
58 (
59  const speciesTable& species,
60  const HashPtrTable<ReactionThermo>& thermoDatabase,
61  const dictionary& dict
62 )
63 :
64  ReactionType<ReactionThermo>(species, thermoDatabase, dict),
65  k_(species, dict)
66 {}
67 
68 
69 template
70 <
71  template<class> class ReactionType,
72  class ReactionThermo,
73  class ReactionRate
74 >
77 (
79  const speciesTable& species
80 )
81 :
82  ReactionType<ReactionThermo>(irr, species),
83  k_(irr.k_)
84 {}
85 
86 
87 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
88 
89 template
90 <
91  template<class> class ReactionType,
92  class ReactionThermo,
93  class ReactionRate
94 >
95 Foam::scalar Foam::IrreversibleReaction
96 <
97  ReactionType,
98  ReactionThermo,
99  ReactionRate
100 >::kf
101 (
102  const scalar p,
103  const scalar T,
104  const scalarField& c
105 ) const
106 {
107  return k_(p, T, c);
108 }
109 
110 
111 template
112 <
113  template<class> class ReactionType,
114  class ReactionThermo,
115  class ReactionRate
116 >
118 write
119 (
120  Ostream& os
121 ) const
122 {
124  k_.write(os);
125 }
126 
127 
128 // ************************************************************************* //
p
volScalarField & p
Definition: createFieldRefs.H:8
Foam::IrreversibleReaction
Simple extension of Reaction to handle reversible reactions using equilibrium thermodynamics.
Definition: IrreversibleReaction.H:61
Foam::IrreversibleReaction::IrreversibleReaction
IrreversibleReaction(const ReactionType< ReactionThermo > &reaction, const ReactionRate &reactionRate)
Construct from components.
Definition: IrreversibleReaction.C:40
IrreversibleReaction.H
Foam::Field< scalar >
Foam::hashedWordList
A wordList with hashed named lookup, which can be faster in some situations than using the normal lis...
Definition: hashedWordList.H:54
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:121
T
const volScalarField & T
Definition: createFieldRefs.H:2
reaction
CombustionModel< rhoReactionThermo > & reaction
Definition: setRegionFluidFields.H:3
Foam::HashPtrTable
A HashTable of pointers to objects of type <T>.
Definition: HashPtrTable.H:54
k
label k
Boltzmann constant.
Definition: LISASMDCalcMethod2.H:41
Foam::vtk::write
void write(vtk::formatter &fmt, const Type &val, const label n=1)
Component-wise write of a value (N times)
Definition: foamVtkOutputTemplates.C:35
Foam::constant::universal::c
const dimensionedScalar c
Speed of light in a vacuum.
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition: Ostream.H:56
Foam::IrreversibleReaction::write
virtual void write(Ostream &) const
Write.
Definition: IrreversibleReaction.C:119