8#ifndef CT_GAS_TRANSPORT_H
9#define CT_GAS_TRANSPORT_H
133 double* astar_coeffs,
134 double* bstar_coeffs,
135 double* cstar_coeffs)
const;
152 double* astar_coeffs,
153 double* bstar_coeffs,
154 double* cstar_coeffs,
bool actualT);
167 virtual void update_T();
168 virtual void update_C() = 0;
228 doublereal& f_sigma);
289 size_t j, doublereal xk, doublereal xj,
290 doublereal& fkj, doublereal& fjk);
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...
Headers for the Transport object, which is the virtual base class for all transport property evaluato...
A class for full (non-sparse) matrices with Fortran-compatible data storage, which adds matrix operat...
Class GasTransport implements some functions and properties that are shared by the MixTransport and M...
doublereal m_logt
Current value of the log of the temperature.
void getTransportData()
Read the transport database.
virtual void setupCollisionParameters()
Setup parameters for a new kinetic-theory-based transport manager for low-density gases.
std::vector< bool > m_polar
Vector of booleans indicating whether a species is a polar molecule.
vector_fp m_mw
Local copy of the species molecular weights.
virtual void setBinDiffusivityPolynomial(size_t i, size_t j, double *coeffs)
Modify the polynomial fits to the binary diffusivity of species pair (i, j)
vector_fp m_molefracs
Vector of species mole fractions.
vector_fp m_sqvisc
vector of square root of species viscosities sqrt(kg /m /s).
std::vector< vector_fp > m_condcoeffs
temperature fits of the heat conduction
vector_fp m_polytempvec
Powers of the ln temperature, up to fourth order.
std::vector< vector_fp > m_omega22_poly
Fit for omega22 collision integral.
virtual void fitProperties(MMCollisionInt &integrals)
Generate polynomial fits to the viscosity and conductivity.
bool m_visc_ok
Update boolean for mixture rule for the mixture viscosity.
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)
DenseMatrix m_wratkj1
Holds square roots of molecular weight ratios.
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)
virtual void getMixDiffCoeffsMass(doublereal *const d)
Returns the mixture-averaged diffusion coefficients [m^2/s].
virtual void fitDiffCoeffs(MMCollisionInt &integrals)
Generate polynomial fits to the binary diffusion coefficients.
std::vector< vector_fp > m_cstar_poly
Fit for cstar collision integral.
virtual void getViscosityPolynomial(size_t i, double *coeffs) const
Return the polynomial fits to the viscosity of species i.
virtual void updateDiff_T()
Update the binary diffusion coefficients.
doublereal m_kbt
Current value of Boltzmann constant times the temperature (Joules)
DenseMatrix m_wratjk
Holds square roots of molecular weight ratios.
bool m_bindiff_ok
Update boolean for the binary diffusivities at unit pressure.
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
Returns the matrix of binary diffusion coefficients.
DenseMatrix m_epsilon
The effective well depth for (i,j) collisions.
doublereal m_temp
Current value of the temperature at which the properties in this object are calculated (Kelvin).
vector_fp m_disp
Dispersion coefficient.
DenseMatrix m_diam
hard-sphere diameter for (i,j) collision
doublereal m_t14
Current value of temperature to 1/4 power.
void makePolarCorrections(size_t i, size_t j, doublereal &f_eps, doublereal &f_sigma)
Corrections for polar-nonpolar binary diffusion coefficients.
std::vector< vector_fp > m_bstar_poly
Fit for bstar collision integral.
int m_mode
Type of the polynomial fits to temperature.
vector_fp m_sigma
Lennard-Jones diameter of the species in the current phase.
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.
doublereal m_t32
Current value of temperature to the 3/2 power.
void fitCollisionIntegrals(MMCollisionInt &integrals)
Generate polynomial fits to collision integrals.
virtual void updateViscosity_T()
Update the temperature-dependent viscosity terms.
virtual void getMixDiffCoeffsMole(doublereal *const d)
Returns the mixture-averaged diffusion coefficients [m^2/s].
virtual void getMixDiffCoeffs(doublereal *const d)
Returns the Mixture-averaged diffusion coefficients [m^2/s].
virtual void setViscosityPolynomial(size_t i, double *coeffs)
Modify the polynomial fits to the viscosity of species i.
bool m_spvisc_ok
Update boolean for the species viscosities.
virtual void updateSpeciesViscosities()
Update the pure-species viscosities.
std::vector< vector_int > m_poly
Indices for the (i,j) interaction in collision integral fits.
DenseMatrix m_bdiff
Matrix of binary diffusion coefficients at the reference pressure and the current temperature Size is...
virtual void getConductivityPolynomial(size_t i, double *coeffs) const
Return the temperature fits of the heat conductivity of species i.
vector_fp m_visc
vector of species viscosities (kg /m /s).
DenseMatrix m_dipole
The effective dipole moment for (i,j) collisions.
vector_fp m_zrot
Rotational relaxation number for each species.
virtual void init(ThermoPhase *thermo, int mode=0, int log_level=0)
Initialize a transport manager.
std::vector< vector_fp > m_astar_poly
Fit for astar collision integral.
DenseMatrix m_reducedMass
This is the reduced mass of the interaction between species i and j.
int m_log_level
Level of verbose printing during initialization.
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)
std::vector< vector_fp > m_diffcoeffs
Polynomial fits to the binary diffusivity of each species.
vector_fp m_eps
Lennard-Jones well-depth of the species in the current phase.
virtual void setConductivityPolynomial(size_t i, double *coeffs)
Modify the temperature fits of the heat conductivity of species i.
bool CKMode() const
Boolean indicating the form of the transport properties polynomial fits.
virtual void getSpeciesViscosities(doublereal *const visc)
Get the pure-species viscosities.
vector_fp m_alpha
Polarizability of each species in the phase.
vector_fp m_crot
Dimensionless rotational heat capacity of each species.
std::vector< vector_fp > m_visccoeffs
Polynomial fits to the viscosity of each species.
bool m_viscwt_ok
Update boolean for the weighting factors for the mixture viscosity.
DenseMatrix m_delta
Reduced dipole moment of the interaction between two species.
vector_fp m_w_ac
Pitzer acentric factor.
DenseMatrix m_phi
m_phi is a Viscosity Weighting Function. size = m_nsp * n_nsp
void setupCollisionIntegral()
Setup range for polynomial fits to collision integrals of Monchick & Mason.
virtual doublereal viscosity()
Viscosity of the mixture (kg /m /s)
doublereal m_viscmix
Internal storage for the viscosity of the mixture (kg /m /s)
vector_fp m_quad_polar
Quadrupole polarizability.
vector_fp m_spwork
work space length = m_kk
doublereal m_sqrt_kbt
current value of Boltzmann constant times the temperature.
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 redu...
doublereal m_sqrt_t
current value of temperature to 1/2 power
Calculation of Collision integrals.
Base class for a phase with thermodynamic properties.
Base class for transport property managers.
Namespace for the Cantera kernel.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.