Cantera  4.0.0a1
Loading...
Searching...
No Matches
GasTransport Class Referenceabstract

Class GasTransport implements some functions and properties that are shared by the MixTransport and MultiTransport classes. More...

#include <GasTransport.h>

Inheritance diagram for GasTransport:
[legend]

Detailed Description

Class GasTransport implements some functions and properties that are shared by the MixTransport and MultiTransport classes.

For details, see Kee, et al. [20] and [21].

Definition at line 25 of file GasTransport.h.

Public Member Functions

double viscosity () override
 Get the viscosity [Pa·s] of the mixture.
 
void getSpeciesViscosities (span< double > visc) override
 Get the pure-species viscosities [Pa·s].
 
void getBinaryDiffCoeffs (const size_t ld, span< double > d) override
 Returns the matrix of binary diffusion coefficients [m²/s].
 
void getMixDiffCoeffs (span< double > d) override
 Returns the Mixture-averaged diffusion coefficients [m²/s].
 
void getMixDiffCoeffsMole (span< double > d) override
 Returns the mixture-averaged diffusion coefficients [m²/s].
 
void getMixDiffCoeffsMass (span< double > d) override
 Returns the mixture-averaged diffusion coefficients [m²/s].
 
void getViscosityPolynomial (size_t i, span< double > coeffs) const override
 Return the polynomial fits to the viscosity of species i.
 
void getConductivityPolynomial (size_t i, span< double > coeffs) const override
 Return the temperature fits of the heat conductivity of species i.
 
void getBinDiffusivityPolynomial (size_t i, size_t j, span< double > coeffs) const override
 Return the polynomial fits to the binary diffusivity of species pair (i, j)
 
void getCollisionIntegralPolynomial (size_t i, size_t j, span< double > astar_coeffs, span< double > bstar_coeffs, span< double > cstar_coeffs) const override
 Return the polynomial fits to the collision integral of species pair (i, j)
 
void setViscosityPolynomial (size_t i, span< double > coeffs) override
 Modify the polynomial fits to the viscosity of species i
 
void setConductivityPolynomial (size_t i, span< double > coeffs) override
 Modify the temperature fits of the heat conductivity of species i
 
void setBinDiffusivityPolynomial (size_t i, size_t j, span< double > coeffs) override
 Modify the polynomial fits to the binary diffusivity of species pair (i, j)
 
void setCollisionIntegralPolynomial (size_t i, size_t j, span< double > astar_coeffs, span< double > bstar_coeffs, span< double > cstar_coeffs, bool actualT) override
 Modify the polynomial fits to the collision integral of species pair (i, j)
 
void init (shared_ptr< ThermoPhase > thermo, int mode=0) override
 Initialize a transport manager.
 
bool CKMode () const override
 Boolean indicating the form of the transport properties polynomial fits.
 
void invalidateCache () override
 Invalidate any cached values which are normally updated only when a change in state is detected.
 
- Public Member Functions inherited from Transport
 Transport ()=default
 Constructor.
 
 Transport (const Transport &)=delete
 
Transportoperator= (const Transport &)=delete
 
shared_ptr< Transportclone (shared_ptr< ThermoPhase > thermo) const
 Create a new Transport object using the same transport model and species transport properties as this one.
 
virtual string transportModel () const
 Identifies the model represented by this Transport object.
 
ThermoPhasethermo ()
 Phase object.
 
size_t checkSpeciesIndex (size_t k) const
 Check that the specified species index is in range.
 
virtual void getSpeciesFluxes (size_t ndim, span< const double > grad_T, size_t ldx, span< const double > grad_X, size_t ldf, span< double > fluxes)
 Get the species diffusive mass fluxes [kg/m²/s] with respect to the specified solution averaged velocity, given the mole fraction and temperature gradients.
 
virtual void getMolarFluxes (span< const double > state1, span< const double > state2, const double delta, span< double > cfluxes)
 Get the molar fluxes [kmol/m²/s], given the thermodynamic state at two nearby points.
 
virtual void getMassFluxes (span< const double > state1, span< const double > state2, double delta, span< double > mfluxes)
 Get the mass fluxes [kg/m²/s], given the thermodynamic state at two nearby points.
 
