Cantera  3.0.0
Loading...
Searching...
No Matches
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
13
14namespace 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{
26public:
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
49private:
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