| 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
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 */
24 class MMCollisionInt
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
82 int m_loglevel;
83};
84}
85#endif
Cantera::MMCollisionInt
Calculation of Collision integrals.
Definition MMCollisionInt.h:25
Cantera::MMCollisionInt::init
void init(double tsmin, double tsmax, int loglevel=0)
Initialize the object for calculation.
Definition MMCollisionInt.cpp:216
Cantera::MMCollisionInt::m_loglevel
int m_loglevel
loglevel
Definition MMCollisionInt.h:82
Cantera::MMCollisionInt::astar_table
static double astar_table[39 *8]
astar table from MM
Definition MMCollisionInt.h:67
Cantera::MMCollisionInt::cstar_table
static double cstar_table[39 *8]
cstar table from MM
Definition MMCollisionInt.h:73
Cantera::MMCollisionInt::tstar
static double tstar[39]
table of tstar values
Definition MMCollisionInt.h:64
Cantera::MMCollisionInt::omega22_table
static double omega22_table[37 *8]
Table of omega22 values from MM.
Definition MMCollisionInt.h:61
Cantera::MMCollisionInt::bstar_table
static double bstar_table[39 *8]
bstar table from MM
Definition MMCollisionInt.h:70
Cantera::MMCollisionInt::m_logTemp
vector< double > m_logTemp
Log temp.
Definition MMCollisionInt.h:76
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:564