virtual void getThermalDiffCoeffs (span< double > dt)
 Return a vector of thermal diffusion coefficients [kg/m/s].
 
virtual void getBinaryDiffCoeffs (const size_t ld, span< double > d)
 Returns the matrix of binary diffusion coefficients [m²/s].
 
virtual void getMultiDiffCoeffs (const size_t ld, span< double > d)
 Return the multicomponent diffusion coefficients [m²/s].
 
virtual void getMixDiffCoeffs (span< double > d)
 Return a vector of mixture averaged diffusion coefficients [m²/s].
 
virtual void getMixDiffCoeffsMole (span< double > d)
 Returns a vector of mixture averaged diffusion coefficients [m²/s].
 
virtual void getMixDiffCoeffsMass (span< double > d)
 Returns a vector of mixture averaged diffusion coefficients [m²/s].
 
virtual void getViscosityPolynomial (size_t i, span< double > coeffs) const
 Return the polynomial fits to the viscosity of species i.
 
virtual void getConductivityPolynomial (size_t i, span< double > coeffs) const
 Return the temperature fits of the heat conductivity of species i.
 
virtual void getBinDiffusivityPolynomial (size_t i, size_t j, span< double > coeffs) const
 Return the polynomial fits to the binary diffusivity of species pair (i, j)
 
virtual void getCollisionIntegralPolynomial (size_t i, size_t j, span< double > astar_coeffs, span< double > bstar_coeffs, span< double > cstar_coeffs) const
 Return the polynomial fits to the collision integral of species pair (i, j)
 
virtual void setViscosityPolynomial (size_t i, span< double > coeffs)
 Modify the polynomial fits to the viscosity of species i
 
virtual void setConductivityPolynomial (size_t i, span< double > coeffs)
 Modify the temperature fits of the heat conductivity of species i
 
virtual void setBinDiffusivityPolynomial (size_t i, size_t j, span< double > coeffs)
 Modify the polynomial fits to the binary diffusivity of species pair (i, j)
 
virtual void setCollisionIntegralPolynomial (size_t i, size_t j, span< double > astar_coeffs, span< double > bstar_coeffs, span< double > cstar_coeffs, bool flag)
 Modify the polynomial fits to the collision integral of species pair (i, j)
 
AnyMap parameters () const
 Return the parameters for a phase definition which are needed to reconstruct an identical object using the newTransport() function.
 
AnyMap fittingErrors () const
 Get error metrics about any functional fits calculated for pure species transport properties.
 
virtual void invalidateCache ()
 Invalidate any cached values which are normally updated only when a change in state is detected.
 
virtual double bulkViscosity ()
 The bulk viscosity [Pa·s].
 
virtual double thermalConductivity ()
 Get the mixture thermal conductivity [W/m/K].
 
virtual double electricalConductivity ()
 Get the electrical conductivity [siemens/m].
 
virtual void getMobilities (span< double > mobil_e)
 Get the electrical mobilities [m²/V/s].
 

Protected Member Functions

virtual void update_T ()
 
virtual void update_C ()=0
 
virtual void updateViscosity_T ()
 Update the temperature-dependent viscosity terms.
 
virtual void updateSpeciesViscosities ()
 Update the pure-species viscosities.
 
virtual void updateDiff_T ()
 Update the binary diffusion coefficients.
 
Initialization
virtual void setupCollisionParameters ()
 Setup parameters for a new kinetic-theory-based transport manager for low-density gases.
 
void setupCollisionIntegral ()
 Setup range for polynomial fits to collision integrals of Monchick & Mason [31].
 
virtual void getTransportData ()
 Read the transport database.
 
void makePolarCorrections (size_t i, size_t j, double &f_eps, double &f_sigma)
 Corrections for polar-nonpolar binary diffusion coefficients.
 
void fitCollisionIntegrals (MMCollisionInt &integrals)
 Generate polynomial fits to collision integrals.
 
virtual void fitProperties (MMCollisionInt &integrals)
 Generate polynomial fits to the viscosity \( \eta \) and conductivity \( \lambda \).
 
virtual void fitDiffCoeffs (MMCollisionInt &integrals)
 Generate polynomial fits to the binary diffusion coefficients.
 
