Cantera 2.6.0
|
Class GasTransport implements some functions and properties that are shared by the MixTransport and MultiTransport classes. More...
#include <GasTransport.h>
Public Member Functions | |
virtual doublereal | viscosity () |
Viscosity of the mixture (kg /m /s) More... | |
virtual void | getSpeciesViscosities (doublereal *const visc) |
Get the pure-species viscosities. More... | |
virtual void | getBinaryDiffCoeffs (const size_t ld, doublereal *const d) |
Returns the matrix of binary diffusion coefficients. More... | |
virtual void | getMixDiffCoeffs (doublereal *const d) |
Returns the Mixture-averaged diffusion coefficients [m^2/s]. More... | |
virtual void | getMixDiffCoeffsMole (doublereal *const d) |
Returns the mixture-averaged diffusion coefficients [m^2/s]. More... | |
virtual void | getMixDiffCoeffsMass (doublereal *const d) |
Returns the mixture-averaged diffusion coefficients [m^2/s]. More... | |
virtual void | getViscosityPolynomial (size_t i, double *coeffs) const |
Return the polynomial fits to the viscosity of species i. More... | |
virtual void | getConductivityPolynomial (size_t i, double *coeffs) const |
Return the temperature fits of the heat conductivity of species i. More... | |
virtual void | getBinDiffusivityPolynomial (size_t i, size_t j, double *coeffs) const |
Return the polynomial fits to the binary diffusivity of species pair (i, j) More... | |
virtual void | getCollisionIntegralPolynomial (size_t i, size_t j, double *astar_coeffs, double *bstar_coeffs, double *cstar_coeffs) const |
Return the polynomial fits to the collision integral of species pair (i, j) More... | |
virtual void | setViscosityPolynomial (size_t i, double *coeffs) |
Modify the polynomial fits to the viscosity of species i. More... | |
virtual void | setConductivityPolynomial (size_t i, double *coeffs) |
Modify the temperature fits of the heat conductivity of species i. More... | |
virtual void | setBinDiffusivityPolynomial (size_t i, size_t j, double *coeffs) |
Modify the polynomial fits to the binary diffusivity of species pair (i, j) More... | |
virtual void | setCollisionIntegralPolynomial (size_t i, size_t j, double *astar_coeffs, double *bstar_coeffs, double *cstar_coeffs, bool actualT) |
Modify the polynomial fits to the collision integral of species pair (i, j) More... | |
virtual void | init (ThermoPhase *thermo, int mode=0, int log_level=0) |
Initialize a transport manager. More... | |
bool | CKMode () const |
Boolean indicating the form of the transport properties polynomial fits. More... | |
Public Member Functions inherited from Transport | |
Transport (ThermoPhase *thermo=0, size_t ndim=1) | |
Constructor. More... | |
Transport (const Transport &)=delete | |
Transport & | operator= (const Transport &)=delete |
virtual std::string | transportType () const |
Identifies the Transport object type. More... | |
ThermoPhase & | thermo () |
bool | ready () |
void | setNDim (const int ndim) |
Set the number of dimensions to be expected in flux expressions. More... | |
size_t | nDim () const |
Return the number of dimensions in flux expressions. More... | |
void | checkSpeciesIndex (size_t k) const |
Check that the specified species index is in range. More... | |
void | checkSpeciesArraySize (size_t kk) const |
Check that an array size is at least nSpecies(). More... | |
virtual doublereal | getElectricConduct () |
Compute the mixture electrical conductivity (S m-1) at the current conditions of the phase (Siemens m-1) More... | |
virtual void | getElectricCurrent (int ndim, const doublereal *grad_T, int ldx, const doublereal *grad_X, int ldf, const doublereal *grad_V, doublereal *current) |
Compute the electric current density in A/m^2. More... | |
virtual void | getSpeciesFluxes (size_t ndim, const doublereal *const grad_T, size_t ldx, const doublereal *const grad_X, size_t ldf, doublereal *const fluxes) |
Get the species diffusive mass fluxes wrt to the specified solution averaged velocity, given the gradients in mole fraction and temperature. More... | |
virtual void | getSpeciesFluxesES (size_t ndim, const doublereal *grad_T, size_t ldx, const doublereal *grad_X, size_t ldf, const doublereal *grad_Phi, doublereal *fluxes) |
Get the species diffusive mass fluxes wrt to the mass averaged velocity, given the gradients in mole fraction, temperature and electrostatic potential. More... | |
virtual void | getSpeciesVdiff (size_t ndim, const doublereal *grad_T, int ldx, const doublereal *grad_X, int ldf, doublereal *Vdiff) |
Get the species diffusive velocities wrt to the mass averaged velocity, given the gradients in mole fraction and temperature. More... | |
virtual void | getSpeciesVdiffES (size_t ndim, const doublereal *grad_T, int ldx, const doublereal *grad_X, int ldf, const doublereal *grad_Phi, doublereal *Vdiff) |
Get the species diffusive velocities wrt to the mass averaged velocity, given the gradients in mole fraction, temperature, and electrostatic potential. More... | |
virtual void | getMolarFluxes (const doublereal *const state1, const doublereal *const state2, const doublereal delta, doublereal *const cfluxes) |
Get the molar fluxes [kmol/m^2/s], given the thermodynamic state at two nearby points. More... | |
virtual void | getMassFluxes (const doublereal *state1, const doublereal *state2, doublereal delta, doublereal *mfluxes) |
Get the mass fluxes [kg/m^2/s], given the thermodynamic state at two nearby points. More... | |
virtual void | getThermalDiffCoeffs (doublereal *const dt) |
Return a vector of Thermal diffusion coefficients [kg/m/sec]. More... | |
virtual void | getMultiDiffCoeffs (const size_t ld, doublereal *const d) |
Return the Multicomponent diffusion coefficients. Units: [m^2/s]. More... | |
virtual void | setParameters (const int type, const int k, const doublereal *const p) |
Set model parameters for derived classes. More... | |
AnyMap | parameters () const |
Return the parameters for a phase definition which are needed to reconstruct an identical object using the newTransport function. More... | |
void | setVelocityBasis (VelocityBasis ivb) |
Sets the velocity basis. More... | |
VelocityBasis | getVelocityBasis () const |
Gets the velocity basis. More... | |
virtual doublereal | bulkViscosity () |
The bulk viscosity in Pa-s. More... | |
virtual doublereal | ionConductivity () |
The ionic conductivity in 1/ohm/m. More... | |
virtual void | getSpeciesIonConductivity (doublereal *const ionCond) |
Returns the pure species ionic conductivity. More... | |
virtual void | mobilityRatio (double *mobRat) |
Returns the pointer to the mobility ratios of the species in the phase. More... | |
virtual void | getSpeciesMobilityRatio (double **mobRat) |
Returns the pure species limit of the mobility ratios. More... | |
virtual doublereal | thermalConductivity () |
Returns the mixture thermal conductivity in W/m/K. More... | |
virtual doublereal | electricalConductivity () |
The electrical conductivity (Siemens/m). More... | |
virtual void | getMobilities (doublereal *const mobil_e) |
Get the Electrical mobilities (m^2/V/s). More... | |
virtual void | getFluidMobilities (doublereal *const mobil_f) |
Get the fluid mobilities (s kmol/kg). More... | |
virtual void | setThermo (ThermoPhase &thermo) |
Specifies the ThermoPhase object. More... | |
virtual void | setRoot (std::shared_ptr< Solution > root) |
Set root Solution holding all phase information. More... | |
Protected Member Functions | |
GasTransport (ThermoPhase *thermo=0) | |
virtual void | update_T () |
virtual void | update_C ()=0 |
virtual void | updateViscosity_T () |
Update the temperature-dependent viscosity terms. More... | |
virtual void | updateSpeciesViscosities () |
Update the pure-species viscosities. More... | |
virtual void | updateDiff_T () |
Update the binary diffusion coefficients. More... | |
Initialization | |
virtual void | setupCollisionParameters () |
Setup parameters for a new kinetic-theory-based transport manager for low-density gases. More... | |
void | setupCollisionIntegral () |
Setup range for polynomial fits to collision integrals of Monchick & Mason. More... | |
void | getTransportData () |
Read the transport database. More... | |
void | makePolarCorrections (size_t i, size_t j, doublereal &f_eps, doublereal &f_sigma) |
Corrections for polar-nonpolar binary diffusion coefficients. More... | |
void | fitCollisionIntegrals (MMCollisionInt &integrals) |
Generate polynomial fits to collision integrals. More... | |
virtual void | fitProperties (MMCollisionInt &integrals) |
Generate polynomial fits to the viscosity and conductivity. More... | |
virtual void | fitDiffCoeffs (MMCollisionInt &integrals) |
Generate polynomial fits to the binary diffusion coefficients. More... | |
void | getBinDiffCorrection (doublereal t, MMCollisionInt &integrals, size_t k, size_t j, doublereal xk, doublereal xj, doublereal &fkj, doublereal &fjk) |
Second-order correction to the binary diffusion coefficients. More... | |
Protected Member Functions inherited from Transport | |
void | finalize () |
Enable the transport object for use. More... | |
Protected Attributes | |
vector_fp | m_molefracs |
Vector of species mole fractions. More... | |
doublereal | m_viscmix |
Internal storage for the viscosity of the mixture (kg /m /s) More... | |
bool | m_visc_ok |
Update boolean for mixture rule for the mixture viscosity. More... | |
bool | m_viscwt_ok |
Update boolean for the weighting factors for the mixture viscosity. More... | |
bool | m_spvisc_ok |
Update boolean for the species viscosities. More... | |
bool | m_bindiff_ok |
Update boolean for the binary diffusivities at unit pressure. More... | |
int | m_mode |
Type of the polynomial fits to temperature. More... | |
DenseMatrix | m_phi |
m_phi is a Viscosity Weighting Function. size = m_nsp * n_nsp More... | |
vector_fp | m_spwork |
work space length = m_kk More... | |
vector_fp | m_visc |
vector of species viscosities (kg /m /s). More... | |
std::vector< vector_fp > | m_visccoeffs |
Polynomial fits to the viscosity of each species. More... | |
vector_fp | m_mw |
Local copy of the species molecular weights. More... | |
DenseMatrix | m_wratjk |
Holds square roots of molecular weight ratios. More... | |
DenseMatrix | m_wratkj1 |
Holds square roots of molecular weight ratios. More... | |
vector_fp | m_sqvisc |
vector of square root of species viscosities sqrt(kg /m /s). More... | |
vector_fp | m_polytempvec |
Powers of the ln temperature, up to fourth order. More... | |
doublereal | m_temp |
Current value of the temperature at which the properties in this object are calculated (Kelvin). More... | |
doublereal | m_kbt |
Current value of Boltzmann constant times the temperature (Joules) More... | |
doublereal | m_sqrt_kbt |
current value of Boltzmann constant times the temperature. More... | |
doublereal | m_sqrt_t |
current value of temperature to 1/2 power More... | |
doublereal | m_logt |
Current value of the log of the temperature. More... | |
doublereal | m_t14 |
Current value of temperature to 1/4 power. More... | |
doublereal | m_t32 |
Current value of temperature to the 3/2 power. More... | |
std::vector< vector_fp > | m_diffcoeffs |
Polynomial fits to the binary diffusivity of each species. More... | |
DenseMatrix | m_bdiff |
Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is nsp x nsp. More... | |
std::vector< vector_fp > | m_condcoeffs |
temperature fits of the heat conduction More... | |
std::vector< vector_int > | m_poly |
Indices for the (i,j) interaction in collision integral fits. More... | |
std::vector< vector_fp > | m_omega22_poly |
Fit for omega22 collision integral. More... | |
std::vector< vector_int > | m_star_poly_uses_actualT |
Flag to indicate for which (i,j) interaction pairs the actual temperature is used instead of the reduced temperature. More... | |
std::vector< vector_fp > | m_astar_poly |
Fit for astar collision integral. More... | |
std::vector< vector_fp > | m_bstar_poly |
Fit for bstar collision integral. More... | |
std::vector< vector_fp > | m_cstar_poly |
Fit for cstar collision integral. More... | |
vector_fp | m_zrot |
Rotational relaxation number for each species. More... | |
vector_fp | m_crot |
Dimensionless rotational heat capacity of each species. More... | |
std::vector< bool > | m_polar |
Vector of booleans indicating whether a species is a polar molecule. More... | |
vector_fp | m_alpha |
Polarizability of each species in the phase. More... | |
vector_fp | m_eps |
Lennard-Jones well-depth of the species in the current phase. More... | |
vector_fp | m_sigma |
Lennard-Jones diameter of the species in the current phase. More... | |
DenseMatrix | m_reducedMass |
This is the reduced mass of the interaction between species i and j. More... | |
DenseMatrix | m_diam |
hard-sphere diameter for (i,j) collision More... | |
DenseMatrix | m_epsilon |
The effective well depth for (i,j) collisions. More... | |
DenseMatrix | m_dipole |
The effective dipole moment for (i,j) collisions. More... | |
DenseMatrix | m_delta |
Reduced dipole moment of the interaction between two species. More... | |
vector_fp | m_w_ac |
Pitzer acentric factor. More... | |
vector_fp | m_disp |
Dispersion coefficient. More... | |
vector_fp | m_quad_polar |
Quadrupole polarizability. More... | |
int | m_log_level |
Level of verbose printing during initialization. More... | |
Protected Attributes inherited from Transport | |
ThermoPhase * | m_thermo |
pointer to the object representing the phase More... | |
bool | m_ready |
true if finalize has been called More... | |
size_t | m_nsp |
Number of species. More... | |
size_t | m_nDim |
Number of dimensions used in flux expressions. More... | |
int | m_velocityBasis |
Velocity basis from which diffusion velocities are computed. More... | |
std::weak_ptr< Solution > | m_root |
reference to Solution More... | |
Class GasTransport implements some functions and properties that are shared by the MixTransport and MultiTransport classes.
Definition at line 30 of file GasTransport.h.
|
protected |
Definition at line 23 of file GasTransport.cpp.
|
virtual |
Viscosity of the mixture (kg /m /s)
The viscosity is computed using the Wilke mixture rule (kg /m /s)
\[ \mu = \sum_k \frac{\mu_k X_k}{\sum_j \Phi_{k,j} X_j}. \]
Here \( \mu_k \) is the viscosity of pure species k, and
\[ \Phi_{k,j} = \frac{\left[1 + \sqrt{\left(\frac{\mu_k}{\mu_j}\sqrt{\frac{M_j}{M_k}}\right)}\right]^2} {\sqrt{8}\sqrt{1 + M_k/M_j}} \]
Reimplemented from Transport.
Reimplemented in HighPressureGasTransport, and IonGasTransport.
Definition at line 77 of file GasTransport.cpp.
References Cantera::multiply().
|
inlinevirtual |
Get the pure-species viscosities.
Reimplemented from Transport.
Definition at line 56 of file GasTransport.h.
References GasTransport::m_visc, and GasTransport::updateViscosity_T().
|
virtual |
Returns the matrix of binary diffusion coefficients.
d[ld*j + i] = rp * m_bdiff(i,j);
ld | offset of rows in the storage |
d | output vector of diffusion coefficients. Units of m**2 / s |
Reimplemented from Transport.
Reimplemented in HighPressureGasTransport.
Definition at line 166 of file GasTransport.cpp.
|
virtual |
Returns the Mixture-averaged diffusion coefficients [m^2/s].
Returns the mixture averaged diffusion coefficients for a gas, appropriate for calculating the mass averaged diffusive flux with respect to the mass averaged velocity using gradients of the mole fraction. Note, for the single species case or the pure fluid case the routine returns the self-diffusion coefficient. This is needed to avoid a Nan result in the formula below.
This is Eqn. 12.180 from "Chemically Reacting Flow"
\[ D_{km}' = \frac{\left( \bar{M} - X_k M_k \right)}{ \bar{\qquad M \qquad } } {\left( \sum_{j \ne k} \frac{X_j}{D_{kj}} \right) }^{-1} \]
[out] | d | Vector of mixture diffusion coefficients, \( D_{km}' \) , for each species (m^2/s). length m_nsp |
Reimplemented from Transport.
Reimplemented in IonGasTransport, and UnityLewisTransport.
Definition at line 184 of file GasTransport.cpp.
Referenced by MixTransport::getMobilities(), and MixTransport::getSpeciesFluxes().
|
virtual |
Returns the mixture-averaged diffusion coefficients [m^2/s].
These are the coefficients for calculating the molar diffusive fluxes from the species mole fraction gradients, computed according to Eq. 12.176 in "Chemically Reacting Flow":
\[ D_{km}^* = \frac{1-X_k}{\sum_{j \ne k}^K X_j/\mathcal{D}_{kj}} \]
[out] | d | vector of mixture-averaged diffusion coefficients for each species, length m_nsp. |
Reimplemented from Transport.
Reimplemented in UnityLewisTransport.
Definition at line 215 of file GasTransport.cpp.
|
virtual |
Returns the mixture-averaged diffusion coefficients [m^2/s].
These are the coefficients for calculating the diffusive mass fluxes from the species mass fraction gradients, computed according to Eq. 12.178 in "Chemically Reacting Flow":
\[ \frac{1}{D_{km}} = \sum_{j \ne k}^K \frac{X_j}{\mathcal{D}_{kj}} + \frac{X_k}{1-Y_k} \sum_{j \ne k}^K \frac{Y_j}{\mathcal{D}_{kj}} \]
[out] | d | vector of mixture-averaged diffusion coefficients for each species, length m_nsp. |
Reimplemented from Transport.
Reimplemented in UnityLewisTransport.
Definition at line 245 of file GasTransport.cpp.
|
virtual |
Return the polynomial fits to the viscosity of species i.
Reimplemented from Transport.
Definition at line 824 of file GasTransport.cpp.
|
virtual |
Return the temperature fits of the heat conductivity of species i.
Reimplemented from Transport.
Definition at line 831 of file GasTransport.cpp.
|
virtual |
Return the polynomial fits to the binary diffusivity of species pair (i, j)
Reimplemented from Transport.
Definition at line 838 of file GasTransport.cpp.
|
virtual |
Return the polynomial fits to the collision integral of species pair (i, j)
Reimplemented from Transport.
Definition at line 853 of file GasTransport.cpp.
References COLL_INT_POLY_DEGREE.
|
virtual |
Modify the polynomial fits to the viscosity of species i.
Reimplemented from Transport.
Definition at line 865 of file GasTransport.cpp.
|
virtual |
Modify the temperature fits of the heat conductivity of species i.
Reimplemented from Transport.
Definition at line 878 of file GasTransport.cpp.
|
virtual |
Modify the polynomial fits to the binary diffusivity of species pair (i, j)
Reimplemented from Transport.
Definition at line 891 of file GasTransport.cpp.
|
virtual |
Modify the polynomial fits to the collision integral of species pair (i, j)
Reimplemented from Transport.
Definition at line 912 of file GasTransport.cpp.
References COLL_INT_POLY_DEGREE.
|
virtual |
Initialize a transport manager.
This routine sets up a transport manager. It calculates the collision integrals and populates species-dependent data structures.
thermo | Pointer to the ThermoPhase object |
mode | Chemkin compatible mode or not. This alters the specification of the collision integrals. defaults to no. |
log_level | Defaults to zero, no logging |
Reimplemented from Transport.
Reimplemented in IonGasTransport, MixTransport, and MultiTransport.
Definition at line 278 of file GasTransport.cpp.
References Phase::nSpecies().
Referenced by MixTransport::init(), and MultiTransport::init().
|
inlinevirtual |
Boolean indicating the form of the transport properties polynomial fits.
Returns true if the Chemkin form is used.
Reimplemented from Transport.
Definition at line 160 of file GasTransport.h.
References GasTransport::m_mode.
|
protectedvirtual |
Reimplemented in MixTransport, and MultiTransport.
Definition at line 43 of file GasTransport.cpp.
|
protectedpure virtual |
Implemented in MixTransport, and MultiTransport.
|
protectedvirtual |
Update the temperature-dependent viscosity terms.
Updates the array of pure species viscosities, and the weighting functions in the viscosity mixture rule. The flag m_visc_ok is set to true.
The formula for the weighting function is from Poling and Prausnitz, Eq. (9-5.14):
\[ \phi_{ij} = \frac{ \left[ 1 + \left( \mu_i / \mu_j \right)^{1/2} \left( M_j / M_i \right)^{1/4} \right]^2 } {\left[ 8 \left( 1 + M_i / M_j \right) \right]^{1/2}} \]
Definition at line 101 of file GasTransport.cpp.
Referenced by GasTransport::getSpeciesViscosities().
|
protectedvirtual |
Update the pure-species viscosities.
These are evaluated from the polynomial fits of the temperature and are assumed to be independent of pressure.
Definition at line 122 of file GasTransport.cpp.
References Cantera::dot4(), and Cantera::dot5().
Referenced by MultiTransport::updateThermal_T().
|
protectedvirtual |
Update the binary diffusion coefficients.
These are evaluated from the polynomial fits of the temperature at the unit pressure of 1 Pa.
Definition at line 140 of file GasTransport.cpp.
References Cantera::dot4(), and Cantera::dot5().
Referenced by HighPressureGasTransport::getBinaryDiffCoeffs(), MultiTransport::getMassFluxes(), HighPressureGasTransport::getMultiDiffCoeffs(), MultiTransport::getSpeciesFluxes(), and MultiTransport::updateThermal_T().
|
protectedvirtual |
Setup parameters for a new kinetic-theory-based transport manager for low-density gases.
Definition at line 310 of file GasTransport.cpp.
References Cantera::Avogadro, Cantera::epsilon_0, and Cantera::Pi.
|
protected |
Setup range for polynomial fits to collision integrals of Monchick & Mason.
Definition at line 371 of file GasTransport.cpp.
References Cantera::Boltzmann, Cantera::debuglog(), and MMCollisionInt::init().
|
protected |
Read the transport database.
Read transport property data from a file for a list of species. Given the name of a file containing transport property parameters and a list of species names.
Definition at line 401 of file GasTransport.cpp.
References GasTransportData::acentric_factor, GasTransportData::diameter, GasTransportData::dipole, GasTransportData::dispersion_coefficient, GasTransportData::geometry, GasTransportData::polarizability, GasTransportData::quadrupole_polarizability, GasTransportData::rotational_relaxation, and GasTransportData::well_depth.
|
protected |
Corrections for polar-nonpolar binary diffusion coefficients.
Calculate corrections to the well depth parameter and the diameter for use in computing the binary diffusion coefficient of polar-nonpolar pairs. For more information about this correction, see Dixon-Lewis, Proc. Royal Society (1968).
i | Species one - this is a bimolecular correction routine |
j | species two - this is a bimolecular correction routine |
f_eps | Multiplicative correction factor to be applied to epsilon(i,j) |
f_sigma | Multiplicative correction factor to be applied to diam(i,j) |
Definition at line 438 of file GasTransport.cpp.
References Cantera::epsilon_0, and Cantera::Pi.
|
protected |
Generate polynomial fits to collision integrals.
integrals | interpolator for the collision integrals |
Definition at line 463 of file GasTransport.cpp.
References COLL_INT_POLY_DEGREE, and Cantera::writelog().
|
protectedvirtual |
Generate polynomial fits to the viscosity and conductivity.
If CK_mode, then the fits are of the form
\[ \log(\eta(i)) = \sum_{n = 0}^3 a_n(i) (\log T)^n \]
Otherwise the fits are of the form
\[ \eta(i)/sqrt(k_BT) = \sum_{n = 0}^4 a_n(i) (\log T)^n \]
integrals | interpolator for the collision integrals |
Definition at line 514 of file GasTransport.cpp.
References Cantera::Avogadro, Cantera::Boltzmann, Cantera::GasConstant, Cantera::Pi, Cantera::poly3(), Cantera::poly4(), Cantera::polyfit(), Cantera::vec2str(), Cantera::writelog(), and Cantera::writelogf().
|
protectedvirtual |
Generate polynomial fits to the binary diffusion coefficients.
If CK_mode, then the fits are of the form
\[ \log(D(i,j)) = \sum_{n = 0}^3 a_n(i,j) (\log T)^n \]
Otherwise the fits are of the form
\[ D(i,j)/sqrt(k_BT)) = \sum_{n = 0}^4 a_n(i,j) (\log T)^n \]
integrals | interpolator for the collision integrals |
Reimplemented in IonGasTransport.
Definition at line 693 of file GasTransport.cpp.
References Cantera::Boltzmann, Cantera::Pi, Cantera::poly3(), Cantera::poly4(), Cantera::polyfit(), Cantera::vec2str(), Cantera::writelog(), and Cantera::writelogf().
|
protected |
Second-order correction to the binary diffusion coefficients.
Calculate second-order corrections to binary diffusion coefficient pair (dkj, djk). At first order, the binary diffusion coefficients are independent of composition, and d(k,j) = d(j,k). But at second order, there is a weak dependence on composition, with the result that d(k,j) != d(j,k). This method computes the multiplier by which the first-order binary diffusion coefficient should be multiplied to produce the value correct to second order. The expressions here are taken from Marerro and Mason, J. Phys. Chem. Ref. Data, vol. 1, p. 3 (1972).
t | Temperature (K) |
integrals | interpolator for the collision integrals |
k | index of first species |
j | index of second species |
xk | Mole fraction of species k |
xj | Mole fraction of species j |
fkj | multiplier for d(k,j) |
fjk | multiplier for d(j,k) |
Definition at line 772 of file GasTransport.cpp.
References Cantera::Boltzmann.
|
protected |
Vector of species mole fractions.
These are processed so that all mole fractions are >= Tiny. Length = m_kk.
Definition at line 296 of file GasTransport.h.
Referenced by MultiTransport::getMassFluxes(), MultiTransport::getMultiDiffCoeffs(), MultiTransport::getSpeciesFluxes(), MultiTransport::getThermalDiffCoeffs(), MixTransport::thermalConductivity(), MixTransport::update_C(), and MultiTransport::update_C().
|
protected |
Internal storage for the viscosity of the mixture (kg /m /s)
Definition at line 299 of file GasTransport.h.
|
protected |
Update boolean for mixture rule for the mixture viscosity.
Definition at line 302 of file GasTransport.h.
Referenced by MixTransport::update_C().
|
protected |
Update boolean for the weighting factors for the mixture viscosity.
Definition at line 305 of file GasTransport.h.
|
protected |
Update boolean for the species viscosities.
Definition at line 308 of file GasTransport.h.
|
protected |
Update boolean for the binary diffusivities at unit pressure.
Definition at line 311 of file GasTransport.h.
Referenced by HighPressureGasTransport::getMultiDiffCoeffs(), and MixTransport::update_T().
|
protected |
Type of the polynomial fits to temperature.
CK_Mode means Chemkin mode. Currently CA_Mode is used which are different types of fits to temperature.
Definition at line 315 of file GasTransport.h.
Referenced by GasTransport::CKMode(), MixTransport::transportType(), MultiTransport::transportType(), MixTransport::updateCond_T(), and MultiTransport::updateThermal_T().
|
protected |
m_phi is a Viscosity Weighting Function. size = m_nsp * n_nsp
Definition at line 318 of file GasTransport.h.
|
protected |
work space length = m_kk
Definition at line 321 of file GasTransport.h.
Referenced by MultiTransport::getMassFluxes(), MixTransport::getMobilities(), MixTransport::getSpeciesFluxes(), and MultiTransport::getSpeciesFluxes().
|
protected |
vector of species viscosities (kg /m /s).
These are used in Wilke's rule to calculate the viscosity of the solution. length = m_kk.
Definition at line 325 of file GasTransport.h.
Referenced by GasTransport::getSpeciesViscosities(), and MultiTransport::updateThermal_T().
|
protected |
Polynomial fits to the viscosity of each species.
m_visccoeffs[k] is the vector of polynomial coefficients for species k that fits the viscosity as a function of temperature.
Definition at line 330 of file GasTransport.h.
|
protected |
Local copy of the species molecular weights.
Definition at line 333 of file GasTransport.h.
Referenced by MultiTransport::eval_L0000(), MultiTransport::eval_L0010(), MultiTransport::getMolarFluxes(), HighPressureGasTransport::getMultiDiffCoeffs(), MultiTransport::getMultiDiffCoeffs(), MultiTransport::getThermalDiffCoeffs(), MultiTransport::updateThermal_T(), and HighPressureGasTransport::viscosity().
|
protected |
Holds square roots of molecular weight ratios.
Definition at line 342 of file GasTransport.h.
|
protected |
Holds square roots of molecular weight ratios.
m_wratjk1(j,k) = sqrt(1.0 + mw[k]/mw[j]) j < k
Definition at line 348 of file GasTransport.h.
|
protected |
vector of square root of species viscosities sqrt(kg /m /s).
These are used in Wilke's rule to calculate the viscosity of the solution. length = m_kk.
Definition at line 353 of file GasTransport.h.
|
protected |
Powers of the ln temperature, up to fourth order.
Definition at line 356 of file GasTransport.h.
Referenced by MixTransport::updateCond_T().
|
protected |
Current value of the temperature at which the properties in this object are calculated (Kelvin).
Definition at line 360 of file GasTransport.h.
Referenced by MultiTransport::eval_L0000(), MultiTransport::eval_L0010(), HighPressureGasTransport::getBinaryDiffCoeffs(), MultiTransport::getMassFluxes(), MixTransport::getMobilities(), HighPressureGasTransport::getMultiDiffCoeffs(), MultiTransport::getMultiDiffCoeffs(), MultiTransport::getSpeciesFluxes(), HighPressureGasTransport::thermalConductivity(), MixTransport::update_T(), MultiTransport::update_T(), and MultiTransport::updateThermal_T().
|
protected |
Current value of Boltzmann constant times the temperature (Joules)
Definition at line 363 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
current value of Boltzmann constant times the temperature.
(Joules) to 1/2 power
Definition at line 367 of file GasTransport.h.
|
protected |
current value of temperature to 1/2 power
Definition at line 370 of file GasTransport.h.
Referenced by MixTransport::updateCond_T(), and MultiTransport::updateThermal_T().
|
protected |
Current value of the log of the temperature.
Definition at line 373 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Current value of temperature to 1/4 power.
Definition at line 376 of file GasTransport.h.
|
protected |
Current value of temperature to the 3/2 power.
Definition at line 379 of file GasTransport.h.
|
protected |
Polynomial fits to the binary diffusivity of each species.
m_diffcoeff[ic] is vector of polynomial coefficients for species i species j that fits the binary diffusion coefficient. The relationship between i j and ic is determined from the following algorithm:
int ic = 0; for (i = 0; i < m_nsp; i++) { for (j = i; j < m_nsp; j++) { ic++; } }
Definition at line 394 of file GasTransport.h.
|
protected |
Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is nsp x nsp.
Definition at line 398 of file GasTransport.h.
Referenced by MultiTransport::eval_L0000(), MultiTransport::eval_L0010(), HighPressureGasTransport::getBinaryDiffCoeffs(), MultiTransport::getMassFluxes(), HighPressureGasTransport::getMultiDiffCoeffs(), MultiTransport::getSpeciesFluxes(), and MultiTransport::updateThermal_T().
|
protected |
temperature fits of the heat conduction
Dimensions are number of species (nsp) polynomial order of the collision integral fit (degree+1).
Definition at line 405 of file GasTransport.h.
Referenced by MixTransport::updateCond_T().
|
protected |
Indices for the (i,j) interaction in collision integral fits.
m_poly[i][j] contains the index for (i,j) interactions in m_omega22_poly, m_astar_poly, m_bstar_poly, and m_cstar_poly.
Definition at line 412 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Fit for omega22 collision integral.
m_omega22_poly[m_poly[i][j]] is the vector of polynomial coefficients (length degree+1) for the collision integral fit for the species pair (i,j).
Definition at line 420 of file GasTransport.h.
|
protected |
Flag to indicate for which (i,j) interaction pairs the actual temperature is used instead of the reduced temperature.
Definition at line 424 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Fit for astar collision integral.
m_astar_poly[m_poly[i][j]] is the vector of polynomial coefficients (length degree+1) for the collision integral fit for the species pair (i,j).
Definition at line 432 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Fit for bstar collision integral.
m_bstar_poly[m_poly[i][j]] is the vector of polynomial coefficients (length degree+1) for the collision integral fit for the species pair (i,j).
Definition at line 440 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Fit for cstar collision integral.
m_bstar_poly[m_poly[i][j]] is the vector of polynomial coefficients (length degree+1) for the collision integral fit for the species pair (i,j).
Definition at line 448 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Rotational relaxation number for each species.
length is the number of species in the phase. units are dimensionless
Definition at line 454 of file GasTransport.h.
Referenced by MultiTransport::updateThermal_T().
|
protected |
Dimensionless rotational heat capacity of each species.
These values are 0, 1 and 1.5 for single-molecule, linear, and nonlinear species respectively length is the number of species in the phase. Dimensionless (Cr / R)
Definition at line 462 of file GasTransport.h.
|
protected |
Vector of booleans indicating whether a species is a polar molecule.
Length is nsp
Definition at line 468 of file GasTransport.h.
|
protected |
Polarizability of each species in the phase.
Length = nsp. Units = m^3
Definition at line 474 of file GasTransport.h.
|
protected |
Lennard-Jones well-depth of the species in the current phase.
length is the number of species in the phase. Units are Joules (Note this is not Joules/kmol) (note, no kmol -> this is a per molecule amount)
Definition at line 481 of file GasTransport.h.
Referenced by MultiTransport::init(), and MultiTransport::updateThermal_T().
|
protected |
Lennard-Jones diameter of the species in the current phase.
length is the number of species in the phase. units are in meters.
Definition at line 487 of file GasTransport.h.
|
protected |
This is the reduced mass of the interaction between species i and j.
reducedMass(i,j) = mw[i] * mw[j] / (Avogadro * (mw[i] + mw[j]));
Units are kg (note, no kmol -> this is a per molecule amount)
Length nsp * nsp. This is a symmetric matrix
Definition at line 497 of file GasTransport.h.
|
protected |
hard-sphere diameter for (i,j) collision
diam(i,j) = 0.5*(sigma[i] + sigma[j]); Units are m (note, no kmol -> this is a per molecule amount)
Length nsp * nsp. This is a symmetric matrix.
Definition at line 506 of file GasTransport.h.
|
protected |
The effective well depth for (i,j) collisions.
epsilon(i,j) = sqrt(eps[i]*eps[j]); Units are Joules (note, no kmol -> this is a per molecule amount)
Length nsp * nsp. This is a symmetric matrix.
Definition at line 515 of file GasTransport.h.
Referenced by MultiTransport::init().
|
protected |
The effective dipole moment for (i,j) collisions.
Given dipoleMoment
in Debye (a Debye is 3.335e-30 C-m):
dipole(i,i) = 1.e-21 / lightSpeed * dipoleMoment; dipole(i,j) = sqrt(dipole(i,i) * dipole(j,j)); (note, no kmol -> this is a per molecule amount)
Length nsp * nsp. This is a symmetric matrix.
Definition at line 527 of file GasTransport.h.
|
protected |
Reduced dipole moment of the interaction between two species.
This is the reduced dipole moment of the interaction between two species 0.5 * dipole(i,j)^2 / (4 * Pi * epsilon_0 * epsilon(i,j) * d^3);
Length nsp * nsp .This is a symmetric matrix
Definition at line 536 of file GasTransport.h.
|
protected |
Pitzer acentric factor.
Length is the number of species in the phase. Dimensionless.
Definition at line 542 of file GasTransport.h.
Referenced by HighPressureGasTransport::thermalConductivity().
|
protected |
Dispersion coefficient.
Definition at line 545 of file GasTransport.h.
|
protected |
Quadrupole polarizability.
Definition at line 548 of file GasTransport.h.
|
protected |
Level of verbose printing during initialization.
Definition at line 551 of file GasTransport.h.