Cantera  2.2.1
LiquidTransport Class Reference

Class LiquidTransport implements models for transport properties for liquid phases. More...

#include <LiquidTransport.h>

Inheritance diagram for LiquidTransport:
[legend]
Collaboration diagram for LiquidTransport:
[legend]

## Public Member Functions

LiquidTransport (thermo_t *thermo=0, int ndim=1)
Default constructor. More...

LiquidTransport (const LiquidTransport &right)

LiquidTransportoperator= (const LiquidTransport &right)

virtual TransportduplMyselfAsTransport () const
Duplication routine for objects which inherit from Transport. More...

virtual bool initLiquid (LiquidTransportParams &tr)
Initialize the transport object. More...

virtual int model () const
Transport model. More...

virtual doublereal viscosity ()
Returns the viscosity of the solution. More...

virtual void getSpeciesViscosities (doublereal *const visc)
Returns the pure species viscosities for all species. More...

virtual doublereal ionConductivity ()
Returns the ionic conductivity of the solution. More...

virtual void getSpeciesIonConductivity (doublereal *const ionCond)
Returns the pure species ionic conductivities for all species. More...

virtual void mobilityRatio (doublereal *mobRat)
Returns the pointer to the mobility ratios of the binary combinations of the transported species for the solution Has size of the number of binary interactions = nsp*nsp. More...

virtual void getSpeciesMobilityRatio (doublereal **mobRat)
Returns a double pointer to the mobility ratios of the transported species in each pure species phase. More...

virtual void selfDiffusion (doublereal *const selfDiff)
Returns the self diffusion coefficients of the species in the phase. More...

virtual void getSpeciesSelfDiffusion (doublereal **selfDiff)
Returns the self diffusion coefficients in the pure species phases. More...

Returns the hydrodynamic radius for all species. More...

virtual void getBinaryDiffCoeffs (const size_t ld, doublereal *const d)
Returns the binary diffusion coefficients. More...

virtual void getMixDiffCoeffs (doublereal *const d)
Get the Mixture diffusion coefficients. More...

virtual void getThermalDiffCoeffs (doublereal *const dt)
Return the thermal diffusion coefficients. More...

virtual doublereal thermalConductivity ()
Return the thermal conductivity of the solution. 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...

Specify the value of the gradient of the voltage. More...

Specify the value of the gradient of the temperature. More...

Specify the value of the gradient of the MoleFractions. More...

virtual doublereal getElectricConduct ()
Compute the mixture electrical conductivity from the Stefan-Maxwell equation. 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 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 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 averaged velocity, given the gradients in mole fraction, temperature and electrostatic potential. 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)
Return the species diffusive mass fluxes wrt to the averaged velocity in [kmol/m^2/s]. 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)
Return the species diffusive mass fluxes wrt to the averaged velocity in [kmol/m^2/s]. More...

virtual void getSpeciesVdiffExt (size_t ldf, doublereal *Vdiff)
Return the species diffusive velocities relative to the averaged velocity. More...

virtual void getSpeciesFluxesExt (size_t ldf, doublereal *fluxes)
Return the species diffusive fluxes relative to the averaged velocity. More...

Public Member Functions inherited from Transport
Transport (thermo_t *thermo=0, size_t ndim=1)
Constructor. More...

Transport (const Transport &right)

Transportoperator= (const Transport &right)

thermo_tthermo ()

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 Throws an exception if k is greater than nSpecies() More...

void checkSpeciesArraySize (size_t kk) const
Check that an array size is at least nSpecies() Throws an exception if kk is less than nSpecies(). 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 getMultiDiffCoeffs (const size_t ld, doublereal *const d)
Return the Multicomponent diffusion coefficients. Units: [m^2/s]. More...

virtual void getMixDiffCoeffsMole (doublereal *const d)
Returns a vector of mixture averaged diffusion coefficients. More...

virtual void getMixDiffCoeffsMass (doublereal *const d)
Returns a vector of mixture averaged diffusion coefficients. More...

virtual void setParameters (const int type, const int k, const doublereal *const p)
Set model parameters for derived classes. 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 electricalConductivity ()

virtual void init (thermo_t *thermo, int mode=0, int log_level=0)
Initialize a transport manager. More...

virtual bool initSolid (SolidTransportData &tr)
Called by TransportFactory to set parameters. More...

virtual void setThermo (thermo_t &thermo)
Specifies the ThermoPhase object. More...

## Protected Member Functions

virtual bool update_T ()
Returns true if temperature has changed, in which case flags are set to recompute transport properties. More...

virtual bool update_C ()
Returns true if mixture composition has changed, in which case flags are set to recompute transport properties. More...

Updates the internal value of the gradient of the logarithm of the activity, which is used in the gradient of the chemical potential. More...

void stefan_maxwell_solve ()
Solve the Stefan-Maxwell equations for the diffusive fluxes. More...

void updateViscosity_T ()
Updates the array of pure species viscosities internally. More...

void updateIonConductivity_T ()
Update the temperature-dependent ionic conductivity terms for each species internally. More...

void updateMobilityRatio_T ()
Updates the array of pure species mobility ratios internally. More...

Updates the array of pure species self diffusion coeffs internally. More...

Update the temperature-dependent hydrodynamic radius terms for each species internally. More...

void updateCond_T ()
Update the temperature-dependent parts of the mixture-averaged thermal conductivity internally. More...

void updateViscosities_C ()
Update the concentration parts of the viscosities. More...

void updateIonConductivity_C ()
Update the concentration parts of the ionic conductivity. More...

void updateMobilityRatio_C ()
Update the concentration parts of the mobility ratio. More...

Update the concentration parts of the self diffusion. More...

Update the concentration dependence of the hydrodynamic radius. More...

void updateDiff_T ()
Update the binary Stefan-Maxwell diffusion coefficients wrt T using calls to the appropriate LTPspecies subclass. More...

Protected Member Functions inherited from Transport
void finalize ()
Enable the transport object for use. More...

## Private Types

typedef std::vector< LTPspecies * > LTPvector
Type def for LTPvector equating it with a vector of pointers to LTPspecies. More...

## Private Attributes

size_t m_nsp2
Number of species squared. More...

vector_fp m_mw
Local copy of the molecular weights of the species. More...

std::vector< LTPspecies * > m_viscTempDep_Ns
Viscosity for each species expressed as an appropriate subclass of LTPspecies. More...

LiquidTranInteractionm_viscMixModel
Viscosity of the mixture expressed as a subclass of LiquidTranInteraction. More...

std::vector< LTPspecies * > m_ionCondTempDep_Ns
Ionic conductivity for each species expressed as an appropriate subclass of LTPspecies. More...

LiquidTranInteractionm_ionCondMixModel
Ionic Conductivity of the mixture expressed as a subclass of LiquidTranInteraction. More...

std::vector< LTPvectorm_mobRatTempDep_Ns
Mobility ratio for the binary combinations of each species in each pure phase expressed as an appropriate subclass of LTPspecies. More...

std::vector
< LiquidTranInteraction * >
m_mobRatMixModel
Mobility ratio for each binary combination of mobile species in the mixture expressed as a subclass of LiquidTranInteraction. More...