void getBinDiffCorrection (double t, MMCollisionInt &integrals, size_t k, size_t j, double xk, double xj, double &fkj, double &fjk)
 Second-order correction to the binary diffusion coefficients.
 

Protected Attributes

vector< double > m_molefracs
 Vector of species mole fractions.
 
double m_viscmix = 0.0
 Internal storage for the viscosity of the mixture [Pa·s].
 
bool m_visc_ok = false
 Update boolean for mixture rule for the mixture viscosity.
 
bool m_viscwt_ok = false
 Update boolean for the weighting factors for the mixture viscosity.
 
bool m_spvisc_ok = false
 Update boolean for the species viscosities.
 
bool m_bindiff_ok = false
 Update boolean for the binary diffusivities at unit pressure.
 
int m_mode = 0
 Type of the polynomial fits to temperature.
 
DenseMatrix m_phi
 Viscosity weighting function. size = m_nsp * m_nsp.
 
vector< double > m_spwork
 work space length = m_nsp
 
vector< double > m_visc
 vector of species viscosities [Pa·s].
 
vector< vector< double > > m_visccoeffs
 Polynomial fits to the viscosity of each species.
 
vector< double > m_mw
 Local copy of the species molecular weights.
 
DenseMatrix m_wratjk
 Holds square roots of molecular weight ratios.
 
DenseMatrix m_wratkj1
 Holds square roots of molecular weight ratios.
 
vector< double > m_sqvisc
 vector of square root of species viscosities.
 
vector< double > m_polytempvec
 Powers of the ln temperature, up to fourth order.
 
double m_temp = -1.0
 Current value of the temperature [K] at which the properties in this object are calculated.
 
double m_kbt = 0.0
 Current value of Boltzmann constant times the temperature [J].
 
double m_sqrt_t = 0.0
 current value of temperature to 1/2 power
 
double m_logt = 0.0
 Current value of the log of the temperature.
 
double m_t14 = 0.0
 Current value of temperature to 1/4 power.
 
vector< vector< double > > m_diffcoeffs
 Polynomial fits to the binary diffusivity of each species.
 
DenseMatrix m_bdiff
 Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is m_nsp x m_nsp.
 
vector< vector< double > > m_condcoeffs
 temperature fits of the heat conduction
 
vector< vector< int > > m_poly
 Indices for the (i,j) interaction in collision integral fits.
 
vector< vector< double > > m_omega22_poly
 Fit for omega22 collision integral.
 
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.
 
vector< vector< double > > m_astar_poly
 Fit for astar collision integral.
 
vector< vector< double > > m_bstar_poly
 Fit for bstar collision integral.
 
vector< vector< double > > m_cstar_poly
 Fit for cstar collision integral.
 
vector< double > m_zrot
 Rotational relaxation number for each species.
 
vector< double > m_crot
 Dimensionless rotational heat capacity of each species.
 
vector< bool > m_polar
 Vector of booleans indicating whether a species is a polar molecule.
 
vector< double > m_alpha
 Polarizability [m³] of each species in the phase.
 
vector< double > m_eps
 Lennard-Jones well-depth [J] of the species in the current phase.
 
vector< double > m_sigma
 Lennard-Jones diameter [m] of the species in the current phase.
 
DenseMatrix m_reducedMass
 This is the reduced mass [kg] of the interaction between species i and j.
 
DenseMatrix m_diam
 hard-sphere diameter [m] for (i,j) collision
 
DenseMatrix m_epsilon
 The effective well depth [J] for (i,j) collisions.
 
DenseMatrix m_dipole
 The effective dipole moment [Coulomb·m] for (i,j) collisions.
 
DenseMatrix m_delta
 Reduced dipole moment of the interaction between two species.
 
vector< double > m_w_ac
 Pitzer acentric factor [dimensionless].
 
vector< double > m_disp
 Dispersion coefficient normalized by the square of the elementary charge [m⁵].
 
vector< double > m_quad_polar
 Quadrupole polarizability.
 
- Protected Attributes inherited from Transport
shared_ptr< ThermoPhasem_thermo
 pointer to the object representing the phase
 
size_t m_nsp = 0
 Number of species in the phase.
 
