Cantera  4.0.0a1
Loading...
Searching...
No Matches
MMCollisionInt Class Reference

Calculation of Collision integrals. More...

#include <MMCollisionInt.h>

Detailed Description

Calculation of Collision integrals.

This class provides functions that interpolate the tabulated collision integrals in Monchick and Mason [31].

The collision integrals computed by Monchick and Mason use the Stockmayer potential, which models a polar molecule as a spherical potential with a point dipole at the center). Equation 16 of Monchick and Mason [31] gives the potential as:

\[ \phi(r) = 4 \epsilon_0 \left[ \left(\frac{\sigma_0}{r}\right)^{12} - \left(\frac{\sigma_0}{r}\right)^6 + \delta \left(\frac{\sigma_0}{r}\right)^3 \right] \]

Where \( \epsilon_0 \) is the depth of the potential well, \( \sigma_0 \) is the distance at which the potential between the two molecules is zero, \( \delta \) is defined as:

\[ \delta = \frac{1}{4} (\mu^*)^2 \zeta \left( \theta_1, \theta_2, \phi \right) \]

\( \mu^* \) is the reduced dipole moment. \( \theta_1 \) , \( \theta_2 \) , and \( \phi \) are angles related to trajectories of colliding molecules. In the work of Monchick and Mason, these details are not what is presented in the tables. Instead, the tables are presented as being functions of the reduced temperature, \( T^* \), and the \( \delta \) parameter. The reduced dipole moment, \( \mu^* \) is defined as:

\[ \mu^* = \frac{\mu}{\sqrt{\epsilon_0 \sigma_0^3}} \]

Where \( \mu \) is the dipole moment of the molecule and the other parameters have been defined earlier. This work considers only the collisions of like molecules, so only a single value is needed.

The tabulated data comes from the averaged collision integrals in tables V through VIII of Monchick and Mason [31].

Definition at line 59 of file MMCollisionInt.h.

Public Member Functions

void init (double tsmin, double tsmax)
 Initialize the object for calculation.
 
double omega22 (double ts, double deltastar)
 
double astar (double ts, double deltastar)
 
double bstar (double ts, double deltastar)
 
double cstar (double ts, double deltastar)
 
void fit (int degree, double deltastar, span< double > astar, span< double > bstar, span< double > cstar)
 
void fit_omega22 (int degree, double deltastar, span< double > om22)
 
double omega11 (double ts, double deltastar)
 

Private Member Functions

double fitDelta (int table, int ntstar, int degree, span< double > c)
 
double quadInterp (double x0, span< const double > x, span< const double > y)
 

Private Attributes

vector< vector< double > > m_o22poly
 
vector< vector< double > > m_apoly
 
vector< vector< double > > m_bpoly
 
vector< vector< double > > m_cpoly
 
vector< double > m_logTemp
 Log temp.
 
int m_nmin
 Index of the tstar array that encompasses the minimum temperature fitting range value of tsmin.
 
int m_nmax
 Index of the tstar array that encompasses the maximum temperature fitting range value of tsmax.
 

Static Private Attributes

static std::array< double, 8 > delta
 
static std::array< double, 37 > tstar22
 
static std::array< double, 37 *8 > omega22_table
 Table of omega22 values.
 
static std::array< double, 39 > tstar
 T* values (reduced temperature)
 
static std::array< double, 39 *8 > astar_table
 astar table
 
static std::array< double, 39 *8 > bstar_table
 bstar table
 
static std::array< double, 39 *8 > cstar_table
 cstar table
 

Constructor & Destructor Documentation

◆ MMCollisionInt()

MMCollisionInt ( )
inline

Definition at line 62 of file MMCollisionInt.h.

◆ ~MMCollisionInt()

virtual ~MMCollisionInt ( )
inlinevirtual

Definition at line 63 of file MMCollisionInt.h.

Member Function Documentation

◆ init()

void init ( double  tsmin,
double  tsmax 
)

Initialize the object for calculation.

Parameters
tsminMinimum value of Tstar to carry out the fitting
tsmaxMaximum value of Tstar to carry out the fitting

