Cantera  2.5.1
MMCollisionInt.h
Go to the documentation of this file.
1 /**
2  * @file MMCollisionInt.h
3  * Monk and Monchick collision integrals
4  */
5 
6 // This file is part of Cantera. See License.txt in the top-level directory or
7 // at https://cantera.org/license.txt for license and copyright information.
8 
9 #ifndef CT_MMCOLLISIONINT_H
10 #define CT_MMCOLLISIONINT_H
11 
12 #include "cantera/base/ct_defs.h"
13 
14 namespace Cantera
15 {
16 
17 //! Calculation of Collision integrals
18 /*!
19  * This class provides functions that interpolate the tabulated collision
20  * integrals in Monchick and Mason, "Transport Properties of Polar Gases," J.
21  * Chem. Phys. (1961)
22  *
23  * @ingroup tranprops
24  */
26 {
27 public:
28  MMCollisionInt() {}
29  virtual ~MMCollisionInt() {}
30 
31  //! Initialize the object for calculation
32  /*!
33  * @param tsmin Minimum value of Tstar to carry out the fitting
34  * @param tsmax Maximum value of Tstar to carry out the fitting
35  * @param loglevel Set the loglevel for the object. The default
36  * loglevel is zero, indicating no output.
37  */
38  void init(doublereal tsmin, doublereal tsmax, int loglevel = 0);
39 
40  doublereal omega22(double ts, double deltastar);
41  doublereal astar(double ts, double deltastar);
42  doublereal bstar(double ts, double deltastar);
43  doublereal cstar(double ts, double deltastar);
44  void fit(int degree, doublereal deltastar,
45  doublereal* astar, doublereal* bstar, doublereal* cstar);
46  void fit_omega22(int degree, doublereal deltastar, doublereal* om22);
47  doublereal omega11(double ts, double deltastar) {
48  return omega22(ts, deltastar)/astar(ts, deltastar);
49  }
50 
51 private:
52  doublereal fitDelta(int table, int ntstar, int degree, doublereal* c);
53 
54  std::vector<vector_fp> m_o22poly;
55  std::vector<vector_fp> m_apoly;
56  std::vector<vector_fp> m_bpoly;
57  std::vector<vector_fp> m_cpoly;
58 
59  static doublereal delta[8];
60  static doublereal tstar22[37];
61 
62  //! Table of omega22 values from MM
63  static doublereal omega22_table[37*8];
64 
65  //! table of tstar values
66  static doublereal tstar[39];
67 
68  //! astar table from MM
69  static doublereal astar_table[39*8];
70 
71  //! bstar table from MM
72  static doublereal bstar_table[39*8];
73 
74  //! cstar table from MM
75  static doublereal cstar_table[39*8];
76 
77  //! Log temp
79 
80  int m_nmin;
81  int m_nmax;
82 
83  //! loglevel
85 };
86 }
87 #endif
Calculation of Collision integrals.
static doublereal astar_table[39 *8]
astar table from MM
static doublereal cstar_table[39 *8]
cstar table from MM
vector_fp m_logTemp
Log temp.
static doublereal tstar[39]
table of tstar values
static doublereal omega22_table[37 *8]
Table of omega22 values from MM.
void init(doublereal tsmin, doublereal tsmax, int loglevel=0)
Initialize the object for calculation.
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...
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:180
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:264