AnyMap m_fittingErrors
 Maximum errors associated with fitting pure species transport properties.
 

Constructor & Destructor Documentation

◆ GasTransport()

GasTransport ( )
protected

Definition at line 23 of file GasTransport.cpp.

Member Function Documentation

◆ viscosity()

double viscosity ( )
overridevirtual

Get the viscosity [Pa·s] of the mixture.

The viscosity is computed using the Wilke mixture rule, as given in Poling et al. [38], Eqs. (9-5.13 and 9-5.14):

\[ \eta = \sum_k \frac{\eta_k X_k}{\sum_j \Phi_{k,j} X_j}. \]

Here, \( \eta_k \) is the viscosity of pure species k and the weighting function \( \Phi_{k,j} \) is:

\[ \Phi_{k,j} = \frac{ \left[ 1 + \left( \eta_k / \eta_j \right)^{1/2} \left( M_j / M_k \right)^{1/4} \right]^2 } {\left[ 8 \left( 1 + M_k / M_j \right) \right]^{1/2}} \]

See also
updateViscosity_T()

Reimplemented from Transport.

Reimplemented in HighPressureGasTransport, and IonGasTransport.

Definition at line 60 of file GasTransport.cpp.

◆ getSpeciesViscosities()

void getSpeciesViscosities ( span< double >  visc)
inlineoverridevirtual

Get the pure-species viscosities [Pa·s].

Reimplemented from Transport.

Definition at line 48 of file GasTransport.h.

◆ getBinaryDiffCoeffs()

void getBinaryDiffCoeffs ( const size_t  ld,
span< double >  d 
)
overridevirtual

Returns the matrix of binary diffusion coefficients [m²/s].

Parameters
[in]ldLeading dimension of the flattened array d used to store the diffusion coefficient matrix; usually equal to the number of species.
[out]dDiffusion coefficient matrix stored in column-major (Fortran) order, such that \( \mathcal{D}_{ij} = \tt{d[ld*j + i]} \); must be at least ld times the number of species in length.
See also
GasTransport::fitDiffCoeffs()

Reimplemented from Transport.

Reimplemented in HighPressureGasTransportBase.

Definition at line 149 of file GasTransport.cpp.

◆ getMixDiffCoeffs()

void getMixDiffCoeffs ( span< double >  d)
overridevirtual

Returns the Mixture-averaged diffusion coefficients [m²/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}{\mathcal{D}_{kj}} \right) }^{-1} \]

Parameters
[out]dVector of mixture diffusion coefficients, \( D_{km}' \) , for each species; length is the number of species.

Reimplemented from Transport.

Reimplemented in HighPressureGasTransportBase, IonGasTransport, and UnityLewisTransport.

Definition at line 168 of file GasTransport.cpp.

◆ getMixDiffCoeffsMole()

void getMixDiffCoeffsMole ( span< double >  d)
overridevirtual

Returns the mixture-averaged diffusion coefficients [m²/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}} \]

Parameters
[out]dvector of mixture-averaged diffusion coefficients for each species, length m_nsp.

Reimplemented from Transport.

Reimplemented in HighPressureGasTransportBase, and UnityLewisTransport.

Definition at line 200 of file GasTransport.cpp.

◆ getMixDiffCoeffsMass()

void getMixDiffCoeffsMass ( span< double >  d)
overridevirtual

Returns the mixture-averaged diffusion coefficients [m²/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}} \]

Parameters
[out]dvector of mixture-averaged diffusion coefficients for each species, length m_nsp.

Reimplemented from Transport.

Reimplemented in HighPressureGasTransportBase, and UnityLewisTransport.

Definition at line 231 of file GasTransport.cpp.

◆ getViscosityPolynomial()

void getViscosityPolynomial ( size_t  i,
span< double >  coeffs 
) const
overridevirtual

Return the polynomial fits to the viscosity of species i.

See also
fitProperties()

Reimplemented from Transport.

Definition at line 758 of file GasTransport.cpp.

◆ getConductivityPolynomial()

void getConductivityPolynomial ( size_t  i,
span< double >  coeffs 
) const
overridevirtual

Return the temperature fits of the heat conductivity of species i.

See also
fitProperties()

