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_KINETICS_ENUM_H 28 #define ANTIOCH_KINETICS_ENUM_H 29 30 /*! 31 * The parameters are reduced parameters. The complete Van't Hoff 32 * equation is (all the others are deductible from it) 33 * \f$k(T) = A * \left(\frac{T}{\mathrm{T_0}}\right)^\beta \exp\left(-\frac{E_a}{\mathrm{R}T} + D T\right)\f$ 34 * with \f$\mathrm{T_0}\f$ being a reference temperature and \f$\mathrm{R}\f$ 35 * the ideal gas constant. 36 * The reduced parameters are: 37 * \f[ 38 * \begin{array}{ccc}\toprule 39 * \text{Parameter} & \text{reduced parameter} \\\midrule 40 * A & A \mathrm{T_0}^\beta \\ 41 * \beta & \beta \\ 42 * E_a & \frac{E_a}{\mathrm{R}}\\ 43 * D & D\\\bottomrule 44 * \end{array} 45 * \f] 46 * 47 * This library is intended for performances, thus the reference temperature is taken equal 48 * to one in order to skip the division step (\f$\frac{T}{\mathrm{T_0}}\f$). This 49 * is \e not an option, this is an \e obligation: the kinetics equations are coded without the 50 * division step. 51 */ 52 namespace Antioch 53 { 54 namespace KineticsModel 55 { 56 57 enum KineticsModel { CONSTANT = 0, // A 58 HERCOURT_ESSEN, // A * T^beta 59 BERTHELOT, // A * exp(D*T) 60 ARRHENIUS, // A * exp(-Ea/T) 61 BHE, // A * T^beta * exp(D*T) 62 KOOIJ, // A * T^beta * exp(-Ea/T) 63 VANTHOFF, // A * T^beta * exp(-Ea/T + D*T) 64 PHOTOCHEM }; // int_0^\infty f(\lambda)\sigma(\lambda) d\lambda = const(T) 65 66 template<typename CoeffType> Tref()67 CoeffType Tref() 68 { 69 return 1.0; // this HAS to stay this way because it is hard-coded for performances (see eq. above) 70 } 71 72 enum Parameters{ NOT_FOUND = 0, 73 A, 74 B, 75 E, 76 D, 77 T_REF, 78 R_SCALE, 79 SIGMA, 80 LAMBDA, 81 // now for the falloff, we need to know if we want 82 // the low-pressure limit or HIGH 83 LOW_PRESSURE, 84 HIGH_PRESSURE 85 }; 86 87 } // end namespace KineticsModel 88 89 } // end namespace Antioch 90 91 #endif // ANTIOCH_REACTION_ENUM_H 92