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
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 */
25 class MMCollisionInt
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
78 vector_fp m_logTemp;
79
80 int m_nmin;
81 int m_nmax;
82
83 //! loglevel
84 int m_loglevel;
85};
86}
87#endif
Cantera::MMCollisionInt
Calculation of Collision integrals.
Definition: MMCollisionInt.h:26
Cantera::MMCollisionInt::m_loglevel
int m_loglevel
loglevel
Definition: MMCollisionInt.h:84
Cantera::MMCollisionInt::astar_table
static doublereal astar_table[39 *8]
astar table from MM
Definition: MMCollisionInt.h:69
Cantera::MMCollisionInt::cstar_table
static doublereal cstar_table[39 *8]
cstar table from MM
Definition: MMCollisionInt.h:75
Cantera::MMCollisionInt::m_logTemp
vector_fp m_logTemp
Log temp.
Definition: MMCollisionInt.h:78
Cantera::MMCollisionInt::tstar
static doublereal tstar[39]
table of tstar values
Definition: MMCollisionInt.h:66
Cantera::MMCollisionInt::omega22_table
static doublereal omega22_table[37 *8]
Table of omega22 values from MM.
Definition: MMCollisionInt.h:63
Cantera::MMCollisionInt::init
void init(doublereal tsmin, doublereal tsmax, int loglevel=0)
Initialize the object for calculation.
Definition: MMCollisionInt.cpp:218
Cantera::MMCollisionInt::bstar_table
static doublereal bstar_table[39 *8]
bstar table from MM
Definition: MMCollisionInt.h:72
ct_defs.h
This file contains definitions of constants, types and terms that are used in internal routines and a...
Cantera
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:557
Cantera::vector_fp
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