Reimplemented from Transport.

Definition at line 768 of file GasTransport.cpp.

◆ getBinDiffusivityPolynomial()

void getBinDiffusivityPolynomial ( size_t  i,
size_t  j,
span< double >  coeffs 
) const
overridevirtual

Return the polynomial fits to the binary diffusivity of species pair (i, j)

See also
fitDiffCoeffs()

Reimplemented from Transport.

Definition at line 778 of file GasTransport.cpp.

◆ getCollisionIntegralPolynomial()

void getCollisionIntegralPolynomial ( size_t  i,
size_t  j,
span< double >  astar_coeffs,
span< double >  bstar_coeffs,
span< double >  cstar_coeffs 
) const
overridevirtual

Return the polynomial fits to the collision integral of species pair (i, j)

See also
fitCollisionIntegrals()

Reimplemented from Transport.

Definition at line 797 of file GasTransport.cpp.

◆ setViscosityPolynomial()

void setViscosityPolynomial ( size_t  i,
span< double >  coeffs 
)
overridevirtual

Modify the polynomial fits to the viscosity of species i

See also
fitProperties()

Reimplemented from Transport.

Definition at line 818 of file GasTransport.cpp.

◆ setConductivityPolynomial()

void setConductivityPolynomial ( size_t  i,
span< double >  coeffs 
)
overridevirtual

Modify the temperature fits of the heat conductivity of species i

See also
fitProperties()

Reimplemented from Transport.

Definition at line 829 of file GasTransport.cpp.

◆ setBinDiffusivityPolynomial()

void setBinDiffusivityPolynomial ( size_t  i,
size_t  j,
span< double >  coeffs 
)
overridevirtual

Modify the polynomial fits to the binary diffusivity of species pair (i, j)

See also
fitDiffCoeffs()

Reimplemented from Transport.

Definition at line 840 of file GasTransport.cpp.

◆ setCollisionIntegralPolynomial()

void setCollisionIntegralPolynomial ( size_t  i,
size_t  j,
span< double >  astar_coeffs,
span< double >  bstar_coeffs,
span< double >  cstar_coeffs,
bool  actualT 
)
overridevirtual

Modify the polynomial fits to the collision integral of species pair (i, j)

See also
fitCollisionIntegrals()

Reimplemented from Transport.

Definition at line 860 of file GasTransport.cpp.

◆ init()

void init ( shared_ptr< ThermoPhase thermo,
int  mode = 0 
)
overridevirtual

Initialize a transport manager.

This routine sets up a transport manager. It calculates the collision integrals and populates species-dependent data structures.

Parameters
thermoThermoPhase object determining conditions for which to compute transport properties.
modeChemkin compatible mode or not. This alters the specification of the collision integrals. defaults to no.
Since
Changed to use shared_ptr<ThermoPhase> in Cantera 3.2.

Reimplemented from Transport.

Reimplemented in IonGasTransport, HighPressureGasTransport, MixTransport, and MultiTransport.

Definition at line 265 of file GasTransport.cpp.

◆ CKMode()

bool CKMode ( ) const
inlineoverridevirtual

Boolean indicating the form of the transport properties polynomial fits.

Returns true if the Chemkin form is used.

Reimplemented from Transport.

Definition at line 143 of file GasTransport.h.

◆ invalidateCache()

void invalidateCache ( )
overridevirtual

Invalidate any cached values which are normally updated only when a change in state is detected.

Since
New in Cantera 3.1.

Reimplemented from Transport.

Reimplemented in MultiTransport.

Definition at line 358 of file GasTransport.cpp.

◆ update_T()

void update_T ( )
protectedvirtual

Reimplemented in MixTransport, and MultiTransport.

Definition at line 28 of file GasTransport.cpp.

◆ update_C()

virtual void update_C ( )
protectedpure virtual

Implemented in MixTransport, and MultiTransport.

◆ updateViscosity_T()

void updateViscosity_T ( )
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.

See also
viscosity()

Definition at line 84 of file GasTransport.cpp.

◆ updateSpeciesViscosities()

void updateSpeciesViscosities ( )
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 105 of file GasTransport.cpp.

◆ updateDiff_T()

