initial commit for version 1.6.x patch release
[OpenFOAM-1.6.x.git] / src / thermophysicalModels / specie / reaction / Reactions / ReversibleReaction / ReversibleReaction.C
blob9bdfae43886a55598cebfc6426a68c64b3302fc9
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
4    \\    /   O peration     |
5     \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
6      \\/     M anipulation  |
7 -------------------------------------------------------------------------------
8 License
9     This file is part of OpenFOAM.
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 the
13     Free Software Foundation; either version 2 of the License, or (at your
14     option) any later version.
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.
21     You should have received a copy of the GNU General Public License
22     along with OpenFOAM; if not, write to the Free Software Foundation,
23     Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25 Description
26     
27 \*---------------------------------------------------------------------------*/
29 #include "ReversibleReaction.H"
31 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
33 namespace Foam
36 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
38 // Construct from components
39 template<class ReactionThermo, class ReactionRate>
40 ReversibleReaction<ReactionThermo, ReactionRate>::ReversibleReaction
42     const Reaction<ReactionThermo>& reaction,
43     const ReactionRate& k
46     Reaction<ReactionThermo>(reaction),
47     k_(k)
51 // Construct from components
52 template<class ReactionThermo, class ReactionRate>
53 ReversibleReaction<ReactionThermo, ReactionRate>::ReversibleReaction
55     const speciesTable& species,
56     const HashPtrTable<ReactionThermo>& thermoDatabase,
57     Istream& is
60     Reaction<ReactionThermo>(species, thermoDatabase, is),
61     k_(species, is)
65 // Construct as copy given new speciesTable
66 template<class ReactionThermo, class ReactionRate>
67 ReversibleReaction<ReactionThermo, ReactionRate>::ReversibleReaction
69     const ReversibleReaction<ReactionThermo, ReactionRate>& rr,
70     const speciesTable& species
73     Reaction<ReactionThermo>(rr, species),
74     k_(rr.k_)
78 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
80 template<class ReactionThermo, class ReactionRate>
81 scalar ReversibleReaction<ReactionThermo, ReactionRate>::kf
83     const scalar T,
84     const scalar p,
85     const scalarField& c
86 ) const
88     return k_(T, p, c);
92 template<class ReactionThermo, class ReactionRate>
93 scalar ReversibleReaction<ReactionThermo, ReactionRate>::kr
95     const scalar kfwd,
96     const scalar T,
97     const scalar p,
98     const scalarField& c
99 ) const
101     return kfwd/this->Kc(T);
105 template<class ReactionThermo, class ReactionRate>
106 scalar ReversibleReaction<ReactionThermo, ReactionRate>::kr
108     const scalar T,
109     const scalar p,
110     const scalarField& c
111 ) const
113     return kr(kf(T, p, c), T, p, c);
117 template<class ReactionThermo, class ReactionRate>
118 void ReversibleReaction<ReactionThermo, ReactionRate>::write
120     Ostream& os
121 ) const
123     Reaction<ReactionThermo>::write(os);
124     os  << token::SPACE << k_;
128 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
130 } // End namespace Foam
132 // ************************************************************************* //