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.
This commit is contained in:
John Hewson 2009-10-23 18:30:21 +00:00
parent d641b8f492
commit 2492db9750
3 changed files with 47 additions and 58 deletions

View file

@ -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;
};

View file

@ -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<Cantera::LiquidTransportData> LTData;
};

View file

@ -26,15 +26,6 @@ namespace Cantera {
thermo_t* thermo;
vector_fp mw;
// polynomial fits
//temperature-fit viscosity
std::vector<vector_fp> visccoeffs;
//temperature-fit heat conduction
std::vector<vector_fp> condcoeffs;
//temperature-fit diffusivity
std::vector<vector_fp> 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<vector_fp> visccoeffs;
//temperature-fit heat conduction
std::vector<vector_fp> condcoeffs;
//temperature-fit diffusivity
std::vector<vector_fp> diffcoeffs;
vector_fp polytempvec;
std::vector<std::vector<int> > poly;
std::vector<vector_fp > omega22_poly;