void updateDiff_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 123 of file GasTransport.cpp.

◆ setupCollisionParameters()

void setupCollisionParameters ( )
protectedvirtual

Setup parameters for a new kinetic-theory-based transport manager for low-density gases.

Definition at line 297 of file GasTransport.cpp.

◆ setupCollisionIntegral()

void setupCollisionIntegral ( )
protected

Setup range for polynomial fits to collision integrals of Monchick & Mason [31].

Definition at line 368 of file GasTransport.cpp.

◆ getTransportData()

void getTransportData ( )
protectedvirtual

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.

Reimplemented in HighPressureGasTransportBase.

Definition at line 394 of file GasTransport.cpp.

◆ makePolarCorrections()

void makePolarCorrections ( size_t  i,
size_t  j,
double &  f_eps,
double &  f_sigma 
)
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 [7].

Parameters
iSpecies one - this is a bimolecular correction routine
jspecies two - this is a bimolecular correction routine
f_epsMultiplicative correction factor to be applied to epsilon(i,j)
f_sigmaMultiplicative correction factor to be applied to diam(i,j)

Definition at line 431 of file GasTransport.cpp.

◆ fitCollisionIntegrals()

void fitCollisionIntegrals ( MMCollisionInt integrals)
protected

Generate polynomial fits to collision integrals.

Parameters
integralsinterpolator for the collision integrals

Definition at line 456 of file GasTransport.cpp.

◆ fitProperties()

void fitProperties ( MMCollisionInt integrals)
protectedvirtual

Generate polynomial fits to the viscosity \( \eta \) and conductivity \( \lambda \).

If CKMode(), then the fits are of the form

\[ \ln \eta(i) = \sum_{n=0}^3 a_n(i) \, (\ln T)^n \]

and

\[ \ln \lambda(i) = \sum_{n=0}^3 b_n(i) \, (\ln T)^n \]

Otherwise the fits are of the form

\[ \left(\eta(i)\right)^{1/2} = T^{1/4} \sum_{n=0}^4 a_n(i) \, (\ln T)^n \]

and

\[ \lambda(i) = T^{1/2} \sum_{n=0}^4 b_n(i) \, (\ln T)^n \]

Parameters
integralsinterpolator for the collision integrals

Definition at line 499 of file GasTransport.cpp.

◆ fitDiffCoeffs()

void fitDiffCoeffs ( MMCollisionInt integrals)
protectedvirtual

Generate polynomial fits to the binary diffusion coefficients.

If CKMode(), then the fits are of the form

\[ \ln \mathcal{D}(i,j) = \frac{1}{p} \sum_{n=0}^3 c_n(i,j) \, (\ln T)^n \]

Otherwise the fits are of the form

\[ \mathcal{D}(i,j) = \frac{T^{3/2}}{p} \sum_{n=0}^4 c_n(i,j) \, (\ln T)^n \]

Parameters
integralsinterpolator for the collision integrals

Reimplemented in IonGasTransport.

Definition at line 635 of file GasTransport.cpp.

◆ getBinDiffCorrection()

void getBinDiffCorrection ( double  t,
MMCollisionInt integrals,
size_t  k,
size_t  j,
double  xk,
double  xj,
double &  fkj,
double &  fjk 
)
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 [28].

Parameters
tTemperature (K)
integralsinterpolator for the collision integrals
kindex of first species
jindex of second species
xkMole fraction of species k
xjMole fraction of species j
fkjmultiplier for d(k,j)
fjkmultiplier for d(j,k)
Note
This method is not used currently.

Definition at line 706 of file GasTransport.cpp.

Member Data Documentation

◆ m_molefracs

vector<double> m_molefracs
protected

Vector of species mole fractions.

These are processed so that all mole fractions are >= Tiny. Length = m_nsp.

Definition at line 283 of file GasTransport.h.

◆ m_viscmix

double m_viscmix = 0.0
protected

Internal storage for the viscosity of the mixture [Pa·s].

Definition at line 286 of file GasTransport.h.

◆ m_visc_ok

bool m_visc_ok = false
protected

Update boolean for mixture rule for the mixture viscosity.

Definition at line 289 of file GasTransport.h.

◆ m_viscwt_ok