std::vector< LTPvectorm_selfDiffTempDep_Ns
Self Diffusion for each species in each pure species phase expressed as an appropriate subclass of LTPspecies. More...

std::vector
< LiquidTranInteraction * >
m_selfDiffMixModel
Self Diffusion for each species in the mixture expressed as a subclass of LiquidTranInteraction. More...

std::vector< LTPspecies * > m_lambdaTempDep_Ns
Thermal conductivity for each species expressed as an appropriate subclass of LTPspecies. More...

LiquidTranInteractionm_lambdaMixModel
Thermal conductivity of the mixture expressed as a subclass of LiquidTranInteraction. More...

std::vector< LTPspecies * > m_diffTempDep_Ns
(NOT USED IN LiquidTransport.) Diffusion coefficient model for each species expressed as an appropriate subclass of LTPspecies More...

LiquidTranInteractionm_diffMixModel
Species diffusivity of the mixture expressed as a subclass of LiquidTranInteraction. More...

DenseMatrix m_diff_Dij
Stefan-Maxwell diffusion coefficients. More...

Hydrodynamic radius for each species expressed as an appropriate subclass of LTPspecies. More...

(Not used in LiquidTransport) Hydrodynamic radius of the mixture expressed as a subclass of LiquidTranInteraction More...

Internal value of the gradient of the mole fraction vector. More...

Gradient of the logarithm of the activity. More...

Internal value of the gradient of the Temperature vector. More...

Internal value of the gradient of the Pressure vector. More...

Internal value of the gradient of the Electric Voltage. More...

Gradient of the electrochemical potential. More...

DenseMatrix m_bdiff
Array of Binary Diffusivities. More...

vector_fp m_viscSpecies
Internal value of the species viscosities. More...

vector_fp m_ionCondSpecies
Internal value of the species ionic conductivities. More...

DenseMatrix m_mobRatSpecies
Internal value of the species mobility ratios. More...

DenseMatrix m_selfDiffSpecies
Internal value of the species self diffusion coefficients. More...

vector_fp m_lambdaSpecies
Internal value of the species individual thermal conductivities. More...

int m_iStateMF
State of the mole fraction vector. More...

vector_fp m_massfracs
Local copy of the mass fractions of the species in the phase. More...

vector_fp m_massfracs_tran
Local copy of the mass fractions of the species in the phase. More...

vector_fp m_molefracs
Local copy of the mole fractions of the species in the phase. More...

vector_fp m_molefracs_tran
Non-zero mole fraction vector used in transport property calculations. More...

vector_fp m_concentrations
Local copy of the concentrations of the species in the phase. More...

doublereal concTot_
Local copy of the total concentration. More...

doublereal concTot_tran_
Local copy of the total concentration. More...

doublereal meanMolecularWeight_
Mean molecular mass. More...

doublereal dens_
Density. More...

vector_fp m_chargeSpecies
Local copy of the charge of each species. More...

vector_fp m_volume_spec
Specific volume for each species. Local copy from thermo object. More...

vector_fp m_actCoeff
Vector of activity coefficients. More...

DenseMatrix m_B
RHS to the Stefan-Maxwell equation. More...

DenseMatrix m_A
Matrix for the Stefan-Maxwell equation. More...

doublereal m_temp
Current Temperature -> locally stored. More...

doublereal m_press
Current value of the pressure. More...

Array2D m_flux
Solution of the Stefan Maxwell equation in terms of flux. More...

Array2D m_Vdiff
Solution of the Stefan Maxwell equation. More...

doublereal m_lambda
Saved value of the mixture thermal conductivity. More...

doublereal m_viscmix
Saved value of the mixture viscosity. More...

doublereal m_ionCondmix
Saved value of the mixture ionic conductivity. More...

vector_fp m_mobRatMix
Saved values of the mixture mobility ratios. More...

vector_fp m_selfDiffMix
Saved values of the mixture self diffusion coefficients. More...

vector_fp m_spwork
work space More...

bool m_visc_mix_ok
Boolean indicating that the top-level mixture viscosity is current. More...

bool m_visc_temp_ok
Boolean indicating that weight factors wrt viscosity is current. More...

bool m_visc_conc_ok
Flag to indicate that the pure species viscosities are current wrt the concentration. More...

bool m_ionCond_mix_ok
Boolean indicating that the top-level mixture ionic conductivity is current. More...

bool m_ionCond_temp_ok
Boolean indicating that weight factors wrt ionic conductivity is current. More...

bool m_ionCond_conc_ok
Flag to indicate that the pure species ionic conductivities are current wrt the concentration. More...

bool m_cond_mix_ok
Flag to indicate that the mixture conductivity is current. More...

bool m_mobRat_mix_ok
Boolean indicating that the top-level mixture mobility ratio is current. More...

bool m_mobRat_temp_ok
Boolean indicating that weight factors wrt mobility ratio is current. More...

bool m_mobRat_conc_ok
Flag to indicate that the pure species mobility ratios are current wrt the concentration. More...

bool m_selfDiff_mix_ok
Boolean indicating that the top-level mixture self diffusion is current. More...

bool m_selfDiff_temp_ok
Boolean indicating that weight factors wrt self diffusion is current. More...

bool m_selfDiff_conc_ok
Flag to indicate that the pure species self diffusion are current wrt the concentration. More...

Boolean indicating that mixture diffusion coeffs are current. More...

Boolean indicating that temperature dependence of hydrodynamic radius is current. More...

Flag to indicate that the hydrodynamic radius is current is current wrt the concentration. More...

bool m_diff_mix_ok
Boolean indicating that mixture diffusion coeffs are current. More...

bool m_diff_temp_ok
Boolean indicating that binary diffusion coeffs are current. More...

bool m_lambda_temp_ok
Flag to indicate that the pure species conductivities are current wrt the temperature. More...

bool m_lambda_mix_ok
Boolean indicating that mixture conductivity is current. More...

int m_mode
Mode indicator for transport models – currently unused. More...

bool m_debug
Debugging flags. More...

## Friends

class TransportFactory

Protected Attributes inherited from Transport
thermo_tm_thermo
pointer to the object representing the phase More...

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...

## Detailed Description

Class LiquidTransport implements models for transport properties for liquid phases.

Liquid Transport is set up with some flexibility in this class. Transport properties like viscosity and thermal conductivity are allowed flexibility within the constraints of the LiquidTransportProperty and LiquidTransportInteractions classes. For species diffusion, the LiquidTransport class focuses on the Stefan-Maxwell equation to determine the diffusion velocities. Other options for liquid diffusion include solvent-dominated diffusion, and a class SolventTransport should be forthcoming.

The class LiquidTransport has several roles.

1. It brings together the individual species transport properties, expressed as subclasses of LTPspecies (Liquid Transport Properties of Species) through LiquidTransportData, with models for the composition dependence of liquid transport properties expressed as subclasses of LiquidTranInteraction (mixing rules) through LiquidTransportParams. Calculating mixture properties generally consists of calling the getMixTansProp member of LiquidTranInteraction by passing a vector of LTPSpecies
2. It calculates the bulk velocity $$\vec{v}$$ and individual species diffusion velocities, $$\vec{V_i}$$ using the Stefan-Maxwell equations. It is possible to set a flag to calculate relative to a mass-averaged bulk velocity, relative to a mole-averaged bulk velocity or relative to a single species velocity using the <velocityBasis basis="mass">, <velocityBasis basis="mass">, or <velocityBasis basis="Cl-"> keyword. Mass-averaged velocities are the default for which the diffusion velocities satisfy

$\sum_{i} Y_i \vec{V_i} = 0$

for mass fraction $$Y_i$$. For mole-averaged velocities

$\sum_{i} X_i \vec{V_i} = 0$

for mole fraction $$X_i$$. or

$\vec{V_i} = 0$

for reference species $$i$$.
3. It provides access to a number of derived quantities related to transport properties as described in the various methods below.

Within LiquidTransport, the state is presumed to be defined in terms of the species mole fraction, temperature and pressure. Charged species are expected and quantities like the electric current are computed based on a combined electrochemical potential.

Definition at line 71 of file LiquidTransport.h.

## Member Typedef Documentation

 typedef std::vector LTPvector
private

Type def for LTPvector equating it with a vector of pointers to LTPspecies.

Definition at line 837 of file LiquidTransport.h.

## Constructor & Destructor Documentation

 LiquidTransport ( thermo_t * thermo = 0, int ndim = 1 )

Default constructor.

This requires call to initLiquid(LiquidTransportParams& tr) after filling LiquidTransportParams to complete instantiation. The filling of LiquidTransportParams is currently carried out in the TransportFactory class, but might be moved at some point.

Parameters
 thermo ThermoPhase object holding species information. ndim Number of spatial dimensions.

Definition at line 14 of file LiquidTransport.cpp.

Referenced by LiquidTransport::duplMyselfAsTransport().

## Member Function Documentation

 Transport * duplMyselfAsTransport ( ) const
virtual

Duplication routine for objects which inherit from Transport.

This virtual routine can be used to duplicate objects derived from Transport even if the application only has a pointer to Transport to work with.

These routines are basically wrappers around the derived copy constructor.

Reimplemented from Transport.

Definition at line 181 of file LiquidTransport.cpp.

References LiquidTransport::LiquidTransport().

 virtual int model ( ) const
inlinevirtual

Transport model.

The transport model is the set of equations used to compute the transport properties. This method returns an integer flag that identifies the transport model implemented. The base class returns 0.

Reimplemented from Transport.

Definition at line 105 of file LiquidTransport.h.

 doublereal viscosity ( )
virtual

Returns the viscosity of the solution.

The viscosity calculation is handled by subclasses of LiquidTranInteraction as specified in the input file. These in turn employ subclasses of LTPspecies to determine the individual species viscosities.

Reimplemented from Transport.

Definition at line 395 of file LiquidTransport.cpp.

 void getSpeciesViscosities ( doublereal *const visc )
virtual

Returns the pure species viscosities for all species.

The pure species viscosities are evaluated using the appropriate subclasses of LTPspecies as specified in the input file.

Parameters
 visc array of length "number of species" to hold returned viscosities.

Reimplemented from Transport.

Definition at line 410 of file LiquidTransport.cpp.

 doublereal ionConductivity ( )
virtual

Returns the ionic conductivity of the solution.

The ionic conductivity calculation is handled by subclasses of LiquidTranInteraction as specified in the input file. These in turn employ subclasses of LTPspecies to determine the individual species ionic conductivities.

Reimplemented from Transport.

Definition at line 419 of file LiquidTransport.cpp.

 void getSpeciesIonConductivity ( doublereal *const ionCond )
virtual

Returns the pure species ionic conductivities for all species.

The pure species ionic conductivities are evaluated using the appropriate subclasses of LTPspecies as specified in the input file.

Parameters
 ionCond Array of length "number of species" to hold returned ionic conductivities.

Reimplemented from Transport.

Definition at line 434 of file LiquidTransport.cpp.

 void mobilityRatio ( doublereal * mobRat )
virtual

Returns the pointer to the mobility ratios of the binary combinations of the transported species for the solution Has size of the number of binary interactions = nsp*nsp.

The mobility ratio calculation is handled by subclasses of LiquidTranInteraction as specified in the input file. These in turn employ subclasses of LTPspecies to determine the mobility ratios in the pure species.

Parameters
 mobRat Vector of mobility ratios

Reimplemented from Transport.

Definition at line 443 of file LiquidTransport.cpp.

 void getSpeciesMobilityRatio ( doublereal ** mobRat )
virtual

Returns a double pointer to the mobility ratios of the transported species in each pure species phase.

Has size of the number of binary interactions by the number of species (nsp*nsp X nsp). The pure species mobility ratios are evaluated using the appropriate subclasses of LTPspecies as specified in the input file.

Parameters
 mobRat array of length "number of species" to hold returned mobility ratios.

Reimplemented from Transport.

Definition at line 465 of file LiquidTransport.cpp.

 void selfDiffusion ( doublereal *const selfDiff )
virtual

Returns the self diffusion coefficients of the species in the phase.

Has size of nsp(coeffs)

The self diffusion coefficient is the diffusion coefficient of a tracer species at the current temperature and composition of the species. Therefore, the dilute limit of transport is assumed for the tracer species. The effective formula may be calculated from the Stefan-Maxwell formulation by adding another row for the tracer species, assigning all D's to be equal to the respective species D's, and then taking the limit as the tracer species mole fraction goes to zero. The corresponding flux equation for the tracer species k in units of kmol m-2 s-1 is.

$J_k = - D^{sd}_k \frac{C_k}{R T} \nabla \mu_k$

The derivative is taken at constant T and P.

The self diffusion calculation is handled by subclasses of LiquidTranInteraction as specified in the input file. These in turn employ subclasses of LTPspecies to determine the individual species self diffusion coeffs.

Parameters
 selfDiff Vector of self-diffusion coefficients Length = number of species in phase units = m**2 s-1

Reimplemented from Transport.

Definition at line 478 of file LiquidTransport.cpp.

 void getSpeciesSelfDiffusion ( doublereal ** selfDiff )
virtual

Returns the self diffusion coefficients in the pure species phases.

Has size of nsp(coeffs) x nsp(phases)

The pure species molar volumes are evaluated using the appropriate subclasses of LTPspecies as specified in the input file.

Parameters
 selfDiff array of length "number of species" to hold returned self diffusion coeffs.

Reimplemented from Transport.

Definition at line 492 of file LiquidTransport.cpp.

virtual

Returns the hydrodynamic radius for all species.

The species hydrodynamic radii are evaluated using the appropriate subclasses of LTPspecies as specified in the input file.

Parameters

Definition at line 505 of file LiquidTransport.cpp.

 void getBinaryDiffCoeffs ( const size_t ld, doublereal *const d )
virtual

Returns the binary diffusion coefficients.

The binary diffusion coefficients are specified in the input file through the LiquidTransportInteractions class. These are the binary interaction coefficients employed in the Stefan-Maxwell equation.

Parameters
 ld number of species in system d vector of binary diffusion coefficients units = m2 s-1. length = ld*ld = (number of species)^2

Reimplemented from Transport.

Definition at line 536 of file LiquidTransport.cpp.

 void getMixDiffCoeffs ( doublereal *const d )
virtual

Get the Mixture diffusion coefficients.

The mixture diffusion coefficients are not well defined in the context of LiquidTransport because the Stefan Maxwell equation is solved. Here the mixture diffusion coefficients are defined according to Ficks law:

$X_i \vec{V_i} = -D_i \nabla X_i.$

Solving Ficks Law for $$D_i$$ gives a mixture diffusion coefficient

$D_i = - X_i \vec{V_i} / ( \nabla X_i ).$

If $$\nabla X_i = 0$$ this is undefined and the nonsensical value -1 is returned.

Note that this evaluation of $$\vec{V_i}$$ requires a solve of the Stefan Maxwell equation making this determination of the mixture averaged diffusion coefficients a slow method for obtaining diffusion coefficients.

Also note that the Stefan Maxwell solve will be based upon the thermodynamic state (including gradients) most recently set. Gradients can be set specifically using set_Grad_V, set_Grad_X and set_Grad_T or through calls to getSpeciesFluxes, getSpeciesFluxesES, getSpeciesVdiff, getSpeciesVdiffES, etc.

Parameters
 d vector of mixture diffusion coefficients units = m2 s-1. length = number of species

Reimplemented from Transport.

Definition at line 727 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getFluidMobilities(), and LiquidTransport::getMobilities().

 void getThermalDiffCoeffs ( doublereal *const dt )
virtual

Return the thermal diffusion coefficients.

These are all zero for this simple implementation

Parameters
 dt thermal diffusion coefficients

Reimplemented from Transport.

Definition at line 529 of file LiquidTransport.cpp.

References Transport::m_nsp.

 doublereal thermalConductivity ( )
virtual

Return the thermal conductivity of the solution.

The thermal conductivity calculation is handled by subclasses of LiquidTranInteraction as specified in the input file. These in turn employ subclasses of LTPspecies to determine the individual species thermal conductivities.

Reimplemented from Transport.

Definition at line 515 of file LiquidTransport.cpp.

 void getMobilities ( doublereal *const mobil_e )
virtual

Get the Electrical mobilities (m^2/V/s).

The electrical mobilities are not well defined in the context of LiquidTransport because the Stefan Maxwell equation is solved. Here the electrical mobilities are calculated from the mixture-averaged diffusion coefficients through a call to getMixDiffCoeffs() using the Einstein relation

$\mu^e_k = \frac{F D_k}{R T}$

Note that this call to getMixDiffCoeffs() requires a solve of the Stefan Maxwell equation making this determination of the mixture averaged diffusion coefficients a slow method for obtaining diffusion coefficients.

Also note that the Stefan Maxwell solve will be based upon the thermodynamic state (including gradients) most recently set. Gradients can be set specifically using set_Grad_V, set_Grad_X and set_Grad_T or through calls to getSpeciesFluxes, getSpeciesFluxesES, getSpeciesVdiff, getSpeciesVdiffES, etc.

Parameters
 mobil_e Returns the electrical mobilities of the species in array mobil_e. The array must be dimensioned at least as large as the number of species.

Reimplemented from Transport.

Definition at line 557 of file LiquidTransport.cpp.

 void getFluidMobilities ( doublereal *const mobil_f )
virtual

Get the fluid mobilities (s kmol/kg).

The fluid mobilities are not well defined in the context of LiquidTransport because the Stefan Maxwell equation is solved. Here the fluid mobilities are calculated from the mixture-averaged diffusion coefficients through a call to getMixDiffCoeffs() using the Einstein relation

$\mu^f_k = \frac{D_k}{R T}$

Note that this call to getMixDiffCoeffs() requires a solve of the Stefan Maxwell equation making this determination of the mixture averaged diffusion coefficients a slow method for obtaining diffusion coefficients.

Also note that the Stefan Maxwell solve will be based upon the thermodynamic state (including gradients) most recently set. Gradients can be set specifically using set_Grad_V, set_Grad_X and set_Grad_T or through calls to getSpeciesFluxes, getSpeciesFluxesES, getSpeciesVdiff, getSpeciesVdiffES, etc.

Parameters
 mobil_f Returns the fluid mobilities of the species in array mobil_f. The array must be dimensioned at least as large as the number of species.

Reimplemented from Transport.

Definition at line 566 of file LiquidTransport.cpp.

virtual

Specify the value of the gradient of the voltage.

Parameters

Definition at line 582 of file LiquidTransport.cpp.

virtual

Specify the value of the gradient of the temperature.

Parameters

Definition at line 575 of file LiquidTransport.cpp.

virtual

Specify the value of the gradient of the MoleFractions.

Parameters

Definition at line 589 of file LiquidTransport.cpp.

 doublereal getElectricConduct ( )
virtual

Compute the mixture electrical conductivity from the Stefan-Maxwell equation.

To compute the mixture electrical conductance, the Stefan Maxwell equation is solved for zero species gradients and for unit potential gradient, $$\nabla V$$. The species fluxes are converted to current by summing over the charge-weighted fluxes according to

$\vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i$

where $$z_i$$ is the charge on species i, $$F$$ is Faradays constant, $$\rho$$ is the density, $$W_i$$ is the molecular mass of species i. The conductance, $$\kappa$$ is obtained from

$\kappa = \vec{i} / \nabla V.$

Reimplemented from Transport.

Definition at line 597 of file LiquidTransport.cpp.

 void getElectricCurrent ( int ndim, const doublereal * grad_T, int ldx, const doublereal * grad_X, int ldf, const doublereal * grad_V, doublereal * current )
virtual

Compute the electric current density in A/m^2.

The electric current is computed first by computing the species diffusive fluxes using the Stefan Maxwell solution and then the current, $$\vec{i}$$ by summing over the charge-weighted fluxes according to

$\vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i$

where $$z_i$$ is the charge on species i, $$F$$ is Faradays constant, $$\rho$$ is the density, $$W_i$$ is the molecular mass of species i.

Parameters
 ndim The number of spatial dimensions (1, 2, or 3). grad_T The temperature gradient (ignored in this model). ldx Leading dimension of the grad_X array. grad_X Gradients of the mole fraction Flat vector with the m_nsp in the inner loop. length = ldx * ndim ldf Leading dimension of the grad_V and current vectors. grad_V The electrostatic potential gradient. current The electric current in A/m^2.

Reimplemented from Transport.

Definition at line 631 of file LiquidTransport.cpp.

 void getSpeciesVdiff ( size_t ndim, const doublereal * grad_T, int ldx, const doublereal * grad_X, int ldf, doublereal * Vdiff )
virtual

Get the species diffusive velocities wrt to the averaged velocity, given the gradients in mole fraction and temperature.

The average velocity can be computed on a mole-weighted or mass-weighted basis, or the diffusion velocities may be specified as relative to a specific species (i.e. a solvent) all according to the velocityBasis input parameter.

Units for the returned velocities are m s-1.

