Cantera
2.2.1
|
Transport Parameters for pure water. More...
#include <WaterTransport.h>
Public Member Functions | |
WaterTransport (thermo_t *thermo=0, int ndim=1) | |
default constructor More... | |
WaterTransport (const WaterTransport &right) | |
WaterTransport & | operator= (const WaterTransport &right) |
virtual Transport * | duplMyselfAsTransport () const |
Duplication routine for objects which inherit from Transport. More... | |
virtual int | model () const |
Transport model. More... | |
virtual doublereal | viscosity () |
Returns the viscosity of water at the current conditions (kg/m/s) More... | |
virtual doublereal | bulkViscosity () |
The bulk viscosity in Pa-s. More... | |
virtual doublereal | thermalConductivity () |
Returns the thermal conductivity of water at the current conditions (W/m/K) More... | |
Public Member Functions inherited from Transport | |
Transport (thermo_t *thermo=0, size_t ndim=1) | |
Constructor. More... | |
Transport (const Transport &right) | |
Transport & | operator= (const Transport &right) |
thermo_t & | thermo () |
bool | ready () |
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 doublereal | getElectricConduct () |
Compute the mixture electrical conductivity (S m-1) at the current conditions of the phase (Siemens m-1) 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 | getSpeciesFluxes (size_t ndim, const doublereal *const grad_T, size_t ldx, const doublereal *const grad_X, size_t ldf, doublereal *const fluxes) |
Get the species diffusive mass fluxes wrt to the specified solution averaged velocity, given the gradients in mole fraction and temperature. 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) |
Get the species diffusive mass fluxes wrt to the mass averaged velocity, given the gradients in mole fraction, temperature and electrostatic potential. 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 mass 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 mass averaged velocity, given the gradients in mole fraction, temperature, and electrostatic potential. 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 | getThermalDiffCoeffs (doublereal *const dt) |
Return a vector of Thermal diffusion coefficients [kg/m/sec]. More... | |
virtual void | getBinaryDiffCoeffs (const size_t ld, doublereal *const d) |
Returns the matrix of binary diffusion coefficients [m^2/s]. More... | |
virtual void | getMultiDiffCoeffs (const size_t ld, doublereal *const d) |
Return the Multicomponent diffusion coefficients. Units: [m^2/s]. More... | |
virtual void | getMixDiffCoeffs (doublereal *const d) |
Returns a vector of mixture averaged diffusion coefficients. 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 void | getSpeciesViscosities (doublereal *const visc) |
Returns the pure species viscosities. More... | |
virtual doublereal | ionConductivity () |
The ionic conductivity in 1/ohm/m. More... | |
virtual void | getSpeciesIonConductivity (doublereal *const ionCond) |
Returns the pure species ionic conductivity. More... | |
virtual void | mobilityRatio (double *mobRat) |
Returns the pointer to the mobility ratios of the species in the phase. More... | |
virtual void | getSpeciesMobilityRatio (double **mobRat) |
Returns the pure species limit of the mobility ratios. More... | |
virtual void | selfDiffusion (doublereal *const selfDiff) |
Returns the self diffusion coefficients of the species in the phase. More... | |
virtual void | getSpeciesSelfDiffusion (double **selfDiff) |
Returns the pure species self diffusion in solution of each species. More... | |
virtual doublereal | electricalConductivity () |
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... | |
virtual void | init (thermo_t *thermo, int mode=0, int log_level=0) |
Initialize a transport manager. More... | |
virtual bool | initLiquid (LiquidTransportParams &tr) |
Called by TransportFactory to set parameters. More... | |
virtual bool | initSolid (SolidTransportData &tr) |
Called by TransportFactory to set parameters. More... | |
virtual void | setThermo (thermo_t &thermo) |
Specifies the ThermoPhase object. More... | |
Private Member Functions | |
void | initTP () |
Routine to do some common initializations at the start of using this routine. More... | |
Private Attributes | |
WaterPropsIAPWS * | m_sub |
Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state. More... | |
WaterProps * | m_waterProps |
Pointer to the WaterProps object. More... | |
PDSS_Water * | m_waterPDSS |
Pressure dependent standard state object for water. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Transport | |
void | finalize () |
Enable the transport object for use. More... | |
Protected Attributes inherited from Transport | |
thermo_t * | m_thermo |
pointer to the object representing the phase More... | |
bool | m_ready |
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... | |
Transport Parameters for pure water.
Definition at line 28 of file WaterTransport.h.
WaterTransport | ( | thermo_t * | thermo = 0 , |
int | ndim = 1 |
||
) |
default constructor
thermo | ThermoPhase object that represents the phase. Defaults to zero |
ndim | Number of dimensions of the flux expressions. Defaults to a value of one. |
Definition at line 13 of file WaterTransport.cpp.
References WaterTransport::initTP().
Referenced by WaterTransport::duplMyselfAsTransport().
|
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 39 of file WaterTransport.cpp.
References WaterTransport::WaterTransport().
|
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 45 of file WaterTransport.h.
|
virtual |
Returns the viscosity of water at the current conditions (kg/m/s)
This function calculates the value of the viscosity of pure water at the current T and P.
The formulas used are from the paper
J. V. Sengers, J. T. R. Watson, "Improved International Formulations for the Viscosity and Thermal Conductivity of Water Substance", J. Phys. Chem. Ref. Data, 15, 1291 (1986).
The formulation is accurate for all temperatures and pressures, for steam and for water, even near the critical point. Pressures above 500 MPa and temperature above 900 C are suspect.
Reimplemented from Transport.
Definition at line 77 of file WaterTransport.cpp.
References WaterTransport::m_waterProps, and WaterProps::viscosityWater().
|
inlinevirtual |
The bulk viscosity in Pa-s.
The bulk viscosity is only non-zero in rare cases. Most transport managers either overload this method to return zero, or do not implement it, in which case an exception is thrown if called.
Reimplemented from Transport.
Definition at line 67 of file WaterTransport.h.
|
virtual |
Returns the thermal conductivity of water at the current conditions (W/m/K)
This function calculates the value of the thermal conductivity of water at the current T and P.
The formulas used are from the paper J. V. Sengers, J. T. R. Watson, "Improved International Formulations for the Viscosity and Thermal Conductivity of Water Substance", J. Phys. Chem. Ref. Data, 15, 1291 (1986).
The formulation is accurate for all temperatures and pressures, for steam and for water, even near the critical point. Pressures above 500 MPa and temperature above 900 C are suspect.
Reimplemented from Transport.
Definition at line 82 of file WaterTransport.cpp.
References WaterTransport::m_waterProps, and WaterProps::thermalConductivityWater().
|
private |
Routine to do some common initializations at the start of using this routine.
Definition at line 44 of file WaterTransport.cpp.
References AssertTrace, PDSS_Water::getWater(), WaterSSTP::getWater(), PDSS_Water::getWaterProps(), WaterSSTP::getWaterProps(), WaterTransport::m_sub, Transport::m_thermo, WaterTransport::m_waterPDSS, and WaterTransport::m_waterProps.
Referenced by WaterTransport::WaterTransport().
|
mutableprivate |
Pointer to the WaterPropsIAPWS object, which does the actual calculations for the real equation of state.
This object owns m_sub
Definition at line 99 of file WaterTransport.h.
Referenced by WaterTransport::initTP().
|
private |
Pointer to the WaterProps object.
This class is used to house several approximation routines for properties of water.
This object owns m_waterProps, and the WaterPropsIAPWS object used by WaterProps is m_sub, which is defined above.
Definition at line 109 of file WaterTransport.h.
Referenced by WaterTransport::initTP(), WaterTransport::thermalConductivity(), and WaterTransport::viscosity().
|
private |
Pressure dependent standard state object for water.
We assume that species 0 is water, with a PDSS_Water object.
Definition at line 115 of file WaterTransport.h.
Referenced by WaterTransport::initTP().