Definition at line 217 of file MMCollisionInt.cpp.

◆ omega22()

double omega22 ( double  ts,
double  deltastar 
)

Definition at line 276 of file MMCollisionInt.cpp.

◆ astar()

double astar ( double  ts,
double  deltastar 
)

Definition at line 301 of file MMCollisionInt.cpp.

◆ bstar()

double bstar ( double  ts,
double  deltastar 
)

Definition at line 324 of file MMCollisionInt.cpp.

◆ cstar()

double cstar ( double  ts,
double  deltastar 
)

Definition at line 347 of file MMCollisionInt.cpp.

◆ fit()

void fit ( int  degree,
double  deltastar,
span< double >  astar,
span< double >  bstar,
span< double >  cstar 
)

Definition at line 385 of file MMCollisionInt.cpp.

◆ fit_omega22()

void fit_omega22 ( int  degree,
double  deltastar,
span< double >  om22 
)

Definition at line 370 of file MMCollisionInt.cpp.

◆ omega11()

double omega11 ( double  ts,
double  deltastar 
)
inline

Definition at line 79 of file MMCollisionInt.h.

◆ fitDelta()

double fitDelta ( int  table,
int  ntstar,
int  degree,
span< double >  c 
)
private

Definition at line 254 of file MMCollisionInt.cpp.

◆ quadInterp()

double quadInterp ( double  x0,
span< const double >  x,
span< const double >  y 
)
private

Definition at line 21 of file MMCollisionInt.cpp.

Member Data Documentation

◆ m_o22poly

vector<vector<double> > m_o22poly
private

Definition at line 87 of file MMCollisionInt.h.

◆ m_apoly

vector<vector<double> > m_apoly
private

Definition at line 88 of file MMCollisionInt.h.

◆ m_bpoly

vector<vector<double> > m_bpoly
private

Definition at line 89 of file MMCollisionInt.h.

◆ m_cpoly

vector<vector<double> > m_cpoly
private

Definition at line 90 of file MMCollisionInt.h.

◆ delta

std::array< double, 8 > delta
staticprivate
Initial value:
= {
0.0, 0.25, 0.50, 0.75, 1.0, 1.5, 2.0, 2.5}

Definition at line 92 of file MMCollisionInt.h.

◆ tstar22

std::array< double, 37 > tstar22
staticprivate
Initial value:
= {
0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0,
1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0,
5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 12.0, 14.0, 16.0,
18.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 75.0, 100.0
}

Definition at line 93 of file MMCollisionInt.h.

◆ omega22_table

std::array< double, 37 *8 > omega22_table
staticprivate

Table of omega22 values.

Definition at line 96 of file MMCollisionInt.h.

◆ tstar

std::array< double, 39 > tstar
staticprivate
Initial value:
= {
0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0,
1.2, 1.4, 1.6, 1.8, 2.0, 2.5, 3.0, 3.5, 4.0,
5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 12.0, 14.0, 16.0,
18.0, 20.0, 25.0, 30.0, 35.0, 40.0, 50.0, 75.0, 100.0, 500.0
}

T* values (reduced temperature)

Definition at line 99 of file MMCollisionInt.h.

◆ astar_table

std::array< double, 39 *8 > astar_table
staticprivate

astar table

Definition at line 102 of file MMCollisionInt.h.

◆ bstar_table

std::array< double, 39 *8 > bstar_table
staticprivate

bstar table

Definition at line 105 of file MMCollisionInt.h.

◆ cstar_table

std::array< double, 39 *8 > cstar_table
staticprivate

cstar table

Definition at line 108 of file MMCollisionInt.h.

◆ m_logTemp

vector<double> m_logTemp
private

Log temp.

Definition at line 111 of file MMCollisionInt.h.

◆ m_nmin

int m_nmin
private

Index of the tstar array that encompasses the minimum temperature fitting range value of tsmin.

Definition at line 115 of file MMCollisionInt.h.

◆ m_nmax

int m_nmax
private

Index of the tstar array that encompasses the maximum temperature fitting range value of tsmax.

Definition at line 119 of file MMCollisionInt.h.


The documentation for this class was generated from the following files: