Cantera  2.2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HighPressureGasTransport.h
Go to the documentation of this file.
1 /**
2  * @file HighPressureGasTransport.h
3  * Interface for class HighPressureGasTransport
4  */
5 
6 #ifndef CT_HIGHPRESSUREGASTRAN_H
7 #define CT_HIGHPRESSUREGASTRAN_H
8 
9 // Cantera includes
10 #include "GasTransport.h"
13 
14 namespace Cantera
15 {
16 
17 //! Class MultiTransport implements transport properties for
18 //! high pressure gas mixtures.
19 /*!
20  * The implementation employs a method of corresponding states, using
21  * the Takahashi approach for binary diffusion coefficients, (using
22  * multicomponent averaging rules for the mixture properties, and the
23  * Lucas method for the viscosity of a high-pressure gas mixture.
24  *
25  * @ingroup tranprops
26  */
28 {
29 protected:
30 
31  //! default constructor
32  /*!
33  * @param thermo Optional parameter for the pointer to the ThermoPhase object
34  */
36 
37 public:
38  virtual int model() const {
39  if (m_mode == CK_Mode) {
40  throw CanteraError("HighPressureGasTransport::model",
41  "CK_Mode not accepted");
42  //return cHighP;
43  } else {
44  return cHighP;
45  }
46  }
47 
48  //! Return the thermal diffusion coefficients (kg/m/s)
49  /*!
50  * Currently not implemented for this model
51  */
52  virtual void getThermalDiffCoeffs(doublereal* const dt);
53 
54  virtual double thermalConductivity();
55 
56  /*! Returns the matrix of binary diffusion coefficients
57  *
58  * d[ld*j + i] = rp*m_bdiff(i,j)*(DP)_R;
59  *
60  * @param ld offset of rows in the storage
61  * @param d output vector of diffusion coefficients. Units of m**2 / s
62  */
63  virtual void getBinaryDiffCoeffs(const size_t ld, doublereal* const d);
64 
65  virtual void getMultiDiffCoeffs(const size_t ld, doublereal* const d);
66 
67  virtual doublereal viscosity();
68 
69  friend class TransportFactory;
70 
71 protected:
72 
73  virtual doublereal Tcrit_i(size_t i);
74 
75  virtual doublereal Pcrit_i(size_t i);
76 
77  virtual doublereal Vcrit_i(size_t i);
78 
79  virtual doublereal Zcrit_i(size_t i);
80 
81  vector_fp store(size_t i, size_t nsp);
82 
83  //virtual doublereal CT_i(doublereal T_0);
84 
85  virtual doublereal FQ_i(doublereal Q, doublereal Tr, doublereal MW);
86 
87  virtual doublereal setPcorr(doublereal Pr, doublereal Tr);
88 };
89 }
90 #endif
HighPressureGasTransport(thermo_t *thermo=0)
default constructor
virtual void getThermalDiffCoeffs(doublereal *const dt)
Return the thermal diffusion coefficients (kg/m/s)
Factory class for creating new instances of classes derived from Transport.
Interface for class MultiTransport.
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:97
int m_mode
Type of the polynomial fits to temperature.
Definition: GasTransport.h:256
Class MultiTransport implements transport properties for high pressure gas mixtures.
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
virtual double thermalConductivity()
Returns the mixture thermal conductivity in W/m/K.
virtual int model() const
Transport model.
Base class for exceptions thrown by Cantera classes.
Definition: ctexceptions.h:99
thermo_t & thermo()
virtual void getMultiDiffCoeffs(const size_t ld, doublereal *const d)
Return the Multicomponent diffusion coefficients. Units: [m^2/s].
Class MultiTransport implements multicomponent transport properties for ideal gas mixtures...
virtual doublereal viscosity()
Viscosity of the mixture (kg /m /s)
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Definition: ct_defs.h:157
Headers for the DenseMatrix object, which deals with dense rectangular matrices and description of th...