bool m_viscwt_ok = false
protected

Update boolean for the weighting factors for the mixture viscosity.

Definition at line 292 of file GasTransport.h.

◆ m_spvisc_ok

bool m_spvisc_ok = false
protected

Update boolean for the species viscosities.

Definition at line 295 of file GasTransport.h.

◆ m_bindiff_ok

bool m_bindiff_ok = false
protected

Update boolean for the binary diffusivities at unit pressure.

Definition at line 298 of file GasTransport.h.

◆ m_mode

int m_mode = 0
protected

Type of the polynomial fits to temperature.

CK_Mode means Chemkin mode. Any other value means to use Cantera's preferred fitting functions.

Definition at line 302 of file GasTransport.h.

◆ m_phi

DenseMatrix m_phi
protected

Viscosity weighting function. size = m_nsp * m_nsp.

Definition at line 305 of file GasTransport.h.

◆ m_spwork

vector<double> m_spwork
protected

work space length = m_nsp

Definition at line 308 of file GasTransport.h.

◆ m_visc

vector<double> m_visc
protected

vector of species viscosities [Pa·s].

These are used in Wilke's rule to calculate the viscosity of the solution. length = m_nsp.

Definition at line 312 of file GasTransport.h.

◆ m_visccoeffs

vector<vector<double> > m_visccoeffs
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 317 of file GasTransport.h.

◆ m_mw

vector<double> m_mw
protected

Local copy of the species molecular weights.

Definition at line 320 of file GasTransport.h.

◆ m_wratjk

DenseMatrix m_wratjk
protected

Holds square roots of molecular weight ratios.

m_wratjk(j,k) = sqrt(mw[j]/mw[k]) j < k
m_wratjk(k,j) = sqrt(sqrt(mw[j]/mw[k])) j < k
DenseMatrix m_wratjk
Holds square roots of molecular weight ratios.

Definition at line 329 of file GasTransport.h.

◆ m_wratkj1

DenseMatrix m_wratkj1
protected

Holds square roots of molecular weight ratios.

m_wratjk1(j,k) = sqrt(1.0 + mw[k]/mw[j]) j < k

Definition at line 335 of file GasTransport.h.

◆ m_sqvisc

vector<double> m_sqvisc
protected

vector of square root of species viscosities.

These are used in Wilke's rule to calculate the viscosity of the solution. length = m_nsp.

Definition at line 339 of file GasTransport.h.

◆ m_polytempvec

vector<double> m_polytempvec
protected

Powers of the ln temperature, up to fourth order.

Definition at line 342 of file GasTransport.h.

◆ m_temp

double m_temp = -1.0
protected

Current value of the temperature [K] at which the properties in this object are calculated.

Definition at line 346 of file GasTransport.h.

◆ m_kbt

double m_kbt = 0.0
protected

Current value of Boltzmann constant times the temperature [J].

Definition at line 349 of file GasTransport.h.

◆ m_sqrt_t

double m_sqrt_t = 0.0
protected

current value of temperature to 1/2 power

Definition at line 352 of file GasTransport.h.

◆ m_logt

double m_logt = 0.0
protected

Current value of the log of the temperature.

Definition at line 355 of file GasTransport.h.

◆ m_t14

double m_t14 = 0.0
protected

Current value of temperature to 1/4 power.

Definition at line 358 of file GasTransport.h.

◆ m_diffcoeffs

vector<vector<double> > m_diffcoeffs
protected

Polynomial fits to the binary diffusivity of each species.

m_diffcoeff[ic] is the vector of polynomial coefficients that fits the binary diffusion coefficient for species i and j. 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++;
}
}
size_t m_nsp
Number of species in the phase.
Definition Transport.h:435

Definition at line 374 of file GasTransport.h.

◆ m_bdiff

DenseMatrix m_bdiff
protected

Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is m_nsp x m_nsp.

Definition at line 378 of file GasTransport.h.

◆ m_condcoeffs

vector<vector<double> > m_condcoeffs
protected

temperature fits of the heat conduction

Dimensions are number of species (m_nsp) and polynomial order of the collision integral fit (degree+1).

Definition at line 385 of file GasTransport.h.

◆ m_poly

