From 2492db97507bd1835cc8f75c10ae44a67cb577c2 Mon Sep 17 00:00:00 2001 From: John Hewson Date: Fri, 23 Oct 2009 18:30:21 +0000 Subject: [PATCH] TransportParams.h, LiquidTransportParams.h, LiquidTransportData.h Moved temperature fits polynomials for viscosity, conductivity, diffusivity from TransportParams to GasTransportParams. Defined mixing model enumeration for liquid species-species interactions in LiquidTransportParams enum LiquidTranMixingModel { LTR_MIXMODEL_NOTSET=-1, LTR_MIXMODEL_SOLVENT, LTR_MIXMODEL_MOLEFRACS, LTR_MIXMODEL_MASSFRACS, LTR_MIXMODEL_LOG_MOLEFRACS, LTR_PAIRWISE_INTERACTIONS }; Removed species Arrhenius parameters from LiquidTransportParams. These are now held in LiquidTransportData obejcts which are stored as a vector in LiquidTransportParams In LiquidTransportData, the hydrodynamic radius now holds coefficients for temperature dependent models instead of just a constant value. Also changed enumeration for polynomial from LTR_MODEL_COEFF to LTR_MODEL_POLY. --- Cantera/src/transport/LiquidTransportData.h | 26 +++++--- Cantera/src/transport/LiquidTransportParams.h | 62 ++++++------------- Cantera/src/transport/TransportParams.h | 17 +++-- 3 files changed, 47 insertions(+), 58 deletions(-) diff --git a/Cantera/src/transport/LiquidTransportData.h b/Cantera/src/transport/LiquidTransportData.h index a664bedc1..ee1faa948 100644 --- a/Cantera/src/transport/LiquidTransportData.h +++ b/Cantera/src/transport/LiquidTransportData.h @@ -33,12 +33,21 @@ namespace Cantera { enum LiquidTR_Model { + //! Temperature dependence type for pure (liquid) species properties + /*! + * Types of temperature dependencies: + * 0 - Independent of temperature (only one implemented so far) + * 1 - extended arrhenius form + * 2 - polynomial in temperature form + */ LTR_MODEL_NOTSET=-1, LTR_MODEL_CONSTANT, LTR_MODEL_ARRHENIUS, - LTR_MODEL_COEFF + LTR_MODEL_POLY }; + //! Class LiquidTransportData holds transport parameters for a + //! specific liquid-phase species. class LiquidTransportData { public: @@ -46,7 +55,6 @@ namespace Cantera { LiquidTransportData() : speciesName("-"), model_hydroradius(LTR_MODEL_NOTSET), - hydroradius(-1.0), model_viscosity(LTR_MODEL_NOTSET), model_thermalCond(LTR_MODEL_NOTSET), model_speciesDiffusivity(LTR_MODEL_NOTSET) @@ -58,21 +66,25 @@ namespace Cantera { //! Model type for the hydroradius LiquidTR_Model model_hydroradius; - //! Actual value of the hydroradius - doublereal hydroradius; + //! Ceofficients for the hydroradius model + vector_fp hydroRadiusCoeffs; - //! Model type for the hydroradius + //! Model type for the viscosity LiquidTR_Model model_viscosity; + + //! Ceofficients for the viscosity model vector_fp viscCoeffs; - //! Model type for the hydroradius + //! Model type for the thermal conductivity LiquidTR_Model model_thermalCond; + //! Ceofficients for the thermal conductivity model vector_fp thermalCondCoeffs; - //! Model type for the hydroradius + //! Model type for the speciesDiffusivity LiquidTR_Model model_speciesDiffusivity; + //! Ceofficients for the species diffusivity model vector_fp speciesDiffusivityCoeffs; }; diff --git a/Cantera/src/transport/LiquidTransportParams.h b/Cantera/src/transport/LiquidTransportParams.h index 713ab1c52..faf08edb6 100644 --- a/Cantera/src/transport/LiquidTransportParams.h +++ b/Cantera/src/transport/LiquidTransportParams.h @@ -12,6 +12,26 @@ namespace Cantera { + + //! Composition dependence type for liquid mixture transport properties + /*! + * Types of temperature dependencies: + * 0 - Use solvent (species 0) properties + * 1 - Properties weighted linearly by mole fractions + * 2 - Properties weighted linearly by mass fractions + * 3 - Properties weighted logarithmically by mole fractions (interaction energy weighting) + * 4 - Interactions given pairwise between each possible species (i.e. D_ij) + */ + enum LiquidTranMixingModel { + LTR_MIXMODEL_NOTSET=-1, + LTR_MIXMODEL_SOLVENT, + LTR_MIXMODEL_MOLEFRACS, + LTR_MIXMODEL_MASSFRACS, + LTR_MIXMODEL_LOG_MOLEFRACS, + LTR_PAIRWISE_INTERACTIONS + }; + + /** * Holds transport model parameters relevant to transport in * liquids for which activated jump processes limit transport @@ -25,25 +45,6 @@ namespace Cantera { LiquidTransportParams() {} ~LiquidTransportParams() {} - - //section for liquid transport properties - - //Arrhenius parameters for transport coefficients: - - //!Arrhenius pre-exponential parameter for viscosity. - vector_fp visc_A; - //!Temperature exponent for viscosity. - vector_fp visc_n; - //!Arrhenius activation temperature for viscosity. - vector_fp visc_Tact; - - //!Arrhenius pre-exponential parameter for thermal conductivity. - vector_fp thermCond_A; - //!Temperature exponent for thermal conductivity. - vector_fp thermCond_n; - //!Arrhenius activation temperature for thermal conductivity. - vector_fp thermCond_Tact; - //! Energies of molecular interaction associated with viscosity. /** * These multiply the mixture viscosity by @@ -59,29 +60,6 @@ namespace Cantera { //! Entropies of molecular interaction associated with viscosity. DenseMatrix visc_Sij; - //Hydrodynamic radius of transported molecule - vector_fp hydroRadius; - - //! Coefficients for the limiting conductivity of ions - //! in solution: A_k - /*! - * This is used in the following formula for the - * limiting conductivity of the kth ion. - * - * ln (lambda^o_k nu_solv) = A_k + B_k / T - * - * nu_solv is the pure component solvent viscosity - * - * Note the limiting conductivities of ions will also - * be used to input the diffusion coefficients. - */ - vector_fp A_k_cond; - - //! Coefficients for the limiting conductivity of ions - //! in solution: B_k - vector_fp B_k_cond; - - std::vector LTData; }; diff --git a/Cantera/src/transport/TransportParams.h b/Cantera/src/transport/TransportParams.h index 24eeaa1cd..7c1bc6817 100755 --- a/Cantera/src/transport/TransportParams.h +++ b/Cantera/src/transport/TransportParams.h @@ -26,15 +26,6 @@ namespace Cantera { thermo_t* thermo; vector_fp mw; - // polynomial fits - //temperature-fit viscosity - std::vector visccoeffs; - //temperature-fit heat conduction - std::vector condcoeffs; - //temperature-fit diffusivity - std::vector diffcoeffs; - vector_fp polytempvec; - //minimum and maximum temperatures for parameter fits doublereal tmax, tmin; int mode_; @@ -56,6 +47,14 @@ namespace Cantera { GasTransportParams() {} ~GasTransportParams() {} + // polynomial fits + //temperature-fit viscosity + std::vector visccoeffs; + //temperature-fit heat conduction + std::vector condcoeffs; + //temperature-fit diffusivity + std::vector diffcoeffs; + vector_fp polytempvec; std::vector > poly; std::vector omega22_poly;