Parameters
 ndim Number of dimensions in the flux expressions grad_T Gradient of the temperature (length = ndim) ldx Leading dimension of the grad_X array (usually equal to m_nsp but not always) grad_X Gradients of the mole fraction Flat vector with the m_nsp in the inner loop. length = ldx * ndim ldf Leading dimension of the fluxes array (usually equal to m_nsp but not always) Vdiff Output of the diffusive velocities. Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Reimplemented from Transport.

Definition at line 657 of file LiquidTransport.cpp.

 void getSpeciesVdiffES ( size_t ndim, const doublereal * grad_T, int ldx, const doublereal * grad_X, int ldf, const doublereal * grad_Phi, doublereal * Vdiff )
virtual

Get the species diffusive velocities wrt to the averaged velocity, given the gradients in mole fraction, temperature and electrostatic potential.

The average velocity can be computed on a mole-weighted or mass-weighted basis, or the diffusion velocities may be specified as relative to a specific species (i.e. a solvent) all according to the velocityBasis input parameter.

Units for the returned velocities are m s-1.

Parameters
 ndim Number of dimensions in the flux expressions grad_T Gradient of the temperature (length = ndim) ldx Leading dimension of the grad_X array (usually equal to m_nsp but not always) grad_X Gradients of the mole fraction Flat vector with the m_nsp in the inner loop. length = ldx * ndim ldf Leading dimension of the fluxes array (usually equal to m_nsp but not always) grad_Phi Gradients of the electrostatic potential (length = ndim) Vdiff Output of the species diffusion velocities Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Reimplemented from Transport.

Definition at line 667 of file LiquidTransport.cpp.

 void getSpeciesFluxes ( size_t ndim, const doublereal *const grad_T, size_t ldx, const doublereal *const grad_X, size_t ldf, doublereal *const fluxes )
virtual

Return the species diffusive mass fluxes wrt to the averaged velocity in [kmol/m^2/s].

The diffusive mass flux of species k [kmol/m^2/s] is computed using the Stefan-Maxwell equation

$X_i \nabla \mu_i = RT \sum_i \frac{X_i X_j}{D_{ij}} ( \vec{V}_j - \vec{V}_i )$

to determine the diffusion velocity and

$\vec{N}_i = C_T X_i \vec{V}_i$

to determine the diffusion flux. Here $$C_T$$ is the total concentration of the mixture [kmol/m^3], $$D_{ij}$$ are the Stefa-Maxwell interaction parameters in [m^2/s], $$\vec{V}_{i}$$ is the diffusion velocity of species i, $$\mu_i$$ is the electrochemical potential of species i.

Note that for this method, there is no argument for the gradient of the electric potential (voltage). Electric potential gradients can be set with set_Grad_V() or method getSpeciesFluxesES() can be called.x

The diffusion velocity is relative to an average velocity that can be computed on a mole-weighted or mass-weighted basis, or the diffusion velocities may be specified as relative to a specific species (i.e. a solvent) all according to the velocityBasis input parameter.

Parameters
 ndim The number of spatial dimensions (1, 2, or 3). grad_T The temperature gradient (ignored in this model). (length = ndim) ldx Leading dimension of the grad_X array. (usually equal to m_nsp but not always) grad_X Gradients of the mole fraction Flat vector with the m_nsp in the inner loop. length = ldx * ndim ldf Leading dimension of the fluxes array (usually equal to m_nsp but not always) fluxes Output of the diffusive mass fluxes Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Reimplemented from Transport.

Definition at line 681 of file LiquidTransport.cpp.

 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 )
virtual

Return the species diffusive mass fluxes wrt to the averaged velocity in [kmol/m^2/s].

The diffusive mass flux of species k is computed using the Stefan-Maxwell equation

$X_i \nabla \mu_i = RT \sum_i \frac{X_i X_j}{D_{ij}} ( \vec{V}_j - \vec{V}_i )$

to determine the diffusion velocity and

$\vec{N}_i = C_T X_i \vec{V}_i$

to determine the diffusion flux. Here $$C_T$$ is the total concentration of the mixture [kmol/m^3], $$D_{ij}$$ are the Stefa-Maxwell interaction parameters in [m^2/s], $$\vec{V}_{i}$$ is the diffusion velocity of species i, $$\mu_i$$ is the electrochemical potential of species i.

The diffusion velocity is relative to an average velocity that can be computed on a mole-weighted or mass-weighted basis, or the diffusion velocities may be specified as relative to a specific species (i.e. a solvent) all according to the velocityBasis input parameter.

Parameters
 ndim The number of spatial dimensions (1, 2, or 3). grad_T The temperature gradient (ignored in this model). (length = ndim) ldx Leading dimension of the grad_X array. (usually equal to m_nsp but not always) grad_X Gradients of the mole fraction Flat vector with the m_nsp in the inner loop. length = ldx * ndim ldf Leading dimension of the fluxes array (usually equal to m_nsp but not always) grad_Phi Gradients of the electrostatic potential length = ndim fluxes Output of the diffusive mass fluxes Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Reimplemented from Transport.

Definition at line 691 of file LiquidTransport.cpp.

 void getSpeciesVdiffExt ( size_t ldf, doublereal * Vdiff )
virtual

Return the species diffusive velocities relative to the averaged velocity.

This method acts similarly to getSpeciesVdiffES() but requires all gradients to be preset using methods set_Grad_X(), set_Grad_V(), set_Grad_T(). See the documentation of getSpeciesVdiffES() for details.

Parameters
 ldf Leading dimension of the Vdiff array. Vdiff Output of the diffusive velocities. Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Definition at line 705 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getSpeciesVdiff(), and LiquidTransport::getSpeciesVdiffES().

 void getSpeciesFluxesExt ( size_t ldf, doublereal * fluxes )
virtual

Return the species diffusive fluxes relative to the averaged velocity.

This method acts similarly to getSpeciesFluxesES() but requires all gradients to be preset using methods set_Grad_X(), set_Grad_V(), set_Grad_T(). See the documentation of getSpeciesFluxesES() for details.

units = kg/m2/s

Parameters
 ldf Leading dimension of the Vdiff array. fluxes Output of the diffusive fluxes. Flat vector with the m_nsp in the inner loop. length = ldx * ndim

Definition at line 716 of file LiquidTransport.cpp.

 bool update_T ( void )
protectedvirtual

Returns true if temperature has changed, in which case flags are set to recompute transport properties.

This is called whenever a transport property is requested. The first task is to check whether the temperature has changed since the last call to update_T(). If it hasn't then an immediate return is carried out.

Note this should be a lightweight function since it's part of all of the interfaces.

Returns
Returns true if the temperature has changed, and false otherwise

Definition at line 744 of file LiquidTransport.cpp.

 bool update_C ( )
protectedvirtual

Returns true if mixture composition has changed, in which case flags are set to recompute transport properties.

This is called for every interface call to check whether the concentrations have changed. Concentrations change whenever the pressure or the mole fraction has changed. If it has changed, the recalculations should be done.

Note this should be a lightweight function since it's part of all of the interfaces.

Returns
Returns true if the mixture composition has changed, and false otherwise.

Definition at line 788 of file LiquidTransport.cpp.

protectedvirtual

