Cantera
2.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
cantera
transport
LiquidTransportParams.h
Go to the documentation of this file.
1
/**
2
* @file LiquidTransportParams.h
3
* Header file defining class LiquidTransportParams
4
*/
5
6
#ifndef CT_LIQUIDTRANSPORTPARAMS_H
7
#define CT_LIQUIDTRANSPORTPARAMS_H
8
9
#include "
cantera/base/ct_defs.h
"
10
#include "
TransportBase.h
"
11
#include "
TransportParams.h
"
12
#include "
LiquidTransportData.h
"
13
#include "
LiquidTranInteraction.h
"
14
#include "
cantera/base/xml.h
"
15
#include "cantera/base/XML_Writer.h"
16
17
#include <vector>
18
19
namespace
Cantera
20
{
21
//! Composition dependence type for liquid mixture transport properties
22
/*!
23
* Types of temperature dependencies:
24
* - 0 - Mixture calculations with this property are not allowed
25
* - 1 - Use solvent (species 0) properties
26
* - 2 - Properties weighted linearly by mole fractions
27
* - 3 - Properties weighted linearly by mass fractions
28
* - 4 - Properties weighted logarithmically by mole fractions (interaction energy weighting)
29
* - 5 - Interactions given pairwise between each possible species (i.e. D_ij)
30
*
31
* \verbatim
32
* <transport model="Liquid">
33
* <viscosity>
34
* <compositionDependence model="logMoleFractions">
35
* <interaction>
36
* <speciesA> LiCl(L) </speciesA>
37
* <speciesB> KCl(L) </speciesB>
38
* <Eij units="J/kmol"> -1.0 </Eij>
39
* <Sij units="J/kmol/K"> 1.0E-1 </Sij>
40
* -or- <Sij>
41
* <floatArray units="J/kmol/K"> 1.0E-1, 0.001 0.01 </floatArray>
42
* </Sij>
43
* -same form for Hij,Aij,Bij-
44
* </interaction>
45
* </compositionDependence>
46
* </viscosity>
47
* <speciesDiffusivity>
48
* <compositionDependence model="pairwiseInteraction">
49
* <interaction>
50
* <speciesA> Li+ </speciesA>
51
* <speciesB> K+ </speciesB>
52
* <Dij units="m2/s"> 1.5 </Dij>
53
* </interaction>
54
* <interaction>
55
* <speciesA> K+ </speciesA>
56
* <speciesB> Cl- </speciesB>
57
* <Dij units="m2/s"> 1.0 </Dij>
58
* </interaction>
59
* <interaction>
60
* <speciesA> Li+ </speciesA>
61
* <speciesB> Cl- </speciesB>
62
* <Dij units="m2/s"> 1.2 </Dij>
63
* </interaction>
64
* </compositionDependence>
65
* </speciesDiffusivity>
66
* <thermalConductivity>
67
* <compositionDependence model="massFractions"/>
68
* </thermalConductivity>
69
* <hydrodynamicRadius>
70
* <compositionDependence model="none"/>
71
* </hydrodynamicRadius>
72
* </transport>
73
* \endverbatim
74
*
75
*/
76
77
78
79
80
//! Class LiquidTransportParams holds transport model parameters
81
//! relevant to transport in mixtures.
82
/*!
83
* This class is used by TransportFactory to initialize transport objects.
84
*/
85
class
LiquidTransportParams
:
public
TransportParams
86
{
87
88
public
:
89
90
//! Constructor
91
LiquidTransportParams
();
92
93
//! Destructor
94
~LiquidTransportParams
();
95
96
//! Copy constructor
97
/*!
98
* @param right Object to be copied
99
*/
100
LiquidTransportParams
(
const
LiquidTransportParams
& right);
101
102
//! Assignment operator
103
/*!
104
* @param right Object to be copied
105
*/
106
LiquidTransportParams
&
operator=
(
const
LiquidTransportParams
& right);
107
108
//! Species transport parameters
109
std::vector<Cantera::LiquidTransportData>
LTData
;
110
111
//! Object that specifies the viscosity interaction for the mixture
112
LiquidTranInteraction
*
viscosity
;
113
114
//! Object that specifes the ionic Conductivity of the mixture
115
LiquidTranInteraction
*
ionConductivity
;
116
117
//! Vector of pointer to the LiquidTranInteraction object which handles the calculation of
118
//! each species' mobility ratios for the phase
119
/*!
120
* mobRat(i,j) = mu_i / mu_j
121
*
122
* It is returned in fortran-ordering format. ie. it is returned as mobRat[k], where
123
*
124
* k = j * nsp + i
125
*/
126
std::vector<LiquidTranInteraction*>
mobilityRatio
;
127
128
//! Vector of pointer to the LiquidTranInteraction object which handles the calculation of
129
//! each species' self diffusion coefficient for the phase
130
std::vector<LiquidTranInteraction*>
selfDiffusion
;
131
132
//! Pointer to the LiquidTranInteraction object which handles the calculation of the
133
//! mixture thermal conductivity for the phase
134
LiquidTranInteraction
*
thermalCond
;
135
136
//! Pointer to the LiquidTranInteraction object which handles the calculation of the
137
//! species diffusivity for the phase
138
LiquidTranInteraction
*
speciesDiffusivity
;
139
140
//! Pointer to the LiquidTranInteraction object which handles the calculation of the
141
//! electrical conductivity for the phase
142
LiquidTranInteraction
*
electCond
;
143
144
//! Pointer to the LiquidTranInteraction object which handles the calculation of the hydrodynamic
145
//! radius for the phase
146
/*!
147
* @note I don't understand at the moment how one can define a hydrodynamic
148
* radius for the phase
149
*/
150
LiquidTranInteraction
*
hydroRadius
;
151
152
//! Model for species interaction effects for viscosity
153
//! Takes enum LiquidTranMixingModel
154
LiquidTranMixingModel
model_viscosity
;
155
156
//! Model for species interaction effects for ionic conductivity
157
//! Takes enum LiquidTranMixingModel
158
LiquidTranMixingModel
model_ionConductivity
;
159
160
//! Model for species interaction effects for mobility ratio
161
//! Takes enum LiquidTranMixingModel
162
std::vector<LiquidTranMixingModel*>
model_mobilityRatio
;
163
164
//! Model for species interaction effects for mobility ratio
165
//! Takes enum LiquidTranMixingModel
166
std::vector<LiquidTranMixingModel*>
model_selfDiffusion
;
167
168
//! Interaction associated with linear weighting of
169
//! thermal conductivity.
170
/**
171
* This is used for either LTI_MODEL_MASSFRACS
172
* or LTI_MODEL_MOLEFRACS.
173
* The overall formula for the mixture viscosity is
174
*
175
* \f[ \eta_{mix} = \sum_i X_i \eta_i
176
* + \sum_i \sum_j X_i X_j A_{i,j} \f].
177
*/
178
DenseMatrix
thermalCond_Aij
;
179
180
//! Model for species interaction effects for mass diffusivity
181
//! Takes enum LiquidTranMixingModel
182
LiquidTranMixingModel
model_speciesDiffusivity
;
183
184
//! Interaction associated with linear weighting of
185
//! thermal conductivity.
186
/**
187
* This is used for either LTI_MODEL_PAIRWISE_INTERACTION or LTI_MODEL_STEFANMAXWELL_PPN.
188
* These provide species interaction coefficients associated with
189
* the Stefan-Maxwell formulation.
190
*/
191
DenseMatrix
diff_Dij
;
192
193
//! Model for species interaction effects for hydrodynamic radius
194
//! Takes enum LiquidTranMixingModel
195
LiquidTranMixingModel
model_hydroradius
;
196
197
//! Interaction associated with hydrodynamic radius.
198
/**
199
* Not yet implemented
200
*/
201
DenseMatrix
radius_Aij
;
202
};
203
204
205
206
207
}
208
209
#endif
Generated by
1.8.2