Cantera  3.1.0a1
MMCollisionInt.h
Go to the documentation of this file.
1 /**
2  * @file MMCollisionInt.h
3  * Monchick and Mason 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 @cite monchick1961.
21  *
22  * @ingroup tranprops
23  */
25 {
26 public:
27  MMCollisionInt() {}
28  virtual ~MMCollisionInt() {}
29 
30  //! Initialize the object for calculation
31  /*!
32  * @param tsmin Minimum value of Tstar to carry out the fitting
33  * @param tsmax Maximum value of Tstar to carry out the fitting
34  * @param loglevel Set the loglevel for the object. The default
35  * loglevel is zero, indicating no output.
36  */
37  void init(double tsmin, double tsmax, int loglevel = 0);
38 
39  double omega22(double ts, double deltastar);
40  double astar(double ts, double deltastar);
41  double bstar(double ts, double deltastar);
42  double cstar(double ts, double deltastar);
43  void fit(int degree, double deltastar, double* astar, double* bstar, double* cstar);
44  void fit_omega22(int degree, double deltastar, double* om22);
45  double omega11(double ts, double deltastar) {
46  return omega22(ts, deltastar)/astar(ts, deltastar);
47  }
48 
49 private:
50  double fitDelta(int table, int ntstar, int degree, double* c);
51 
52  vector<vector<double>> m_o22poly;
53  vector<vector<double>> m_apoly;
54  vector<vector<double>> m_bpoly;
55  vector<vector<double>> m_cpoly;
56 
57  static double delta[8];
58  static double tstar22[37];
59 
60  //! Table of omega22 values from MM
61  static double omega22_table[37*8];
62 
63  //! table of tstar values
64  static double tstar[39];
65 
66  //! astar table from MM
67  static double astar_table[39*8];
68 
69  //! bstar table from MM
70  static double bstar_table[39*8];
71 
72  //! cstar table from MM
73  static double cstar_table[39*8];
74 
75  //! Log temp
76  vector<double> m_logTemp;
77 
78  int m_nmin;
79  int m_nmax;
80 
81  //! loglevel
83 };
84 }
85 #endif
Calculation of Collision integrals.
void init(double tsmin, double tsmax, int loglevel=0)
Initialize the object for calculation.
static double astar_table[39 *8]
astar table from MM
static double cstar_table[39 *8]
cstar table from MM
static double tstar[39]
table of tstar values
static double omega22_table[37 *8]
Table of omega22 values from MM.
static double bstar_table[39 *8]
bstar table from MM
vector< double > m_logTemp
Log temp.
This file contains definitions of constants, types and terms that are used in internal routines and a...
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:564