Updates the internal value of the gradient of the logarithm of the activity, which is used in the gradient of the chemical potential.

Evaluate the gradients of the activity as they alter the diffusion coefficient.

The gradient of the chemical potential can be written in terms of gradient of the logarithm of the mole fraction times a correction associated with the gradient of the activity coefficient relative to that of the mole fraction. Specifically, the gradients of the logarithms of each are involved according to the formula

$\nabla \mu_k = RT \left[ \nabla ( \ln X_k ) + \nabla ( \ln \gamma_k ) \right] = RT \left[ \nabla ( \ln a_k ) \right]$

The gradient in the activity coefficient requires the use of ThermoPhase getdlnActCoeff that calculates its change based on a change in the state (i.e. temperature and composition of each species) which was first implemented in MargulesVPSSTP.cpp (LiquidTransport.h doxygen)

Definition at line 930 of file LiquidTransport.cpp.

Referenced by LiquidTransport::stefan_maxwell_solve().

 void stefan_maxwell_solve ( )
protected

Solve the Stefan-Maxwell equations for the diffusive fluxes.

The diffusive mass flux of species k is computed using the Stefan-Maxwell equation

$X_i \nabla \mu_i = RT \sum_i \frac{X_i X_j}{D_{ij}} ( \vec{V}_j - \vec{V}_i )$

to determine the diffusion velocity and

$\vec{N}_i = C_T X_i \vec{V}_i$

to determine the diffusion flux. Here $$C_T$$ is the total concentration of the mixture [kmol/m^3], $$D_{ij}$$ are the Stefa-Maxwell interaction parameters in [m^2/s], $$\vec{V}_{i}$$ is the diffusion velocity of species i, $$\mu_i$$ is the electrochemical potential of species i.

The diffusion velocity is relative to an average velocity that can be computed on a mole-weighted or mass-weighted basis, or the diffusion velocities may be specified as relative to a specific species (i.e. a solvent) all according to the velocityBasis input parameter.

The gradient in the activity coefficient requires the use of ThermoPhase getdlnActCoeff that calculates its change based on a change in the state i.e. temperature and composition of each species. First implemented in MargulesVPSSTP.cpp.

One of the Stefan Maxwell equations is replaced by the appropriate definition of the mass-averaged velocity, the mole-averaged velocity or the specification that velocities are relative to that of one species.

Definition at line 948 of file LiquidTransport.cpp.

 void updateViscosity_T ( )
protected

Updates the array of pure species viscosities internally.

The flag m_visc_ok is set to true.

Note that for viscosity, a positive activation energy corresponds to the typical case of a positive argument to the exponential so that the Arrhenius expression is

$\mu = A T^n \exp( + E / R T )$

Definition at line 861 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getSpeciesViscosities().

 void updateIonConductivity_T ( )
protected

Update the temperature-dependent ionic conductivity terms for each species internally.

The flag m_ionCond_temp_ok is set to true.

Definition at line 875 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getSpeciesIonConductivity().

 void updateMobilityRatio_T ( )
protected

Updates the array of pure species mobility ratios internally.

The flag m_mobRat_ok is set to true.

Definition at line 889 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getSpeciesMobilityRatio().

protected

Updates the array of pure species self diffusion coeffs internally.

The flag m_selfDiff_ok is set to true.

Definition at line 905 of file LiquidTransport.cpp.

Referenced by LiquidTransport::getSpeciesSelfDiffusion().

protected

Update the temperature-dependent hydrodynamic radius terms for each species internally.

The flag m_radi_temp_ok is set to true.

Definition at line 921 of file LiquidTransport.cpp.

 void updateCond_T ( )
protected

Update the temperature-dependent parts of the mixture-averaged thermal conductivity internally.

Definition at line 840 of file LiquidTransport.cpp.

 void updateViscosities_C ( )
protected

Update the concentration parts of the viscosities.

Internal routine is run whenever the update_boolean m_visc_conc_ok is false. Currently there is no concentration dependence for the pure species viscosities.

Definition at line 856 of file LiquidTransport.cpp.

References LiquidTransport::m_visc_conc_ok.

 void updateIonConductivity_C ( )
protected

Update the concentration parts of the ionic conductivity.

Internal routine is run whenever the update_boolean m_ionCond_conc_ok is false. Currently there is no concentration dependence for the pure species ionic conductivity.

Definition at line 870 of file LiquidTransport.cpp.

References LiquidTransport::m_ionCond_conc_ok.

 void updateMobilityRatio_C ( )
protected

Update the concentration parts of the mobility ratio.

Internal routine is run whenever the update_boolean m_mobRat_conc_ok is false. Currently there is no concentration dependence for the pure species mobility ratio.

Definition at line 884 of file LiquidTransport.cpp.

References LiquidTransport::m_mobRat_conc_ok.

protected

Update the concentration parts of the self diffusion.

Internal routine is run whenever the update_boolean m_selfDiff_conc_ok is false. Currently there is no concentration dependence for the pure species self diffusion.

Definition at line 900 of file LiquidTransport.cpp.

References LiquidTransport::m_selfDiff_conc_ok.

protected

Update the concentration dependence of the hydrodynamic radius.

Internal routine is run whenever the update_boolean m_radi_conc_ok is false. Currently there is no concentration dependence for the hydrodynamic radius.

Definition at line 916 of file LiquidTransport.cpp.

 void updateDiff_T ( )
protected

Update the binary Stefan-Maxwell diffusion coefficients wrt T using calls to the appropriate LTPspecies subclass.

Definition at line 849 of file LiquidTransport.cpp.

## Member Data Documentation

 size_t m_nsp2
private

Number of species squared.

Definition at line 792 of file LiquidTransport.h.

 vector_fp m_mw
private

Local copy of the molecular weights of the species.

Length is equal to the number of species in the phase

Definition at line 798 of file LiquidTransport.h.

 std::vector m_viscTempDep_Ns
private

Viscosity for each species expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Definition at line 807 of file LiquidTransport.h.

 LiquidTranInteraction* m_viscMixModel
private

Viscosity of the mixture expressed as a subclass of LiquidTranInteraction.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 816 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::viscosity().

 std::vector m_ionCondTempDep_Ns
private

Ionic conductivity for each species expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Definition at line 825 of file LiquidTransport.h.

 LiquidTranInteraction* m_ionCondMixModel
private

Ionic Conductivity of the mixture expressed as a subclass of LiquidTranInteraction.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 834 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::ionConductivity().

 std::vector m_mobRatTempDep_Ns
private

Mobility ratio for the binary combinations of each species in each pure phase expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Definition at line 846 of file LiquidTransport.h.

 std::vector m_mobRatMixModel
private

Mobility ratio for each binary combination of mobile species in the mixture expressed as a subclass of LiquidTranInteraction.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 855 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::mobilityRatio().

 std::vector m_selfDiffTempDep_Ns
private

Self Diffusion for each species in each pure species phase expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Definition at line 864 of file LiquidTransport.h.

 std::vector m_selfDiffMixModel
private

Self Diffusion for each species in the mixture expressed as a subclass of LiquidTranInteraction.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 873 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::selfDiffusion().

 std::vector m_lambdaTempDep_Ns
private

Thermal conductivity for each species expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Definition at line 882 of file LiquidTransport.h.

 LiquidTranInteraction* m_lambdaMixModel
private

Thermal conductivity of the mixture expressed as a subclass of LiquidTranInteraction.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 891 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::thermalConductivity().

 std::vector m_diffTempDep_Ns
private

(NOT USED IN LiquidTransport.) Diffusion coefficient model for each species expressed as an appropriate subclass of LTPspecies

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData().

Since the LiquidTransport class uses the Stefan-Maxwell equation to describe species diffusivity, the species-specific diffusivity is irrelevant.

Definition at line 905 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid().

 LiquidTranInteraction* m_diffMixModel
private

Species diffusivity of the mixture expressed as a subclass of LiquidTranInteraction.

This will return an array of Stefan-Maxwell interaction parameters for use in the Stefan-Maxwell solution.

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 915 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::updateDiff_T().

 DenseMatrix m_diff_Dij
private

Stefan-Maxwell diffusion coefficients.

Definition at line 918 of file LiquidTransport.h.

private

Hydrodynamic radius for each species expressed as an appropriate subclass of LTPspecies.

These subclasses of LTPspecies evaluate the species-specific transport properties according to the parameters parsed in TransportFactory::getLiquidSpeciesTransportData(). length = nsp

Definition at line 927 of file LiquidTransport.h.

private

(Not used in LiquidTransport) Hydrodynamic radius of the mixture expressed as a subclass of LiquidTranInteraction

These subclasses of LiquidTranInteraction evaluate the mixture transport properties according to the parameters parsed in TransportFactory::getLiquidInteractionsTransportData().

Definition at line 937 of file LiquidTransport.h.

private

Definition at line 940 of file LiquidTransport.h.

private

Internal value of the gradient of the mole fraction vector.

Note, this is the only gradient value that can and perhaps should reflect the true state of the mole fractions in the application solution vector. In other words no cropping or massaging of the values to make sure they are above zero should occur. - developing ....

m_nsp is the number of species in the fluid k is the species index n is the dimensional index (x, y, or z). It has a length equal to m_nDim

Definition at line 957 of file LiquidTransport.h.

private

Gradient of the logarithm of the activity.

This quantity appears in the gradient of the chemical potential. It replaces the gradient of the mole fraction, and in this way serves to "modify" the diffusion coefficient.

$m\_Grad\_lnAC[k] = \nabla ( \ln X_k ) + \nabla ( \ln \gamma_k )$

k is the species index n is the dimensional index (x, y, or z). It has a length equal to m_nDim

Definition at line 976 of file LiquidTransport.h.

private

Internal value of the gradient of the Temperature vector.

Generally, if a transport property needs this in its evaluation it will look to this place to get it.

No internal property is precalculated based on gradients. Gradients are assumed to be freshly updated before every property call.

Definition at line 986 of file LiquidTransport.h.

private

Internal value of the gradient of the Pressure vector.

Generally, if a transport property needs this in its evaluation it will look to this place to get it.

No internal property is precalculated based on gradients. Gradients are assumed to be freshly updated before every property call.

Definition at line 996 of file LiquidTransport.h.

private

Internal value of the gradient of the Electric Voltage.

Generally, if a transport property needs this in its evaluation it will look to this place to get it.

No internal property is precalculated based on gradients. Gradients are assumed to be freshly updated before every property call.

Definition at line 1006 of file LiquidTransport.h.

private

m_nsp is the number of species in the fluid. k is the species index. n is the dimensional index (x, y, or z)

$m\_Grad\_mu[n*m_nsp + k]$

Definition at line 1017 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::stefan_maxwell_solve().

 DenseMatrix m_bdiff
private

Array of Binary Diffusivities.

These are evaluated according to the subclass of LiquidTranInteraction stored in m_diffMixModel.

This has a size equal to nsp x nsp. It is a symmetric matrix. D_ii is the self diffusion coefficient. D_ii is not needed except for when there is one species in the mixture.

units m2/sec

Definition at line 1032 of file LiquidTransport.h.

 vector_fp m_viscSpecies
private

Internal value of the species viscosities.

Viscosity of the species evaluated using subclass of LTPspecies held in m_viscTempDep_Ns.

Length = number of species

controlling update boolean -> m_visc_temp_ok

Definition at line 1043 of file LiquidTransport.h.

 vector_fp m_ionCondSpecies
private

Internal value of the species ionic conductivities.

Ionic conductivity of the species evaluated using subclass of LTPspecies held in m_ionCondTempDep_Ns.

Length = number of species

controlling update boolean -> m_ionCond_temp_ok

Definition at line 1054 of file LiquidTransport.h.

 DenseMatrix m_mobRatSpecies
private

Internal value of the species mobility ratios.

Mobility ratio of the species evaluated using subclass of LTPspecies held in m_mobRatTempDep_Ns.

Length = number of species

controlling update boolean -> m_mobRat_temp_ok

Definition at line 1065 of file LiquidTransport.h.

 DenseMatrix m_selfDiffSpecies
private

Internal value of the species self diffusion coefficients.

Self diffusion of the species evaluated using subclass of LTPspecies held in m_selfDiffTempDep_Ns.

Length = number of species

controlling update boolean -> m_selfDiff_temp_ok

Definition at line 1076 of file LiquidTransport.h.

 vector_fp m_lambdaSpecies
private

Internal value of the species individual thermal conductivities.

Thermal conductivities of the species evaluated using subclass of LTPspecies held in m_lambdaTempDep_Ns.

Length = number of species

Definition at line 1086 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::updateCond_T().

 int m_iStateMF
private

State of the mole fraction vector.

Definition at line 1089 of file LiquidTransport.h.

Referenced by LiquidTransport::update_C().

 vector_fp m_massfracs
private

Local copy of the mass fractions of the species in the phase.

The mass fraction vector comes from the ThermoPhase object.

length = m_nsp

Definition at line 1097 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::update_C().

 vector_fp m_massfracs_tran
private

Local copy of the mass fractions of the species in the phase.

This version of the mass fraction vector is adjusted to a minimum lower bound of Tiny for use in transport calculations.

Definition at line 1104 of file LiquidTransport.h.

 vector_fp m_molefracs
private

Local copy of the mole fractions of the species in the phase.

The mole fractions here are assumed to be bounded by 0.0 and 1.0 and they are assumed to add up to one exactly. This mole fraction vector comes from the ThermoPhase object. Derivative quantities from this are referred to as bounded.

Update info? length = m_nsp

Definition at line 1116 of file LiquidTransport.h.

 vector_fp m_molefracs_tran
private

Non-zero mole fraction vector used in transport property calculations.

The mole fractions here are assumed to be bounded by Tiny and 1.0 and they may not be assumed to add up to one. This mole fraction vector is created from the ThermoPhase object. Derivative quantities of this use the _tran suffix.

Update info? length = m_nsp

Definition at line 1128 of file LiquidTransport.h.

 vector_fp m_concentrations
private

Local copy of the concentrations of the species in the phase.

The concentrations are consistent with the m_molefracs vector which is bounded and sums to one.

