antioch-0.4.0
arrhenius_rate_test_helper.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // Antioch - A Gas Dynamics Thermochemistry Library
5 //
6 // Copyright (C) 2014-2016 Paul T. Bauman, Benjamin S. Kirk,
7 // Sylvain Plessis, Roy H. Stonger
8 //
9 // Copyright (C) 2013 The PECOS Development Team
10 //
11 // This library is free software; you can redistribute it and/or
12 // modify it under the terms of the Version 2.1 GNU Lesser General
13 // Public License as published by the Free Software Foundation.
14 //
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
23 // Boston, MA 02110-1301 USA
24 //
25 //-----------------------------------------------------------------------el-
26 
27 #ifndef ANTIOCH_ARRHENIUS_RATE_TEST_HELPER_H
28 #define ANTIOCH_ARRHENIUS_RATE_TEST_HELPER_H
29 
30 #include "antioch_config.h"
31 
32 #ifdef ANTIOCH_HAVE_CPPUNIT
33 
34 // Antioch
35 #include "antioch/arrhenius_rate.h"
36 
37 namespace AntiochTesting
38 {
39 
40  template <typename Scalar>
42  {
43  protected:
44  Scalar _Cf, _Ea, _R;
45 
46  void reset_params( Scalar Cf, Scalar Ea )
47  {
48  _Cf = Cf;
49  _Ea = Ea;
50  }
51 
52  void reset_params( Scalar Cf, Scalar Ea, Scalar R )
53  {
54  _Cf = Cf;
55  _Ea = Ea;
56  _R = R;
57  }
58 
59  Scalar value( Scalar T )
60  {
61  using std::exp;
62  return _Cf*exp(-_Ea/(_R*T));
63  }
64 
65  Scalar deriv( Scalar T )
66  {
67  using std::exp;
68  return _Ea/(_R*T*T)*_Cf *exp(-_Ea/(_R*T));
69  }
70 
71  };
72 
73 } // end namespace AntiochTesting
74 
75 #endif // ANTIOCH_HAVE_CPPUNIT
76 
77 #endif // ANTIOCH_ARRHENIUS_RATE_TEST_HELPER_H
void reset_params(Scalar Cf, Scalar Ea, Scalar R)

Generated on Thu Jul 7 2016 11:09:47 for antioch-0.4.0 by  doxygen 1.8.8