Cantera  2.4.0
HighPressureGasTransport.h
Go to the documentation of this file.
1 /**
2  * @file HighPressureGasTransport.h
3  * Interface for class HighPressureGasTransport
4  */
5 
6 // This file is part of Cantera. See License.txt in the top-level directory or
7 // at http://www.cantera.org/license.txt for license and copyright information.
8 
9 #ifndef CT_HIGHPRESSUREGASTRAN_H
10 #define CT_HIGHPRESSUREGASTRAN_H
11 
12 // Cantera includes
13 #include "GasTransport.h"
16 
17 namespace Cantera
18 {
19 
20 //! Class MultiTransport implements transport properties for
21 //! high pressure gas mixtures.
22 /*!
23  * @attention This class currently does not have any test cases or examples. Its
24  * implementation may be incomplete, and future changes to Cantera may
25  * unexpectedly cause this class to stop working. If you use this class,
26  * please consider contributing examples or test cases. In the absence of
27  * new tests or examples, this class may be deprecated and removed in a
28  * future version of Cantera. See
29  * https://github.com/Cantera/cantera/issues/267 for additional information.
30  *
31  * The implementation employs a method of corresponding states, using the
32  * Takahashi approach for binary diffusion coefficients, (using multicomponent
33  * averaging rules for the mixture properties, and the Lucas method for the
34  * viscosity of a high-pressure gas mixture.
35  *
36  * @ingroup tranprops
37  */
39 {
40 protected:
41  //! default constructor
42  /*!
43  * @param thermo Optional parameter for the pointer to the ThermoPhase object
44  */
46 
47 public:
48  virtual std::string transportType() const {
49  return "HighPressureGas";
50  }
51 
52  //! Return the thermal diffusion coefficients (kg/m/s)
53  /*!
54  * Currently not implemented for this model
55  */
56  virtual void getThermalDiffCoeffs(doublereal* const dt);
57 
58  virtual double thermalConductivity();
59 
60  /*! Returns the matrix of binary diffusion coefficients
61  *
62  * d[ld*j + i] = rp*m_bdiff(i,j)*(DP)_R;
63  *
64  * @param ld offset of rows in the storage
65  * @param d output vector of diffusion coefficients. Units of m**2 / s
66  */
67  virtual void getBinaryDiffCoeffs(const size_t ld, doublereal* const d);
68 
69  virtual void getMultiDiffCoeffs(const size_t ld, doublereal* const d);
70 
71  virtual doublereal viscosity();
72 
73  friend class TransportFactory;
74 
75 protected:
76  virtual doublereal Tcrit_i(size_t i);
77 
78  virtual doublereal Pcrit_i(size_t i);
79 
80  virtual doublereal Vcrit_i(size_t i);
81 
82  virtual doublereal Zcrit_i(size_t i);
83 
84  vector_fp store(size_t i, size_t nsp);
85 
86  virtual doublereal FQ_i(doublereal Q, doublereal Tr, doublereal MW);
87 
88  virtual doublereal setPcorr(doublereal Pr, doublereal Tr);
89 };
90 }
91 #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:93
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.
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 std::string transportType() const
Identifies the Transport object type.
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...
Namespace for the Cantera kernel.
Definition: AnyMap.cpp:8