Update info? length = m_nsp

Definition at line 1138 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::update_C().

 doublereal concTot_
private

Local copy of the total concentration.

This is consistent with the m_concentrations[] and m_molefracs[] vector.

Definition at line 1145 of file LiquidTransport.h.

Referenced by LiquidTransport::stefan_maxwell_solve(), and LiquidTransport::update_C().

 doublereal concTot_tran_
private

Local copy of the total concentration.

This is consistent with the x_molefracs_tran vector and with the concTot_ number;

Definition at line 1152 of file LiquidTransport.h.

Referenced by LiquidTransport::update_C().

 doublereal meanMolecularWeight_
private

Mean molecular mass.

Definition at line 1155 of file LiquidTransport.h.

Referenced by LiquidTransport::update_C().

 doublereal dens_
private

Density.

Definition at line 1158 of file LiquidTransport.h.

Referenced by LiquidTransport::update_C().

 vector_fp m_chargeSpecies
private

Local copy of the charge of each species.

Contains the charge of each species (length m_nsp)

Definition at line 1164 of file LiquidTransport.h.

 vector_fp m_volume_spec
private

Specific volume for each species. Local copy from thermo object.

Definition at line 1167 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid().

 vector_fp m_actCoeff
private

Vector of activity coefficients.

Definition at line 1170 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::stefan_maxwell_solve().

 DenseMatrix m_B
private

RHS to the Stefan-Maxwell equation.

Definition at line 1173 of file LiquidTransport.h.

Referenced by LiquidTransport::stefan_maxwell_solve().

 DenseMatrix m_A
private

Matrix for the Stefan-Maxwell equation.

Definition at line 1176 of file LiquidTransport.h.

Referenced by LiquidTransport::stefan_maxwell_solve().

 doublereal m_temp
private

Current Temperature -> locally stored.

This is used to test whether new temperature computations should be performed.

Definition at line 1183 of file LiquidTransport.h.

 doublereal m_press
private

Current value of the pressure.

Definition at line 1186 of file LiquidTransport.h.

Referenced by LiquidTransport::update_C().

 Array2D m_flux
private

Solution of the Stefan Maxwell equation in terms of flux.

This is the mass flux of species k in units of kg m-3 s-1.

Definition at line 1192 of file LiquidTransport.h.

 Array2D m_Vdiff
private

Solution of the Stefan Maxwell equation.

This is the diffusion velocity of species k in units of m/s and relative to the mole-averaged velocity.

Definition at line 1199 of file LiquidTransport.h.

 doublereal m_lambda
private

Saved value of the mixture thermal conductivity.

Definition at line 1202 of file LiquidTransport.h.

Referenced by LiquidTransport::thermalConductivity().

 doublereal m_viscmix
private

Saved value of the mixture viscosity.

Definition at line 1205 of file LiquidTransport.h.

Referenced by LiquidTransport::viscosity().

 doublereal m_ionCondmix
private

Saved value of the mixture ionic conductivity.

Definition at line 1208 of file LiquidTransport.h.

Referenced by LiquidTransport::ionConductivity().

 vector_fp m_mobRatMix
private

Saved values of the mixture mobility ratios.

Definition at line 1211 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::mobilityRatio().

 vector_fp m_selfDiffMix
private

Saved values of the mixture self diffusion coefficients.

Definition at line 1214 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid(), and LiquidTransport::selfDiffusion().

 vector_fp m_spwork
private

work space

Length is equal to m_nsp

Definition at line 1220 of file LiquidTransport.h.

 bool m_visc_mix_ok
private

Boolean indicating that the top-level mixture viscosity is current.

This is turned false for every change in T, P, or C.

Definition at line 1227 of file LiquidTransport.h.

 bool m_visc_temp_ok
private

Boolean indicating that weight factors wrt viscosity is current.

Definition at line 1230 of file LiquidTransport.h.

 bool m_visc_conc_ok
private

Flag to indicate that the pure species viscosities are current wrt the concentration.

Definition at line 1234 of file LiquidTransport.h.

 bool m_ionCond_mix_ok
private

Boolean indicating that the top-level mixture ionic conductivity is current.

This is turned false for every change in T, P, or C.

Definition at line 1240 of file LiquidTransport.h.

 bool m_ionCond_temp_ok
private

Boolean indicating that weight factors wrt ionic conductivity is current.

Definition at line 1243 of file LiquidTransport.h.

 bool m_ionCond_conc_ok
private

Flag to indicate that the pure species ionic conductivities are current wrt the concentration.

Definition at line 1247 of file LiquidTransport.h.

 bool m_cond_mix_ok
private

Flag to indicate that the mixture conductivity is current.

Definition at line 1250 of file LiquidTransport.h.

Referenced by LiquidTransport::thermalConductivity().

 bool m_mobRat_mix_ok
private

Boolean indicating that the top-level mixture mobility ratio is current.

This is turned false for every change in T, P, or C.

Definition at line 1256 of file LiquidTransport.h.

 bool m_mobRat_temp_ok
private

Boolean indicating that weight factors wrt mobility ratio is current.

Definition at line 1259 of file LiquidTransport.h.

 bool m_mobRat_conc_ok
private

Flag to indicate that the pure species mobility ratios are current wrt the concentration.

Definition at line 1263 of file LiquidTransport.h.

 bool m_selfDiff_mix_ok
private

Boolean indicating that the top-level mixture self diffusion is current.

This is turned false for every change in T, P, or C.

Definition at line 1269 of file LiquidTransport.h.

 bool m_selfDiff_temp_ok
private

Boolean indicating that weight factors wrt self diffusion is current.

Definition at line 1272 of file LiquidTransport.h.

 bool m_selfDiff_conc_ok
private

Flag to indicate that the pure species self diffusion are current wrt the concentration.

Definition at line 1276 of file LiquidTransport.h.

private

Boolean indicating that mixture diffusion coeffs are current.

Definition at line 1279 of file LiquidTransport.h.

private

Boolean indicating that temperature dependence of hydrodynamic radius is current.

Definition at line 1283 of file LiquidTransport.h.

private

Flag to indicate that the hydrodynamic radius is current is current wrt the concentration.

Definition at line 1287 of file LiquidTransport.h.

 bool m_diff_mix_ok
private

Boolean indicating that mixture diffusion coeffs are current.

Definition at line 1290 of file LiquidTransport.h.

 bool m_diff_temp_ok
private

Boolean indicating that binary diffusion coeffs are current.

Definition at line 1293 of file LiquidTransport.h.

 bool m_lambda_temp_ok
private

Flag to indicate that the pure species conductivities are current wrt the temperature.

Definition at line 1297 of file LiquidTransport.h.

 bool m_lambda_mix_ok
private

Boolean indicating that mixture conductivity is current.

Definition at line 1300 of file LiquidTransport.h.

 int m_mode
private

Mode indicator for transport models – currently unused.

Definition at line 1303 of file LiquidTransport.h.

Referenced by LiquidTransport::initLiquid().

 bool m_debug
private

Debugging flags.

Turn on to get debugging information

Definition at line 1309 of file LiquidTransport.h.

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