vector<vector<int> > m_poly
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 392 of file GasTransport.h.

◆ m_omega22_poly

vector<vector<double> > m_omega22_poly
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 399 of file GasTransport.h.

◆ m_star_poly_uses_actualT

vector<vector<int> > m_star_poly_uses_actualT
protected

Flag to indicate for which (i,j) interaction pairs the actual temperature is used instead of the reduced temperature.

Definition at line 403 of file GasTransport.h.

◆ m_astar_poly

vector<vector<double> > m_astar_poly
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 410 of file GasTransport.h.

◆ m_bstar_poly

vector<vector<double> > m_bstar_poly
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 417 of file GasTransport.h.

◆ m_cstar_poly

vector<vector<double> > m_cstar_poly
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 424 of file GasTransport.h.

◆ m_zrot

vector<double> m_zrot
protected

Rotational relaxation number for each species.

length is the number of species in the phase. units are dimensionless

Definition at line 430 of file GasTransport.h.

◆ m_crot

vector<double> m_crot
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 438 of file GasTransport.h.

◆ m_polar

vector<bool> m_polar
protected

Vector of booleans indicating whether a species is a polar molecule.

Length is m_nsp.

Definition at line 444 of file GasTransport.h.

◆ m_alpha

vector<double> m_alpha
protected

Polarizability [m³] of each species in the phase.

Definition at line 447 of file GasTransport.h.

◆ m_eps

vector<double> m_eps
protected

Lennard-Jones well-depth [J] of the species in the current phase.

length is the number of species in the phase. Note this is not J/kmol; this is a per molecule amount.

Definition at line 454 of file GasTransport.h.

◆ m_sigma

vector<double> m_sigma
protected

Lennard-Jones diameter [m] of the species in the current phase.

Definition at line 457 of file GasTransport.h.

◆ m_reducedMass

DenseMatrix m_reducedMass
protected

This is the reduced mass [kg] of the interaction between species i and j.

\[ m_{ij} = \frac{M_i M_j}{N_A (M_i + M_j)} \]

Length m_nsp * m_nsp. This is a symmetric matrix

Definition at line 466 of file GasTransport.h.

◆ m_diam

DenseMatrix m_diam
protected

hard-sphere diameter [m] for (i,j) collision

\[ \sigma_{ij} = \frac{\sigma_i + \sigma_j}{2} \]

Length m_nsp * m_nsp. This is a symmetric matrix.

Definition at line 475 of file GasTransport.h.

◆ m_epsilon

DenseMatrix m_epsilon
protected

The effective well depth [J] for (i,j) collisions.

\[ \epsilon_{ij} = \sqrt{\epsilon_i \epsilon_j} \]

Length m_nsp * m_nsp. This is a symmetric matrix.

Definition at line 484 of file GasTransport.h.

◆ m_dipole

DenseMatrix m_dipole
protected

The effective dipole moment [Coulomb·m] for (i,j) collisions.

\[ \mu_{ij} = \sqrt{\mu_i \mu_j} \]

Dipole moments are conventionally given in Debye. The conversion factor to Coulomb·m is \( 10^{-21} / c \approx 3.335 \times 10^{-30} \).

Length m_nsp * m_nsp. This is a symmetric matrix.

Definition at line 497 of file GasTransport.h.

◆ m_delta

DenseMatrix m_delta
protected

Reduced dipole moment of the interaction between two species.

\[ \tilde{\delta}^*_{ij} = \frac{ \mu_{ij}^2 }{ 8 \pi \varepsilon_0 \epsilon_{ij} \sigma_{ij}^3 } \]

Length m_nsp * m_nsp. This is a symmetric matrix

Definition at line 507 of file GasTransport.h.

◆ m_w_ac

vector<double> m_w_ac
protected

Pitzer acentric factor [dimensionless].

Length is the number of species in the phase.

Definition at line 513 of file GasTransport.h.

◆ m_disp

vector<double> m_disp
protected

Dispersion coefficient normalized by the square of the elementary charge [m⁵].

Definition at line 516 of file GasTransport.h.

◆ m_quad_polar

vector<double> m_quad_polar
protected

Quadrupole polarizability.

Definition at line 519 of file GasTransport.h.


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