00001 /** 00002 * @file speciesThermoTypes.h 00003 * Contains const definitions for types of species 00004 * reference-state thermodynamics managers (see \ref spthermo) 00005 */ 00006 /* 00007 * $Author: hkmoffa $ 00008 * $Revision: 306 $ 00009 * $Date: 2009-12-09 12:29:23 -0500 (Wed, 09 Dec 2009) $ 00010 */ 00011 00012 // Copyright 2001 California Institute of Technology 00013 00014 00015 #ifndef SPECIES_THERMO_TYPES_H 00016 #define SPECIES_THERMO_TYPES_H 00017 00018 //! Constant Cp 00019 #define CONSTANT_CP 1 00020 00021 //! Polynomial 00022 #define POLYNOMIAL_4 2 00023 00024 //! Two regions of 7 coefficient NASA Polynomials 00025 //! This is implemented in the class NasaPoly2 in NasaPoly2.h 00026 #define NASA 4 00027 00028 //! Two regions of 7 coefficient NASA Polynomials 00029 //! This is implemented in the class NasaPoly2 in NasaPoly2.h 00030 #define NASA2 4 00031 00032 //! Two regions of Shomate Polynomials. 00033 #define SHOMATE 8 00034 00035 //! Two regions of Shomate Polynomials. 00036 #define SHOMATE2 8 00037 00038 //! Tiger Polynomials. Not implemented here. 00039 #define TIGER 16 00040 00041 //! Constant Cp thermo. 00042 //! This is implemented in ConstCpPoly in constCpPoly.h for one species. 00043 //! If the whole phase is constcp, SimpleThermo in SimpleThermo.h 00044 //! implements this for the whole phase. 00045 #define SIMPLE 32 00046 00047 //! piecewise interpolation of mu0. 00048 //! This is implemented in Mu0Poly in Mu0Poly.h 00049 #define MU0_INTERP 64 00050 00051 //! one region of Shomate Polynomials used in NIST database 00052 //! This is implemented in the NIST database. 00053 //! This is implemented in ShomatePoly in ShomatePoly.h 00054 #define SHOMATE1 128 00055 00056 //! 7 coefficient NASA Polynomials 00057 //! This is implemented in the class NasaPoly1 in NasaPoly1.h 00058 #define NASA1 256 00059 00060 //! 9 coefficient NASA Polynomials 00061 //! This is implemented in the class Nasa9Poly1 in Nasa9Poly1.h 00062 #define NASA9 512 00063 00064 //! 9 coefficient NASA Polynomials in multiple temperature regions 00065 //! This is implemented in the class Nasa9PolyMultiTempRegion in Nasa9Poly1MultiTempRegion 00066 #define NASA9MULTITEMP 513 00067 00068 //! Surface Adsorbate Model for a species on a surface. 00069 //! This is implemented in the class Adsorbate. 00070 #define ADSORBATE 1024 00071 00072 //! Type of reference state thermo which is a wrapper around a pressure dependent 00073 //! standard state object. Basically, the reference state pressure isn't special. 00074 //! A general object is called with the pressure set at the reference state. 00075 #define PDSS_TYPE 37 00076 00077 #include "ct_defs.h" 00078 00079 #include "stringUtils.h" 00080 #include "global.h" 00081 00082 namespace Cantera { 00083 00084 //! Error for unknown thermo parameterization 00085 struct UnknownThermoParam { 00086 //! Constructor 00087 /*! 00088 * @param thermotype Integer specifying the thermo parameterization 00089 * 00090 * @todo Is this used? 00091 */ 00092 UnknownThermoParam(int thermotype) { 00093 writelog(std::string("\n ### ERROR ### \n") + 00094 "Unknown species thermo parameterization (" 00095 + int2str(thermotype) + ")\n\n"); 00096 } 00097 }; 00098 00099 00100 //! holds parameterization-dependent index information 00101 /*! 00102 * These are all integers. 00103 * @todo Is this used? 00104 */ 00105 struct ThermoIndexData { 00106 //! param 00107 int param; 00108 //! number of coefficients 00109 int nCoefficients; 00110 //! coefficient for Tmin 00111 int Tmin_coeff; 00112 //! coefficient for Tmax 00113 int Tmax_coeff; 00114 //! reference pressure coefficient 00115 int Pref_coeff; 00116 }; 00117 00118 } 00119 00120 #endif 00121 00122