Cantera 2.6.0
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
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, "Transport Properties of Polar Gases," J.
21 * Chem. Phys. (1961)
22 *
23 * @ingroup tranprops
24 */
26{
27public:
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
51private:
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 constants, types and terms that are used in internal routines and a...
Namespace for the Cantera kernel.
Definition: AnyMap.h:29
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:184