Cantera
Install
User Guide
Examples
Reference
Develop
Community
4.0.0a2
Toggle main menu visibility
Loading...
Searching...
No Matches
IonGasTransport.h
Go to the documentation of this file.
1
/**
2
* @file IonGasTransport.h
3
*/
4
5
// This file is part of Cantera. See License.txt in the top-level directory or
6
// at https://cantera.org/license.txt for license and copyright information.
7
8
#ifndef CT_ION_GAS_TRANSPORT_H
9
#define CT_ION_GAS_TRANSPORT_H
10
11
#include "
MixTransport.h
"
12
13
namespace
Cantera
14
{
15
//! Class IonGasTransport implements Stockmayer-(n,6,4) model for transport of ions.
16
/*!
17
* As implemented here, only binary transport between neutrals and ions is considered
18
* for calculating mixture-average diffusion coefficients and mobilities. When
19
* polarizability is not provide for an ion, LJ model is used instead of n64 model.
20
* Only neutral species are considered for thermal conductivity and viscosity.
21
*
22
* References for Stockmayer-(n,6,4) model: Selle and Riedel @cite selle1999,
23
* @cite selle2000; Han et al. @cite han2015; Chiflikian @cite chiflikian1995; and
24
* Viehland et al. @cite viehland1975.
25
*
26
* Stockmayer-(n,6,4) model is not suitable for collision between O2/O2-
27
* due to resonant charge transfer. Therefore, an experimental collision
28
* data is used instead.
29
*
30
* Data taken from @cite prager2005.
31
*
32
* @ingroup tranprops
33
*/
34
class
IonGasTransport :
public
MixTransport
35
{
36
public
:
37
IonGasTransport() =
default
;
38
39
string
transportModel
()
const override
{
40
return
"ionized-gas"
;
41
}
42
43
void
init
(shared_ptr<ThermoPhase>
thermo
,
int
mode)
override
;
44
45
//! Viscosity [Pa·s] of the mixture.
46
//! Only neutral species contribute to viscosity.
47
double
viscosity
()
override
;
48
49
//! Returns the mixture thermal conductivity [W/m/K].
50
//! Only neutral species contribute to thermal conductivity.
51
double
thermalConductivity
()
override
;
52
53
//! The mobilities for ions in gas.
54
//! The ion mobilities are calculated by Blanc's law.
55
void
getMobilities
(span<double> mobi)
override
;
56
57
//! The mixture transport for ionized gas.
58
//! The binary transport between two charged species is neglected.
59
void
getMixDiffCoeffs
(span<double> d)
override
;
60
61
/**
62
* The electrical conductivity [siemens/m].
63
* @f[
64
* \sigma = \sum_k{\left|C_k\right| \mu_k \frac{X_k P}{k_b T}}
65
* @f]
66
*/
67
double
electricalConductivity
()
override
;
68
69
protected
:
70
//! setup parameters for n64 model
71
void
setupN64
();
72
73
//! Generate polynomial fits to the binary diffusion coefficients.
74
//! Use Stockmayer-(n,6,4) model for collision between charged and neutral species.
75
void
fitDiffCoeffs
(
MMCollisionInt
& integrals)
override
;
76
77
/**
78
* Collision integral of omega11 of n64 collision model.
79
* The collision integral was fitted by Han et al. using the table
80
* by Viehlan et al.
81
* Note: Han release the range to 1000, but Selle suggested that
82
* a high temperature model is needed for T* > 10.
83
*/
84
double
omega11_n64
(
const
double
tstar,
const
double
gamma);
85
86
//! electrical properties
87
vector<double>
m_speciesCharge
;
88
89
//! index of ions (exclude electron.)
90
vector<size_t>
m_kIon
;
91
92
//! index of neutral species
93
vector<size_t>
m_kNeutral
;
94
95
//! index of electron
96
size_t
m_kElectron
=
npos
;
97
98
//! parameter of omega11 of n64
99
DenseMatrix
m_gamma
;
100
101
//! polynomial of the collision integral for O2/O2-
102
vector<double>
m_om11_O2
;
103
};
104
105
}
106
107
#endif
MixTransport.h
Headers for the MixTransport object, which models transport properties in ideal gas solutions using a...
Cantera::DenseMatrix
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
Definition
DenseMatrix.h:42
Cantera::IonGasTransport::fitDiffCoeffs
void fitDiffCoeffs(MMCollisionInt &integrals) override
Generate polynomial fits to the binary diffusion coefficients.
Definition
IonGasTransport.cpp:154
Cantera::IonGasTransport::m_kElectron
size_t m_kElectron
index of electron
Definition
IonGasTransport.h:96
Cantera::IonGasTransport::thermalConductivity
double thermalConductivity() override
Returns the mixture thermal conductivity [W/m/K].
Definition
IonGasTransport.cpp:118
Cantera::IonGasTransport::m_om11_O2
vector< double > m_om11_O2
polynomial of the collision integral for O2/O2-
Definition
IonGasTransport.h:102
Cantera::IonGasTransport::init
void init(shared_ptr< ThermoPhase > thermo, int mode) override
Initialize a transport manager.
Definition
IonGasTransport.cpp:17
Cantera::IonGasTransport::omega11_n64
double omega11_n64(const double tstar, const double gamma)
Collision integral of omega11 of n64 collision model.
Definition
IonGasTransport.cpp:308
Cantera::IonGasTransport::getMobilities
void getMobilities(span< double > mobi) override
The mobilities for ions in gas.
Definition
IonGasTransport.cpp:376
Cantera::IonGasTransport::m_gamma
DenseMatrix m_gamma
parameter of omega11 of n64
Definition
IonGasTransport.h:99
Cantera::IonGasTransport::setupN64
void setupN64()
setup parameters for n64 model
Definition
IonGasTransport.cpp:240
Cantera::IonGasTransport::viscosity
double viscosity() override
Viscosity [Pa·s] of the mixture.
Definition
IonGasTransport.cpp:94
Cantera::IonGasTransport::getMixDiffCoeffs
void getMixDiffCoeffs(span< double > d) override
The mixture transport for ionized gas.
Definition
IonGasTransport.cpp:340
Cantera::IonGasTransport::transportModel
string transportModel() const override
Identifies the model represented by this Transport object.
Definition
IonGasTransport.h:39
Cantera::IonGasTransport::m_kIon
vector< size_t > m_kIon
index of ions (exclude electron.)
Definition
IonGasTransport.h:90
Cantera::IonGasTransport::electricalConductivity
double electricalConductivity() override
The electrical conductivity [siemens/m].
Definition
IonGasTransport.cpp:137
Cantera::IonGasTransport::m_kNeutral
vector< size_t > m_kNeutral
index of neutral species
Definition
IonGasTransport.h:93
Cantera::IonGasTransport::m_speciesCharge
vector< double > m_speciesCharge
electrical properties
Definition
IonGasTransport.h:87
Cantera::MMCollisionInt
Calculation of Collision integrals.
Definition
MMCollisionInt.h:60
Cantera::MixTransport::MixTransport
MixTransport()=default
Default constructor.
Cantera::Transport::thermo
ThermoPhase & thermo()
Phase object.
Definition
Transport.h:111
Cantera
Namespace for the Cantera kernel.
Definition
AnyMap.cpp:595
Cantera::npos
const size_t npos
index returned by functions to indicate "no position"
Definition
ct_defs.h:183
include
cantera
transport
IonGasTransport.h
Generated by
1.17.0