Cantera  2.1.2
MMCollisionInt.h
Go to the documentation of this file.
1 /**
2  * @file MMCollisionInt.h
3  * Monk and Monchick collision integrals
4  */
5 // Copyright 2001 California Institute of Technology
6 
7 #ifndef CT_MMCOLLISIONINT_H
8 #define CT_MMCOLLISIONINT_H
9 
10 #include "cantera/base/ct_defs.h"
11 
12 namespace Cantera
13 {
14 
15 class XML_Writer;
16 
17 //! Calculation of Collision integrals
18 /*!
19  * This class provides functions that
20  * interpolate the tabulated collision integrals in Monchick and
21  * Mason, "Transport Properties of Polar Gases," J. Chem. Phys. (1961)
22  *
23  * @ingroup tranprops
24  */
26 {
27 public:
29  virtual ~MMCollisionInt();
30 
31  //! Initialize the object for calculation
32  /*!
33  * @param xml Pointer to the log file that will receive the debug
34  * output messages
35  * @param tsmin Minimum value of Tstar to carry out the fitting
36  * @param tsmax Maximum value of Tstar to carry out the fitting
37  * @param loglevel Set the loglevel for the object. The default
38  * loglevel is zero, indicating no output.
39  */
40  void init(XML_Writer* xml, doublereal tsmin, doublereal tsmax, int loglevel = 0);
41 
42  doublereal omega22(double ts, double deltastar);
43  doublereal astar(double ts, double deltastar);
44  doublereal bstar(double ts, double deltastar);
45  doublereal cstar(double ts, double deltastar);
46  void fit(std::ostream& logfile, int degree, doublereal deltastar,
47  doublereal* astar, doublereal* bstar, doublereal* cstar);
48  void fit_omega22(std::ostream& logfile, int degree, doublereal deltastar, doublereal* om22);
49  doublereal omega11(double ts, double deltastar) {
50  return omega22(ts, deltastar)/astar(ts, deltastar);
51  }
52 
53 private:
54  doublereal fitDelta(int table, int ntstar, int degree, doublereal* c);
55 
56  std::vector<vector_fp> m_o22poly;
57 
58  std::vector<vector_fp> m_apoly;
59  std::vector<vector_fp> m_bpoly;
60 
61  std::vector<vector_fp> m_cpoly;
62 
63  static doublereal delta[8];
64 
65  static doublereal tstar22[37];
66 
67  //! Table of omega22 values from MM
68  static doublereal omega22_table[37*8];
69 
70  //! tstar
71  /*!
72  * table of tstar values
73  */
74  static doublereal tstar[39];
75 
76  //! astar table from MM
77  static doublereal astar_table[39*8];
78 
79  //! bstar table from MM
80  static doublereal bstar_table[39*8];
81 
82  //! cstar table from MM
83  static doublereal cstar_table[39*8];
84 
85  //! Log temp
87 
88  int m_nmin;
89 
90  int m_nmax;
91 
92  //! XML_Writer pointer
93  XML_Writer* m_xml;
94 
95  //! loglevel
97 };
98 }
99 #endif
void init(XML_Writer *xml, doublereal tsmin, doublereal tsmax, int loglevel=0)
Initialize the object for calculation.
vector_fp m_logTemp
Log temp.
static doublereal tstar[39]
tstar
static doublereal bstar_table[39 *8]
bstar table from MM
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
static doublereal astar_table[39 *8]
astar table from MM
XML_Writer * m_xml
XML_Writer pointer.
static doublereal omega22_table[37 *8]
Table of omega22 values from MM.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Definition: ct_defs.h:165
Calculation of Collision integrals.
static doublereal cstar_table[39 *8]
cstar table from MM